Compare commits

...

86 Commits

Author SHA1 Message Date
adbenitez 60e3f475de update build.gradle 2025-06-10 17:45:34 +02:00
adbenitez 8f47783aaf update core 2025-06-10 17:11:34 +02:00
adbenitez a521974b3b Merge remote-tracking branch 'upstream/adb/integrated-videocalls' 2025-06-10 17:10:17 +02:00
adbenitez 2aa71e3eb2 Merge remote-tracking branch 'upstream/adb/improve-reactions-dialog' 2025-06-10 16:35:06 +02:00
adbenitez 005cf835a1 allow to react with same emoji as others 2025-06-10 16:28:56 +02:00
adbenitez 5fb61b008b set name when joining call 2025-06-10 16:05:56 +02:00
adbenitez dd93de3833 improve the videocalls: open in internal webview 2025-06-10 15:20:34 +02:00
adbenitez a13e31a5f7 don't register to open arbitrary files and links 2025-06-10 12:58:20 +02:00
adbenitez 3d891d07a9 undo unnecessary changes 2025-06-10 12:58:04 +02:00
adb bd3c4f9186 Merge pull request #3780 from deltachat/adb/webxdc-tts
add Web API's TTS support to webxdc
2025-05-31 10:46:24 +00:00
adbenitez f4f0df3adb Merge remote-tracking branch 'upstream/adb/webxdc-tts' 2025-05-27 16:08:21 +02:00
adbenitez 6fbe5e2f56 update core 2025-05-27 16:07:30 +02:00
adbenitez edeec415a1 Merge remote-tracking branch 'upstream/main' 2025-05-27 16:05:23 +02:00
adbenitez 90350729d5 Merge branch 'adb/webxdc-tts' of https://github.com/deltachat/deltachat-android into adb/webxdc-tts 2025-05-26 17:40:44 +02:00
adbenitez 7ae4cd4dd3 update changelog 2025-05-26 17:40:03 +02:00
adbenitez 0b50dd445f update changelog 2025-05-26 17:39:01 +02:00
adb bd40f4eb04 Merge branch 'main' into adb/webxdc-tts 2025-05-26 15:38:26 +00:00
adbenitez cfdfab1716 check if lang is empty 2025-05-26 17:37:06 +02:00
adbenitez f8d0fd3f77 update webxdc.js 2025-05-26 17:33:47 +02:00
adbenitez 7186afa321 add Web API's TTS support to webxdc 2025-05-26 17:31:47 +02:00
B. Petersen 201f6e46b0 remove 'metadata' folder again
the 'metadata' folder was already removed at
https://github.com/deltachat/deltachat-android/pull/3211/files ,
however then re-created with unimportant files by weblate,
cmp. https://github.com/deltachat/deltachat-android/issues/3414

as the latter seems to be no longer the case,
remove the folder again and see if it stays away now :)
2025-05-25 11:51:14 +02:00
Yurt Page 813d4324f7 README.md: add link Transifex translations 2025-05-25 11:05:33 +02:00
B. Petersen 27875b83bc unify singular/plural in attach menu
also otherwise, we say "[attach] Contact", "[attach] File", "[attach] Video" etc. -
so it should be "[attach] App" as well.

this is also what desktop/iOS are doing.

the title in the app picker itself, however,
is fine with reading "Apps" - it shows multiple ones
2025-05-24 16:26:08 +02:00
B. Petersen 29d04afc51 update CHANGELOG 2025-05-24 13:24:53 +02:00
B. Petersen e6655fa21d point out that app drafts need to be sent
we got some feedback,
that ppl were wondering if others can use an app
once drafted and opend.

the old title "Tap to open" might even underline that impression.

this PR changes the title to "Tap 'Send' to share"
(we need to be super-short here, "Tap 'Send' to let others use the app" is already too much :)

the sending out of apps is the much more important step than to open,
play a game and then wondering ...
ppl will figure out the latter themselves,
wondering if one can configure eg. a poll before sending -
and if not, then it's that.
2025-05-24 13:24:53 +02:00
adb 7712ada816 Merge pull request #3776 from deltachat/adb/add-direct-action-for-apps-tab
show action button to see the list of apps sent in chat
2025-05-23 14:59:13 +00:00
adbenitez 52788976e3 update changelog 2025-05-23 15:13:24 +02:00
adbenitez 56f55be938 update apps icon 2025-05-23 15:07:19 +02:00
adbenitez 47350b1809 show action button to see the list of apps sent in chat 2025-05-23 14:26:34 +02:00
B. Petersen bb410a1bb1 update CHANGELOG 2025-05-23 13:43:35 +02:00
B. Petersen 04ed9e27c1 remove ambigious time from app list
it is unclear, which time this is - time of adding or time of last update?
it is the prior, however,
both are not important enough to clutter the list,
also desktop/ios do not show them.

i assume, the time display was just kept when adapting from files view.

by making the apps easier accessible,
(cmp https://github.com/deltachat/deltachat-ios/pull/2721 )
we really only want an uncluttered list.
2025-05-23 13:43:35 +02:00
B. Petersen 93c52ec527 remove redundant 'App' subtitle in 'Apps' list 2025-05-23 13:43:35 +02:00
B. Petersen a7b86dd59a update translations 2025-05-21 19:17:20 +02:00
B. Petersen 5587eda657 clearer instructions how to add apps&co to a chat
the instructions are shown when there are no Apps, Images etc. in a chat.

while the "shared in this chat" wording
is maybe more correct on an abstract way
(there are other ways than "attach" to have an app),
the "attached in this chat" points implicitly better to the new app selector -
esp. as the same wording is used for "images",
where the avg user usually knows about how to get that attached.

this little rewording comes from a discussion with @hpk42,
surely, there can be more improvements :)
2025-05-19 22:42:43 +02:00
adb b8a1daff45 Merge pull request #3769 from deltachat/adb/fix-changelog-19/5/25
fix version header
2025-05-19 11:12:17 +00:00
adbenitez deddc5dd29 fix version header 2025-05-19 13:11:31 +02:00
adbenitez 2f371c69cf Merge remote-tracking branch 'upstream/main' 2025-05-19 12:56:38 +02:00
adbenitez c4aa00d40d Merge remote-tracking branch 'upstream/main' 2025-05-15 17:56:41 +02:00
adb 46b5ae4831 Merge pull request #3767 from deltachat/adb/tweak-dcmsg-getWebxdcInfo
avoid causing and logging exception in getWebxdcInfo
2025-05-15 15:38:43 +00:00
adbenitez 16e89bb58a avoid causing and logging exception in getWebxdcInfo if getWebxdcInfoJson returns empty string 2025-05-15 14:19:52 +02:00
adb 1566ea87d3 Merge pull request #3766 from deltachat/prep-1.58.4
prepare 1.58.4
2025-05-15 11:38:11 +00:00
adbenitez cf653f41b7 prepare 1.58.4 2025-05-15 12:49:47 +02:00
adb 785729272a Merge pull request #3765 from deltachat/update-core-and-stuff-15/5/25
Update core to 1.159.5
2025-05-15 10:48:05 +00:00
adbenitez a881f84a03 update changelog 2025-05-15 12:11:09 +02:00
adbenitez d3b2f2df97 update translations 2025-05-15 12:11:01 +02:00
adbenitez f518a3eea9 update deltachat-core-rust to 'chore(release): prepare for 1.159.5' of 'v1.159.5' 2025-05-15 11:56:48 +02:00
l 20819912ee Update Rust to 1.86.0 (#3763) 2025-05-13 15:59:01 +00:00
adb 25ad133e1f Merge pull request #3764 from deltachat/simon/fix-typo-in-full-description
fix typo in full_description
2025-05-13 11:17:19 +00:00
Simon Laux 4eef4a86b5 fix typo in full_description 2025-05-13 00:13:31 +00:00
adb fb50b03af4 Merge pull request #3760 from deltachat/prep-1.58.3
prepare v1.58.3
2025-05-06 14:29:26 +00:00
adbenitez b6ffc8df9e prepare v1.58.3 2025-05-06 16:03:15 +02:00
adb 9a71de6944 Merge pull request #3759 from deltachat/update-core-and-stuff-6/5/25
Update core to 1.159.3
2025-05-06 14:00:59 +00:00
adbenitez f6ab0b18a2 update strings 2025-05-06 15:50:41 +02:00
adbenitez f023961239 update changelog 2025-05-06 15:43:43 +02:00
adbenitez aeb78d579e update deltachat-core-rust to 'chore(release): prepare for 1.159.3' of 'v1.159.3' 2025-05-06 15:37:55 +02:00
B. Petersen cdc47423f9 update translations 2025-05-06 11:47:00 +02:00
B. Petersen 9790730d75 remove deprecated strings 2025-05-06 11:47:00 +02:00
B. Petersen 6cc9a2594f add strings needed for iOS 2025-05-06 11:47:00 +02:00
adb 6814df2976 Merge pull request #3757 from deltachat/adb/add-donate-button
add "Donate" button to main settings
2025-05-05 21:41:30 +00:00
adbenitez 8e8b49508d update changelog 2025-05-05 22:11:15 +02:00
adbenitez 619ac2bb21 put donate and help in category 2025-05-05 21:48:15 +02:00
adbenitez f6750a1583 add "Donate" button to main settings 2025-05-05 19:11:21 +02:00
adb ce895355f5 Merge pull request #3756 from deltachat/r10s/fix-jsonrpc-crash
fix crash in JSONRPC
2025-05-05 14:31:54 +00:00
B. Petersen 17e45fd2ab log error if JSONRPC fails 2025-05-05 13:36:25 +02:00
B. Petersen 8f2b761361 update CHANGELOG 2025-05-03 21:01:15 +02:00
B. Petersen bc72fce060 fix crash in JSONRPC
the fix could have been avoid by checking for null
or not being overly specific with the exception.

as this is a very sensible area,
where any failure is dramatic,
we do both.
2025-05-03 20:39:20 +02:00
Hocuri 501a77e1dc refactor: Rename addTransport -> addOrUpdateTransport() (#3754)
The API was renamed in https://github.com/chatmail/core/pull/6800 (i.e. core v1.159.2)
2025-04-30 14:03:50 +02:00
adbenitez ad6f232d34 undo community hack 2025-04-27 02:11:35 +02:00
adbenitez efbe43ec70 Merge remote-tracking branch 'upstream/main' 2025-04-27 02:09:10 +02:00
B. Petersen 5e38b25c43 make 'microphone' hint fitting for desktop as well
i think, it is even an improvement for Android:
the hint is now also anchored by 'System Settings'
which is more in focus by casual users than 'App Settings' (long tap icon).
also, some android derivates may have different order,
which is captured better by a broader hint.
2025-04-26 17:33:06 +02:00
B. Petersen 6f3f356997 update CHANGELOG 2025-04-26 17:29:55 +02:00
B. Petersen d6f485511c fix selfName if displayname is not set
classic onboarding allows not setting a displayname on purpose,
however, that results in broken webxdc layouts
as the name is then replaced by a 40-or-so-chars-hash-without-spaces.

one can argue, that apps should handle that gracefully,
but most do not and just look buggy.

it seems reasonable,
to use the email address in that case,
same as we do at other places if the name is unknwon.
(tbh, i thought it was like that, but i mixed sth up in OS comparison).
this was also the situation before we changed selfAddr calculation, btw.
it is anyway a cornercase, webxdc cannot send the address somewhere
nor can correlate reasonably, and if the user sets a name, things are fine
(and more often than not we nudge user to set one :)
2025-04-26 17:29:55 +02:00
adb a527b2f404 Merge pull request #3747 from deltachat/prep-1.58.2
prepare 1.58.2
2025-04-24 12:46:41 +00:00
adbenitez 7c77b946ed update version number 2025-04-24 14:45:50 +02:00
adb ca77886012 Merge pull request #3746 from deltachat/update-core-and-stuff-24/4/25
Update core to 1.159.2
2025-04-24 12:42:17 +00:00
adbenitez fa5e305dff update local help 2025-04-24 14:31:01 +02:00
adbenitez 9e70bfb5ae update changelog: fix core version 2025-04-24 14:08:57 +02:00
adbenitez f4c7a9439d update strings 2025-04-24 13:47:09 +02:00
adbenitez 5d05e99ad6 update changelog 2025-04-24 13:45:32 +02:00
adbenitez 79bd1c7cb3 update deltachat-core-rust to 'chore(release): prepare for 1.159.2' of 'v1.159.2' 2025-04-24 13:42:04 +02:00
adb 848a86c718 Merge pull request #3745 from deltachat/adb/fix-warnings-in-profile
fix some linter warnings in classes related to profile
2025-04-23 14:05:43 +00:00
adb e759efc389 Merge pull request #3744 from deltachat/adb/fix-some-linter-warnings-22/4/25
fix some linter warnings
2025-04-22 22:11:40 +00:00
adb 63ea218b98 Merge pull request #3743 from deltachat/adb/fix-lint-warnings-conversationlistitem
fix linter warnings in ConversationListItem
2025-04-22 21:49:16 +00:00
adbenitez 07f4a859f3 fix some linter warnings in classes related to profile 2025-04-22 23:22:57 +02:00
adbenitez 34eeec4a39 fix some linter warnings 2025-04-22 23:02:57 +02:00
adbenitez 7f1734b57c fix linter warnings in ConversationListItem 2025-04-22 22:53:47 +02:00
114 changed files with 734 additions and 1120 deletions
+30
View File
@@ -1,5 +1,35 @@
# Delta Chat Android Changelog
## Unreleased
* Clearer app lists by removing redundant "App" subtitle
* New button for quick access to the apps sent in current chat
* New icon for the in-chat apps button
* Improve hint for app drafts
* Add Text-To-Speech (TTS) support for in-chat apps
## v1.58.4
2025-05
* make in-chat apps properly work when they are not sent yet, in draft mode
* better avatar quality
* some more bug fixes and updated translations
* update to core 1.159.5
## v1.58.3
2025-05
* fix: webxdc.selfName uses the name otherwise displayed
* fix potential crash on startup
* add donation link to app settings
* update to core 1.159.3
## v1.58.2
2025-04
* fix draft writing area disappearing for some chats
* update to core 1.159.2
## v1.58.1
2025-04
-1
View File
@@ -15,7 +15,6 @@ This app has some extended support for WebXDC apps:
- `window.webxdc.arcanechat` a string with the ArcaneChat version and can be used by app developers
to detect when they can use the ArcaneChat-specific features.
- `window.webxdc.isCommunity` true if the current account is a community account
- `sendToChat()`: extra property `subject` can be set to a text string to set message/email's subject.
- `sendToChat()`: extra property `html` can be set to a string of html markup to set the HTML part of the email/message.
- `sendToChat()`: the file object parameter also accepts a `type` field that can be one of:
+2 -2
View File
@@ -33,8 +33,8 @@ android {
useLibrary 'org.apache.http.legacy'
defaultConfig {
versionCode 30000719
versionName "1.58.1"
versionCode 30000723
versionName "1.58.5"
applicationId "chat.delta.lite"
multiDexEnabled true
@@ -6,7 +6,7 @@ ArcaneChat is a decentralized and secure instant messenger that is easy to use f
• Extensible. Use mini-apps in chats like shopping lists, calendars or games.
• Reliable. Works under bad and adverserial network conditions.
• Reliable. Works under bad and adversarial network conditions.
• Secure. Audited End-to-End encryption safe against network and server attacks.
Generated
+6 -6
View File
@@ -111,11 +111,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1728538411,
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"type": "github"
},
"original": {
@@ -138,11 +138,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1733970833,
"narHash": "sha256-sPEKtSaZk2CtfF9cdhtbY93S6qGq+d2PKI1fcoDfDaI=",
"lastModified": 1747017456,
"narHash": "sha256-C/U12fcO+HEF071b5mK65lt4XtAIZyJSSJAg9hdlvTk=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "f7f4c59ccdf1bec3f1547d27398e9589aa94e3e8",
"rev": "5b07506ae89b025b14de91f697eba23b48654c52",
"type": "github"
},
"original": {
-5
View File
@@ -1373,11 +1373,6 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getId(JNIEnv *env, jobject obj)
return dc_msg_get_id(get_dc_msg(env, obj));
}
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getSenderColor(JNIEnv *env, jobject obj)
{
return dc_msg_get_sender_color(get_dc_msg(env, obj));
}
JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getText(JNIEnv *env, jobject obj)
{
char* temp = dc_msg_get_text(get_dc_msg(env, obj));
-1
View File
@@ -1 +0,0 @@
Schreibe Nachrichten mit E-Mails. Retro, Offen. Privatsphäre im Design.
-12
View File
@@ -1,12 +0,0 @@
Delta Chat é um aplicativo de mensagens que é completamente compatível com a infraestrutura de email já existente.
Assim, com o Delta Chat você tem a facilidade de muitos aplicativos de mensagens com o alcance de email. Além disso, você é independente de outras companhias e sercviços -- já que suas informações e dados não estão relacionadas com o Delta Chat, você não vai nem adicionar novas permissões aqui.
Resumo de alguns recursos:
* Seguro com criptografia de ponta a ponta, com suporte ao novo padrão <a href="https://autocrypt.org">Autocrypt</a>
* Rápido usando Push-IMAP
* Maior base de usuários -- destinatários que não estiverem usando Delta Chat podem ser alcançados também
* Compatívle -- não apenas consigo mesmo
* Interface de usuário elegante e simples
* Sistema distribuído
* Sem spam -- apenas mensages de usuários conhecidos são mostradas por padrão
* Confiável -- pode até ser usado para mensagens comerciais
* Completamente OpenSource e baseado em padrões
+1 -1
View File
@@ -1 +1 @@
1.83.0
1.86.0
+10 -13
View File
@@ -78,17 +78,6 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.GET_CONTENT"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="content"/>
<data android:scheme="file"/>
<data android:mimeType="*/*" />
<data android:mimeType="application/octet-stream" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT"/>
@@ -224,8 +213,6 @@
<intent-filter>
<data android:scheme="mailto"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
@@ -379,6 +366,13 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
</activity>
<activity android:name=".videochat.VideochatActivity"
android:label=""
android:theme="@style/TextSecure.LightTheme"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize|uiMode"
android:exported="true">
</activity>
<activity android:name=".WebxdcActivity"
android:label=""
android:theme="@style/TextSecure.LightTheme"
@@ -511,5 +505,8 @@
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
</manifest>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1783,7 +1783,7 @@ program potřebuje heslo k tomu aby mohl posílat e-maily. Samozřejmě, že
heslo je uloženo pouze na tvém přístroji. Heslo je přenášeno pouze při přihlašení
k e-mailovému serveru, který má i beztak přístup k tvým e-mailům.</p>
<p>Delta Chat má otevřený <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">zdrojový kód</a>,
<p>Delta Chat má otevřený <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">zdrojový kód</a>,
ze kterého lze ověřit, že program s osobními daty zachází bezpečně. Jsme rádi
za každou odezvu, která udělá Delta Chat bezpečnější pro všechny.</p>
@@ -1958,7 +1958,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Dobrý začátek je <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2085,4 +2085,4 @@ for both monetary and other contribution possibilities.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -166,7 +166,7 @@ sicher gegen Netzwerk- und Serverangriffe.</p>
</li>
<li>
<p>Freie und quelloffene Software, sowohl app- als auch serverseitig.
Basiert auf <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-Mail- und Web-Internet-Standards</a>,
Basiert auf <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-Mail- und Web-Internet-Standards</a>,
um das <a href="https://xkcd.com/927/">„Noch-ein-Standard-Syndrom“ (xkcd 927)</a> zu vermeiden.</p>
</li>
</ul>
@@ -1617,7 +1617,7 @@ Allerdings benötigen einige Anbieter besondere Einstellungen, um ordnungsgemä
<p>Genau wie auch bei anderen E-Mail-Programmen (z. B. Thunderbird, K9-Mail oder Outlook) benötigt Delta Chat das Passwort, um E-Mails versenden zu können. Das Passwort wird nur auf Ihrem Gerät gespeichert und bei der Anmeldung an Ihren E-Mail-Anbieter gesendet.</p>
<p>Da Delta Chat Open Source ist, können Sie den <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Quellcode</a> einsehen und sich davon überzeugen, dass Ihre Zugangsdaten sicher gehandhabt werden. Wir freuen uns über Feedback, das unsere App sicherer für all unsere NutzerInnen macht.</p>
<p>Da Delta Chat Open Source ist, können Sie den <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Quellcode</a> einsehen und sich davon überzeugen, dass Ihre Zugangsdaten sicher gehandhabt werden. Wir freuen uns über Feedback, das unsere App sicherer für all unsere NutzerInnen macht.</p>
<h3 id="welche-nachrichten-erscheinen-in-delta-chat">
@@ -1760,7 +1760,7 @@ Andernfalls könnten Sie unverschlüsselte Nachrichten aus diesen Gruppenchats e
</h3>
<ul>
<li>Siehe hierzu <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">in Delta Chat genutzte Standards</a>.</li>
<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>
<h3 id="wo-können-meine-freunde-delta-chat-finden">
@@ -1856,4 +1856,4 @@ Der Erhalt von Spenden hilft uns auch, unabhängiger und langfristig lebensfähi
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1788,7 +1788,7 @@ program needs the password so you can use it to send and receive mails. Of cours
password is stored only on your device. The password is only transmitted to
your E-Mail provider (when you login), which has access to your mails anyway.</p>
<p>As Delta Chat is Open Source, you can check the <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Source
<p>As Delta Chat is Open Source, you can check the <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Source
Code</a>
if you want to verify that your credentials are handled securely. We are happy
about feedback which makes the app more secure for all of our users.</p>
@@ -1966,7 +1966,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>See <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2093,4 +2093,4 @@ for both monetary and other contribution possibilities.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1745,7 +1745,7 @@ programa necesita la contraseña para que pueda usarla para enviar correos. Por
contraseña se almacena solo en su dispositivo. La contraseña solo se transmite a
su proveedor de correo electrónico (cuando inicia sesión), que tiene acceso a sus correos de todos modos.</p>
<p>Como Delta Chat es de Código Abierto, puedes investigar el Código Fuente si quieres verificar que tus credenciales son gestionadas de manera segura.
<p>Como Delta Chat es de Código Abierto, puedes investigar el <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Código Fuente</a> si quieres verificar que tus credenciales son gestionadas de manera segura.
Estamos felices de recibir críticas que hagan la aplicación más segura para todos los usuarios.</p>
<h3 id="qué-mensajes-se-muestran-en-delta-chat">
@@ -1906,7 +1906,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Visita la página <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Estándares usados en Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2031,4 +2031,4 @@ siquiera cerca.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ contre les attaques ciblées sur le réseau et les serveurs.</p>
</li>
<li>
<p>Logiciel libre et open source, à la fois appli et côté serveur.
Construit sur des <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">Standards dInternet et de-mail</a>,
Construit sur des <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standards dInternet et de-mail</a>,
<a href="https://xkcd.com/927/">pour éviter le syndrome du “standard de plus” (xkcd 927)</a></p>
</li>
</ul>
@@ -1717,7 +1717,7 @@ Cependant, il faut activer des options spéciales pour que cela fonctionne corre
<p>Comme pour les autres clients de courriel, Thunderbird, FairEmail, K9-Mail, Outlook, etc, celui-ci a besoin des identifiants / mots de passe pour recevoir et envoyer des courriels.
Bien sûr le mot de passe est uniquement stocké sur votre appareil. Et il est utilisé uniquement pour vous authentifier auprès de votre fournisseur de courriel, qui a, rappelons-le, accès à vos courriels non chiffrés.</p>
<p>Comme Delta Chat est un logiciel libre, vous pouvez étudier le <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">code source</a> pour vérifier que vos identifiants / mots de passe sont utilisés de façon sécurisée. Nous sommes très heureux davoir des retours pour renforcer la sécurité de lapplication.</p>
<p>Comme Delta Chat est un logiciel libre, vous pouvez étudier le <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">code source</a> pour vérifier que vos identifiants / mots de passe sont utilisés de façon sécurisée. Nous sommes très heureux davoir des retours pour renforcer la sécurité de lapplication.</p>
<h3 id="quels-sont-les-messages-qui-apparaissent-dans-delta-chat-">
@@ -1867,7 +1867,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Consultez les <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">standards utilisés dans Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -1973,4 +1973,4 @@ Recevoir plus de dons aide notre communauté de contributrices et contributeurs
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1788,7 +1788,7 @@ program membutuhkan kata sandi sehingga Anda dapat menggunakannya untuk mengirim
kata sandi hanya disimpan di perangkat Anda. Kata sandi hanya dikirimkan ke
penyedia E-Mail Anda (saat Anda login), yang tetap memiliki akses ke email Anda.</p>
<p>Karena Delta Chat adalah Open Source, Anda dapat memeriksa file <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Source
<p>Karena Delta Chat adalah Open Source, Anda dapat memeriksa file <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Source
Code</a>
jika Anda ingin memverifikasi bahwa kredensial Anda ditangani dengan aman. Kami bahagia
tentang umpan balik yang membuat aplikasi lebih aman untuk semua pengguna kami.</p>
@@ -1966,7 +1966,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>See <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standards used in Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2093,4 +2093,4 @@ untuk mengetahui kemungkinan kontribusi moneter dan kontribusi lainnya.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ sicuro contro gli attacchi alla rete e al server.</p>
</li>
<li>
<p>Software Libero e Open Source, sia lato app che lato server.
Basato su <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">Standard E-mail e Web Internet</a>,
Basato su <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Standard E-mail e Web Internet</a>,
<a href="https://xkcd.com/927/">per evitare “lennesima sindrome standard (xkcd 927)”</a></p>
</li>
</ul>
@@ -1750,7 +1750,7 @@ programma ha bisogno della password in modo da poterla utilizzare per inviare ma
password è memorizzata solo sul tuo dispositivo. La password viene trasmessa solo a
il tuo fornitore E-Mail (quando effettui il login), che ha comunque accesso alla tua posta.</p>
<p>Poiché Delta Chat è Open Source, puoi controllare il <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Codice
<p>Poiché Delta Chat è Open Source, puoi controllare il <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Codice
Sorgente</a>
se vuoi verificare che le tue credenziali siano gestite in modo sicuro. Siamo felici dei feedback che rendono lapp più sicura per tutti i nostri utenti.</p>
@@ -1927,7 +1927,7 @@ Altrimenti potresti ricevere messaggi non decifrabili da quelle chat di gruppo.<
</h3>
<ul>
<li>Vedi <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standard usati in Delta Chat</a>.</li>
<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>
<h3 id="dove-possono-trovare-delta-chat-i-miei-amici">
@@ -2049,4 +2049,4 @@ sia per le possibilità monetarie che contributive.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1776,7 +1776,7 @@ blog</a>.</li>
<p>Delta Chat heeft, net zoals andere e-mailprogrammas (Thunderbird, K9-Mail, Outlook, etc.), je wachtwoord nodig om berichten te versturen. Het wordt alleen opgeslagen op je apparaat en alleen uitgewisseld met je e-mailprovider, die toch al toegang heeft tot je mails.</p>
<p>Delta Chat is open source. Dit betekent dat je de <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">bron-
<p>Delta Chat is open source. Dit betekent dat je de <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">bron-
code</a>
kunt bekijken om er zeker van te zijn dat er veilig wordt omgegaan met je inloggegevens. We ontvangen graag feedback hierover.</p>
@@ -1952,7 +1952,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Bekijk de pagina <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Door Delta Chat gebruikte standaarden</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2078,4 +2078,4 @@ om te zien hoe je een financiële of andere bijdrage kunt leveren.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -156,7 +156,7 @@
<p><a href="#security-audits">Audytowne szyfrowanie end-to-end</a> zabezpieczające przed atakami sieciowymi i serwerowymi.</p>
</li>
<li>
<p>Bezpłatne i otwartoźródłowe oprogramowanie zarówno po stronie aplikacji, jak i serwera. Stworzone w oparciu o <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">standardy e-mail i internetowe</a>, <a href="https://xkcd.com/927/">aby uniknąć „kolejnego standardowego syndromu (xkcd 927)”</a>.</p>
<p>Bezpłatne i otwartoźródłowe oprogramowanie zarówno po stronie aplikacji, jak i serwera. Stworzone w oparciu o <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">standardy e-mail i internetowe</a>, <a href="https://xkcd.com/927/">aby uniknąć „kolejnego standardowego syndromu (xkcd 927)”</a>.</p>
</li>
</ul>
@@ -1309,7 +1309,7 @@ Jednak niektórzy dostawcy potrzebują specjalnych opcji, aby działać poprawni
<p>Podobnie jak w przypadku innych programów pocztowych, takich jak Thunderbird, K9-Mail lub Outlook, program potrzebuje hasła, aby można było go używać do wysyłania i odbierania e-maili. Oczywiście hasło jest przechowywane tylko na Twoim urządzeniu. Hasło jest przesyłane tylko do Twojego dostawcy poczty e-mail (po zalogowaniu), który i tak ma dostęp do Twojej poczty</p>
<p>Ponieważ Delta Chat jest Open Source, możesz sprawdzić <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Kod źródłowy</a>
<p>Ponieważ Delta Chat jest Open Source, możesz sprawdzić <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Kod źródłowy</a>
jeśli chcesz sprawdzić, czy Twoje poświadczenia są przetwarzane w bezpieczny sposób. Cieszymy się z opinii, które sprawiają, że aplikacja jest bezpieczniejsza dla wszystkich naszych użytkowników.</p>
<h3 id="jakie-wiadomości-pojawiają-się-w-delta-chat">
@@ -1430,7 +1430,7 @@ jeśli chcesz sprawdzić, czy Twoje poświadczenia są przetwarzane w bezpieczny
</h3>
<ul>
<li>Zobacz <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standardy używane w Delta Chat</a>.</li>
<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>
<h3 id="gdzie-moi-znajomi-mogą-znaleźć-delta-chat">
@@ -1515,4 +1515,4 @@ Fundusze te wspierają nasze długofalowe cele, aby uczynić Delta Chat bardziej
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1777,7 +1777,7 @@ blogpost</a>.</li>
<p>Como acontece em qualquer outro programa de comunicação que usa email, como Thunderbird, K9-Mail ou Outlook, sua senha é necessária para poder receber e enviar emails. Obviamente, sua senha fica guardada no seu dispositivo. E ela só é transmitida para o seu provedor de email (no momento que você faz login), que é quem já tem inevitavelmente acesso aos seus emails.</p>
<p>Como o Delta Chat é um programa de Código Aberto, você pode revisar seu <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Código Fonte</a> se você quiser verificar que as suas credenciais estão sendo manuseadas de forma segura. Ficaremos felizes de receber comentários que contribuam para fazer o aplicativo mais seguro para todos os nossos usuários.</p>
<p>Como o Delta Chat é um programa de Código Aberto, você pode revisar seu <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Código Fonte</a> se você quiser verificar que as suas credenciais estão sendo manuseadas de forma segura. Ficaremos felizes de receber comentários que contribuam para fazer o aplicativo mais seguro para todos os nossos usuários.</p>
<h3 id="quais-mensagens-aparecem-no-delta-chat">
@@ -1952,7 +1952,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Veja <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">As normas usadas no Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2079,4 +2079,4 @@ for both monetary and other contribution possibilities.</p>
</body></html>
</body></html>
+7 -7
View File
@@ -171,7 +171,7 @@
</li>
<li>
<p>Бесплатное программное обеспечение с открытым исходным кодом, как на стороне приложения, так и на стороне сервера.
Разработано на основе <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">стандартов электронной почты и интернета</a>,
Разработано на основе <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">стандартов электронной почты и интернета</a>,
<a href="https://xkcd.com/927/">чтобы избежать “синдрома нового стандарта (xkcd 927)”</a></p>
</li>
</ul>
@@ -1779,10 +1779,10 @@ Delta Chat необходим пароль, чтобы использовать
хранится только на вашем устройстве и передается только вашему
провайдеру электронной почты (при входе в систему), который и так имеет доступ к вашей почте.</p>
<p>Поскольку Delta Chat является программой открытым исходным кодом, вы
можете изучить <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">исходный код</a>, если хотите убедиться, что ваши
учётные данные обрабатываются безопасно. Мы рады получить обратную связь,
которая поможет сделать приложение более безопасным для всех наших пользователей.</p>
<p>Поскольку Delta Chat — это проект с открытым исходным кодом, вы
можете проверить <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">исходный код</a>, если хотите убедиться, что ваши
учётные данные обрабатываются безопасно. Мы будем рады отзывам,
которые сделают приложение более безопасным для всех наших пользователей.</p>
<h3 id="какие-сообщения-отображаются-в-delta-chat">
@@ -1957,7 +1957,7 @@ Chat.</li>
</h3>
<ul>
<li>Смотрите <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Стандарты, используемые в Delta Chat</a>.</li>
<li>Смотрите <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарты, используемые в Delta Chat</a>.</li>
</ul>
<h3 id="где-мои-друзья-могут-найти-delta-chat">
@@ -2084,4 +2084,4 @@ U.S. Bureau of Democracy, Human Rights and Labor (DRL) для поддержки
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1784,7 +1784,7 @@ blogpost</a>.</li>
program potrebuje heslo, aby ste ho mohli používať na odosielanie e-mailov. Samozrejme,
heslo je uložené iba vo vašom zariadení. Heslo sa prenáša iba na vášho poskytovateľa e-mailu (keď sa prihlásite), ktorý má aj tak prístup k vašim e-mailom.</p>
<p>Keďže Delta Chat je Open Source, môžete skontrolovať <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Zdrojový
<p>Keďže Delta Chat je Open Source, môžete skontrolovať <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Zdrojový
Kód</a>
ak chcete overiť, že vaše poverenia sú spracované bezpečne. Sme radi
o spätnej väzbe, vďaka ktorej je aplikácia bezpečnejšia pre všetkých našich používateľov.</p>
@@ -1958,7 +1958,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Pozrite si <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Štandardy používané v Delta Chate</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2085,4 +2085,4 @@ for both monetary and other contribution possibilities.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@ safe against network and server attacks.</p>
</li>
<li>
<p>Free and Open Source software, both app and server side.
Built on <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">E-mail and Web Internet Standards</a>,
Built on <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">E-mail and Web Internet Standards</a>,
<a href="https://xkcd.com/927/">to avoid “yet another standard syndrome (xkcd 927)”</a></p>
</li>
</ul>
@@ -1787,7 +1787,7 @@ Sigurisht, fjalëkalimi depozitohet vetëm në pajisjen tuaj. Fjalëkalimi i tra
vetëm furnizuesit të email-it tuaj (kur bëni hyrjen), i cili mund të hyjë te email-et
tuaj, sido qoftë.</p>
<p>Ngaqë Delta Chat-i është Me Burim të Hapur, mund të kontrolloni <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">Kodin
<p>Ngaqë Delta Chat-i është Me Burim të Hapur, mund të kontrolloni <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">Kodin
Burim</a>,
nëse doni të verifikoni se a trajtohen me siguri kredencialet tuaja. Na gëzojnë
përshtypjet që e bëjn aplikacionin më të sigurt për krejt përdoruesit tanë.</p>
@@ -1969,7 +1969,7 @@ Otherwise you might receive undecryptable messages from those group chats.</p>
</h3>
<ul>
<li>Shihni <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Standarde të përdorur në Delta Chat</a>.</li>
<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>
<h3 id="where-can-my-friends-find-delta-chat">
@@ -2100,4 +2100,4 @@ Frajburg (Gjermani) dhe u shpërndahet më tepër se një duzine kontribuesish n
</body></html>
</body></html>
+51 -79
View File
@@ -10,9 +10,9 @@
<li><a href="#хто-бачить-моє-зображення-профілю">Хто бачить моє зображення профілю?</a></li>
<li><a href="#signature">Чи можу я встановити текст підпису/статусу/девізу у Delta Chat?</a></li>
<li><a href="#що-значить-закріплення-приглушення-архівування">Що значить Закріплення, Приглушення, Архівування?</a></li>
<li><a href="#save">How do “Saved Messages” work?</a></li>
<li><a href="#save">Як працюють “Збережені повідомлення”?</a></li>
<li><a href="#що-означає-зелена-точка">Що означає зелена точка?</a></li>
<li><a href="#edit">Correct typos and delete messages after sending</a></li>
<li><a href="#edit">Виправлення помилок та видалення повідомлень після надсилання</a></li>
<li><a href="#ephemeralmsgs">Як працюють повідомлення, що зникають?</a></li>
</ul>
</li>
@@ -66,7 +66,7 @@
<li><a href="#чи-можна-використовувати-delta-chat-на-декількох-пристроях-одночасно">Чи можна використовувати Delta Chat на декількох пристроях одночасно?</a></li>
<li><a href="#вирішення-проблем">Вирішення проблем</a></li>
<li><a href="#backup">Ручне перенесення</a></li>
<li><a href="#is-deletion-pinning-archiving-saving-muting-etc-synced-to-all-devices">Is Deletion, Pinning, Archiving, Saving, Muting etc. synced to all devices?</a></li>
<li><a href="#чи-синхронізовані-видалення-закріплення-архівування-збереження-вимкнення-сповіщень-тощо-з-усіма-пристроями">Чи синхронізовані видалення, закріплення, архівування, збереження, вимкнення сповіщень тощо з усіма пристроями?</a></li>
<li><a href="#чи-планується-впровадження-веб-клієнта-delta-chat">Чи планується впровадження веб-клієнта Delta Chat?</a></li>
</ul>
</li>
@@ -83,7 +83,7 @@
<li><a href="#що-таке-списки-широкомовлення-та-як-ними-користуватися">Що таке списки широкомовлення та як ними користуватися?</a></li>
<li><a href="#як-я-можу-поділитися-своїм-місцезнаходженням-зі-своїми-співрозмовниками-в-чаті">Як я можу поділитися своїм місцезнаходженням зі своїми співрозмовниками в чаті?</a></li>
<li><a href="#чому-я-можу-вибрати-лише-стеження-за-папкою-deltachat">Чому я можу вибрати лише стеження за папкою DeltaChat?</a></li>
<li><a href="#як-я-можу-змінити-мій-обліковий-запис-на-іншу-адресу-електронної-пошти">Як я можу змінити мій обліковий запис на іншу адресу електронної пошти?</a></li>
<li><a href="#як-я-можу-використовувати-іншу-адресу-електронної-пошти-у-своєму-профілі">Як я можу використовувати іншу адресу електронної пошти у своєму профілі?</a></li>
</ul>
</li>
<li><a href="#інше">Інше</a>
@@ -119,7 +119,7 @@
<p>Delta Chat - це надійний, децентралізований та безпечний додаток для обміну повідомленнями, доступний для мобільних і десктопних платформ.</p>
<p>Delta Chat схожий на Whatsapp або Telegram, але ви також можете використовувати його як додаток електронної пошти. Ви можете анонімно зареєструватися на різних <a href="https://delta.chat/chatmail">сумісних chatmail-серверах</a> які є мінімальними поштовими серверами, оптимізованими для швидкої та безпечної роботи. Або ви можете використовувати класичні поштові сервери та існуючий обліковий запис електронної пошти в цьому випадку Delta Chat буде працювати як поштовий додаток.</p>
<p>Delta Chat схожий на Whatsapp або Telegram, але ви також можете використовувати його як додаток електронної пошти. Ви можете анонімно зареєструватися на різних <a href="https://delta.chat/chatmail">сумісних chatmail-серверах</a> які є мінімальними поштовими серверами, оптимізованими для швидкої та безпечної роботи. Або ви можете використовувати класичні поштові сервери та існуючий профіль електронної пошти в цьому випадку Delta Chat буде працювати як поштовий додаток.</p>
<p><img style="float:right; width:50%; max-width:360%; margin:1em;" src="../delta-what-optim.png" /></p>
@@ -157,7 +157,7 @@
<p><a href="#security-audits">Аудитоване наскрізне шифрування</a> захищене від мережевих та серверних атак.</p>
</li>
<li>
<p>Вільне програмне забезпечення з відкритим вихідним кодом, як для додатків, так і для сервера. Побудовано на основі <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">Стандартів електронної пошти та інтернету</a>, <a href="https://xkcd.com/927/">щоб уникнути “синдрому ще одного стандарту (xkcd 927)”</a></p>
<p>Вільне програмне забезпечення з відкритим вихідним кодом, як для додатків, так і для сервера. Побудовано на основі <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандартів електронної пошти та інтернету</a>, <a href="https://xkcd.com/927/">щоб уникнути “синдрому ще одного стандарту (xkcd 927)”</a></p>
</li>
</ul>
@@ -283,37 +283,32 @@
<h3 id="save">
How do “Saved Messages” work? <a href="#save" class="anchor"></a>
Як працюють “Збережені повідомлення”? <a href="#save" class="anchor"></a>
</h3>
<p><strong>Saved Messages</strong> is a chat that you can use to easily remember and find messages.</p>
<p><strong>Збережені повідомлення</strong> - це чат, за допомогою якого ви можете легко запам’ятовувати та знаходити повідомлення.</p>
<ul>
<li>
<p>In any chat, long tap or right click a message and select <strong>Save</strong></p>
<p>У будь-якому чаті натисніть і утримуйте повідомлення або клацніть правою кнопкою миші та виберіть <strong>Зберегти</strong>.</p>
</li>
<li>
<p>Saved messages are marked by the symbol
<img style="vertical-align:middle; width:1.2em; margin:1px" src="../saved-icon.png" alt="Saved icon" />
next to the timestamp</p>
<p>Збережені повідомлення позначені символом <img style="vertical-align:middle; width:1.2em; margin:1px" src="../saved-icon.png" alt="Saved icon" /> поруч з міткою часу</p>
</li>
<li>
<p>Later, open the “Saved Messages” chat - and you will see the saved messages there.
By tapping <img style="vertical-align:middle; width:1.2em; margin:1px" src="../go-to-original.png" alt="Arrow-right icon" />,
you can go back to the original message in the original chat</p>
<p>Пізніше відкрийте чат “Збережені повідомлення” - і ви побачите там збережені повідомлення. Натиснувши <img style="vertical-align:middle; width:1.2em; margin:1px" src="../go-to-original.png" alt="Arrow-right icon" />, ви можете повернутися до початкового повідомлення в оригінальному чаті</p>
</li>
<li>
<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>
<p>Нарешті, ви також можете використовувати “Зберегти повідомлення”, щоб робити <strong>особисті нотатки</strong> - відкрити чат, набрати щось, додати фотографію або голосове повідомлення тощо.</p>
</li>
<li>
<p>As “Saved Message” are synced, they can become very handy for transferring data between devices</p>
<p>Оскільки “Збережені повідомлення” синхронізуються, вони можуть стати дуже зручними для передачі даних між пристроями</p>
</li>
</ul>
<p>Messages stay saved even if they are edited or deleted -
may it be by <a href="#edit">sender</a>, by <a href="#delold">device cleanup</a> or by <a href="#ephemeralmsgs">disappearing messages of other chats</a>.</p>
<p>Повідомлення залишаються збереженими, навіть якщо вони були відредаговані або видалені - чи то через <a href="#edit">відправника</a>, чи то через <a href="#delold">очищення пристрою</a>, чи то через <a href="#ephemeralmsgs">зникнення повідомлень інших чатів</a>.</p>
<h3 id="що-означає-зелена-точка">
@@ -323,53 +318,40 @@ may it be by <a href="#edit">sender</a>, by <a href="#delold">device cleanup</a>
</h3>
<p>You can sometimes see a <strong>green dot</strong> <img style="vertical-align:middle; width:1.2em; margin:1px" src="../green-dot.png" alt="" />
next to the avatar of a contact.
It means they were <strong>recently seen</strong> in the last 10 minutes:</p>
<p>Іноді ви можете бачити <strong>зелену крапку</strong> <img style="vertical-align:middle; width:1.2em; margin:1px" src="../green-dot.png" alt="" /> поруч з аватаркою контакту. Це означає, що його <strong>недавно бачили</strong> протягом останніх 10 хвилин:</p>
<ul>
<li>either because they messaged you directly,</li>
<li>because they wrote something to a group you are both a member of,</li>
<li>because they sent you a read receipt for a message you wrote,</li>
<li>because they edit or delete a message in a chat shared with you,</li>
<li>or because they use an <a href="#webxdc">app</a> in a chat shared with you.</li>
<li>або тому, що вони написали вам безпосередньо,</li>
<li>тому що вони написали щось у групі, в якій ви обидва є учасниками,</li>
<li>тому що вони надіслали вам квитанцію про прочитання повідомлення, яке ви написали,</li>
<li>тому що вони відредагували або видалили повідомлення у спільному з вами чаті,</li>
<li>або тому, що вони використовують <a href="#webxdc">app</a> у спільному з вами чаті.</li>
</ul>
<p>So this is not a real time online status -
and if someone doesnt answer right away even though they seem to be online,
dont worry and give them some space :)</p>
<p>Отже, це не онлайн статус в реальному часі - і якщо хтось не відповідає одразу, хоча здається, що вони онлайн, не хвилюйтеся і дайте їм трохи часу :)</p>
<p>On the other hand, others will not always “see that you are online”.
If you have turned off read receipts,
they will not see the green dot
until one of the above conditions are met.</p>
<p>З іншого боку, інші не завжди “бачать, що ви онлайн”. Якщо ви вимкнули звіти про прочитання, вони не побачать зелену крапку доки не буде виконано одну з вищезазначених умов.</p>
<h3 id="edit">
Correct typos and delete messages after sending <a href="#edit" class="anchor"></a>
Виправлення помилок та видалення повідомлень після надсилання <a href="#edit" class="anchor"></a>
</h3>
<ul>
<li>
<p>You can edit the text of your messages after sending.
For that, long tap or right click the message and select <strong>Edit</strong>
or <img style="vertical-align:middle; width:1.2em; margin:1px" src="../edit-icon.png" alt="Edit icon" />.</p>
<p>Ви можете редагувати текст ваших повідомлень після відправлення. Для цього натисніть на повідомлення довгим натисканням або правою кнопкою миші і виберіть <strong>Редагувати</strong> або <img style="vertical-align:middle; width:1.2em; margin:1px" src="../edit-icon.png" alt="Edit icon" />.</p>
</li>
<li>
<p>If you have sent a message accidentally,
from the same menu, select <strong>Delete</strong> and then <strong>Delete for Everyone</strong>.</p>
<p>Якщо ви випадково надіслали повідомлення, в тому ж меню виберіть <strong>Видалити</strong>, а потім <strong>Видалити для всіх</strong>.</p>
</li>
</ul>
<p>While edited messages will have the word “Edited” next to the timestamp,
deleted messages will be removed without a marker in the chat.
Notifications are not sent and there is no time limit.</p>
<p>Відредаговані повідомлення матимуть позначку “Відредаговано” поруч з міткою часу, видалені повідомлення будуть видалені без позначки в чаті. Сповіщення не надсилаються і відсутнє часове обмеження.</p>
<p>Note, that the original message may still be received by chat members
who could have already replied, forwarded, saved, screenshotted or otherwise copied the message.</p>
<p>Зауважте, що початкове повідомлення все ще може бути отримане учасниками чату які могли вже відповісти, переслати, зберегти, зробити знімок екрану або іншим чином скопіювати повідомлення.</p>
<h3 id="ephemeralmsgs">
@@ -482,7 +464,7 @@ who could have already replied, forwarded, saved, screenshotted or otherwise cop
<p>Щоб увімкнути його, перейдіть до <strong>Видалити старі повідомлення → Видалити повідомлення з сервера</strong> в налаштуваннях «Чати та медіа». Ви можете встановити часові рамки між «Одразу» та «Через 1 рік». Усі електронні листи, отримані Delta Chat, будуть видалені з сервера після закінчення цього терміну.</p>
</li>
<li>
<p>Зауважте, що якщо ви використовуєте Delta Chat на кількох пристроях, вам слід залишити повідомлення на сервері, доки інший пристрій не зможе завантажити їх. У цьому випадку вам слід встановити для автоматичного видалення значення «через день» або щось подібне, залежно від того, як часто ви вмикаєте інший пристрій.</p>
<p>Зверніть увагу, що якщо ви використовуєте Delta Chat на декількох пристроях, вам потрібно залишити повідомлення на сервері з достатнім проміжком часу щоб інші пристрої також могли їх завантажити.</p>
</li>
</ul>
@@ -716,11 +698,11 @@ Autocrypt використовує обмежену і <a href="#openpgp-secure"
<p><strong>Ваш контакт використовує Delta Chat на другому пристрої (телефоні або ноутбуці)</strong>.</p>
<p>Якщо у них є інший пристрій із запущеним додатком Delta Chat, вони повинні видалити обліковий запис з нового пристрою і додати його <a href="#multiclient">як другий пристрій, як описано тут</a>. Як тільки вони напишуть вам повідомлення, попередження зникне і гарантоване шифрування буде встановлено на обох пристроях вашого контакту.</p>
<p>Якщо у них є інший пристрій із запущеним додатком Delta Chat, вони повинні видалити профіль з нового пристрою і додати його <a href="#multiclient">як другий пристрій, як описано тут</a>. Як тільки вони напишуть вам повідомлення, попередження зникне і гарантоване шифрування буде встановлено на обох пристроях вашого контакту.</p>
<p><strong>Ваш контакт перевстановив Delta Chat, використовуючи свій старий логін</strong></p>
<p>Якщо у них є <a href="#backup">файл резервної копії</a>, вони повинні видалити обліковий запис з нового пристрою і, замість цього, імпортувати файл резервної копії для відновлення свого облікового запису. Як тільки вони напишуть вам повідомлення, попередження зникне і гарантоване шифрування буде відновлено для цього контакту.</p>
<p>Якщо у них є <a href="#backup">файл резервної копії</a>, вони повинні видалити профіль з нового пристрою і, замість цього, імпортувати файл резервної копії для відновлення свого профілю. Як тільки вони напишуть вам повідомлення, попередження зникне і гарантоване шифрування буде відновлено для цього контакту.</p>
<p>Якщо у них немає резервної копії файлу, найкраще виконати <a href="#howtoe2ee">QR-сканування</a> з вашим співрозмовником, щоб відновити гарантоване кінцеве шифрування.</p>
@@ -834,7 +816,7 @@ Delta Chat скоріше використовує реалізацію OpenPGP
</h3>
<p>Як для захисту від поштових серверів, що збирають метадані, так і для захисту від загрози вилучення пристрою ми рекомендуємо використовувати оптимізований для Delta Chat <a href="https://delta.chat/serverguide">екземпляр поштового сервера</a> для створення псевдонімних тимчасових акаунтів за допомогою сканування QR-коду. Зверніть увагу, що додатки Delta Chat на всіх платформах підтримують кілька облікових записів тому ви можете легко використовувати “1-тижневі” або “1-місячні” акаунти поруч з вашим “основним” акаунтом знаючи, що всі дані тимчасових акаунтів разом з усіма метаданими будуть видалені. Більше того, якщо пристрій вилучається, то контакти, які використовують тимчасові електронні скриньки, не можуть бути легко ідентифіковані, на відміну від месенджерів, які розкривають телефонні номери в групах чату, які, в свою чергу, часто пов’язані з юридичними особами.</p>
<p>Як для захисту від поштових серверів, що збирають метадані а також для захисту від загрози вилучення пристрою ми рекомендуємо використовувати <a href="https://delta.chat/chatmail">chatmail-сервер</a> для створення псевдонімних тимчасових профілів за допомогою сканування QR-коду. Зверніть увагу, що додатки Delta Chat на всіх платформах підтримують кілька профілів тому ви можете легко використовувати ситуативні профілі поруч з вашим “основним” профілем знаючи, що всі їхні дані, разом з усіма метаданими, будуть видалені. Більше того, якщо пристрій вилучено, то контакти, які використовують тимчасові профілі не можна буде легко ідентифікувати, на відміну від месенджерів, які розкривають номери телефонів у групах чату, які, в свою чергу, часто пов’язані з юридичними особами.</p>
<h3 id="як-перевірити-інформацію-про-шифрування">
@@ -925,14 +907,11 @@ Delta Chat скоріше використовує реалізацію OpenPGP
</h3>
<p>No.</p>
<p>Ні.</p>
<p>Delta Chat generates secure OpenPGP keys according to the Autocrypt specification 1.1.
You can export your private key but you can not import additional private keys.</p>
<p>Delta Chat генерує безпечні ключі OpenPGP відповідно до специфікації Autocrypt 1.1. Ви можете експортувати свій приватний ключ, але не можете імпортувати додаткові приватні ключі.</p>
<p>In general, we do not recommend or offer users to perform manual key management.
We want to ensure that security audits can focus on a few proven cryptographic algorithms
instead of the full breadth of possible algorithms allowed with OpenPGP.</p>
<p>Загалом, ми не рекомендуємо і не пропонуємо користувачам керувати ключами вручну. Ми хочемо гарантувати, що аудит безпеки може зосередитися на декількох перевірених криптографічних алгоритмах а не на всій широті можливих алгоритмів, дозволених у OpenPGP.</p>
<h3 id="security-audits">
@@ -1038,8 +1017,7 @@ instead of the full breadth of possible algorithms allowed with OpenPGP.</p>
<p><strong>Гостьові мережі</strong> можуть не дозволяти пристроям зв’язуватися один з одним. Якщо можливо, використовуйте негостьову мережу.</p>
</li>
<li>
<p>If you still have troubles using the same network,
try to open <strong>Mobile Hotspot</strong> on one device and join that Wi-Fi from the other one</p>
<p>Якщо у вас все ще виникають проблеми з використанням однієї мережі, спробуйте відкрити <strong>Мобільну точку доступу</strong> на одному пристрої та приєднатися до цього Wi-Fi з іншого</p>
</li>
<li>
<p>Переконайтеся, що на цільовому пристрої <strong>достатньо пам’яті</strong></p>
@@ -1048,7 +1026,7 @@ try to open <strong>Mobile Hotspot</strong> on one device and join that Wi-Fi fr
<p>Якщо передача почалася, переконайтеся, що пристрої <strong>залишаються активними</strong> і не засинають. Не виходьте з Delta Chat. (ми докладаємо всіх зусиль, щоб програма працювала у фоновому режимі, але <a href="https://dontkillmyapp.com">системи, як правило, вбивають програми</a>, на жаль)</p>
</li>
<li>
<p>Delta Chat <strong>уже ввійшов</strong> на цільовому пристрої? Ви можете використовувати кілька облікових записів на одному пристрої, просто <a href="#multiple-accounts">додайте інший обліковий запис</a></p>
<p>Delta Chat <strong>вже зареєстрований</strong> на цільовому пристрої? Ви можете використовувати кілька профілів на одному пристрої, просто <a href="#multiple-accounts">додайте ще один профіль</a></p>
</li>
<li>
<p>Якщо у вас усе ще виникають проблеми або якщо ви <strong>не можете відсканувати QR-код</strong> спробуйте <strong>перенесення вручну</strong>, описане нижче</p>
@@ -1066,31 +1044,25 @@ try to open <strong>Mobile Hotspot</strong> on one device and join that Wi-Fi fr
<p>Цей спосіб рекомендований, лише якщо «Додати другий пристрій», як описано вище, не працює.</p>
<ul>
<li>На старому пристрої перейдіть до “Налаштування -&gt; Чати та медіа -&gt; Експортувати резервну копію”. Введіть свій PIN-код, графічний ключ або пароль розблокування екрана. Потім ви можете натиснути на “Почати Резервне копіювання”. Це збереже файл резервної копії на вашому пристрої. Тепер вам потрібно якось перенести його на інший пристрій.</li>
<li>На новому пристрої на екрані входу замість того, щоб увійти до свого облікового запису електронної пошти, виберіть “Імпортувати резервну копію” виберіть “Імпортувати резервну копію”. Після імпорту ваші листування, ключі шифрування ключі шифрування та медіа повинні бути скопійовані на новий пристрій.
<ul>
<li>Якщо ви користуєтеся iOS:** і у вас виникли труднощі, можливо <a href="https://support.delta.chat/t/import-backup-to-ios/1628">цей посібник</a> допоможе вам.</li>
</ul>
</li>
<li>Тепер ви синхронізовані і можете використовувати обидва пристрої для надсилання та отримання наскрізно зашифрованих повідомлень зі своїми партнерами по спілкуванню.</li>
<li>На старому пристрої перейдіть до “Налаштування -&gt; Чати та медіа -&gt; Експортувати резервну копію”. Введіть свій PIN-код, графічний ключ або пароль розблокування екрана. Потім ви можете натиснути на “Почати резервне копіювання”. Це збереже файл резервної копії на вашому пристрої. Тепер вам потрібно якось перенести його на інший пристрій.</li>
<li>На новому пристрої в меню “У мене вже є профіль” виберіть “Відновити з резервної копії”. Після імпорту ваші розмови, ключі шифрування ключі шифрування та медіа повинні бути скопійовані на новий пристрій.</li>
<li>Якщо ви користуєтеся iOS:** і у вас виникли труднощі, можливо <a href="https://support.delta.chat/t/import-backup-to-ios/1628">цей посібник</a> допоможе вам.</li>
<li>Тепер ви синхронізовані і можете використовувати обидва пристрої для надсилання та отримання наскрізних зашифрованих повідомлень зі своїми партнерами по спілкуванню.</li>
</ul>
<h3 id="is-deletion-pinning-archiving-saving-muting-etc-synced-to-all-devices">
<h3 id="чи-синхронізовані-видалення-закріплення-архівування-збереження-вимкнення-сповіщень-тощо-з-усіма-пристроями">
Is Deletion, Pinning, Archiving, Saving, Muting etc. synced to all devices? <a href="#is-deletion-pinning-archiving-saving-muting-etc-synced-to-all-devices" class="anchor"></a>
Чи синхронізовані видалення, закріплення, архівування, збереження, вимкнення сповіщень тощо з усіма пристроями? <a href="#чи-синхронізовані-видалення-закріплення-архівування-збереження-вимкнення-сповіщень-тощо-з-усіма-пристроями" class="anchor"></a>
</h3>
<p>Так.</p>
<p>If you e.g. delete a chat or a message from your phone,
it will be deleted on your desktop as soon as it comes online again.</p>
<p>Якщо ви, наприклад, видалите чат або повідомлення з телефону, воно буде видалено на вашому робочому столі, щойно ви знову з’явитесь в мережі.</p>
<p>Notable exceptions are <a href="#delold">Delete old messages from Device</a>,
as different devices may have different storage capacities,
and system specific settings as notification sounds.</p>
<p>Винятком є <a href="#delold">Видалення старих повідомлень з пристрою</a>, оскільки різні пристрої можуть мати різний обсяг пам’яті, а також системні налаштування звуків сповіщень.</p>
<h3 id="чи-планується-впровадження-веб-клієнта-delta-chat">
@@ -1240,17 +1212,17 @@ and system specific settings as notification sounds.</p>
<p>У цьому випадку Delta Chat не потрібно стежити за папкою «Вхідні», а достатньо лише стежити за папкою DeltaChat.</p>
<h3 id="як-я-можу-змінити-мій-обліковий-запис-на-іншу-адресу-електронної-пошти">
<h3 id="як-я-можу-використовувати-іншу-адресу-електронної-пошти-у-своєму-профілі">
Як я можу змінити мій обліковий запис на іншу адресу електронної пошти? <a href="#як-я-можу-змінити-мій-обліковий-запис-на-іншу-адресу-електронної-пошти" class="anchor"></a>
Як я можу використовувати іншу адресу електронної пошти у своєму профілі? <a href="#як-я-можу-використовувати-іншу-адресу-електронної-пошти-у-своєму-профілі" class="anchor"></a>
</h3>
<ol>
<li>
<p>Змініть свою адресу в розділі “Налаштування → Додатково → Пароль та обліковий запис” та введіть пароль вашого нового облікового запису (і, за необхідності, налаштування сервера). Ви отримаєте інформаційне повідомлення про те, що ви переїжджаєте на нову адресу. Додаткове повідомлення також з’явиться у вашому чаті “Повідомлення пристрою”.</p>
<p>Змініть свою адресу в розділі “Налаштування → Додатково → Пароль та обліковий запис” та введіть пароль вашого нового поштового акаунта (і, за необхідності, налаштування сервера). Ви отримаєте інформаційне повідомлення про те, що ви переїжджаєте на нову адресу. Додаткове повідомлення також з’явиться у вашому чаті “Повідомлення пристрою”.</p>
</li>
<li>
<p>Якщо можливо, нехай ваш старий провайдер електронної пошти пересилає всі повідомлення на вашу нову адресу.</p>
@@ -1360,7 +1332,7 @@ and system specific settings as notification sounds.</p>
<p>Як і інші поштові програми, такі як Thunderbird, K9-Mail або Outlook, програма програма потребує пароля, щоб ви могли використовувати її для надсилання листів. Звичайно, пароль пароль зберігається лише на вашому пристрої. Пароль передається лише вашому поштовому провайдеру (коли ви входите в систему), який і так має доступ до вашої пошти.</p>
<p>Оскільки Delta Chat має відкритий код, ви можете ознайомитись із <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">початковим кодом</a> якщо бажаєте перевірити що ваші дані для авторизації надійно зберігаються. Ми будемо раді вашим пропозиціям, які зроблять додаток більш безпечним для всіх користувачів.</p>
<p>Оскільки Delta Chat має відкритий код, ви можете ознайомитись із <a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">початковим кодом</a> якщо бажаєте перевірити що ваші дані для авторизації надійно зберігаються. Ми будемо раді вашим пропозиціям, які зроблять додаток більш безпечним для всіх користувачів.</p>
<h3 id="які-повідомлення-відображаються-у-delta-chat">
@@ -1481,7 +1453,7 @@ and system specific settings as notification sounds.</p>
</h3>
<ul>
<li>Дивіться <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Стандарти, що використовуються у Delta Chat</a>.</li>
<li>Дивіться <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Стандарти, що використовуються у Delta Chat</a>.</li>
</ul>
<h3 id="де-мої-друзі-можуть-знайти-delta-chat">
@@ -1543,7 +1515,7 @@ and system specific settings as notification sounds.</p>
завершення прив’язок Rust/Python та запуск екосистеми чат-ботів.</p>
</li>
<li>
<p>У 2021 році ми отримали подальше фінансування ЄС для двох Інтернет-технологій наступного покоління пропозиції, а саме для <a href="https://dapsi.ngi.eu/hall-of-fame/eppd/">EPPD - каталог перенесення електронної пошти</a> (~97 тис. євро) та <a href="https://nlnet.nl/project/EmailPorting/">AEAP - перенесення електронної адреси</a> (~90 тис. євро), що призвело до кращої підтримки кількох облікових записів, покращеного QR-коду контактів і налаштувань груп, а також багатьох покращень роботи мережі на всіх платформах.</p>
<p>У 2021 році ми отримали подальше фінансування від ЄС на дві пропозиції щодо Інтернету наступного покоління а саме на <a href="https://dapsi.ngi.eu/hall-of-fame/eppd/">EPPD - каталог перенесення провайдерів електронної пошти</a> (~97 тис. євро) та <a href="https://nlnet.nl/project/EmailPorting/">AEAP - перенесення адрес електронної пошти</a> (~90 тис. євро), що дозволило нам покращити багатопрофільну підтримку, вдосконалити налаштування контактів та груп за допомогою QR-коду та багато інших мережевих покращень на всіх платформах.</p>
</li>
<li>
<p>З кінця 2021 до березня 2023 року ми отримували фінансування <em>Internet Freedom</em> (500 тис. дол. США) від Бюро США з питань демократії, прав людини та праці (DRL). Це фінансування підтримало наші довгострокові цілі зробити Delta Chat більш зручним для використання і сумісним з широким спектром серверів електронної пошти по всьому світу, більш стійким і безпечним в місцях, які постраждали від інтернет-цензури та відключення інтернету.</p>
@@ -1571,4 +1543,4 @@ and system specific settings as notification sounds.</p>
</body></html>
</body></html>
+4 -4
View File
@@ -171,7 +171,7 @@
</li>
<li>
<p>免费开源软件,包括应用程序和服务器端。
基于<a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md">电子邮件和网络互联网标准</a>
基于<a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">电子邮件和网络互联网标准</a>
<a href="https://xkcd.com/927/">避免 “又一个标准综合症(xkcd 927)”</a></p>
</li>
</ul>
@@ -1676,7 +1676,7 @@ mailcow 和 mailadm 的组合,如 <a href="https://delta.chat/en/2023-01-27-up
<p>与其他电子邮件程序(比如 Thunderbird、K9-Mail 或 Outlook)一样,本程序需要您的密码来允许您通过它发送邮件。当然,密码仅储存在您的设备上,并只会在登录时发送给您的电子邮件提供商(无论如何,您的提供商总是能够访问您的邮件)。</p>
<p>由于 Delta Chat 是开源的,要验证您的凭据是否被安全地处理了,可以检查<a href="https://github.com/deltachat/deltachat-core-rust/blob/master/src/login_param.rs">源代码</a>。我们很高兴能收到使本应用对我们的所有用户更加安全的反馈。</p>
<p>由于 Delta Chat 是开源的,要验证您的凭据是否被安全地处理了,可以检查<a href="https://github.com/chatmail/core/blob/main/src/login_param.rs">源代码</a>。我们很高兴能收到使本应用对我们的所有用户更加安全的反馈。</p>
<h3 id="哪些消息会在-delta-chat-中出现">
@@ -1828,7 +1828,7 @@ Delta Chat 使用的 <a href="https://autocrypt.org/">Autocrypt</a> 不兼容。
</h3>
<ul>
<li>请参阅 <a href="https://github.com/deltachat/deltachat-core-rust/blob/master/standards.md#standards-used-in-delta-chat">Delta Chat 中使用的标准</a></li>
<li>请参阅 <a href="https://github.com/chatmail/core/blob/main/standards.md#standards-used-in-delta-chat">Delta Chat 中使用的标准</a></li>
</ul>
<h3 id="我的朋友在哪里可以找到-delta-chat">
@@ -1923,4 +1923,4 @@ Google Play 商店、F-Droid、华为应用商店、亚马逊应用商店、iOS
</body></html>
</body></html>
@@ -245,23 +245,6 @@ public class DcContext {
return displayname;
}
public boolean isCommunity() {
return getConfigInt("is_community") == 1;
}
public void setCommunityMode(boolean enable) {
setConfig("is_community", enable? "1" : null);
}
public String getCommunityUser() {
String name = getConfig("ui.community.selfname");
return name == null? "" : name;
}
public void setCommunityUser(String name) {
setConfig("ui.community.selfname", name);
}
public boolean isChatmail() {
return getConfigInt("is_chatmail") == 1;
}
+3 -3
View File
@@ -143,11 +143,12 @@ public class DcMsg {
public native byte[] getWebxdcBlob (String filename);
public JSONObject getWebxdcInfo () {
try {
return new JSONObject(getWebxdcInfoJson());
String json = getWebxdcInfoJson();
if (json != null && !json.isEmpty()) return new JSONObject(json);
} catch(Exception e) {
e.printStackTrace();
return new JSONObject();
}
return new JSONObject();
}
public native String getWebxdcHref ();
public native boolean isForwarded ();
@@ -169,7 +170,6 @@ public class DcMsg {
public native String getQuotedText ();
public native String getError ();
public native String getOverrideSenderName();
public native int getSenderColor();
public native boolean isEdited ();
public String getSenderName(DcContact dcContact) {
@@ -10,8 +10,6 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import org.thoughtcrime.securesms.qr.QrShowFragment;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -32,9 +30,13 @@ public class Rpc {
private void processResponse() throws JsonSyntaxException {
String jsonResponse = dcJsonrpcInstance.getNextResponse();
Response response = gson.fromJson(jsonResponse, Response.class);
if (response.id == 0) { // Got JSON-RPC notification/event, ignore
Response response = gson.fromJson(jsonResponse, Response.class);
if (response == null) {
Log.e(TAG, "Error parsing JSON: " + jsonResponse);
return;
} else if (response.id == 0) {
// Got JSON-RPC notification/event, ignore
return;
}
@@ -65,7 +67,7 @@ public class Rpc {
while (true) {
try {
processResponse();
} catch (JsonSyntaxException e) {
} catch (Exception e) {
e.printStackTrace();
}
}
@@ -154,8 +156,8 @@ public class Rpc {
getResult("add_transport_from_qr", accountId, qrCode);
}
public void addTransport(int accountId, EnteredLoginParam param) throws RpcException {
getResult("add_transport", accountId, param);
public void addOrUpdateTransport(int accountId, EnteredLoginParam param) throws RpcException {
getResult("add_or_update_transport", accountId, param);
}
private static class Request {
@@ -532,6 +532,9 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
} else if (itemId == R.id.menu_show_map) {
WebxdcActivity.openMaps(this, chatId);
return true;
} else if (itemId == R.id.menu_show_apps) {
handleProfile(true);
return true;
} else if (itemId == R.id.menu_search_up) {
handleMenuSearchNext(false);
return true;
@@ -612,10 +615,13 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
}
private void handleProfile() {
private void handleProfile(boolean showApps) {
Intent intent = new Intent(this, ProfileActivity.class);
intent.putExtra(ProfileActivity.CHAT_ID_EXTRA, chatId);
intent.putExtra(ProfileActivity.FROM_CHAT, true);
if (showApps) {
intent.putExtra(ProfileActivity.FORCE_TAB_EXTRA, ProfileActivity.TAB_WEBXDC);
}
startActivity(intent);
overridePendingTransition(0, 0);
}
@@ -873,7 +879,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
buttonToggle.getBackground().invalidateSelf();
});
titleView.setOnClickListener(v -> handleProfile());
titleView.setOnClickListener(v -> handleProfile(false));
titleView.setOnBackClickedListener(view -> handleReturnToConversationList());
composeText.setOnKeyListener(composeKeyPressedListener);
@@ -336,7 +336,7 @@ public class ConversationFragment extends MessageSelectorFragment
menu.findItem(R.id.menu_context_reply).setVisible(chat.canSend() && canReply);
boolean canEdit = canEditMsg(messageRecord);
menu.findItem(R.id.menu_context_edit).setVisible(chat.canSend() && canEdit);
boolean showReplyPrivately = !dcContext.isCommunity() && chat.isMultiUser() && !messageRecord.isOutgoing() && canReply;
boolean showReplyPrivately = chat.isMultiUser() && !messageRecord.isOutgoing() && canReply;
menu.findItem(R.id.menu_context_reply_privately).setVisible(showReplyPrivately);
menu.findItem(R.id.menu_add_to_home_screen).setVisible(messageRecord.getType() == DcMsg.DC_MSG_WEBXDC);
@@ -801,9 +801,6 @@ public class ConversationFragment extends MessageSelectorFragment
list.getAdapter().notifyDataSetChanged();
actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
if (dcContext.isCommunity()) return;
addReactionView.show(messageRecord, view, () -> {
if (actionMode != null) {
actionMode.finish();
@@ -178,7 +178,7 @@ public class ConversationItem extends BaseConversationItem
{
bind(messageRecord, dcChat, batchSelected, pulseHighlight, recipients);
this.glideRequests = glideRequests;
this.showSender = dcContext.isCommunity() || ((dcChat.isMultiUser() || dcChat.isSelfTalk()) && !messageRecord.isOutgoing()) || messageRecord.getOverrideSenderName() != null;
this.showSender = ((dcChat.isMultiUser() || dcChat.isSelfTalk()) && !messageRecord.isOutgoing()) || messageRecord.getOverrideSenderName() != null;
if (showSender) {
this.dcContact = dcContext.getContact(messageRecord.getFromId());
@@ -270,11 +270,10 @@ public class ConversationItem extends BaseConversationItem
R.attr.conversation_item_incoming_bubble_color,
R.attr.conversation_item_outgoing_bubble_color,
};
final TypedArray attrs = context.obtainStyledAttributes(attributes);
incomingBubbleColor = attrs.getColor(0, Color.WHITE);
outgoingBubbleColor = attrs.getColor(1, Color.WHITE);
attrs.recycle();
try (TypedArray attrs = context.obtainStyledAttributes(attributes)) {
incomingBubbleColor = attrs.getColor(0, Color.WHITE);
outgoingBubbleColor = attrs.getColor(1, Color.WHITE);
}
}
@Override
@@ -438,10 +437,10 @@ public class ConversationItem extends BaseConversationItem
showFullButton.setVisibility(View.GONE);
msgActionButton.setVisibility(View.VISIBLE);
msgActionButton.setEnabled(true);
msgActionButton.setText(webxdcViewStub.get().isCommunity()? R.string.join: R.string.start_app);
msgActionButton.setText(R.string.start_app);
msgActionButton.setOnClickListener(view -> {
if (batchSelected.isEmpty()) {
DcHelper.openWebxdc(getContext(), messageRecord);
WebxdcActivity.openWebxdcActivity(getContext(), messageRecord);
} else {
passthroughClickListener.onClick(view);
}
@@ -675,9 +674,7 @@ public class ConversationItem extends BaseConversationItem
if (!showSender || dcContact ==null) {
contactPhoto.setVisibility(View.GONE);
} else {
int color = messageRecord.getSenderColor();
Recipient recipient = new Recipient(context, dcContact, messageRecord.getSenderName(dcContact), color);
contactPhoto.setAvatar(glideRequests, recipient, true);
contactPhoto.setAvatar(glideRequests, new Recipient(context, dcContact), true);
contactPhoto.setVisibility(View.VISIBLE);
}
}
@@ -702,7 +699,7 @@ public class ConversationItem extends BaseConversationItem
Recipient author = null;
SlideDeck slideDeck = new SlideDeck();
if (msg != null) {
author = new Recipient(context, dcContext.getContact(msg.getFromId()), msg.getSenderColor());
author = new Recipient(context, dcContext.getContact(msg.getFromId()));
if (msg.getType() != DcMsg.DC_MSG_TEXT) {
Slide slide = MediaUtil.getSlideForMsg(context, msg);
if (slide != null) {
@@ -810,8 +807,7 @@ public class ConversationItem extends BaseConversationItem
}
else if (showSender && dcContact !=null) {
this.groupSender.setText(messageRecord.getSenderName(dcContact));
int color = messageRecord.getSenderColor();
this.groupSender.setTextColor(Util.rgbToArgbColor(color!=0? color : dcContact.getColor()));
this.groupSender.setTextColor(Util.rgbToArgbColor(dcContact.getColor()));
}
}
@@ -894,7 +890,7 @@ public class ConversationItem extends BaseConversationItem
if (shouldInterceptClicks(messageRecord) || !batchSelected.isEmpty()) {
performClick();
} else if (slide.isWebxdcDocument()) {
msgActionButton.performClick();
WebxdcActivity.openWebxdcActivity(context, messageRecord);
} else if (slide.isVcard()) {
try {
String path = slide.asAttachment().getRealPath(context);
@@ -904,7 +900,7 @@ public class ConversationItem extends BaseConversationItem
.setPositiveButton(android.R.string.ok, (dialog, which) -> {
try {
List<Integer> contactIds = rpc.importVcard(dcContext.getAccountId(), path);
if (contactIds.size() > 0) {
if (!contactIds.isEmpty()) {
int chatId = dcContext.createChatByContactId(contactIds.get(0));
if (chatId != 0) {
Intent intent = new Intent(context, ConversationActivity.class);
@@ -64,11 +64,9 @@ public class ConversationListItem extends RelativeLayout
private final static Typeface BOLD_TYPEFACE = Typeface.create("sans-serif-medium", Typeface.NORMAL);
private final static Typeface LIGHT_TYPEFACE = Typeface.create("sans-serif", Typeface.NORMAL);
private DcLot dcSummary;
private Set<Long> selectedThreads;
private long chatId;
private int msgId;
private GlideRequests glideRequests;
private TextView subjectView;
private FromTextView fromView;
private TextView dateView;
@@ -122,12 +120,10 @@ public class ConversationListItem extends RelativeLayout
boolean batchMode,
@Nullable String highlightSubstring)
{
this.dcSummary = dcSummary;
this.selectedThreads = selectedThreads;
Recipient recipient = thread.getRecipient();
this.chatId = thread.getThreadId();
this.msgId = msgId;
this.glideRequests = glideRequests;
int state = dcSummary.getState();
int unreadCount = thread.getUnreadCount();
@@ -163,7 +159,7 @@ public class ConversationListItem extends RelativeLayout
this.avatar.setAvatar(glideRequests, recipient, false);
DcContact contact = recipient.getDcContact();
avatar.setSeenRecently(contact!=null? contact.wasSeenRecently() : false);
avatar.setSeenRecently(contact != null && contact.wasSeenRecently());
boolean isProtected = thread.isProtected() || DcHelper.getContext(getContext()).getChat((int)chatId).isDeviceTalk();
@@ -180,7 +176,6 @@ public class ConversationListItem extends RelativeLayout
{
this.selectedThreads = Collections.emptySet();
Recipient recipient = new Recipient(getContext(), contact);
this.glideRequests = glideRequests;
fromView.setText(getHighlightedSpan(contact.getDisplayName(), highlightSubstring));
fromView.setCompoundDrawablesWithIntrinsicBounds(0, 0, contact.isVerified()? R.drawable.ic_verified : 0, 0);
@@ -205,7 +200,6 @@ public class ConversationListItem extends RelativeLayout
DcContact sender = dcContext.getContact(messageResult.getFromId());
this.selectedThreads = Collections.emptySet();
Recipient recipient = new Recipient(getContext(), sender);
this.glideRequests = glideRequests;
fromView.setText(recipient, true);
fromView.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
@@ -312,9 +306,9 @@ public class ConversationListItem extends RelativeLayout
if (thread!=null && thread.getVisibility()==DcChat.DC_CHAT_VISIBILITY_PINNED) {
bg = R.attr.pinned_list_item_background;
}
TypedArray ta = getContext().obtainStyledAttributes(new int[] { bg });
ViewUtil.setBackground(this, ta.getDrawable(0));
ta.recycle();
try (TypedArray ta = getContext().obtainStyledAttributes(new int[]{bg})) {
ViewUtil.setBackground(this, ta.getDrawable(0));
}
}
private Spanned getHighlightedSpan(@Nullable String value,
@@ -332,7 +326,10 @@ public class ConversationListItem extends RelativeLayout
String normalizedValue = value.toLowerCase(Util.getLocale());
String normalizedTest = highlight.toLowerCase(Util.getLocale());
List<String> testTokens = Stream.of(normalizedTest.split(" ")).filter(s -> s.trim().length() > 0).toList();
List<String> testTokens;
try (Stream<String> stream = Stream.of(normalizedTest.split(" "))) {
testTokens = stream.filter(s -> !s.trim().isEmpty()).toList();
}
Spannable spanned = new SpannableString(value);
int searchStartIndex = 0;
@@ -99,10 +99,7 @@ public class ConversationTitleView extends RelativeLayout {
}
} else if( dcChat.isMultiUser() ) {
if (!profileView) {
if (dcContext.isCommunity() && chatContacts.length == 1)
subtitleStr = context.getString(R.string.super_group);
else
subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length);
subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length);
}
} else if( chatContacts.length>=1 ) {
if( dcChat.isSelfTalk() ) {
@@ -60,7 +60,6 @@ public class CreateProfileActivity extends BaseActionBarActivity {
private InputAwareLayout container;
private ImageView avatar;
private EditText name;
private EditText overridenName;
private EditText statusView;
private boolean fromWelcome;
@@ -184,27 +183,14 @@ public class CreateProfileActivity extends BaseActionBarActivity {
TextView loginSuccessText = ViewUtil.findById(this, R.id.login_success_text);
this.avatar = ViewUtil.findById(this, R.id.avatar);
this.name = ViewUtil.findById(this, R.id.name_text);
this.overridenName = ViewUtil.findById(this, R.id.overriden_name);
this.container = ViewUtil.findById(this, R.id.container);
this.statusView = ViewUtil.findById(this, R.id.status_text);
if (fromWelcome) {
if (DcHelper.getContext(this).isCommunity()) {
ViewUtil.findById(this, R.id.community_user_container).setVisibility(View.VISIBLE);
loginSuccessText.setText(R.string.community_set_name_explain);
ViewUtil.findById(this, R.id.avatar_and_name).setVisibility(View.GONE);
} else {
loginSuccessText.setText(R.string.set_name_and_avatar_explain);
}
loginSuccessText.setText(R.string.set_name_and_avatar_explain);
ViewUtil.findById(this, R.id.status_text_layout).setVisibility(View.GONE);
ViewUtil.findById(this, R.id.information_label).setVisibility(View.GONE);
} else {
if (DcHelper.getContext(this).isCommunity()) {
ViewUtil.findById(this, R.id.community_user_container).setVisibility(View.VISIBLE);
ViewUtil.findById(this, R.id.information_label).setVisibility(View.GONE);
((TextInputLayout)ViewUtil.findById(this, R.id.name)).setHint(R.string.community);
((TextInputLayout)ViewUtil.findById(this, R.id.status_text_layout)).setHint(R.string.description);
}
loginSuccessText.setVisibility(View.GONE);
}
}
@@ -215,10 +201,6 @@ public class CreateProfileActivity extends BaseActionBarActivity {
name.setText(profileName);
name.setSelection(profileName.length(), profileName.length());
}
DcContext dcContext = DcHelper.getContext(this);
if (dcContext.isCommunity()) {
overridenName.setText(dcContext.getCommunityUser());
}
}
private void initializeProfileAvatar() {
@@ -245,22 +227,16 @@ public class CreateProfileActivity extends BaseActionBarActivity {
}
private void updateProfile() {
boolean isCommunity = DcHelper.getContext(this).isCommunity();
if (TextUtils.isEmpty(this.name.getText()) && !(isCommunity && fromWelcome)) {
if (TextUtils.isEmpty(this.name.getText())) {
Toast.makeText(this, R.string.please_enter_name, Toast.LENGTH_LONG).show();
return;
}
final String name = this.name.getText().toString();
final String ovName = this.overridenName.getText().toString().trim();
new AsyncTask<Void, Void, Boolean>() {
@Override
protected Boolean doInBackground(Void... params) {
Context context = CreateProfileActivity.this;
if (isCommunity) {
DcHelper.getContext(context).setCommunityUser(ovName);
}
DcHelper.set(context, DcHelper.CONFIG_DISPLAY_NAME, name);
setStatusText();
@@ -96,23 +96,25 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
setSupportActionBar(this.toolbar);
ActionBar supportActionBar = getSupportActionBar();
if (isGlobalProfile()) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeActionContentDescription(getString(R.string.back));
} else {
supportActionBar.setDisplayHomeAsUpEnabled(false);
supportActionBar.setCustomView(R.layout.conversation_title_view);
supportActionBar.setDisplayShowCustomEnabled(true);
supportActionBar.setDisplayShowTitleEnabled(false);
Toolbar parent = (Toolbar) supportActionBar.getCustomView().getParent();
parent.setPadding(0,0,0,0);
parent.setContentInsetsAbsolute(0,0);
if (supportActionBar != null) {
if (isGlobalProfile()) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setHomeActionContentDescription(getString(R.string.back));
} else {
supportActionBar.setDisplayHomeAsUpEnabled(false);
supportActionBar.setCustomView(R.layout.conversation_title_view);
supportActionBar.setDisplayShowCustomEnabled(true);
supportActionBar.setDisplayShowTitleEnabled(false);
Toolbar parent = (Toolbar) supportActionBar.getCustomView().getParent();
parent.setPadding(0,0,0,0);
parent.setContentInsetsAbsolute(0,0);
titleView = (ConversationTitleView) supportActionBar.getCustomView();
titleView.setOnBackClickedListener(view -> onBackPressed());
titleView.setOnClickListener(view -> onEnlargeAvatar());
if (isContactProfile() && !isSelfProfile() && !chatIsDeviceTalk) {
titleView.registerForContextMenu(this);
titleView = (ConversationTitleView) supportActionBar.getCustomView();
titleView.setOnBackClickedListener(view -> onBackPressed());
titleView.setOnClickListener(view -> onEnlargeAvatar());
if (isContactProfile() && !isSelfProfile() && !chatIsDeviceTalk) {
titleView.registerForContextMenu(this);
}
}
}
@@ -304,7 +306,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
}
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
super.setPrimaryItem(container, position, object);
if (currentFragment != null && currentFragment != object) {
ActionMode action = null;
@@ -320,6 +322,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
currentFragment = object;
}
@NonNull
@Override
public Fragment getItem(int position) {
int tabId = tabs.get(position);
@@ -417,7 +420,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
// =========================================================================
@Override
public boolean onOptionsItemSelected(MenuItem item) {
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
super.onOptionsItemSelected(item);
int itemId = item.getItemId();
@@ -447,7 +450,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
}
@Override
public boolean onContextItemSelected(MenuItem item) {
public boolean onContextItemSelected(@NonNull MenuItem item) {
super.onContextItemSelected(item);
if (item.getItemId() == R.id.copy_addr_to_clipboard) {
onCopyAddrToClipboard();
@@ -460,7 +463,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
setMuted(0);
}
else {
MuteDialog.show(this, duration -> setMuted(duration));
MuteDialog.show(this, this::setMuted);
}
}
@@ -102,16 +102,18 @@ class ProfileDocumentsAdapter extends StickyHeaderGridAdapter {
viewHolder.audioView.setOnLongClickListener(view -> { itemClickListener.onMediaLongClicked(dcMsg); return true; });
viewHolder.audioView.disablePlayer(!selected.isEmpty());
viewHolder.itemView.setOnClickListener(view -> itemClickListener.onMediaClicked(dcMsg));
viewHolder.date.setVisibility(View.VISIBLE);
}
else if (slide != null && slide.isWebxdcDocument()) {
viewHolder.audioView.setVisibility(View.GONE);
viewHolder.documentView.setVisibility(View.GONE);
viewHolder.webxdcView.setVisibility(View.VISIBLE);
viewHolder.webxdcView.setWebxdc(dcMsg, context.getString(R.string.webxdc_app));
viewHolder.webxdcView.setWebxdc(dcMsg, "");
viewHolder.webxdcView.setOnClickListener(view -> itemClickListener.onMediaClicked(dcMsg));
viewHolder.webxdcView.setOnLongClickListener(view -> { itemClickListener.onMediaLongClicked(dcMsg); return true; });
viewHolder.itemView.setOnClickListener(view -> itemClickListener.onMediaClicked(dcMsg));
viewHolder.date.setVisibility(View.GONE);
}
else if (slide != null && slide.hasDocument()) {
viewHolder.audioView.setVisibility(View.GONE);
@@ -122,11 +124,13 @@ class ProfileDocumentsAdapter extends StickyHeaderGridAdapter {
viewHolder.documentView.setOnClickListener(view -> itemClickListener.onMediaClicked(dcMsg));
viewHolder.documentView.setOnLongClickListener(view -> { itemClickListener.onMediaLongClicked(dcMsg); return true; });
viewHolder.itemView.setOnClickListener(view -> itemClickListener.onMediaClicked(dcMsg));
viewHolder.date.setVisibility(View.VISIBLE);
}
else {
viewHolder.documentView.setVisibility(View.GONE);
viewHolder.audioView.setVisibility(View.GONE);
viewHolder.webxdcView.setVisibility(View.GONE);
viewHolder.date.setVisibility(View.GONE);
}
viewHolder.itemView.setOnLongClickListener(view -> { itemClickListener.onMediaLongClicked(dcMsg); return true; });
@@ -179,7 +179,7 @@ public class ProfileDocumentsFragment
}
if (dcMsg.getType() == DcMsg.DC_MSG_WEBXDC) {
DcHelper.openWebxdc(context, dcMsg);
WebxdcActivity.openWebxdcActivity(context, dcMsg);
} else {
DcHelper.openForViewOrShare(getActivity(), dcMsg.getId(), Intent.ACTION_VIEW);
}
@@ -42,7 +42,6 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
private final @NonNull ArrayList<ItemData> itemData = new ArrayList<>();
private int itemDataMemberCount;
private DcChatlist itemDataSharedChats;
private DcContact itemDataContact;
private String itemDataStatusText;
private boolean isMailingList;
private boolean isBroadcast;
@@ -116,8 +115,9 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
}
}
@NonNull
@Override
public ProfileSettingsAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
public ProfileSettingsAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == ItemData.CATEGORY_MEMBERS) {
final ContactSelectionListItem item = (ContactSelectionListItem)layoutInflater.inflate(R.layout.contact_selection_list_item, parent, false);
item.setNoHeaderPadding();
@@ -139,7 +139,7 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
ViewHolder holder = (ViewHolder) viewHolder;
if (holder.itemView instanceof ContactSelectionListItem) {
ContactSelectionListItem contactItem = (ContactSelectionListItem) holder.itemView;
@@ -280,23 +280,24 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
itemData.clear();
itemDataMemberCount = 0;
itemDataSharedChats = null;
itemDataContact = null;
itemDataStatusText = "";
isMailingList = false;
isBroadcast = false;
if (memberList!=null) {
itemDataMemberCount = memberList.length;
if (dcChat.isBroadcast()) {
isBroadcast = true;
}
if (dcChat != null) {
if (dcChat.isBroadcast()) {
isBroadcast = true;
}
if (dcChat.isMailingList()) {
isMailingList = true;
} else if (dcChat.canSend()) {
itemData.add(new ItemData(ItemData.CATEGORY_MEMBERS, DcContact.DC_CONTACT_ID_ADD_MEMBER, 0));
if (!isBroadcast) {
itemData.add(new ItemData(ItemData.CATEGORY_MEMBERS, DcContact.DC_CONTACT_ID_QR_INVITE, 0));
if (dcChat.isMailingList()) {
isMailingList = true;
} else if (dcChat.canSend()) {
itemData.add(new ItemData(ItemData.CATEGORY_MEMBERS, DcContact.DC_CONTACT_ID_ADD_MEMBER, 0));
if (!isBroadcast) {
itemData.add(new ItemData(ItemData.CATEGORY_MEMBERS, DcContact.DC_CONTACT_ID_QR_INVITE, 0));
}
}
}
@@ -307,7 +308,6 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
else if (sharedChats!=null && dcContact!=null) {
boolean chatIsDeviceTalk = dcChat != null && dcChat.isDeviceTalk();
itemDataContact = dcContact;
if (!chatIsDeviceTalk) {
int verifierId = dcContact.getVerifierId();
if (verifierId != 0) {
@@ -320,7 +320,7 @@ public class ProfileSettingsAdapter extends RecyclerView.Adapter
itemData.add(new ItemData(ItemData.CATEGORY_INFO, INFO_VERIFIED, verifiedInfo, 0, R.drawable.ic_verified));
}
long lastSeenTimestamp = (itemDataContact!=null? itemDataContact.getLastSeen() : 0);
long lastSeenTimestamp = dcContact.getLastSeen();
String lastSeenTxt;
if (lastSeenTimestamp == 0) {
lastSeenTxt = context.getString(R.string.last_seen_unknown);
@@ -47,7 +47,6 @@ public class ProfileSettingsFragment extends Fragment
private static final int REQUEST_CODE_PICK_CONTACT = 2;
private RecyclerView list;
private StickyHeaderDecoration listDecoration;
private ProfileSettingsAdapter adapter;
private ActionMode actionMode;
@@ -66,17 +65,17 @@ public class ProfileSettingsFragment extends Fragment
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
chatId = getArguments().getInt(CHAT_ID_EXTRA, -1);
chatId = getArguments() != null ? getArguments().getInt(CHAT_ID_EXTRA, -1) : -1;
contactId = getArguments().getInt(CONTACT_ID_EXTRA, -1);
dcContext = DcHelper.getContext(getContext());
dcContext = DcHelper.getContext(requireContext());
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.profile_settings_fragment, container, false);
adapter = new ProfileSettingsAdapter(getContext(), GlideApp.with(this), this);
adapter = new ProfileSettingsAdapter(requireContext(), GlideApp.with(this), this);
list = ViewUtil.findById(view, R.id.recycler_view);
RecyclerView list = ViewUtil.findById(view, R.id.recycler_view);
list.setAdapter(adapter);
list.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
listDecoration = new StickyHeaderDecoration(adapter, false, true);
@@ -84,7 +83,7 @@ public class ProfileSettingsFragment extends Fragment
update();
DcEventCenter eventCenter = DcHelper.getEventCenter(getContext());
DcEventCenter eventCenter = DcHelper.getEventCenter(requireContext());
eventCenter.addObserver(DcContext.DC_EVENT_CHAT_MODIFIED, this);
eventCenter.addObserver(DcContext.DC_EVENT_CONTACTS_CHANGED, this);
eventCenter.addObserver(DcContext.DC_EVENT_MSGS_CHANGED, this);
@@ -94,12 +93,12 @@ public class ProfileSettingsFragment extends Fragment
@Override
public void onDestroyView() {
DcHelper.getEventCenter(getContext()).removeObservers(this);
DcHelper.getEventCenter(requireContext()).removeObservers(this);
super.onDestroyView();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
listDecoration.onConfigurationChanged(newConfig);
}
@@ -148,7 +147,7 @@ public class ProfileSettingsFragment extends Fragment
@Override
public void onStatusLongClicked() {
Context context = getContext();
Context context = requireContext();
new AlertDialog.Builder(context)
.setTitle(R.string.pref_default_status_label)
.setItems(new CharSequence[]{
@@ -169,7 +168,7 @@ public class ProfileSettingsFragment extends Fragment
DcChat dcChat = dcContext.getChat(chatId);
if (dcChat.canSend()) {
adapter.toggleMemberSelection(contactId);
actionMode = ((AppCompatActivity) getActivity()).startSupportActionMode(actionModeCallback);
actionMode = ((AppCompatActivity) requireActivity()).startSupportActionMode(actionModeCallback);
}
} else {
onMemberClicked(contactId);
@@ -225,8 +224,8 @@ public class ProfileSettingsFragment extends Fragment
public void onSharedChatClicked(int chatId) {
Intent intent = new Intent(getContext(), ConversationActivity.class);
intent.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatId);
getContext().startActivity(intent);
getActivity().finish();
requireContext().startActivity(intent);
requireActivity().finish();
}
private void onVerifiedByClicked() {
@@ -245,8 +244,8 @@ public class ProfileSettingsFragment extends Fragment
if (chatId != 0) {
Intent intent = new Intent(getActivity(), ConversationActivity.class);
intent.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatId);
getActivity().startActivity(intent);
getActivity().finish();
requireActivity().startActivity(intent);
requireActivity().finish();
}
}
@@ -266,7 +265,7 @@ public class ProfileSettingsFragment extends Fragment
menu.findItem(R.id.menu_select_all).setVisible(false);
mode.setTitle("1");
Window window = getActivity().getWindow();
Window window = requireActivity().getWindow();
originalStatusBarColor = window.getStatusBarColor();
window.setStatusBarColor(getResources().getColor(R.color.action_mode_status_bar));
return true;
@@ -289,7 +288,7 @@ public class ProfileSettingsFragment extends Fragment
readableToDelList.append(dcContext.getContact(toDelId).getDisplayName());
}
DcChat dcChat = dcContext.getChat(chatId);
AlertDialog dialog = new AlertDialog.Builder(getContext())
AlertDialog dialog = new AlertDialog.Builder(requireContext())
.setPositiveButton(R.string.remove_desktop, (d, which) -> {
for (Integer toDelId : toDelIds) {
dcContext.removeContactFromChat(chatId, toDelId);
@@ -309,7 +308,7 @@ public class ProfileSettingsFragment extends Fragment
public void onDestroyActionMode(ActionMode mode) {
actionMode = null;
adapter.clearSelection();
getActivity().getWindow().setStatusBarColor(originalStatusBarColor);
requireActivity().getWindow().setStatusBarColor(originalStatusBarColor);
}
}
@@ -605,7 +605,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
new Thread(() -> {
Rpc rpc = DcHelper.getRpc(this);
try {
rpc.addTransport(DcHelper.getContext(this).getAccountId(), param);
rpc.addOrUpdateTransport(DcHelper.getContext(this).getAccountId(), param);
DcHelper.getEventCenter(this).endCaptureNextError();
progressDialog.dismiss();
Intent conversationList = new Intent(getApplicationContext(), ConversationListActivity.class);
@@ -297,6 +297,7 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity implement
text = cs.toString();
}
}
if (text != null) {
setSharedText(intent, text.toString());
}
@@ -10,6 +10,7 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;
@@ -59,6 +60,7 @@ import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcEventDelegate {
@@ -82,6 +84,8 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
private boolean internetAccess = false;
private boolean hideActionBar = false;
private TextToSpeech tts;
public static void openMaps(Context context, int chatId) {
openMaps(context, chatId, "");
}
@@ -159,6 +163,7 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
protected void onCreate(Bundle state, boolean ready) {
super.onCreate(state, ready);
rpc = DcHelper.getRpc(this);
initTTS();
Bundle b = getIntent().getExtras();
hideActionBar = b.getBoolean(EXTRA_HIDE_ACTION_BAR, false);
@@ -274,6 +279,7 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
lastOpenTime = System.currentTimeMillis();
DcHelper.getEventCenter(this.getApplicationContext()).removeObservers(this);
leaveRealtimeChannel();
tts.shutdown();
super.onDestroy();
}
@@ -311,6 +317,14 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
setScreenMode(newConfig);
}
private void initTTS() {
tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
Log.i(TAG, "TTS Init Status: " + status);
}
});
}
private void setScreenMode(Configuration config) {
// enter/exit fullscreen mode depending on orientation (landscape/portrait),
// on tablets there is enough height so fullscreen mode is never enabled there
@@ -519,11 +533,6 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
return BuildConfig.VERSION_NAME;
}
@JavascriptInterface
public boolean isCommunity() {
return dcContext.isCommunity();
}
@JavascriptInterface
public int sendUpdateMaxSize() {
return WebxdcActivity.this.sendUpdateMaxSize;
@@ -536,24 +545,13 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
@JavascriptInterface
public String selfAddr() {
if (dcContext.isCommunity() && !TextUtils.isEmpty(dcContext.getCommunityUser())) {
int flags = Base64.NO_WRAP | Base64.NO_PADDING | Base64.URL_SAFE;
return Base64.encodeToString(dcContext.getCommunityUser().getBytes(), flags);
}
return WebxdcActivity.this.selfAddr;
}
/** @noinspection unused*/
@JavascriptInterface
public String selfName() {
if (dcContext.isCommunity() && !TextUtils.isEmpty(dcContext.getCommunityUser())) {
return dcContext.getCommunityUser();
}
String name = WebxdcActivity.this.dcContext.getConfig("displayname");
if (TextUtils.isEmpty(name)) {
name = selfAddr();
}
return name;
return WebxdcActivity.this.dcContext.getName();
}
/** @noinspection unused*/
@@ -651,5 +649,12 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
e.printStackTrace();
}
}
@JavascriptInterface
public void ttsSpeak(String text, String lang) {
if (lang != null && !lang.isEmpty()) tts.setLanguage(Locale.forLanguageTag(lang));
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
}
}
}
@@ -49,7 +49,6 @@ import java.io.OutputStream;
public class WelcomeActivity extends BaseActionBarActivity implements DcEventCenter.DcEventDelegate {
public static final String BACKUP_QR_EXTRA = "backup_qr_extra";
public static final String COMMUNITY_EXTRA = "community_extra";
public static final int PICK_BACKUP = 20574;
private final static String TAG = WelcomeActivity.class.getSimpleName();
public static final String TMP_BACKUP_FILE = "tmp-backup-file";
@@ -59,7 +58,6 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
private boolean imexUserAborted;
DcContext dcContext;
private NotificationController notificationController;
private Uri communityUri;
@Override
public void onCreate(Bundle bundle) {
@@ -120,10 +118,6 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
@Override
public void onStart() {
super.onStart();
communityUri = getIntent().getParcelableExtra(COMMUNITY_EXTRA);
if (communityUri != null) {
startImport(null, communityUri);
}
String backupQr = getIntent().getStringExtra(BACKUP_QR_EXTRA);
if (backupQr != null) {
getIntent().removeExtra(BACKUP_QR_EXTRA);
@@ -263,15 +257,9 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
private void progressSuccess() {
DcHelper.getEventCenter(this).endCaptureNextError();
progressDialog.dismiss();
if (dcContext.isCommunity()) {
Intent intent = new Intent(getApplicationContext(), CreateProfileActivity.class);
intent.putExtra(CreateProfileActivity.FROM_WELCOME, true);
startActivity(intent);
} else {
Intent intent = new Intent(getApplicationContext(), ConversationListActivity.class);
intent.putExtra(ConversationListActivity.FROM_WELCOME, true);
startActivity(intent);
}
Intent intent = new Intent(getApplicationContext(), ConversationListActivity.class);
intent.putExtra(ConversationListActivity.FROM_WELCOME, true);
startActivity(intent);
finish();
}
@@ -318,10 +306,6 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
notificationController.setProgress(1000, progress, String.format(" %d%%", (int) progress / 10));
}
else if (progress==1000/*done*/) {
if (communityUri != null) dcContext.setCommunityMode(true);
if (dcContext.isCommunity()) {
dcContext.setCommunityUser(null);
}
DcHelper.getAccounts(this).startIo();
progressSuccess();
notificationController.close();
@@ -87,12 +87,8 @@ public class AccountSelectionListItem extends LinearLayout {
}
addrOrTag = dcContext.getConfig(CONFIG_PRIVATE_TAG);
if ("".equals(addrOrTag)) {
if (dcContext.isCommunity()) {
addrOrTag = getContext().getString(R.string.community);
} else if (!dcContext.isChatmail()) {
addrOrTag = self.getAddr();
}
if ("".equals(addrOrTag) && !dcContext.isChatmail()) {
addrOrTag = self.getAddr();
}
unreadCount = dcContext.getFreshMsgs().length;
@@ -94,11 +94,6 @@ public class AttachmentTypeSelector extends PopupWindow {
ViewUtil.findById(layout, R.id.location_button_label).setVisibility(View.GONE);
//}
if (!DcHelper.isWebrtcConfigOk(DcHelper.getContext(context))) {
this.videoChatButton.setVisibility(View.GONE);
ViewUtil.findById(layout, R.id.invite_video_chat_label).setVisibility(View.GONE);
}
setLocationButtonImage(context);
setContentView(layout);
@@ -180,9 +180,8 @@ public class QuoteView extends FrameLayout implements RecipientForeverObserver {
authorView.setTextColor(getResources().getColor(R.color.core_dark_05));
quoteBarView.setBackgroundColor(getResources().getColor(R.color.core_dark_05));
} else {
int color = author.getColor()==0? contact.getColor() : author.getColor();
authorView.setTextColor(Util.rgbToArgbColor(color));
quoteBarView.setBackgroundColor(Util.rgbToArgbColor(color));
authorView.setTextColor(Util.rgbToArgbColor(contact.getColor()));
quoteBarView.setBackgroundColor(Util.rgbToArgbColor(contact.getColor()));
}
}
}
@@ -32,7 +32,6 @@ public class WebxdcView extends FrameLayout {
private final @NonNull TextView appSubtitle;
private @Nullable SlideClickListener viewListener;
private boolean isCommunity;
public WebxdcView(@NonNull Context context) {
this(context, null);
@@ -67,7 +66,6 @@ public class WebxdcView extends FrameLayout {
public void setWebxdc(final @NonNull DcMsg dcMsg, String defaultSummary)
{
JSONObject info = dcMsg.getWebxdcInfo();
isCommunity = JsonUtils.optBoolean(info, "community");
setOnClickListener(new OpenClickedListener(getContext(), dcMsg));
// icon
@@ -86,17 +84,18 @@ public class WebxdcView extends FrameLayout {
// subtitle
String summary = info.optString("summary");
if (summary.isEmpty()) {
summary = isCommunity? getContext().getString(R.string.community) : defaultSummary;
summary = defaultSummary;
}
if (summary.isEmpty()) {
appSubtitle.setVisibility(View.GONE);
} else {
appSubtitle.setVisibility(View.VISIBLE);
appSubtitle.setText(summary);
}
appSubtitle.setText(summary);
}
public boolean isCommunity() {
return isCommunity;
}
public String getDescription() {
String type = getContext().getString(isCommunity? R.string.community : R.string.webxdc_app);
String type = getContext().getString( R.string.webxdc_app);
String desc = type;
desc += "\n" + appName.getText();
if (appSubtitle.getText() != null && !appSubtitle.getText().toString().isEmpty() && !appSubtitle.getText().toString().equals(type)) {
@@ -5,7 +5,6 @@ import static org.thoughtcrime.securesms.connect.DcHelper.CONFIG_VERIFIED_ONE_ON
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -22,7 +21,6 @@ import org.thoughtcrime.securesms.ConversationListActivity;
import org.thoughtcrime.securesms.InstantOnboardingActivity;
import org.thoughtcrime.securesms.WelcomeActivity;
import org.thoughtcrime.securesms.accounts.AccountSelectionListFragment;
import org.thoughtcrime.securesms.providers.PersistentBlobProvider;
import java.io.File;
@@ -127,10 +125,10 @@ public class AccountManager {
}
public void switchAccountAndStartActivity(Activity activity, int destAccountId) {
switchAccountAndStartActivity(activity, destAccountId, null, null);
switchAccountAndStartActivity(activity, destAccountId, null);
}
private void switchAccountAndStartActivity(Activity activity, int destAccountId, @Nullable String backupQr, @Nullable byte[] communityBlob) {
private void switchAccountAndStartActivity(Activity activity, int destAccountId, @Nullable String backupQr) {
if (destAccountId==0) {
beginAccountCreation(activity);
} else {
@@ -143,12 +141,6 @@ public class AccountManager {
if (backupQr != null) {
intent.putExtra(WelcomeActivity.BACKUP_QR_EXTRA, backupQr);
}
if (communityBlob != null) {
String mimeType = "application/octet-stream";
Uri uri = PersistentBlobProvider.getInstance().create(activity, communityBlob, mimeType, "backup.tar");
intent.setType(mimeType);
intent.putExtra(WelcomeActivity.COMMUNITY_EXTRA, uri);
}
activity.startActivity(intent);
} else {
activity.startActivity(new Intent(activity.getApplicationContext(), ConversationListActivity.class));
@@ -170,11 +162,7 @@ public class AccountManager {
activity.startActivity(intent);
}
public void addAccountFromCommunity(Activity activity, byte[] communityBlob) {
switchAccountAndStartActivity(activity, 0, null, communityBlob);
}
public void addAccountFromSecondDevice(Activity activity, String backupQr) {
switchAccountAndStartActivity(activity, 0, backupQr, null);
switchAccountAndStartActivity(activity, 0, backupQr);
}
}
@@ -24,21 +24,17 @@ import com.b44t.messenger.DcLot;
import com.b44t.messenger.DcMsg;
import com.b44t.messenger.rpc.Rpc;
import org.json.JSONObject;
import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.BuildConfig;
import org.thoughtcrime.securesms.LocalHelpActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.ShareActivity;
import org.thoughtcrime.securesms.WebxdcActivity;
import org.thoughtcrime.securesms.database.model.ThreadRecord;
import org.thoughtcrime.securesms.notifications.NotificationCenter;
import org.thoughtcrime.securesms.providers.PersistentBlobProvider;
import org.thoughtcrime.securesms.qr.QrActivity;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.IntentUtils;
import org.thoughtcrime.securesms.util.FileUtils;
import org.thoughtcrime.securesms.util.JsonUtils;
import org.thoughtcrime.securesms.util.MediaUtil;
import java.io.File;
@@ -79,6 +75,9 @@ public class DcHelper {
public static final String CONFIG_WEBXDC_REALTIME_ENABLED = "webxdc_realtime_enabled";
public static final String CONFIG_PRIVATE_TAG = "private_tag";
public static final String DEFAULT_VIDEOCHAT_URL_PREFIX = "https://meet.systemli.org/";
public static final String DEFAULT_VIDEOCHAT_URL = DEFAULT_VIDEOCHAT_URL_PREFIX + "$ROOM#config.prejoinConfig.enabled=false&config.notifications=[]&config.toolbarButtons=[%22microphone%22,%22camera%22,%22hangup%22]";
public static DcContext getContext(@NonNull Context context) {
return ApplicationContext.getInstance(context).dcContext;
}
@@ -419,9 +418,12 @@ public class DcHelper {
}
public static boolean isWebrtcConfigOk(DcContext dcContext) {
public static String getVideochatURL(DcContext dcContext) {
String instance = dcContext.getConfig(DcHelper.CONFIG_WEBRTC_INSTANCE);
return (instance != null && !instance.isEmpty());
if (instance != null && !instance.isEmpty()) {
return instance;
}
return DEFAULT_VIDEOCHAT_URL;
}
@NonNull
@@ -506,28 +508,6 @@ public class DcHelper {
.show();
}
public static void openWebxdc(Context context, DcMsg dcMsg) {
JSONObject info = dcMsg.getWebxdcInfo();
if (JsonUtils.optBoolean(info, "community")) {
String name = JsonUtils.optString(info, "name");
new AlertDialog.Builder(context)
.setMessage(context.getString(R.string.ask_join_community, name))
.setPositiveButton(R.string.yes, (dialog, which) -> {
String filename = "backup.tar";
byte[] blob = dcMsg.getWebxdcBlob(filename);
if (blob == null) {
Toast.makeText(context, "invalid community file", Toast.LENGTH_SHORT).show();
return;
}
AccountManager.getInstance().addAccountFromCommunity((Activity) context, blob);
})
.setNegativeButton(R.string.no, null)
.show();
} else {
WebxdcActivity.openWebxdcActivity(context, dcMsg);
}
}
public static void openHelp(Context context, String section) {
Intent intent = new Intent(context, LocalHelpActivity.class);
if (section != null) { intent.putExtra(LocalHelpActivity.SECTION_EXTRA, section); }
@@ -49,6 +49,7 @@ import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.MediaPreviewActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.ShareLocationDialog;
import org.thoughtcrime.securesms.WebxdcActivity;
import org.thoughtcrime.securesms.WebxdcStoreActivity;
import org.thoughtcrime.securesms.attachments.Attachment;
import org.thoughtcrime.securesms.attachments.UriAttachment;
@@ -311,9 +312,9 @@ public class AttachmentManager {
} else if (slide.hasDocument()) {
if (slide.isWebxdcDocument()) {
DcMsg instance = msg != null ? msg : DcHelper.getContext(context).getMsg(slide.dcMsgId);
webxdcView.setWebxdc(instance, context.getString(R.string.videochat_tap_to_open));
webxdcView.setWebxdc(instance, context.getString(R.string.webxdc_draft_hint));
webxdcView.setWebxdcClickListener((v, s) -> {
DcHelper.openWebxdc(context, instance);
WebxdcActivity.openWebxdcActivity(context, instance);
});
removableMediaView.display(webxdcView, false);
} else {
@@ -408,7 +409,7 @@ public class AttachmentManager {
if (slide.isPresent()) {
if (slide.get().isWebxdcDocument()) {
if (webxdcView != null) {
webxdcView.setWebxdc(DcHelper.getContext(context).getMsg(slide.get().dcMsgId), context.getString(R.string.videochat_tap_to_open));
webxdcView.setWebxdc(DcHelper.getContext(context).getMsg(slide.get().dcMsgId), context.getString(R.string.webxdc_draft_hint));
}
}
}
@@ -273,7 +273,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
View gl = View.inflate(requireActivity(), R.layout.single_line_input, null);
EditText inputField = gl.findViewById(R.id.input_field);
inputField.setHint(R.string.videochat_instance_placeholder);
inputField.setText(dcContext.getConfig(DcHelper.CONFIG_WEBRTC_INSTANCE));
inputField.setText(DcHelper.getVideochatURL(dcContext));
inputField.setSelection(inputField.getText().length());
inputField.setInputType(TYPE_TEXT_VARIATION_URI);
new AlertDialog.Builder(requireActivity())
@@ -316,8 +316,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
private void updateWebrtcSummary() {
Preference webrtcInstance = this.findPreference("pref_webrtc_instance");
if (webrtcInstance != null) {
webrtcInstance.setSummary(DcHelper.isWebrtcConfigOk(dcContext)?
dcContext.getConfig(DcHelper.CONFIG_WEBRTC_INSTANCE) : getString(R.string.none));
webrtcInstance.setSummary(DcHelper.getVideochatURL(dcContext));
}
}
@@ -154,10 +154,8 @@ public class PrivacyPreferenceFragment extends ListSummaryPreferenceFragment {
.setView(gl)
.setPositiveButton(android.R.string.ok, (dialog, whichButton) -> {
if (confirmCheckbox.isChecked()) {
if (!dcContext.isCommunity() || timeout >= 86400) {
dcContext.setConfigInt(coreKey, timeout);
initAutodelFromCore();
}
dcContext.setConfigInt(coreKey, timeout);
initAutodelFromCore();
} else {
onPreferenceChange(preference, newValue);
}
@@ -18,7 +18,6 @@ import androidx.appcompat.app.AlertDialog;
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
import org.thoughtcrime.securesms.BaseActionBarActivity;
import org.thoughtcrime.securesms.ConversationListActivity;
import org.thoughtcrime.securesms.CreateProfileActivity;
import org.thoughtcrime.securesms.LogViewActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.connect.DcHelper;
@@ -183,14 +182,7 @@ public class BackupTransferActivity extends BaseActionBarActivity {
notificationControllerClosed = true;
if (transferMode == TransferMode.RECEIVER_SCAN_QR && transferState == TransferState.TRANSFER_SUCCESS) {
if (DcHelper.getContext(this).isCommunity()) {
DcHelper.getContext(this).setCommunityUser(null);
Intent intent = new Intent(getApplicationContext(), CreateProfileActivity.class);
intent.putExtra(CreateProfileActivity.FROM_WELCOME, true);
startActivity(intent);
} else {
startActivity(new Intent(getApplicationContext(), ConversationListActivity.class));
}
startActivity(new Intent(getApplicationContext(), ConversationListActivity.class));
} else if (transferMode == TransferMode.SENDER_SHOW_QR) {
// restart the activities that were removed when BackupTransferActivity was started at (**2)
// (we removed the activity backstack as otherwise a tap on the ArcaneChat icon on the home screen would
@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.reactions;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -23,6 +24,7 @@ public class ReactionRecipientItem extends LinearLayout {
private TextView reactionView;
private int contactId;
private String reaction;
public ReactionRecipientItem(Context context) {
super(context);
@@ -44,6 +46,7 @@ public class ReactionRecipientItem extends LinearLayout {
public void bind(@NonNull GlideRequests glideRequests, int contactId, String reaction) {
this.contactId = contactId;
this.reaction = reaction;
DcContact dcContact = DcHelper.getContext(getContext()).getContact(contactId);
Recipient recipient = new Recipient(getContext(), dcContact);
this.contactPhotoImage.setAvatar(glideRequests, recipient, false);
@@ -58,4 +61,12 @@ public class ReactionRecipientItem extends LinearLayout {
public int getContactId() {
return contactId;
}
public String getReaction() {
return reaction;
}
public View getReactionView() {
return reactionView;
}
}
@@ -47,6 +47,11 @@ public class ReactionRecipientsAdapter extends RecyclerView.Adapter
clickListener.onItemClick(getView());
}
});
((ReactionRecipientItem) itemView).getReactionView().setOnClickListener(view -> {
if (clickListener != null) {
clickListener.onReactionClick(getView());
}
});
}
public ReactionRecipientItem getView() {
@@ -93,6 +98,7 @@ public class ReactionRecipientsAdapter extends RecyclerView.Adapter
public interface ItemClickListener {
void onItemClick(ReactionRecipientItem item);
void onReactionClick(ReactionRecipientItem item);
}
public void changeData(ArrayList<Pair<Integer, String>> contactsReactions) {
@@ -17,6 +17,7 @@ import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
import com.b44t.messenger.DcEvent;
import com.b44t.messenger.rpc.Reactions;
import com.b44t.messenger.rpc.Rpc;
import com.b44t.messenger.rpc.RpcException;
import org.thoughtcrime.securesms.ProfileActivity;
@@ -114,6 +115,39 @@ public class ReactionsDetailsFragment extends DialogFragment implements DcEventC
requireContext().startActivity(intent);
}
private String getSelfReaction(Rpc rpc, int accId) {
String result = null;
try {
final Reactions reactions = rpc.getMsgReactions(accId, msgId);
if (reactions != null) {
final Map<Integer, String[]> reactionsByContact = reactions.getReactionsByContact();
final String [] selfReactions = reactionsByContact.get(DcContact.DC_CONTACT_ID_SELF);
if (selfReactions != null && selfReactions.length > 0) {
result = selfReactions[0];
}
}
} catch(RpcException e) {
e.printStackTrace();
}
return result;
}
private void sendReaction(final String reaction) {
Rpc rpc = DcHelper.getRpc(requireActivity());
DcContext dcContext = DcHelper.getContext(requireActivity());
int accId = dcContext.getAccountId();
try {
if (reaction == null || reaction.equals(getSelfReaction(rpc, accId))) {
rpc.sendReaction(accId, msgId, "");
} else {
rpc.sendReaction(accId, msgId, reaction);
}
} catch(Exception e) {
e.printStackTrace();
}
}
private class ListClickListener implements ReactionRecipientsAdapter.ItemClickListener {
@Override
@@ -124,6 +158,12 @@ public class ReactionsDetailsFragment extends DialogFragment implements DcEventC
openConversation(contactId);
}
}
@Override
public void onReactionClick(ReactionRecipientItem item) {
sendReaction(item.getReaction());
ReactionsDetailsFragment.this.dismiss();
}
}
}
@@ -66,7 +66,6 @@ public class Recipient {
private final @Nullable DcChat dcChat;
private @Nullable DcContact dcContact;
private int color = 0;
private final @Nullable VcardContact vContact;
public static @NonNull Recipient fromChat(@NonNull Context context, int dcMsgId) {
@@ -104,19 +103,10 @@ public class Recipient {
this(context, null, dcContact, null, null);
}
public Recipient(@NonNull Context context, @NonNull DcContact dcContact, int color) {
this(context, dcContact, null, color);
}
public Recipient(@NonNull Context context, @NonNull DcContact dcContact, @NonNull String profileName) {
this(context, null, dcContact, profileName, null);
}
public Recipient(@NonNull Context context, @NonNull DcContact dcContact, @NonNull String profileName, int color) {
this(context, null, dcContact, profileName, null);
this.color = color;
}
private Recipient(@NonNull Context context, @Nullable DcChat dcChat, @Nullable DcContact dcContact, @Nullable String profileName, @Nullable VcardContact vContact) {
this.dcChat = dcChat;
this.dcContact = dcContact;
@@ -205,9 +195,6 @@ public class Recipient {
if(dcChat!=null) {
rgb = dcChat.getColor();
}
else if(color!=0) {
rgb = color;
}
else if(dcContact!=null) {
rgb = dcContact.getColor();
}
@@ -233,10 +220,6 @@ public class Recipient {
}
public synchronized @Nullable ContactPhoto getContactPhoto(Context context) {
if (color != 0) { // community nick
return null;
}
LocalFileContactPhoto contactPhoto = null;
if (dcChat!=null) {
contactPhoto = new GroupRecordContactPhoto(context, address, dcChat);
@@ -315,11 +298,6 @@ public class Recipient {
return dcChat!=null? dcChat : new DcChat(0, 0);
}
public int getColor()
{
return color;
}
@NonNull
@Override
public String toString() {
@@ -47,7 +47,6 @@ public class SearchFragment extends BaseConversationListFragment
public static final String TAG = "SearchFragment";
private TextView noResultsView;
private RecyclerView listView;
private StickyHeaderDecoration listDecoration;
private SearchViewModel viewModel;
@@ -93,7 +92,7 @@ public class SearchFragment extends BaseConversationListFragment
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
noResultsView = view.findViewById(R.id.search_no_results);
listView = view.findViewById(R.id.search_list);
RecyclerView listView = view.findViewById(R.id.search_list);
fab = view.findViewById(R.id.fab);
listAdapter = new SearchListAdapter(getContext(), GlideApp.with(this), this);
@@ -1,146 +0,0 @@
package org.thoughtcrime.securesms.util;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import java.util.Iterator;
public abstract class BreakIteratorCompat implements Iterable<CharSequence> {
public static final int DONE = -1;
private CharSequence charSequence;
public abstract int first();
public abstract int next();
public void setText(CharSequence charSequence) {
this.charSequence = charSequence;
}
public static BreakIteratorCompat getInstance() {
if (Build.VERSION.SDK_INT >= 24) {
return new AndroidIcuBreakIterator();
} else {
return new FallbackBreakIterator();
}
}
public int countBreaks() {
int breakCount = 0;
first();
while (next() != DONE) {
breakCount++;
}
return breakCount;
}
@Override
public @NonNull Iterator<CharSequence> iterator() {
return new Iterator<CharSequence>() {
int index1 = BreakIteratorCompat.this.first();
int index2 = BreakIteratorCompat.this.next();
@Override
public boolean hasNext() {
return index2 != DONE;
}
@Override
public CharSequence next() {
CharSequence c = index2 != DONE ? charSequence.subSequence(index1, index2) : "";
index1 = index2;
index2 = BreakIteratorCompat.this.next();
return c;
}
};
}
/**
* Take {@param atMost} graphemes from the start of string.
*/
public final CharSequence take(int atMost) {
if (atMost <= 0) return "";
StringBuilder stringBuilder = new StringBuilder(charSequence.length());
int count = 0;
for (CharSequence grapheme : this) {
stringBuilder.append(grapheme);
count++;
if (count >= atMost) break;
}
return stringBuilder.toString();
}
/**
* An BreakIteratorCompat implementation that delegates calls to `android.icu.text.BreakIterator`.
* This class handles grapheme clusters fine but requires Android API >= 24.
*/
@RequiresApi(24)
private static class AndroidIcuBreakIterator extends BreakIteratorCompat {
private final android.icu.text.BreakIterator breakIterator = android.icu.text.BreakIterator.getCharacterInstance();
@Override
public int first() {
return breakIterator.first();
}
@Override
public int next() {
return breakIterator.next();
}
@Override
public void setText(CharSequence charSequence) {
super.setText(charSequence);
if (Build.VERSION.SDK_INT >= 29) {
breakIterator.setText(charSequence);
} else {
breakIterator.setText(charSequence.toString());
}
}
}
/**
* An BreakIteratorCompat implementation that delegates calls to `java.text.BreakIterator`.
* This class may or may not handle grapheme clusters well depending on the underlying implementation.
* In the emulator, API 23 implements ICU version of the BreakIterator so that it handles grapheme
* clusters fine. But API 21 implements RuleBasedIterator which does not handle grapheme clusters.
* <p>
* If it doesn't handle grapheme clusters correctly, in most cases the combined characters are
* broken up into pieces when the code tries to trim a string. For example, an emoji that is
* a combination of a person, gender and skin tone, trimming the character using this class may result
* in trimming the parts of the character, e.g. a dark skin frowning woman emoji may result in
* a neutral skin frowning woman emoji.
*/
private static class FallbackBreakIterator extends BreakIteratorCompat {
private final java.text.BreakIterator breakIterator = java.text.BreakIterator.getCharacterInstance();
@Override
public int first() {
return breakIterator.first();
}
@Override
public int next() {
return breakIterator.next();
}
@Override
public void setText(CharSequence charSequence) {
super.setText(charSequence);
breakIterator.setText(charSequence.toString());
}
}
}
@@ -1,15 +0,0 @@
package org.thoughtcrime.securesms.util;
import androidx.annotation.NonNull;
public final class StringUtil {
/**
* @return The number of graphemes in the provided string.
*/
public static int getGraphemeCount(@NonNull CharSequence text) {
BreakIteratorCompat iterator = BreakIteratorCompat.getInstance();
iterator.setText(text);
return iterator.countBreaks();
}
}
@@ -0,0 +1,68 @@
package org.thoughtcrime.securesms.videochat;
import android.os.Bundle;
import android.view.Menu;
import android.webkit.PermissionRequest;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcContext;
import org.thoughtcrime.securesms.WebViewActivity;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.util.Util;
public class VideochatActivity extends WebViewActivity {
private static final String TAG = VideochatActivity.class.getSimpleName();
public static final String EXTRA_CHAT_ID = "chat_id";
public static final String EXTRA_URL = "url";
private DcContext dcContext;
private String url = "";
@Override
protected void onCreate(Bundle state, boolean ready) {
super.onCreate(state, ready);
this.dcContext = DcHelper.getContext(getApplicationContext());
Bundle b = getIntent().getExtras();
url = b.getString(EXTRA_URL, "");
int chatId = b.getInt(EXTRA_CHAT_ID, 0);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUserAgentString("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36");
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(PermissionRequest request) {
Util.runOnMain(() -> {
request.grant(request.getResources());
});
}
});
Util.runOnAnyBackgroundThread(() -> {
final DcChat chat = dcContext.getChat(chatId);
Util.runOnMain(() -> {
getSupportActionBar().setTitle(chat.getName());
});
});
webView.loadUrl(url);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// do not call super.onPrepareOptionsMenu() as the default "Search" menu is not needed
return true;
}
@Override
protected boolean openOnlineUrl(String url) {
finish();
return true;
}
}
@@ -1,6 +1,8 @@
package org.thoughtcrime.securesms.videochat;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import androidx.appcompat.app.AlertDialog;
@@ -10,7 +12,11 @@ import com.b44t.messenger.DcMsg;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.util.IntentUtils;
import org.thoughtcrime.securesms.permissions.Permissions;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class VideochatUtil {
@@ -23,7 +29,18 @@ public class VideochatUtil {
.setMessage(R.string.videochat_invite_user_hint)
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(R.string.ok, (dialog, which) -> {
String instance = dcContext.getConfig(DcHelper.CONFIG_WEBRTC_INSTANCE);
boolean unset = instance == null || instance.isEmpty();
if (unset) {
dcContext.setConfig(DcHelper.CONFIG_WEBRTC_INSTANCE, DcHelper.DEFAULT_VIDEOCHAT_URL);
}
int msgId = dcContext.sendVideochatInvitation(dcChat.getId());
if (unset) {
dcContext.setConfig(DcHelper.CONFIG_WEBRTC_INSTANCE, null);
}
if (msgId != 0) {
join(activity, msgId);
}
@@ -32,10 +49,29 @@ public class VideochatUtil {
}
public void join(Activity activity, int msgId) {
DcContext dcContext = DcHelper.getContext(activity);
DcMsg dcMsg = dcContext.getMsg(msgId);
String videochatUrl = dcMsg.getVideochatUrl();
IntentUtils.showInBrowser(activity, videochatUrl);
Permissions.with(activity)
.request(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
.ifNecessary()
.withPermanentDenialDialog(activity.getString(R.string.perm_explain_access_to_camera_denied))
.onAllGranted(() -> {
DcContext dcContext = DcHelper.getContext(activity);
DcMsg dcMsg = dcContext.getMsg(msgId);
String url = dcMsg.getVideochatUrl();
if (url.startsWith(DcHelper.DEFAULT_VIDEOCHAT_URL_PREFIX) && url.contains("#")) {
String name = dcContext.getName();
try {
name = URLEncoder.encode(dcContext.getName(), StandardCharsets.UTF_8.toString());
} catch (UnsupportedEncodingException ignored) {}
url += "&userInfo.displayName=%22" + name +"%22";
}
Intent intent = new Intent(activity, VideochatActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra(VideochatActivity.EXTRA_CHAT_ID, dcMsg.getChatId());
intent.putExtra(VideochatActivity.EXTRA_URL, url);
activity.startActivity(intent);
})
.execute();
}
}
@@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z"/>
</vector>
+3
View File
@@ -0,0 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M120,440L120,120L440,120L440,440L120,440ZM120,840L120,520L440,520L440,840L120,840ZM520,440L520,120L840,120L840,440L520,440ZM520,840L520,520L840,520L840,840L520,840ZM200,360L360,360L360,200L200,200L200,360ZM600,360L760,360L760,200L600,200L600,360ZM600,760L760,760L760,600L600,600L600,760ZM200,760L360,760L360,600L200,600L200,760ZM600,360L600,360L600,360L600,360ZM600,600L600,600L600,600L600,600ZM360,600L360,600L360,600L360,600ZM360,360L360,360L360,360L360,360Z"/>
</vector>
@@ -111,9 +111,9 @@
android:id="@+id/webxdc_button"
android:layout_width="53dp"
android:layout_height="53dp"
android:src="@drawable/baseline_apps_24"
android:src="@drawable/ic_apps_24"
android:scaleType="center"
android:contentDescription="@string/webxdc_apps"
android:contentDescription="@string/webxdc_app"
app:circleColor="@color/apps_icon"
/>
@@ -121,7 +121,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text="@string/webxdc_apps"/>
android:text="@string/webxdc_app"/>
</LinearLayout>
@@ -24,33 +24,7 @@
android:textSize="16sp"
android:textColor="?android:attr/textColorPrimary" />
<LinearLayout
android:id="@+id/community_user_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="40dp"
android:orientation="horizontal"
android:visibility="gone">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp">
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/overriden_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/pref_your_name"
android:inputType="textCapWords" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<LinearLayout android:id="@+id/avatar_and_name"
android:layout_width="match_parent"
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
@@ -50,8 +50,9 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/reaction"
style="@style/ButtonSecondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:textSize="22dp"
android:fontFamily="sans-serif"
+6 -1
View File
@@ -25,6 +25,11 @@
android:visible="false"
app:showAsAction="always"/>
<item android:id="@+id/menu_show_apps"
android:title="@string/webxdc_apps"
android:icon="@drawable/ic_apps_24"
app:showAsAction="ifRoom" />
<item android:id="@+id/menu_ephemeral_messages"
android:title="@string/ephemeral_messages" />
@@ -34,7 +39,7 @@
<item android:id="@+id/menu_show_map"
android:title="@string/tab_map"
android:icon="@drawable/ic_map_white_24dp"
app:showAsAction="ifRoom" />
app:showAsAction="never" />
<item android:title="@string/menu_archive_chat"
android:id="@+id/menu_archive_chat"/>
+17 -1
View File
@@ -1,4 +1,20 @@
window.webxdc = (() => {
// TTS
window.speechSynthesis = {
speak: (utterance) => {
InternalJSApi.ttsSpeak(utterance.text, utterance.lang);
},
getVoices: () => {
return [];
},
};
window.SpeechSynthesisUtterance = function (text) {
return {
text: text,
lang: "",
};
};
let setUpdateListenerPromise = null;
let update_listener = () => {};
let last_serial = 0;
@@ -45,7 +61,7 @@ window.webxdc = (() => {
arcanechat: InternalJSApi.arcanechat(),
deltalab: InternalJSApi.arcanechat(),
isCommunity: InternalJSApi.isCommunity(),
isCommunity: false,
sendUpdateMaxSize: InternalJSApi.sendUpdateMaxSize(),
sendUpdateInterval: InternalJSApi.sendUpdateInterval(),
-2
View File
@@ -187,8 +187,6 @@
<string name="pref_language">اللغة</string>
<string name="pref_use_system_emoji">استخدام الرموز التعبيرية بالنظام</string>
<string name="pref_use_system_emoji_explain"> Delta Chat تعطيل الرموز التعبيرية المدمجة في </string>
<!-- deprecated -->
<string name="pref_app_access">دخول البرنامج</string>
<string name="pref_chats">المحادثات</string>
<string name="pref_in_chat_sounds">أصوات خلال الدردش</string>
<string name="pref_other">أخرى</string>
+1 -7
View File
@@ -317,8 +317,6 @@
<string name="pref_manage_keys">Açar edarəetməsi</string>
<string name="pref_use_system_emoji">Sistem emojisini istifadə edin</string>
<string name="pref_use_system_emoji_explain">Emoji Delta chat üçün daxili dəstəyi bağlayın. </string>
<!-- deprecated -->
<string name="pref_app_access">Daxil oldu</string>
<string name="pref_chats">Çatlar</string>
<string name="pref_in_chat_sounds">Çatda olan səslər</string>
<string name="pref_view_log">Log-a bax</string>
@@ -361,11 +359,6 @@
<string name="autocrypt_send_asm_button">Autocrypt Setup Message-ı göndər</string>
<string name="autocrypt_send_asm_explain_after">Sizin açarınız sizə göndərildi. Başqa bir cihaza keçin və mesajın ayarını açın. Siz quraşdırma kodu daxil etməlisiniz. Orada aşağıdakı rəqəmləri daxil edin. Bitirən zaman, başqa bir cihazda Autocrypt istifadə üçün hazır olacaq.</string>
<string name="autocrypt_prefer_e2ee">Ucdan-uca şifrələmə üstünlük təşkil edir</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt mesaj ayarı</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Bu, müvəqqəti quraşdırma üçün müştərilər arasında köçürmək üçün istifadə edilən Autocrypt Setup Mesajıdır. \n\nSenfikanızı çözmək və istifadə etmək üçün autocrypt uyğun müştəri içərisində mesajı açın və yaradan cihazda göstərilən quraşdırma kodunu daxil edin.</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
<string name="group_name_changed_by_you">Qrupun adı \"%1$s\" - dən \"%2$s\" - yə deyişildi məndən. </string>
@@ -421,6 +414,7 @@
<string name="perm_required_title">İzin tələb olunur</string>
<string name="perm_continue">Davam edin</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat şəkillər və ya video çəkmək üçün kamera icazə tələb edir, lakin bu, əbədi imtina edilmişdir. Proqramın sistem ayarlarına gedib \"İcazələr\"-i seçin və \"kamera\" izni verin.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Delta Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. </string>
<string name="perm_explain_access_to_storage_denied">Delta Chat, fotoşəkilləri, videoları və ya səsləri əlavə etmək və ya ixrac etmək üçün saxlama icazəsini tələb edir, lakin bu daimi olaraq rədd edildi. Xahiş edirik tətbiq ayarları menyusuna davam edin, \"İzinlər\" seçin və \"Yaddaş\" funksiyasını aktivləşdirin.</string>
<string name="perm_explain_access_to_location_denied">Delta Chat yer əlavə etmək üçün yer icazə tələb edir, lakin daimi olaraq rədd edilmişdir. \"İcazələr\"-i seçin və\"Yerləşmə\" izni verin. </string>
+1 -9
View File
@@ -656,8 +656,6 @@
<string name="pref_use_system_emoji_explain">Изключване на вградената поддръжка за Emoji на Delta Chat</string>
<string name="pref_show_system_contacts">Прочитане на системната адресна книга</string>
<string name="pref_show_system_contacts_explain">Да се предлага създаване на чатове с контакти от адресната книга. За някои доставчици е необходимо първо да се настрои криптиране от край до край.</string>
<!-- deprecated -->
<string name="pref_app_access">Достъп до приложението</string>
<string name="pref_chats">Чатове</string>
<string name="pref_in_chat_sounds">Звуци в чата</string>
<string name="pref_view_log">Разглеждане на дневника</string>
@@ -778,11 +776,6 @@
<string name="autocrypt_send_asm_button">Изпращане на съобщението за настройка на Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Изпратихте Вашата настройка до себе си. Отворете съобщението за настройка в другото устройство. Би трябвало да Ви бъде поискан код за настройка. Въведете следните цифри:</string>
<string name="autocrypt_prefer_e2ee">Да се предпочита криптиране \"от край до край\"</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Съобщение за настройка на Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Това е съобщението за настройка на Autocrypt, чрез което се прехвърля Вашата настройка за криптиране \"от край до край\" между различни клиенти.\n\nЗа да декриптирате и използвате Вашата настройка, отворете съобщението в клиент, съвместим с Autocrypt, и въведете кода за настройка, представен на генериращото устройство.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Това съобщение не може да бъде декриптирано.\n\n• Бихте могли просто да му отговорите и да помолите подателя да го изпрати отново.\n\n• Ако току-що сте преинсталирали Delta Chat, е най-добре да настроите приложението отново сега и да изберете \"Добавяне като второ устройство\" или да импортирате от архив.</string>
@@ -925,8 +918,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Настройката за %1$s е сменена.</string>
<string name="verified_contact_required_explain">За да се гарантира криптирането от край до край, можете да добавяте в тази група само контакти, отбелязани със зелена отметка.\n\nБихте могли да се срещнете с лицата, с които желаете да контактувате, лично и да сканирате техните QR кодове, за да ги въведете.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">URL адресът от QR кода е копиран в клипборда</string>
<string name="mailto_dialog_header_select_chat">Изберете чат, към който да бъде пратено съобщението</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s вече има съобщение чернова, искате ли да го замените?</string>
@@ -952,6 +943,7 @@
<string name="perm_required_title">Изисква се позволение</string>
<string name="perm_continue">Продължаване</string>
<string name="perm_explain_access_to_camera_denied">За да правите снимки или заснемате видеоклипове, отидете в настройките на приложението, изберете \"Позволения\" и разрешете \"Камера\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">За да изпращате аудиосъобщения, отидете в настройките на приложението, изберете \"Позволения\" и разрешете \"Микрофон\".</string>
<string name="perm_explain_access_to_storage_denied">За да получавате или изпращате файлове, отидете в настройките на приложението, изберете \"Позволения\" и разрешете \"Съхранение\".</string>
<string name="perm_explain_access_to_location_denied">За да прикрепите информация за местоположението, отидете в настройките на приложението, изберете \"Позволения\" и разрешете \"Местоположение\".</string>
+2 -10
View File
@@ -741,8 +741,6 @@
<string name="pref_use_system_emoji_explain">Desactiva el suport de sèrie per emojis a Delta Chat</string>
<string name="pref_show_system_contacts">Llegeix la llibreta d\'adreces del sistema</string>
<string name="pref_show_system_contacts_explain">Ofereix de crear xats amb els contactes de la llibreta d\'adreces. Alguns proveïdors necessiten de configurar abans el xifratge d\'extrem a extrem.</string>
<!-- deprecated -->
<string name="pref_app_access">Accés a l\'aplicació</string>
<string name="pref_chats">Xats</string>
<string name="pref_in_chat_sounds">Sons d\'entrada</string>
<string name="pref_view_log">Mostra el registre</string>
@@ -832,7 +830,7 @@
<!-- %1$s will be replaced by an emoji. %2$s will be replaced by message summary (the summary is often long and whole string gets truncated; words after %2$s will often not being visible). Eg. 'You reacted 👍 to "Found my suitcase"'. Use less than 20 characters, otherwise the string will be truncated too soon and too few information are shown. Do not try to translate "reacted to" too strict. Depending on the language, "added 👍 to" or "gave 👍 to" or just "👍 to" may be shorter and/or clearer and work as well. -->
<string name="reaction_by_you">Heu reaccionat amb %1$s a «%2$s»</string>
<!-- %1$s will be replaced a name. %2$s will be replaced by an emoji. %3$s will be replaced by message summary (the summary is often long and whole string gets truncated; words after %3$s will often not being visible). Eg. 'Alice reacted 👍 to "Nice photos"'. Use less than 20 characters, otherwise the string will be truncated too soon and too few information are shown. Do not try to translate "reacted to" too strict. Depending on the language, "added 👍 to" or "gave 👍 to" or just "👍 to" may be shorter and/or clearer work as well. -->
<string name="reaction_by_other">%1$sha reaccionat %2$s a «%3$s»</string>
<string name="reaction_by_other">%1$s ha reaccionat %2$s a «%3$s»</string>
<!-- automatically delete message -->
<string name="delete_old_messages">Esborra els missatges antics</string>
@@ -865,11 +863,6 @@
<string name="autocrypt_send_asm_button">Envia el missatge de configuració Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Se us ha enviat la vostra configuració. Canvieu a l\'altre dispositiu i obriu el missatge de configuració. Se us demanarà un codi de configuració. Introduïu els dígits següents a l\'indicador.\n\nUn cop fet, l\'altre dispositiu estarà llest per utilitzar Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Prefereix l\'encriptació d\'extrem a extrem</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Missatge de configuració Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Aquest és el missatge de configuració Autocrypt que susa per a transferir la vostra configuració d\'extrem a extrem entre dispositius.\n\nPer a desxifrar i usar aquesta configuració, obriu el missatge en un dispositiu compatible amb Autocript i introduïu el codi de configuració que apareix al dispositiu primari.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Aquest missatge no es pot desxifrar.\n\n• Potser pot ajudar de respondre el missatge i demanar a l\'emissor que torni a enviar-lo,\n\n• Si acabeu de reinstal·lar Delta Chat, aleshores és millor de reconfigurar Delta Chat ara i triar «Afegeix un segon dispositiu» o importar una còpia de seguretat.</string>
@@ -1012,8 +1005,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Configuració canviada per %1$s</string>
<string name="verified_contact_required_explain">Per a garantir el xifrat extrem a extrem, només podeu afegir a aquest grup contactes que tinguin la marca verda.\n\nPodeu trobar-vos en persona amb els contactes per a escanejar els seus codis QR i poder-los afegir. </string>
<!-- deprecated -->
<string name="copy_qr_data_success">S\'ha copiat l\'URL del codi QR al porta-retalls</string>
<string name="mailto_dialog_header_select_chat">Trieu el xat on enviar el missatge</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s ja té un missatge d\'esborrany, voleu substituir-lo?</string>
@@ -1039,6 +1030,7 @@
<string name="perm_required_title">Es requereix permís</string>
<string name="perm_continue">Continua</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat demana accés a la càmera per poder fer fotos o vídeos, però li ha estat denegat. Sisplau, vés al menú de configuració de l\'app, busca-hi els \"Permisos\" i habilita\'n la \"Càmera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Delta Chat demana accés al micròfon per poder enviar missatges d\'àudio, però li ha estat denegat. Sisplau, vés al menú de configuració de l\'app, busca-hi els \"Permisos\" i habilita\'n el \"Micròfon\".</string>
<string name="perm_explain_access_to_storage_denied">Per a rebre o enviar fitxers, aneu a la configuració de l\'aplicació, seleccioneu «Permisos» i activeu «Emmagatzematge».</string>
<string name="perm_explain_access_to_location_denied">Per a adjuntar la ubicació, aneu a la configuració de l\'aplicació, trieu «Permisos» i activeu la «Ubicació».</string>
+2 -6
View File
@@ -402,8 +402,6 @@
<string name="pref_manage_keys">بەڕێوەبردنی کلیلەکان</string>
<string name="pref_use_system_emoji">بەکارهێنانی وێنۆچکەکانی سیستەم</string>
<string name="pref_use_system_emoji_explain">ئیمۆجییە ناوخۆییەکانی دێڵتا چات، ناچالاک دەبێتەوە.</string>
<!-- deprecated -->
<string name="pref_app_access">ڕێگەپێدان</string>
<string name="pref_chats">وتووێژەکان</string>
<string name="pref_in_chat_sounds">دەنگەکانی نێو-وتووێژی</string>
<string name="pref_other">کەسانی دی</string>
@@ -471,8 +469,7 @@
<!-- autocrypt -->
<string name="autocrypt_send_asm_title">هەناردنی پەیامی ڕێکخستنی ئۆتۆکریپت</string>
<string name="autocrypt_prefer_e2ee">هەڵبژاردنی شفرەکردنی ئەمسەر-ئەوسەر</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">پەیامی ڕێکخستنی ئۆتۆکریپت</string>
<string name="systemmsg_unknown_sender_for_chat">پەیامنێری ئەم وتووێژە نەناسراوە. بۆ وردەکاری زۆرتر سەیری \'زانیارییەکان\' بکە.</string>
<string name="systemmsg_subject_for_new_contact">پەیام لەلایەن %1$s</string>
<string name="systemmsg_failed_sending_to">هەناردنی پەیام بۆ %1$s سەرنەکەوت</string>
@@ -503,8 +500,6 @@
<string name="contact_not_verified">%1$s پشتڕاست ناکرێتەوە.</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">ڕێکخستن بۆ %1$s گۆڕا.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">ناونیشانی وێبی QRەکە ڕوونووس کرا.</string>
<!-- notifications -->
<string name="notify_reply_button">وەڵام دانەوە</string>
<string name="notify_new_message">پەیامی نوێ</string>
@@ -518,6 +513,7 @@
<string name="perm_required_title">ڕێدان پێویستە</string>
<string name="perm_continue">بەردەوامبوون</string>
<string name="perm_explain_access_to_camera_denied">بۆ فلیم و وێنە گرتن، بچۆ بەشی ڕێکخستنەکانی نەرمامێرەکە، لە بەشی \"ڕێگەپێدان\"دا، \"کامێرا\" چالاک بکەوە.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">بۆ هەناردنی پەیامی دەنگی، بچۆ بەشی ڕێکخستنەکانی نەرمامێرەکە، لە بەشی \"ڕێگەپێدان\"دا، \"مایک\" چالاک بکەوە.</string>
<string name="perm_explain_access_to_storage_denied">بۆ هەناردن و وەرگرتنی پەڕگەکان، بچۆ بەشی ڕێکخستنەکانی نەرمامێرەکە، لە بەشی \"ڕێگەپێدان\"دا، \"بیرگە\" چالاک بکەوە.</string>
<string name="perm_explain_access_to_location_denied">بۆ لکاندنی شوێنێک، بچۆ بەشی ڕێکخستنەکانی نەرمامێرەکە، لە بەشی \"ڕێگەپێدان\"دا، \"شوێن\" چالاک بکەوە.</string>
+5 -9
View File
@@ -202,6 +202,10 @@
<string name="images_and_videos">Obrázky a videa</string>
<string name="file">Soubor</string>
<string name="files">Soubory</string>
<string name="files_attach_hint">Odeslat původní soubory a nekomprimované obrázky</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Vybrat ze Souborů</string>
<string name="choose_from_gallery">Vybrat z Galerie</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Aplikace</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -773,8 +777,6 @@
<string name="pref_use_system_emoji_explain">Vypnout vestavěná emoji Data Chatu</string>
<string name="pref_show_system_contacts">Čtení systémových kontaktů</string>
<string name="pref_show_system_contacts_explain">Nabízet vytváření chatů s kontakty z adresáře. Pro některé poskytovatele je nejprve nutné nastavit koncové šifrování.</string>
<!-- deprecated -->
<string name="pref_app_access">Přístup aplikace</string>
<string name="pref_chats">Chaty</string>
<string name="pref_in_chat_sounds">Zvuky v rámci chatu</string>
<string name="pref_view_log">Zobrazit protokol</string>
@@ -897,11 +899,6 @@
<string name="autocrypt_send_asm_button">Odeslat nastavení Autocryptu</string>
<string name="autocrypt_send_asm_explain_after">Vaše nastavení bylo odesláno. Vezměte si zařízení, kam si přejete nastavení přenést, a zprávu na něm otevřete. Mělo by se objevit pole pro zadání kódu. Do něj vložte následující číslice:</string>
<string name="autocrypt_prefer_e2ee">Upřednostňovat koncové šifrování</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Zpráva s nastavením Autocryptu</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Tato zpráva obsahuje nastavení Autocryptu. S její pomocí lze přenést nastavení koncového šifrování mezi klienty.\n\nK dešifrování a použití nastavení otevřete klient podporující Autocrypt a zadejte do něj kód zobrazený na zařízení, které zprávu vygenerovalo.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Tuto zprávu nelze dešifrovat.\n\n• Již nyní by mohlo pomoci jednoduše odpovědět na tuto zprávu a požádat odesílatele, aby ji odeslal znovu.\n\n• Pokud jste právě přeinstalovali Delta Chat, bude nejlepší, když jej znovu nastavíte a zvolíte \"Přidat jako další zařízení\" nebo importujete zálohu.</string>
@@ -1045,8 +1042,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Nastavení pro uživatele %1$s změněno.</string>
<string name="verified_contact_required_explain">Aby mohlo být garantováno koncové šifrování, můžete do této skupiny přidávat pouze uživatele se zeleným zaškrtávátkem.\n\nSe svými kontakty se můžete setkat osobně a naskenovat jejich QR kód, abyste je ověřili.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Adresa URL z QR kódu zkopírována do schránky</string>
<string name="mailto_dialog_header_select_chat">Vyberte chat, do kterého chcete zprávu poslat</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s již obsahuje rozepsanou zprávu, přejete si ji přepsat?</string>
@@ -1072,6 +1067,7 @@
<string name="perm_required_title">Oprávnění vyžadováno</string>
<string name="perm_continue">Pokračovat</string>
<string name="perm_explain_access_to_camera_denied">Pro focení a natáčení přejděte do nastavení aplikace, vyberte \"Oprávnění\" a povolte oprávnění \"Fotoaparát\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Pro posílání zvukových zpráv přejděte do nastavení aplikace, vyberte \"Oprávnění\" a povolte oprávnění \"Mikrofon\".</string>
<string name="perm_explain_access_to_storage_denied">Pro příjem a posílání souborů přejděte do nastavení aplikace, vyberte \"Oprávnění\" a povolte oprávnění \"Fotky a videa\".</string>
<string name="perm_explain_access_to_location_denied">Pro posílání polohy přejděte do nastavení aplikace, vyberte \"Oprávnění\" a povolte oprávnění \"Poloha\".</string>
+1 -9
View File
@@ -462,8 +462,6 @@
<string name="pref_manage_keys">Håndtér nøgler</string>
<string name="pref_use_system_emoji">Brug system emoji</string>
<string name="pref_use_system_emoji_explain">Deaktiver Delta Chat\'s indbygget emoji understøttelse</string>
<!-- deprecated -->
<string name="pref_app_access">Programadgang</string>
<string name="pref_chats">Samtaler</string>
<string name="pref_in_chat_sounds">In-chat-lyde</string>
<string name="pref_view_log">Visningslog</string>
@@ -549,11 +547,6 @@
<string name="autocrypt_send_asm_button">Send autocrypt-opsætningsbesked</string>
<string name="autocrypt_send_asm_explain_after">Opsætning er sendt til dig selv. Skift til den anden enhed og åben opsætning beskeden. Der skulle blive spurgt til opsætning kode. Indtast følgende cifre i prompt.\n\nNår færdig vil den anden enhed være klar til at bruge Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Foretræk end-to-end kryptering</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt opsætningsbesked</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Dette er Autocrypt opsætning besked brugt til at overføre ende-til-ende opsætning mellem klienter.\n\nFor at af kryptere og bruge opsætning åben beskeden i en Autocrypt kompatibel klient og indtast opsæt koden vist på den genererende enhed.</string>
<string name="systemmsg_unknown_sender_for_chat">Ukent afsender af denne chat. Se \'info\' for flere detaljer.</string>
<string name="systemmsg_subject_for_new_contact">Besked fra %1$s</string>
@@ -643,8 +636,6 @@
<string name="contact_not_verified">Kan ikke bekræfte %1$s</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Ændret opsætning for %1$s</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Kopieret QR url til udklipsholder</string>
<!-- notifications -->
<string name="notify_reply_button">Svar</string>
<string name="notify_new_message">Ny besked</string>
@@ -658,6 +649,7 @@
<string name="perm_required_title">Tilladelse påkrævet</string>
<string name="perm_continue">Fortsæt</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat kræver kamera tilladelse for at tage billeder eller video men det er blevet afvist permanent. Fortsæt til program opsætning menu og vælg \"Tilladelser\" og aktivere \"Kamera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Delta Chat kræver mikrofon tilladelse for at sende lydbeskeder, men den er blevet nægtet permanent. Fortsæt til program indstillinger, vælg \"Tilladelser\" og aktiver \"Mikrofon\".</string>
<string name="perm_explain_access_to_storage_denied">Delta Chat kræver lagring tilladelse for at vedhæfte eller eksportere billeder, video eller lyd, men det er blevet afvist permanent. Fortsæt til program indstillings-menuen, vælg \"Tilladelser\" og aktiver \"Lagring\".</string>
<string name="perm_explain_access_to_location_denied">Delta Chat kræver placering tilladelse for at kunne vedhæfte placering, men det er blevet afvist permanent. Fortsæt til program indstillings-menuen, vælg \"Tilladelser\" og aktiver \"Placering\".</string>
+15 -17
View File
@@ -56,6 +56,7 @@
<string name="save">Speichern</string>
<string name="chat">Chat</string>
<string name="media">Medien</string>
<string name="apps_and_media">Apps &amp; Medien</string>
<string name="profile">Profil</string>
<string name="main_menu">Hauptmenü</string>
<string name="start_chat">Chat starten</string>
@@ -184,6 +185,10 @@
<string name="images_and_videos">Bilder und Videos</string>
<string name="file">Datei</string>
<string name="files">Dateien</string>
<string name="files_attach_hint">Originaldateien und -bilder senden</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Aus Dateien wählen</string>
<string name="choose_from_gallery">Aus Galerie wählen</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">App</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -271,6 +276,7 @@
<string name="menu_export_attachment">Datei exportieren</string>
<string name="menu_export_attachments">Dateien exportieren</string>
<string name="menu_all_media">Alle Medien</string>
<string name="all_apps_and_media">Alle Apps &amp; Medien</string>
<!-- Command to jump to the original message corresponding to a gallery image or document -->
<string name="show_in_chat">Im Chat zeigen</string>
<string name="show_app_in_chat">App im Chat zeigen</string>
@@ -463,7 +469,7 @@
<!-- title shown above a list contacts where one should be selected (eg. when a webxdc attempts to send a message to a chat) -->
<string name="send_message_to">Nachricht senden an…</string>
<string name="enable_realtime">Echtzeit-Apps</string>
<string name="enable_realtime_explain">Aktiviert Echtzeitverbindungen für in Chats verwendeten Apps. Wenn aktiviert, können Chat-Partner möglicherweise Ihre IP-Adresse ermitteln, wenn Sie eine App starten.</string>
<string name="enable_realtime_explain">Aktiviert Echtzeitverbindungen für an Chats angehängte Apps. Wenn aktiviert, können Chat-Partner möglicherweise Ihre IP-Adresse ermitteln, wenn Sie eine App starten.</string>
<!-- map -->
<string name="filter_map_on_time">Standorte im Zeitrahmen anzeigen</string>
@@ -515,12 +521,12 @@
<string name="tab_docs">Dokumente</string>
<string name="tab_links">Links</string>
<string name="tab_map">Karte</string>
<string name="tab_gallery_empty_hint">In diesem Chat geteilte Bilder und Videos werden hier angezeigt.</string>
<string name="tab_docs_empty_hint">In diesem Chat geteilte Dokumente und Dateien werden hier angezeigt.</string>
<string name="tab_image_empty_hint">In diesem Chat geteilte Bilder werden hier angezeigt.</string>
<string name="tab_video_empty_hint">In diesem Chat geteilte Videos werden hier angezeigt.</string>
<string name="tab_audio_empty_hint">In diesem Chat geteilte Audiodateien und Sprachnachrichten werden hier angezeigt.</string>
<string name="tab_webxdc_empty_hint">In diesem Chat geteilte Apps werden hier angezeigt.</string>
<string name="tab_gallery_empty_hint">Diesem Chat angehängte Bilder und Videos werden hier angezeigt.</string>
<string name="tab_docs_empty_hint">Diesem Chat angehängte Dokumente und Dateien werden hier angezeigt.</string>
<string name="tab_image_empty_hint">Diesem Chat angehängte Bilder werden hier angezeigt.</string>
<string name="tab_video_empty_hint">Diesem Chat angehängte Videos werden hier angezeigt.</string>
<string name="tab_audio_empty_hint">Diesem Chat angehängte Audiodateien und Sprachnachrichten werden hier angezeigt.</string>
<string name="tab_webxdc_empty_hint">Diesem Chat angehängte Apps werden hier angezeigt.</string>
<string name="tab_all_media_empty_hint">Medien aus allen Chats werden hier angezeigt.</string>
<string name="all_files_empty_hint">Dokumente und Dateien aus allen Chats werden hier angezeigt.</string>
<string name="all_apps_empty_hint">Apps aus allen Chats werden hier angezeigt.</string>
@@ -742,8 +748,6 @@
<string name="pref_use_system_emoji_explain">Eingebaute Emoji-Unterstützung von Delta Chat deaktivieren</string>
<string name="pref_show_system_contacts">System-Adressbuch lesen</string>
<string name="pref_show_system_contacts_explain">Anbieten, Chats mit Kontakten aus dem Adressbuch zu erstellen.</string>
<!-- deprecated -->
<string name="pref_app_access">App-Zugriff</string>
<string name="pref_chats">Chats</string>
<string name="pref_in_chat_sounds">In-Chat-Klänge</string>
<string name="pref_view_log">Protokoll anzeigen</string>
@@ -866,11 +870,6 @@
<string name="autocrypt_send_asm_button">Autocrypt-Setup-Nachricht senden</string>
<string name="autocrypt_send_asm_explain_after">Das Setup wurde an Sie geschickt. Nun zum anderen Gerät wechseln und die Setup-Nachricht öffnen. Den Anweisungen folgen und den folgenden Setup-Code eingeben:</string>
<string name="autocrypt_prefer_e2ee">Ende-zu-Ende-Verschlüsselung bevorzugen</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt-Setup-Nachricht</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Dies ist die Autocrypt-Setup-Nachricht, um das Ende-zu-Ende-Setup von einem Gerät auf das andere zu übertragen.\n\nUm das Setup zu entschlüsseln und zu verwenden, öffnen Sie diese Nachricht in einer Autocrypt-kompatiblen App und geben Sie den Setup-Code ein, der auf dem anderen Gerät angezeigt wurde.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Diese Nachricht kann nicht entschlüsselt werden.\n\n• Es kann bereits helfen, auf diese Nachricht zu antworten und den Absender zu bitten, die Nachricht noch einmal zu senden.\n\n• Wenn Sie Delta Chat gerade neu installiert haben, ist es am besten, wenn Sie Delta Chat mit \"Als Zweitgerät hinzufügen\" neu einrichten oder ein Backup importieren.</string>
@@ -1014,8 +1013,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Geändertes Setup für %1$s</string>
<string name="verified_contact_required_explain">Um Ende-zu-Ende-Verschlüsselung zu gewährleisten, können nur Kontakte mit grünem Häkchen zu dieser Gruppe hinzugefügt werden.\n\nSie könne Kontakte persönlich treffen und ihren QR-Code scannen, um sie einzuführen.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">QR-Code auf die Zwischenablage kopiert</string>
<string name="mailto_dialog_header_select_chat">Wählen Sie den Chat, an den die Nachricht gesendet werden soll</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s hat bereits einen Entwurft. Möchten Sie diesen ersetzen?</string>
@@ -1041,7 +1038,8 @@
<string name="perm_required_title">Berechtigung erforderlich</string>
<string name="perm_continue">Weiter</string>
<string name="perm_explain_access_to_camera_denied">Um Fotos oder Videos aufzunehmen, bitte in den System-Einstellungen DeltaChat den Zugriff auf die Kamera erlauben. </string>
<string name="perm_explain_access_to_mic_denied">Um Audio-Nachrichten zu senden, bitte in den System-Einstellungen DeltaChat den Zugriff auf das Mikrophon erlauben.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Um Audio-Nachrichten zu senden, bitte in den System- oder App-Einstellungen den Zugriff auf das Mikrophon erlauben.</string>
<string name="perm_explain_access_to_storage_denied">Um Dateien zu empfangen oder zu versenden, bitte in den System-Einstellungen Delta Chat den Zugriff auf den Speicher erlauben.</string>
<string name="perm_explain_access_to_location_denied">Um einen Standort anzuhängen, bitte in den Systemeinstellungen DeltaChat den Zugriff auf \"Standort\" erlauben.</string>
<string name="perm_explain_access_to_notifications_denied">Um Benachrichtigungen zu erhalten, öffnen Sie \"Systemeinstellungen / Apps / Delta Chat\" und aktivieren Sie \"Benachrichtigungen\".</string>
+1 -9
View File
@@ -559,8 +559,6 @@
<string name="pref_manage_keys">Διαχείριση Κλειδιών</string>
<string name="pref_use_system_emoji">Χρήση emoji συστήματος</string>
<string name="pref_use_system_emoji_explain">Απενεργοποίηση της ενσωματωμένης υποστήριξης για emoji του Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Πρόσβαση εφαρμογής</string>
<string name="pref_chats">Συνομιλίες</string>
<string name="pref_in_chat_sounds">Ήχοι μέσα στη συνομιλία</string>
<string name="pref_view_log">Προβολή Αρχείου Καταγραφής</string>
@@ -663,11 +661,6 @@
<string name="autocrypt_send_asm_button">Αποστολή μηνύματος ρύθμισης αυτόματης κρυπτογράφησης</string>
<string name="autocrypt_send_asm_explain_after">Η ρύθμισή σας έχει σταλεί στον εαυτό σας. Μεταβείτε στην άλλη συσκευή και ανοίξτε το μήνυμα ρύθμισης. Θα πρέπει να σας ζητηθεί κωδικός ρύθμισης. Εισαγάγετε τα ακόλουθα ψηφία:</string>
<string name="autocrypt_prefer_e2ee">Προτιμήστε την κρυπτογράφηση από άκρο σε άκρο</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Μήνυμα ρύθμισης αυτόματης κρυπτογράφησης</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Αυτό είναι το μήνυμα ρύθμισης αυτόματης κρυπτογράφησης που χρησιμοποιείται για τη μεταφορά της ρύθμισής σας από άκρο σε άκρο μεταξύ πελατών.\n\nΓια να αποκρυπτογραφήσετε και να χρησιμοποιήσετε τη ρύθμισή σας, ανοίξτε το μήνυμα σε ένα πρόγραμμα-πελάτη συμβατό με Αυτόματη κρυπτογράφηση και εισαγάγετε τον κωδικό ρύθμισης που παρουσιάζεται στη συσκευή δημιουργίας.</string>
<string name="systemmsg_unknown_sender_for_chat">Άγνωστος αποστολέας για αυτήν τη συνομιλία. Δείτε \"πληροφορίες\" για περισσότερες λεπτομέρειες.</string>
<string name="systemmsg_subject_for_new_contact">Μήνυμα από τον/την %1$s</string>
@@ -786,8 +779,6 @@
<string name="contact_not_verified">Αδυναμία επαλήθευσης %1$s.</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Άλλαξε η ρύθμιση για %1$s.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Αντιγράφηκε το QR url στο πρόχειρο</string>
<string name="mailto_dialog_header_select_chat">Επιλέξτε συνομιλία για να στείλετε το μήνυμα</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s έχει ήδη ένα πρόχειρο μήνυμα, θέλετε να το αντικαταστήσετε;</string>
@@ -806,6 +797,7 @@
<string name="perm_required_title">Χρειάζονται δικαιώματα πρόσβασης</string>
<string name="perm_continue">Συνέχεια</string>
<string name="perm_explain_access_to_camera_denied">Για να τραβήξετε φωτογραφίες ή να τραβήξετε βίντεο, μεταβείτε στις ρυθμίσεις της εφαρμογής, επιλέξτε \"Άδειες\" και ενεργοποιήστε την \"Κάμερα\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Για να στείλετε μηνύματα ήχου, μεταβείτε στις ρυθμίσεις της εφαρμογής, επιλέξτε \"Άδειες\" και ενεργοποιήστε το \"Μικρόφωνο\".</string>
<string name="perm_explain_access_to_storage_denied">Για να λάβετε ή να στείλετε αρχεία, μεταβείτε στις ρυθμίσεις της εφαρμογής, επιλέξτε \"Άδειες\" και ενεργοποιήστε την \"Αποθήκευση\".</string>
<string name="perm_explain_access_to_location_denied">Για να επισυνάψετε μια τοποθεσία, μεταβείτε στις ρυθμίσεις της εφαρμογής, επιλέξτε \"Άδειες\" και ενεργοποιήστε την \"Τοποθεσία\".</string>
+1 -2
View File
@@ -406,8 +406,6 @@
<string name="pref_manage_keys">Administri ŝlosilojn</string>
<string name="pref_use_system_emoji">Uzi sisteman emoĝiaron</string>
<string name="pref_use_system_emoji_explain">Malebligi emoĝiaron de Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Aliro al aplikaĵo</string>
<string name="pref_chats">Interparoloj</string>
<string name="pref_in_chat_sounds">Sonoj dum interparolado</string>
<string name="pref_view_log">Vidi protokolon</string>
@@ -432,6 +430,7 @@
<string name="pref_send_copy_to_self">Sendi kopion al mi mem</string>
<string name="pref_show_emails_all">Ĉiuj</string>
<string name="autocrypt_prefer_e2ee">Preferi tutvojan ĉifradon</string>
<!-- notifications -->
<string name="notify_reply_button">Respondi</string>
<string name="notify_new_message">Nova mesaĝo</string>
+6 -12
View File
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<!-- custom strings -->
<string name="community">Comunidad</string>
<string name="description">Descripción</string>
<string name="ask_join_community">¿Quieres unirte a la comunidad \"%1$s\"?</string>
<string name="community_set_name_explain">Establece un nombre que otros puedan reconocer.</string>
<string name="or_separator">o</string>
<string name="online">en línea</string>
<string name="pink">Rosa</string>
@@ -210,6 +207,10 @@
<string name="images_and_videos">Imágenes y videos</string>
<string name="file">Archivo</string>
<string name="files">Archivos</string>
<string name="files_attach_hint">Enviar archivos originales e imágenes sin comprimir</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Elejir de Archivos</string>
<string name="choose_from_gallery">Elejir de Galería</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Aplicación</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -774,8 +775,6 @@
<string name="pref_use_system_emoji_explain">Deshabilitar el soporte de emoji integrado de Delta Chat</string>
<string name="pref_show_system_contacts">Leer la libreta de direcciones del sistema</string>
<string name="pref_show_system_contacts_explain">Ofrecer crear chats con contactos de la libreta de direcciones. Algunos proveedores necesitan primero una configuración de cifrado de extremo a extremo.</string>
<!-- deprecated -->
<string name="pref_app_access">Acceso a la aplicación</string>
<string name="pref_chats">Chats</string>
<string name="pref_in_chat_sounds">Sonidos en el chat</string>
<string name="pref_view_log">Ver log</string>
@@ -898,11 +897,6 @@
<string name="autocrypt_send_asm_button">Enviar Mensaje de Configuración de Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Se le ha enviado su configuración. Cambie al otro dispositivo y abra el mensaje de configuración. Se le debe solicitar un código de configuración. Escriba los siguientes dígitos:.\n\nUna vez que haya terminado, su otro dispositivo estará listo para usar Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Preferir el cifrado de extremo a extremo</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Mensaje de Configuración de Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Este es el Mensaje de Configuración de Autocrypt utilizado para transferir su configuración de extremo a extremo entre clientes.\n\nPara descifrar y usar su configuración, abra el mensaje en un cliente compatible con Autocrypt e ingrese el código de configuración presentado en el dispositivo que lo generó.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Este mensaje no se puede descifrar.\n\n• Podría ayudar simplemente responder a este mensaje y pedir al remitente que lo envíe de nuevo.\n\n• Si acabas de reinstalar Delta Chat, es mejor que configures Delta Chat de nuevo y elijas \"Agregar como segundo dispositivo\" o importes una copia de seguridad.</string>
@@ -1037,6 +1031,7 @@
<string name="secure_join_wait">Estableciendo cifrado de extremo a extremo garantizado, por favor, espere...</string>
<!-- deprecated -->
<string name="secure_join_wait_timeout">No se pudo aún establecer el cifrado de extremo a extremo garantizado, pero ya puede enviar mensajes.</string>
<string name="secure_join_takes_longer">El contacto debe estar en línea para continuar.\n\nEste proceso continuará automáticamente en segundo plano.</string>
<string name="contact_verified">%1$s verificado.</string>
<string name="contact_not_verified">No se pudo verificar %1$s.</string>
<!-- Shown in contact profile. The placeholder will be replaced by the name of the contact that introduced the contact. -->
@@ -1045,8 +1040,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Configuración cambiada para %1$s.</string>
<string name="verified_contact_required_explain">Para garantizar el cifrado de extremo a extremo, solo puedes añadir contactos con una marca de verificación verde</string>
<!-- deprecated -->
<string name="copy_qr_data_success">URL del código QR copiado al portapapeles</string>
<string name="mailto_dialog_header_select_chat">Seleccione el chat para enviar el mensaje</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s ya tiene un mensaje borrador, ¿quieres reemplazarlo?</string>
@@ -1072,6 +1065,7 @@
<string name="perm_required_title">Permiso requerido</string>
<string name="perm_continue">Continuar</string>
<string name="perm_explain_access_to_camera_denied">Para tomar fotos o videos, vaya a la configuración de aplicaciones, seleccione \"Permisos\" y habilite \"Cámara\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Para enviar mensajes de audio, vaya al menú de configuración de aplicaciones, seleccione \"Permisos\" y habilite \"Micrófono\".</string>
<string name="perm_explain_access_to_storage_denied">Para adjuntar o exportar fotos, videos o audio, vaya al menú de configuración de aplicaciones, seleccione \"Permisos\" y habilite \"Almacenamiento\".</string>
<string name="perm_explain_access_to_location_denied">Para adjuntar una ubicación, vaya al menú de configuración de aplicaciones, seleccione \"Permisos\" y habilite \"Ubicación\".</string>
+1 -7
View File
@@ -349,8 +349,6 @@
<string name="pref_manage_keys">Kudeatu gakoak</string>
<string name="pref_use_system_emoji">Erabili sistemako emojiak</string>
<string name="pref_use_system_emoji_explain">Desgaitu Delta Chat-en barne emoji euskarria</string>
<!-- deprecated -->
<string name="pref_app_access">Aplikazio sarbidea</string>
<string name="pref_chats">Txatak</string>
<string name="pref_in_chat_sounds">Txat bitarteko soinuak</string>
<string name="pref_view_log">Ikusi egunkaria</string>
@@ -408,11 +406,6 @@
<string name="autocrypt_send_asm_button">Bidali Autocrypt ezarpen mezua</string>
<string name="autocrypt_send_asm_explain_after">Zure ezarpena zuri bidali zaizu. Aldatu beste gailura eta ireki ezarpen mezua. Ezarpen kode bat eskatuko zaizu, Idatzi honako zenbaki hauek han.\n\nBehin bukatuta, zure beste gailua Autocrypt erabiltzeko prest egongo da.</string>
<string name="autocrypt_prefer_e2ee">Hobetsi muturretik muturrerako zifratzea</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt ezarpen mezua</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Hau Autocrypt ezarpen mezua da, zure muturretik muturrerako ezarpena bezeroen artean pasatzeko erabilia.\n\n Zure ezarpena deszifratu eta erabiltzeko, ireki mezua Autocrypt onartzen duen bezero batean eta sartu gailu sortzailean agertutako ezarpen kodea.</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
<string name="group_name_changed_by_you">Nik: Taldearen izena \"%1$s\" izatetik \"%2$s\" izatera aldatu da</string>
@@ -472,6 +465,7 @@
<string name="perm_required_title">Baimena behar da</string>
<string name="perm_continue">Jarraitu</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat-ek kamerara sarbidea behar du argazkiak edo bideoak ateratzeko, baina behin betiko ukatu zaio. Joan aplikazioaren ezarpen menura, hautatu \"Baimenak\" eta gaitu \"Kamera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Delta Chat-ek mikrofonoa erabiltzeko baimena behar du ahots-mezuak bidali ahal izateko, baina behin betiko ukatu zaio. Joan aplikazioaren ezarpenetara, hautatu \"Baimenak\" eta gaitu \"Mikrofonoa\".</string>
<string name="perm_explain_access_to_storage_denied">Delta Chat-ek biltegiratze baimena behar du argazkiak, bideoak edo audioa erantsi edo esportatzeko, baina behin betiko ukatu zaio. Joan aplikazioaren ezarpen menura, hautatu \"baimenak\", eta gaitu \"Biltegiratzea\"</string>
<string name="perm_explain_access_to_location_denied">Delta Chat-ek kokaleku aatzitzeko baimena behar du kokalekua eransteko, baina behin betiko ukatu zaio. Joan aplikazioaren ezarpen menura, hautatu \"baimenak\", eta gaitu \"Kokalekua\".</string>
+1 -9
View File
@@ -725,8 +725,6 @@ https://meet.jit.si/$ROOM
<string name="pref_use_system_emoji">استفاده از شکلک‌های سیستم</string>
<string name="pref_use_system_emoji_explain">غیرفعال کردن شکلک‌های داخلی دلتاچت</string>
<string name="pref_show_system_contacts">خواندن دفترچه آدرس دستگاه</string>
<!-- deprecated -->
<string name="pref_app_access">دسترسی نرم‌افزار</string>
<string name="pref_chats">گپ‌ها</string>
<string name="pref_in_chat_sounds">صداهای درون‌گپی</string>
<string name="pref_view_log">نمایش گزارش</string>
@@ -846,11 +844,6 @@ https://meet.jit.si/$ROOM
<string name="autocrypt_send_asm_button">ارسال پیام برپاسازی اتوکریپت</string>
<string name="autocrypt_send_asm_explain_after">تنظیم‌های شما برای خودتان ارسال شدند. پیام تنظیم‌ها را در دستگاه دیگر باز کنید. یک کد نصب از شما خواسته می‌شود. این ارقام را وارد کنید</string>
<string name="autocrypt_prefer_e2ee">ترجیح رمزگذاری گیرنده به گیرنده</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">پیام برپاسازی اتوکریپت</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">این پیام برپاسازی اتوکریپت است و تنظیم‌های مربوط به رمزگذاری سرتاسر شما را بین دستگاه‌ها جابه‌جا می‌کند.\n\n برای رمزگشایی و استفاده از آن، پیام را در یک سامانه که با اتوکریپت همخوانی دارد باز کنید و کد برپاسازی که در دستگاه تولیدکنندهٔ پیام، به شما داده می‌شود را وارد نمایید. </string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">این پیام قابل رمزگشایی نیست.
@@ -999,8 +992,6 @@ https://meet.jit.si/$ROOM
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">تنظیم‌ها برای %1$s تغییر کرد. </string>
<string name="verified_contact_required_explain">برای تضمین رمزنگاری سراسری شما تنها می‌توانید مخاطب‌هایی که یک تیک سبز دارند به این گروه اضافه کنید.\n\nمی‌توانید با مخاطب‌هایتان حضوری ملاقات کنید و برای معرفی، کد QR آن‌ها را اسکن کنید.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">آدرس کیوآر در حافظه ذخیر شد</string>
<string name="mailto_dialog_header_select_chat">گپ را برای ارسال پیام انتخاب کنید</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s هم‌اکنون هم یک پیام پیش‌نویس دارد؛ آیا می‌خواهید آن را جایگزین کنید؟</string>
@@ -1032,6 +1023,7 @@ https://meet.jit.si/$ROOM
را انتخاب کرده و
\"Camera\"
را فعال کنید. </string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">برای ارسال پیام صوتی به تنظیم‌های نرم‌افزار رفته و پس از انتخاب «دسترسی‌ها»
گزینه «میکروفن»
را فعال نمایید. </string>
+1 -9
View File
@@ -656,8 +656,6 @@
<string name="pref_use_system_emoji_explain">Poista Delta Chatin sisäänrakennettu emoji -tuki käytöstä</string>
<string name="pref_show_system_contacts">Lue laitteen osoitekirja</string>
<string name="pref_show_system_contacts_explain">Tarjoa keskustelujen avaamista yhteystietojen perusteella. Jotkin palveluntarjoajat vaativat ensin päästä-päähän salauksen käyttöönottoa. </string>
<!-- deprecated -->
<string name="pref_app_access">Sovelluksen pääsy</string>
<string name="pref_chats">Keskustelut</string>
<string name="pref_in_chat_sounds">Keskustelunaikaiset äänet</string>
<string name="pref_view_log">Näytä loki</string>
@@ -778,11 +776,6 @@
<string name="autocrypt_send_asm_button">Lähetä Autocrypt -käyttöönottoviesti</string>
<string name="autocrypt_send_asm_explain_after">Käyttöönottoviesti on lähetetty sinulle itsellesi. Avaa viesti toisella laitteella. Sinulta pyydetään käyttöönottokoodia. Anna seuraavat numerot:</string>
<string name="autocrypt_prefer_e2ee">Suosi päästä-päähän -salausta</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt -käyttöönottoviesti</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Tätä Autocrypt -käyttöönottoviestiä käytetään päästä-päähän -salauksen asetusten siirtämiseksi toiselle laitteelle.\n\nSaat purettua salauksia ja käytettyä määrittelyä avaamalla viestin Autocrypt -yhteensopivassa päätesovelluksessa, generoivalla laitteella näytetyn pin koodin syöttämisen jälkeen.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Viestin salausta ei voitu purkaa.\n\n• Voi olla että vastaamalla tähän ja pyytämällä lähettäjää lähettämään viesti uudelleen ongelma ratkeaa.\n\n• Jos juuri uudelleenasensit Delta Chatin, lienee parasta että otat sovelluksen uudelleen käyttöön ja valitset \"Lisää toisena laitteena\" tai palauta varmuuskopiosta.</string>
@@ -925,8 +918,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Asetukset muutettu kohteessa %1$s.</string>
<string name="verified_contact_required_explain">Päästä-päähän -salauksen takaamiseksi, voit lisätä ryhmään ainoastaan yhteystietoja joilla on vihreä \"oikein\" -merkki.\n\nVoit tavata yhteystietoja kasvotusten ja skannata heidän QR -koodinsa niin saat lisättyä salauksen käyttöön</string>
<!-- deprecated -->
<string name="copy_qr_data_success">QR -osoite kopioitu leikepöydälle</string>
<string name="mailto_dialog_header_select_chat">Valitse keskustelu viestien lähettämiseen</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">Keskustelussa %1$s on jo luonnos. Haluatko korvata sen?</string>
@@ -952,6 +943,7 @@
<string name="perm_required_title">Pääsylupa vaaditaan</string>
<string name="perm_continue">Jatka</string>
<string name="perm_explain_access_to_camera_denied">Ottaaksesi kuvia tai videoita mene sovelluksen asetuksiin, valitse \"Käyttöluvat\" ja kytke päälle \"Kamera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Lähettääksesi ääniviestin mene sovelluksen asetuksiin, valitse \"Käyttöluvat\" ja kytke päälle \"Mikrofoni\".</string>
<string name="perm_explain_access_to_storage_denied">Lähettääksesi tai vastaanottaaksesi tiedostoja mene sovelluksen asetuksiin, valitse \"Käyttöluvat\" ja kytke päälle \"Tallennustila\".</string>
<string name="perm_explain_access_to_location_denied">Jakaaksesi sijaintisi mene sovelluksen asetuksiin, valitse \"Käyttöluvat\" ja kytke päälle \"Sijainti\".</string>
+1 -9
View File
@@ -741,8 +741,6 @@
<string name="pref_use_system_emoji_explain">Désactiver la prise en charge des émojis intégrés de Delta Chat</string>
<string name="pref_show_system_contacts">Lire le carnet d\'adresses du système</string>
<string name="pref_show_system_contacts_explain">Permet de créer des conversations avec des contacts du carnet d\'adresse. Certains fournisseurs doivent d\'abord mettre en place un chiffrement de bout-en-bout.</string>
<!-- deprecated -->
<string name="pref_app_access">Accès à l\'application</string>
<string name="pref_chats">Discussions</string>
<string name="pref_in_chat_sounds">Sons de messages entrants</string>
<string name="pref_view_log">Voir le journal</string>
@@ -863,11 +861,6 @@
<string name="autocrypt_send_asm_button">Envoyer le message de configuration Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Votre configuration vous a été envoyée. Passez à l\'autre appareil et ouvrez le message de configuration. Un code de configuration devrait vous être demandé. Tapez les chiffres suivants :</string>
<string name="autocrypt_prefer_e2ee">Préférez le chiffrement de bout en bout</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Message de configuration Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Ceci est le message de configuration Autocrypt utilisé pour transférer votre configuration de bout en bout entre clients. Pour déchiffrer et utiliser votre configuration, ouvrez le message dans un client compatible Autocrypt et entrez le code de configuration présenté sur le périphérique de génération.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Ce message ne peut pas être déchiffré.\n\n• Essayez de demander à l\'expéditeur de vous l\'envoyer à nouveaux.\n\n• Si vous venez de réinstaller Delta Chat il serait bien de le reconfigurer en sélectionnant \"Ajouter un deuxième appareil\" ou d\'importer une sauvegarde.</string>
@@ -1010,8 +1003,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Configuration modifiée pour %1$s</string>
<string name="verified_contact_required_explain">Pour garantir le chiffrement de bout en bout, vous pouvez ajouter à ce groupe uniquement les contacts avec un badge vert.\n\nVous pouvez rencontrer ces contacts en personne pour scanner leur code QR et les ajouter à votre liste de contacts connus.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">L\'URL du code QR a été copié dans le presse-papiers</string>
<string name="mailto_dialog_header_select_chat">Sélectionnez une discussion à qui envoyer le message</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$sa déjà un message en brouillon, voulez-vous le remplacer?</string>
@@ -1037,6 +1028,7 @@
<string name="perm_required_title">Autorisation requise</string>
<string name="perm_continue">Continuez</string>
<string name="perm_explain_access_to_camera_denied">Pour prendre des photos ou filmer des vidéos, aller au menu Paramètres de l\'application, sélectionnez \"Autorisations\" et autorisez \"Appareil photo\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Pour envoyer des messages audio, aller dans les paramètres de l\'application, sélectionner \"Autorisations\" et autoriser \"Microphone\".</string>
<string name="perm_explain_access_to_storage_denied">Pour recevoir ou envoyer des fichiers, aller dans les Paramètres de l\'application, sélectionner \"Autorisations\" et autoriser \"Stockage\".</string>
<string name="perm_explain_access_to_location_denied">Pour joindre une position, aller au menu paramètres de l\'application, sélectionnez \"Autorisations\" et activez \"Position\".</string>
+1 -9
View File
@@ -717,8 +717,6 @@
<string name="pref_manage_keys">Xestión das chaves</string>
<string name="pref_use_system_emoji">Utilizar emoji do sistema</string>
<string name="pref_use_system_emoji_explain">Desactivar o soporte interno para emoji de Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Acceso a app</string>
<string name="pref_chats">Conversas</string>
<string name="pref_in_chat_sounds">Sons na conversa</string>
<string name="pref_view_log">Ver rexistro</string>
@@ -821,11 +819,6 @@
<string name="autocrypt_send_asm_button">Enviar Mensaxe de Configuración Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Os axustes envíanse a ti mesma. Vaite ao outro dispositivo e abre a mensaxe de configuración. Debería solicitarche un código. Introduce os seguintes díxitos:</string>
<string name="autocrypt_prefer_e2ee">Preferir cifrado extremo-a-extremo</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Mensaxe de Configuración Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Esta é a Mensaxe de Configuración Autocrypt utilizado para transferir os teus axustes de cifrado de extremo-a-extremo entre clientes.\n\nPara descifrar e utilizar os axustes abre a mensaxe nun cliente compatible con Autocrypt e introduce o código mostrado no dispositivo de orixe.</string>
<string name="systemmsg_unknown_sender_for_chat">Remitente descoñecido para esta convers. Mira en \'info\' para saber máis.</string>
<string name="systemmsg_subject_for_new_contact">Mensaxe de %1$s</string>
@@ -913,8 +906,6 @@
<string name="contact_not_verified">Non se puido verificar %1$s.</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Cambiaron os axustes para %1$s.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Copiado o url do QR ao portapapeis</string>
<string name="mailto_dialog_header_select_chat">Elexir chat ao que enviar a mensaxe</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s xa ten un borrador, queres susbstituílo?</string>
@@ -933,6 +924,7 @@
<string name="perm_required_title">Permiso requerido</string>
<string name="perm_continue">Continuar</string>
<string name="perm_explain_access_to_camera_denied">Para facer fotos ou vídeos, vaite aos axustes da app, escolle \"Permisos\", e activa \"Cámara\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Para enviar mensaxes de voz, vaite aos axustes da app, escolle \"Permisos\" e activa \"Micrófono\".</string>
<string name="perm_explain_access_to_storage_denied">Para recibir ou enviar ficheiros, vaite aos axustes da app, escolle \"Permisos\" e activa \"Almacenaxe\".</string>
<string name="perm_explain_access_to_location_denied">Para engadir a localización, vaite aos axustes da app, escolle \"Permisos\" e activa \"Localización\".</string>
-2
View File
@@ -206,8 +206,6 @@
<string name="pref_read_receipts_explain">Ukoliko ste onemogućili potvrdu čitanja kod sebe, nećete moći vidjeti potvrde čitanja od drugih.</string>
<string name="pref_use_system_emoji">Koristi emotikone sustava</string>
<string name="pref_use_system_emoji_explain">Onemogući ugrađenu Delta Chat podršku za emotikone</string>
<!-- deprecated -->
<string name="pref_app_access">Pristup aplikaciji</string>
<string name="pref_chats">Razgovori</string>
<string name="pref_in_chat_sounds">Zvuk unutar razgovora</string>
<string name="pref_other">Ostalo</string>
+14 -18
View File
@@ -24,7 +24,7 @@
<string name="open">Megnyitás</string>
<string name="download">Letöltés</string>
<string name="downloading">Letöltés…</string>
<string name="open_attachment">Csatolmány megnyitása</string>
<string name="open_attachment">Melléklet megnyitása</string>
<string name="join">Csatlakozás</string>
<string name="rejoin">Újracsatlakozás</string>
<string name="delete">Törlés</string>
@@ -33,7 +33,7 @@
<string name="info">Információk</string>
<string name="update">Frissítés</string>
<string name="emoji">Emodzsi</string>
<string name="attachment">Csatolmány</string>
<string name="attachment">Melléklet</string>
<string name="back">Vissza</string>
<string name="close">Bezárás</string>
<string name="close_window">Ablak bezárása</string>
@@ -184,6 +184,10 @@
<string name="images_and_videos">Képek és videók</string>
<string name="file">Fájl</string>
<string name="files">Fájlok</string>
<string name="files_attach_hint">Eredeti fájlok és tömörítetlen képek küldése</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Kiválasztás a „Fájlokból”</string>
<string name="choose_from_gallery">Kiválasztás a „Galériából”</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Alkalmazás</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -243,7 +247,7 @@
<string name="menu_show_global_map">Az összes helyszín megjelenítése</string>
<string name="menu_archive_chat">Csevegés archiválása</string>
<string name="menu_unarchive_chat">Archiválás visszavonása</string>
<string name="menu_add_attachment">Fájl csatolása</string>
<string name="menu_add_attachment">Fájl mellékelése</string>
<string name="menu_leave_group">Csoport elhagyása</string>
<string name="menu_delete_chat">Csevegés törlése</string>
<!-- Command to delete all messages in a chat. The chat itself will not be deleted but will be empty afterwards, so make sure to be different from "Delete Chat" here. "Clear" is a verb here, "Empty Chat" would also be fine (eg. in German "Chat leeren") -->
@@ -268,8 +272,8 @@
<string name="menu_reply">Válasz az üzenetre</string>
<string name="menu_mute">Értesítések némítása</string>
<string name="menu_unmute">Némítás megszüntetése</string>
<string name="menu_export_attachment">Csatolmány exportálása</string>
<string name="menu_export_attachments">Csatolmányok exportálása</string>
<string name="menu_export_attachment">Melléklet exportálása</string>
<string name="menu_export_attachments">Mellékletek exportálása</string>
<string name="menu_all_media">Összes média</string>
<!-- Command to jump to the original message corresponding to a gallery image or document -->
<string name="show_in_chat">Megjelenítés a csevegésben</string>
@@ -435,7 +439,7 @@
<string name="chat_self_talk_subtitle">Magamnak küldött üzenetek</string>
<string name="archive_empty_hint">Az archivált csevegések itt fognak megjelenni.</string>
<string name="saved_messages">Mentett üzenetek</string>
<string name="saved_messages_explain">• Üzenetek továbbítása az egyszerű hozzáférés érdekében\n\n• Jegyzetek vagy hangjegyzetek készítése\n\n• Médiaanyagok csatolása a mentéshez</string>
<string name="saved_messages_explain">• Üzenetek továbbítása az egyszerű hozzáférés érdekében\n\n• Jegyzetek vagy hangjegyzetek készítése\n\n• Médiaanyagok mellékelése a mentéshez</string>
<!-- Should match "Saved" from "Saved messages" -->
<string name="saved">Mentett</string>
<string name="save_as">Mentés mint</string>
@@ -444,7 +448,7 @@
<string name="messaging_disabled_not_in_group">A csoport tagjának kell lennie ahhoz, hogy üzenetet hagyhasson ebben a csoportban. A csatlakozáshoz kérje meg a csoport egyik tagját.</string>
<string name="messaging_disabled_mailing_list">A levelezési listákon történő üzenetküldés még nem támogatott</string>
<string name="cannot_display_unsuported_file_type">Ezt a fájltípust nem lehet megjeleníteni: %s</string>
<string name="attachment_failed_to_load">Nem sikerült betölteni a csatolmányt</string>
<string name="attachment_failed_to_load">Nem sikerült betölteni a mellékletet</string>
<!-- For recording Voice messages: Description for the "Lock" button allowing to lift the thumb from the record button while recording continues -->
<string name="lock_recording">Felvétel zárolása</string>
@@ -681,7 +685,7 @@
<!-- 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 fájl elküldése „%2$s” számára?</string>
<string name="ask_send_files_to_selected_chats">%1$d fájl megosztása a vele való csevegésben: %2$d?</string>
<string name="videos_sent_without_recoding">(A videók eredeti, nagyméretű fájlként kerülnek elküldésre. Amennyiben azt szeretné, hogy a videók kisebb fájlként kerüljenek elküldésre, csatolja őket külön-külön)</string>
<string name="videos_sent_without_recoding">(A videók eredeti, nagyméretű fájlként kerülnek elküldésre. Amennyiben azt szeretné, hogy a videók kisebb fájlként kerüljenek elküldésre, mellékelje őket külön-külön)</string>
<string name="share_text_multiple_chats">Megosztja ezt a szöveget a vele való csevegésben: %1$d?\n\n„%2$s”</string>
<string name="share_abort">A megosztás megszakadt a hiányzó engedélyek miatt.</string>
@@ -741,8 +745,6 @@
<string name="pref_use_system_emoji_explain">A Delta Chat beépített emodzsi-támogatásának letiltása</string>
<string name="pref_show_system_contacts">A rendszer névjegyzékének olvasása</string>
<string name="pref_show_system_contacts_explain">Csevegések létrehozása a névjegyzékéből származó partnereivel. Egyes szolgáltatóknál először a végpontok közötti titkosítás beállítására van szükség.</string>
<!-- deprecated -->
<string name="pref_app_access">Alkalmazás-hozzáférés</string>
<string name="pref_chats">Csevegések</string>
<string name="pref_in_chat_sounds">Csevegésen belüli hangok</string>
<string name="pref_view_log">Naplófájl megtekintése</string>
@@ -865,11 +867,6 @@
<string name="autocrypt_send_asm_button">Autocryptbeállító-üzenet küldése</string>
<string name="autocrypt_send_asm_explain_after">A beállításokat elküldtük önnek. Váltson a másik eszközre, és nyissa meg a beállítási üzenetet. Meg kell adnia a beállítási kódot. Írja be a következő számjegyeket:</string>
<string name="autocrypt_prefer_e2ee">Végpontok közötti titkosítás előnyben részesítése</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocryptbeállító-üzenet</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Ez az autocryptbeállító-üzenet a végpontok közötti beállítások kliensek közötti átvitelére szolgál.\n\nA beállítások visszafejtéséhez és használatához nyissa meg az üzenetet egy autocrypt-kompatibilis kliensben, és írja be az előállító eszközön megjelenő beállítási kódot.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Ez az üzenet nem dekódolható.\n\n• Már az is segíthet, ha egyszerűen válaszol erre az üzenetre, és megkéri a feladóját, hogy küldje el újra az üzenetet.\n\n• Ha most telepítette újra a Delta Chatet, akkor a legjobb, ha most újraindítja a Delta Chatet, és kiválasztja a „Második eszközként való hozzáadás” lehetőséget, vagy importál egy biztonsági mentést.</string>
@@ -1013,8 +1010,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Megváltoztatta a beállításokat %1$s számára.</string>
<string name="verified_contact_required_explain">A végpontok közötti titkosítás garantálása érdekében csak zöld jelöléssel rendelkező névjegyeket adhat hozzá ehhez a csoporthoz.\n\n Személyesen is találkozhat a partnereivel és beolvashatja a QR-kódjukat, hogy bemutassa őket.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">QR-kód-webcím másolása a vágólapra</string>
<string name="mailto_dialog_header_select_chat">Válassza ki a csevegést az üzenet elküldéséhez</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">Már létezik egy piszkozat a következő szöveggel: %1$s, biztosan le akarja cserélni?</string>
@@ -1040,9 +1035,10 @@
<string name="perm_required_title">Engedély szükséges</string>
<string name="perm_continue">Folytatás</string>
<string name="perm_explain_access_to_camera_denied">A fényképek-, videók- vagy QR-kódok rögzítéséhez lépjen a rendszer beállításaiba, válassza ki a „Alkalmazások és értesítések” menüpontot, válassza ki az DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Kamerához”.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">A hangüzenetek küldéséhez lépjen a rendszer beállításaiba, válassza ki az „Alkalmazások és értesítések” menüpontot, válassza ki a DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Mikrofonhoz”.</string>
<string name="perm_explain_access_to_storage_denied">A fájlok fogadásához vagy küldéséhez lépjen a rendszer beállításaiba, válassza ki az „Alkalmazások és értesítések” menüpontot, válassza ki a DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Tárhelyhez”.</string>
<string name="perm_explain_access_to_location_denied">A helyszín csatolásához lépjen a rendszer beállításaiba, válassza ki az „Alkalmazások és értesítések” menüpontot, válassza ki a DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Helyadatokhoz”.</string>
<string name="perm_explain_access_to_location_denied">A helyszín mellékeléséhez lépjen a rendszer beállításaiba, válassza ki az „Alkalmazások és értesítések” menüpontot, válassza ki a DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Helyadatokhoz”.</string>
<string name="perm_explain_access_to_notifications_denied">Az értesítések fogadásához lépjen a rendszer beállításaiba, válassza ki az „Alkalmazások és értesítések” menüpontot, válassza ki a DeltaChat alkalmazást, majd koppintson az „Engedélyek” menüpontra, és engedélyezze a hozzáférést a „Értesítésekhez”.</string>
<!-- ImageEditorHud -->
+1 -9
View File
@@ -456,8 +456,6 @@
<string name="pref_manage_keys">Kelola kunci</string>
<string name="pref_use_system_emoji">Gunakan emoji sistem</string>
<string name="pref_use_system_emoji_explain">Matikan dukungan emoji Delta Chat yang ada</string>
<!-- deprecated -->
<string name="pref_app_access">Akes Aplikasi</string>
<string name="pref_chats">Obrolan</string>
<string name="pref_in_chat_sounds">Suara dalam obrolan</string>
<string name="pref_view_log">Lihat catatan</string>
@@ -525,11 +523,6 @@
<string name="autocrypt_send_asm_button">Kirim Pengaturan Pesan Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Pengaturan Anda sudah dikirim ke Anda sendiri. Lihat pesan pengaturan di perangkat yang lain. Seharusnya Anda akan diminta kode pengaturan. Masukkan angka berikut:</string>
<string name="autocrypt_prefer_e2ee">Lebih baik enkripsi ujung ke ujung</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Pengaturan Pesan Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Inilah Autocrypt Setup Message yang digunakan utuk mentransfer pengaturan ujung ke ujung Anda antar pelanggan.\n\nUntuk membuka enkirpsi dan menggunakan pengaturan Anda, bukan pesan di Autocrypt-compliant pelanggan dan masukkan kode pengaturan yang ditampikan untuk perangkat terkait.</string>
<string name="systemmsg_unknown_sender_for_chat">Pengirim tidak dikenal untuk obrolan ini. Lihat \'info\' untuk lebih jelasnya.</string>
<string name="systemmsg_subject_for_new_contact">Pesan dari %1$s</string>
@@ -579,8 +572,6 @@
<string name="contact_not_verified">Tidak bisa memverifikasi %1$s.</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Ubah pengaturan untuk %1$s.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Salin QR url ke papan klip</string>
<!-- notifications -->
<string name="notify_reply_button">Balasan</string>
<string name="notify_new_message">Pesan baru</string>
@@ -594,6 +585,7 @@
<string name="perm_required_title">Perlu izin</string>
<string name="perm_continue">Lanjutkan</string>
<string name="perm_explain_access_to_camera_denied">Untuk mengambil foto atau merekam video, lihat pengaturan aplikasi, pilih \"Perizinan\", dan aktifkan \"Kamera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Untuk mengirim pesan audio, lihat pengaturan aplikasi, pilih \"Perizinan\", dan aktifkan \"Mikrofon\".</string>
<string name="perm_explain_access_to_storage_denied">Untuk menerima atau mengirim berkas, pergi ke pengaturan aplikasi, pilih \"Perizinan\", dan fungsikan \"Penyimpanan\".</string>
<string name="perm_explain_access_to_location_denied">Untuk melampirkan lokasi, lihat pengaturan aplikasi, pilih \"Perizinan\", dan aktifkan \"Lokasi\".</string>
+18 -22
View File
@@ -52,7 +52,7 @@
<string name="mute">Silenzia</string>
<string name="muted">Disattivato</string>
<string name="ephemeral_messages">Messaggi a Scomparsa</string>
<string name="ephemeral_messages_hint">Si applica a tutti i membri di questa chat se utilizzano Delta Chat; possono comunque copiare, salvare e inoltrare messaggi o utilizzare altri client e-mail.</string>
<string name="ephemeral_messages_hint">Si applica a tutti i membri di questa chat; possono comunque copiare, salvare e inoltrare i messaggi.</string>
<string name="save">Salva</string>
<string name="chat">Chat</string>
<string name="media">Media</string>
@@ -193,6 +193,10 @@
<string name="images_and_videos">Immagini e Video</string>
<string name="file">File</string>
<string name="files">Files</string>
<string name="files_attach_hint">Manda file originali e immagini non compresse</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Scegli da File</string>
<string name="choose_from_gallery">Scegli da Galleria</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">App</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -479,7 +483,7 @@
<!-- title shown above a list contacts where one should be selected (eg. when a webxdc attempts to send a message to a chat) -->
<string name="send_message_to">Invia Messaggio a...</string>
<string name="enable_realtime">Apps in Tempo Reale</string>
<string name="enable_realtime_explain">Abilitando connessioni in tempo reale per app condivise nelle chat. Se abilitato, i partner della chat potrebbero essere in grado di scoprire il tuo indirizzo IP quando avvii un\'app.</string>
<string name="enable_realtime_explain">Abilita connessioni in tempo reale per app condivise nelle chat. Se abilitato, i partner della chat potrebbero essere in grado di scoprire il tuo indirizzo IP quando avvii un\'app.</string>
<!-- map -->
<string name="filter_map_on_time">Mostra le posizioni nell\'intervallo di tempo</string>
@@ -661,7 +665,7 @@
<string name="proxy_share_link">Condividi Collegamento</string>
<string name="login_info_oauth2_title">Continuare con la configurazione semplificata?</string>
<string name="login_info_oauth2_text">L\'indirizzo e-mail inserito supporta una configurazione semplificata (OAuth 2.0).\n\nNel passaggio successivo, per piacere consenti a Delta Chat di fungere da app Chat tramite e-mail.\n\nDelta Chat non raccoglie dati utente, tutto rimane sul tuo dispositivo.</string>
<string name="login_info_oauth2_text">L\'indirizzo e-mail inserito supporta una configurazione semplificata (OAuth 2.0).\n\nNel passaggio successivo, per favore consenti a Delta Chat di inviare e ricevere messaggi.\n\nDelta Chat non raccoglie dati utente, tutto rimane sul tuo dispositivo.</string>
<string name="login_certificate_checks">Controlli Certificato</string>
<string name="login_error_mail">Per piacere Inserisci un indirizzo e-mail valido</string>
<string name="login_error_server">Per piacere inserisci un server / indirizzo IP valido</string>
@@ -671,7 +675,7 @@
<string name="import_backup_ask">Backup trovato in \"%1$s\".\n\nVuoi importarlo e usare tutti i dati e le impostazioni salvate?</string>
<string name="import_backup_no_backup_found">Nessun backup trovato\n\nCopia il backup in \"%1$s\" e riprova ancora. Altimenti premi \"Inizia a messaggiare\" per procedere con le impostazioni normali.</string>
<!-- %1$s will be replaced by the failing address -->
<string name="login_error_cannot_login">Impossibile accedere come \"%1$s\". Per piacere verifica che l\'indirizzo e-mail e la password siano corretti.</string>
<string name="login_error_cannot_login">Impossibile accedere come \"%1$s\". Per favore verifica che l\'indirizzo e-mail e la password siano corretti.</string>
<!-- TLS certificate checks -->
<string name="accept_invalid_certificates">Accetta certificati non validi</string>
<string name="switch_account">Cambia Profilo</string>
@@ -757,9 +761,7 @@
<string name="pref_use_system_emoji">Usa Emoji di Sistema</string>
<string name="pref_use_system_emoji_explain">Disattiva il supporto delle emoji integrato in Delta Chat</string>
<string name="pref_show_system_contacts">Leggi Rubrica di Sistema</string>
<string name="pref_show_system_contacts_explain">Offri la possibilità di creare chat con i contatti della rubrica. Alcuni provider necessitano prima della configurazione della crittografia end-to-end.</string>
<!-- deprecated -->
<string name="pref_app_access">Accesso App</string>
<string name="pref_show_system_contacts_explain">Offri la possibilità di creare chat con i contatti della rubrica.</string>
<string name="pref_chats">Chats</string>
<string name="pref_in_chat_sounds">Suoni In-Chat</string>
<string name="pref_view_log">Vedi Registro</string>
@@ -858,9 +860,9 @@
<!-- %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_device_ask">Vuoi eliminare %1$d messaggi ora e tutti i nuovi messaggi recuperati \"%2$s\" d\'ora in poi?\n\n• Questo include tutti i media\n\n• I messaggi verranno eliminati anche se non sono stati letti\n\n• I \"Messaggi salvati\" vengono preservati dalla cancellazione locale.</string>
<!-- %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">Vuoi eliminare %1$d messaggi ora e tutti i messaggi appena recuperati \"%2$s\" d\'ora in poi?\n\n⚠️ Ciò include e-mails, contenuti multimediali e \"Messaggi salvati\" in tutte le cartelle del server\n\n⚠️ Non utilizzare questa funzione se vuoi mantenere i dati sul server\n\n⚠️ Non utilizzare questa funzione se stai utilizzando altri client e-mail oltre a Delta Chat</string>
<string name="autodel_server_ask">Vuoi eliminare %1$d messaggi ora e tutti i messaggi non appena recuperati \"%2$s\" d\'ora in poi?\n\n⚠️ Ciò include e-mails, contenuti multimediali e \"Messaggi salvati\" in tutte le cartelle del server\n\n⚠️ Non utilizzare questa funzione se vuoi mantenere i dati sul server o se stai utilizzando anche altri client e-mail</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">Questo include e-mail, media e \"Messaggi salvati\" in tutte le cartelle del server. Non utilizzare questa funzione se desideri mantenere i dati sul server o se stai utilizzando altri client e-mail oltre a Delta Chat.</string>
<string name="autodel_server_enabled_hint">Questo include e-mail, media e \"Messaggi salvati\" in tutte le cartelle del server. Non utilizzare questa funzione se desideri mantenere i dati sul server o se stai utilizzando anche altri client e-mail</string>
<string name="autodel_server_warn_multi_device_title">Attiva l\'eliminazione immediata</string>
<string name="autodel_server_warn_multi_device">Se abiliti l\'eliminazione immediata non potrai utilizzare questo profilo su più dispositivi.</string>
<string name="autodel_confirm">Ho capito, elimina tutti questi messaggi</string>
@@ -878,15 +880,10 @@
<!-- autocrypt -->
<string name="autocrypt_send_asm_title">Invia Messaggio Configurazione Autocrypt</string>
<string name="autocrypt_send_asm_explain_before">Un Messaggio Configurazione Autocrypt condivide in modo sicuro la configurazione end-to-end con altre app compatibili con Autocrypt.\n\nLa configurazione verrà crittografata tramite un codice di configurazione visualizzato qui e dovrà essere digitato sull\'altro dispositivo.</string>
<string name="autocrypt_send_asm_explain_before">Un Messaggio Configurazione Autocrypt condivide in modo sicuro la configurazione end-to-end con altre app compatibili con Autocrypt.\n\nSe usi Delta Chat anche su altri dispositivi usa invece \"Impostazioni / Aggiungi Secondo Dispositivo\".</string>
<string name="autocrypt_send_asm_button">Invia Messaggio Configurazione Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">La tua configurazione ti è stata inviata. Passa all\'altro dispositivo e apri il messaggio. Dovrebbe venirti richiesto un codice. Inserisci il seguente codice:</string>
<string name="autocrypt_prefer_e2ee">Preferisci Cifratura End-To-End</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Messaggio Configurazione Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Questo è il Messaggio Configurazione Autocrypt utilizzato per trasferire la configurazione end-to-end tra i client.\n\nPer decifrare e utilizzare la configurazione, aprire il messaggio in un client compatibile con Autocrypt e immettere il codice di configurazione presentato sul dispositivo di generazione.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Questo messaggio non può essere decrittografato.\n\n• Potrebbe essere già utile rispondere semplicemente a questo messaggio e chiedere al mittente d\'inviare nuovamente il messaggio.\n\n• Se hai appena reinstallato Delta Chat, è meglio se riconfiguri ora Delta Chat e scegli \"Aggiungi come secondo dispositivo\" o importa un backup.</string>
@@ -958,7 +955,7 @@
<!-- this may be shown instead of the chat's input field, with buttons "More Info" and "OK" -->
<string name="chat_protection_broken">%1$s ha inviato un messaggio da un altro dispositivo.</string>
<string name="chat_protection_enabled_tap_to_learn_more">D\'ora in poi i messaggi saranno garantiti crittografati end-to-end. Tocca per saperne di più.</string>
<string name="chat_protection_enabled_explanation">Ora è garantito che tutti i messaggi in questa chat siano cifrati end-to-end.\n\nLa crittografia end-to-end mantiene i messaggi privati tra te e i tuoi partner di chat. Nemmeno il tuo provider email può leggerli.</string>
<string name="chat_protection_enabled_explanation">Ora è garantito che tutti i messaggi in questa chat siano cifrati end-to-end.\n\nLa crittografia end-to-end mantiene privati i messaggi tra te e i tuoi partner di chat. Nemmeno il server, il fornitore o il trasmettitore di e-mail può leggerli.</string>
<string name="chat_protection_broken_tap_to_learn_more">%1$s ha inviato un messaggio da un altro dispositivo. Tocca per saperne di più.</string>
<string name="chat_protection_broken_explanation">La crittografia end-to-end non può più essere garantita, probabilmente perché %1$s ha reinstallato Delta Chat o inviato un messaggio da un altro dispositivo.\n\nPuoi incontrarlo di persona e scansionare nuovamente il suo Codice QR per ristabilire la crittografia end-to-end garantita.</string>
<string name="invalid_unencrypted_tap_to_learn_more">⚠️ %1$s richiede la crittografia end-to-end che non è ancora configurata per questa chat. Tocca per saperne di più.</string>
@@ -984,7 +981,7 @@
<string name="qrscan_failed">Impossibile decodificare il codice QR</string>
<string name="qrscan_ask_join_group">Vuoi entrare nel gruppo \"%1$s\"?</string>
<string name="qrscan_fingerprint_mismatch">L\'impronta digitale scansionata non corrisponde all\'ultima visualizzata per %1$s.</string>
<string name="qrscan_no_addr_found">Questo codice QR contiene un\'impronta digitale, ma non un indirizzo email.\n\nPer una verifica a due fattori efficace, per piacere prima stabilisci una connessione cifrata col destinatario.</string>
<string name="qrscan_no_addr_found">Questo codice QR contiene un\'impronta ma non un indirizzo email.\n\nPer una verifica efficace, per favore prima stabilisci una connessione cifrata col destinatario.</string>
<string name="qrscan_contains_text">Testo codice QR scansionato:\n\n%1$s</string>
<string name="qrscan_contains_url">URL del codice QR scansionato:\n\n%1$s</string>
<string name="qrscan_fingerprint_label">Impronta digitale</string>
@@ -1021,7 +1018,7 @@
<string name="secure_join_wait">Creazione della crittografia end-to-end garantita, per piacere attendere...</string>
<!-- deprecated -->
<string name="secure_join_wait_timeout">Non è ancora possibile stabilire la crittografia end-to-end garantita, ma potresti già inviare un messaggio.</string>
<string name="secure_join_takes_longer">Sembra metterci molto, forse tu o il contatto non siete in linea.\n\nComunque, il processo continua in sottofondo, puoi fare qualcos\'altro...</string>
<string name="secure_join_takes_longer">Il contatto deve essere in linea per proseguire.\n\nQuesto processo continuerà automaticamente in sottofondo.</string>
<string name="contact_verified">%1$s verificato.</string>
<string name="contact_not_verified">Impossibile stabilire una crittografia end-to-end garantita con %1$s.</string>
<!-- Shown in contact profile. The placeholder will be replaced by the name of the contact that introduced the contact. -->
@@ -1030,8 +1027,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Impostazioni modificate per %1$s</string>
<string name="verified_contact_required_explain">Per garantire la crittografia end-to-end, puoi aggiungere a questo gruppo solo i contatti con un segno di spunta verde.\n\nPuoi incontrare i contatti di persona e scansionare il loro Codice QR per verificarli.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Url QR copiato negli appunti</string>
<string name="mailto_dialog_header_select_chat">Seleziona la chat a cui inviare il messaggio</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s ha già una bozza di messaggio, vuoi sostituirla?</string>
@@ -1057,6 +1052,7 @@
<string name="perm_required_title">Autorizzazione richiesta</string>
<string name="perm_continue">Continua</string>
<string name="perm_explain_access_to_camera_denied">Per scattare foto o registrare video, vai alle impostazioni dell\'app, seleziona \"Autorizzazioni\" e abilita \"Fotocamera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Per inviare messaggi audio, vai alle impostazioni dell\'app, seleziona \"Autorizzazioni\" e abilita \"Microfono\".</string>
<string name="perm_explain_access_to_storage_denied">Per ricevere o inviare files, vai alle impostazioni dell\'app, seleziona \"Autorizzazioni\" e abilita \"Archiviazione\".</string>
<string name="perm_explain_access_to_location_denied">Per allegare una posizione, vai alle impostazioni dell\'app, seleziona \"Autorizzazioni\" e abilita \"Posizione\".</string>
@@ -1181,7 +1177,7 @@
<string name="add_to_widget">Aggiungi al Widget</string>
<!-- iOS permissions, copy from "deltachat-ios/Info.plist", which is used on missing translations in "deltachat-ios/LANG.lproj/InfoPlist.strings" -->
<string name="InfoPlist_NSCameraUsageDescription">Delta Chat utilizza la tua fotocamera per scattare e inviare foto e video e per scansionare i codici QR.</string>
<string name="InfoPlist_NSContactsUsageDescription">Delta Chat usa i tuoi contatti per mostrare una lista di indirizzi e-mail a cui puoi scrivere. Delta Chat non ha un server, i tuoi contatti non vengono inviati da nessuna parte.</string>
<string name="InfoPlist_NSContactsUsageDescription">Delta Chat usa i tuoi contatti per mostrare una lista di indirizzi e-mail a cui puoi scrivere. Delta Chat non ha alcun server, i tuoi contatti non vengono inviati da nessuna parte.</string>
<string name="InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription">Delta Chat necessita dell\'autorizzazione per condividere la tua posizione per il periodo di tempo in cui hai abilitato la condivisione della posizione.</string>
<string name="InfoPlist_NSLocationWhenInUseUsageDescription">Delta Chat ha bisogno dell\'autorizzazione di localizzazione per condividere la vostra posizione per il periodo di tempo in cui avete abilitato la condivisione della posizione.</string>
<string name="InfoPlist_NSMicrophoneUsageDescription">Delta Chat utilizza il tuo microfono per registrare e inviare messaggi vocali e video con audio.</string>
@@ -1197,7 +1193,7 @@
<string name="pref_reliable_service">Forza Connessione Secondo Piano</string>
<string name="pref_reliable_service_explain">Provoca una notifica permanente</string>
<string name="pref_background_notifications_rationale">Per mantenere la connessione al tuo server e-mail e ricevere messaggi in secondo piano, ignora le ottimizzazioni della batteria nel passaggio successivo.\n\nDelta Chat utilizza poche risorse e fa attenzione a non consumare la tua batteria.</string>
<string name="pref_background_notifications_rationale">Per mantenere la connessione in sottofondo e ricevere messaggi, ignora le ottimizzazioni della batteria nel prossimo passaggio.\n\nDelta Chat utilizza poche risorse e fa in modo di non prosciugarti la batteria.</string>
<!-- disabling "Reliable service" will hide a the maybe annoying permanent-notification with the drawback that new-message-notifications get potentially unreliable -->
<string name="perm_enable_bg_reminder_title">Tocca qui per ricevere messaggi mentre Delta Chat è in secondo piano.</string>
<string name="perm_enable_bg_already_done">Hai già autorizzato Delta Chat a ricevere messaggi in secondo piano.\n\nSe i messaggi non arrivano in secondo piano, per piacere controlla anche le impostazioni di sistema.</string>
+1 -4
View File
@@ -442,8 +442,6 @@
<string name="pref_manage_keys">暗号鍵の管理</string>
<string name="pref_use_system_emoji">システムの絵文字を使う</string>
<string name="pref_use_system_emoji_explain">Delta Chat独自の絵文字機能を無効にする</string>
<!-- deprecated -->
<string name="pref_app_access">アプリのアクセス</string>
<string name="pref_chats">チャット</string>
<string name="pref_in_chat_sounds">着信音</string>
<string name="pref_view_log">ログの表示</string>
@@ -521,8 +519,7 @@
<string name="autocrypt_send_asm_explain_before">「自動暗号化設定用メッセージ」は安全に一対一暗号化設定を対応するアプリケーションとの間に設定します。\n \n 受信側は設定時に表示されるパスコードを入力する必要が有ります。</string>
<string name="autocrypt_send_asm_button">自動暗号化設定用メッセージを送信する</string>
<string name="autocrypt_prefer_e2ee">エンドツーエンド暗号化を好む</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">自動暗号化設定用メッセージ</string>
<string name="systemmsg_subject_for_new_contact">%1$sさんからのメッセージ</string>
<string name="systemmsg_failed_sending_to">%1$sさんへのメッセージ送信に失敗しました。</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
+1 -9
View File
@@ -504,8 +504,6 @@
<string name="pref_manage_keys">កាន់កាប់គ្រាប់​ចុច</string>
<string name="pref_use_system_emoji">ប្រើប្រាស់រូបសញ្ញាអារម្មណ៍របសប្រពន្ធ័</string>
<string name="pref_use_system_emoji_explain">បិទការប្រើប្រាស់រូបសញ្ញាអារម្មណ៍ ពិសា Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">ចូលដំណើរការកម្មវិធី</string>
<string name="pref_chats">សន្ទនា</string>
<string name="pref_in_chat_sounds">សម្លេងនៅក្នុងសន្ទនា</string>
<string name="pref_view_log">មើលកំណត់ហេតុ</string>
@@ -602,11 +600,6 @@
<string name="autocrypt_send_asm_button">ផ្ញើសារអ៊ិនគ្រីបស្វ័យប្រវត្តិសម្រាប់ការរៀបចំ</string>
<string name="autocrypt_send_asm_explain_after">ការរៀបចំរបស់អ្នកត្រូវបានផ្ញើទៅខ្លួនឯងហើយ។ ប្តូរឆ្លាស់ឧបករណ៍ផ្សេង និងបើកសារការរៀបចំ។ អ្នកនឹងទទួលសំណួរពីកូដរៀបចំ។ បញ្ចូលលេខដូចខាងក្រោម:</string>
<string name="autocrypt_prefer_e2ee">ចូលចិត្តការអ៊ិនគ្រីបច្រើនជាង</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">ផ្ញើសារអ៊ិនគ្រីបស្វ័យប្រវត្តិសម្រាប់ការរៀបចំ</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">នេះជាសាររៀបចំចាក់អ៊ិនគ្រីបស្វ័យប្រវត្តិសម្រាប់ចែកចាយចាត់ការរៀបចំចាក់ឧបករណ៍ដល់ឧបករណ៍ជាមួយឧបករណ៍ផ្សេងទៀត។\n\nដើម្បីឌិគ្រីប (ការទទួលសារដែលបានធ្វើជាសារសញ្ញាសម្ងាត់ដល់អាចអានបានវិញ) និងប្រើប្រាសការរៀបចំចាក់របសអ្នក បើកសារនៅក្នុងកម្មវិធីដែលស្គាល់អ៊ិនគ្រីបស្វ័យប្រវត្តិ និងកូដការរៀបចំដែលបានអំណោយពីឧបករណ៍បានបង្កើតវា។</string>
<string name="systemmsg_unknown_sender_for_chat">មិនស្គាល់អ្នកផ្ញើការសន្ទនានេះ។ មើល \'ពត៌មាន\' សម្រាប់ពត៌មានលំអិត</string>
<string name="systemmsg_subject_for_new_contact">សារពី %1$s</string>
@@ -710,8 +703,6 @@
<string name="contact_not_verified">មិនអាចផ្ទៀងផ្ទាត់ %1$s</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">បានដូរការរៀបចំសម្រាប់ %1$s</string>
<!-- deprecated -->
<string name="copy_qr_data_success">បានចម្លង QR-url ទៅក្តារខ្ទាស់</string>
<string name="mailto_dialog_header_select_chat">ជ្រើសរើសការជជែក ដើម្បីផ្ញើសារទៅកាន់</string>
<string name="mailto_link_could_not_be_decoded">សំបុត្រទៅតំណភ្ជាប់ មិនអាចឌិកូដទេ: %1$s</string>
@@ -728,6 +719,7 @@
<string name="perm_required_title">ត្រូវបានការអនុញ្ញាត</string>
<string name="perm_continue">បន្ត</string>
<string name="perm_explain_access_to_camera_denied">ដើម្បីថតរូប រឺថតវីដេអូ ចូលទៅកាន់ការកំណត់កម្មវិធី ជ្រើសរើស \" ការអនុញ្ញាត\" និងបើកដំណើរការ \"ម៉ាសុីនថត\"។</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">ដើម្បីផ្ញើ សារសំឡេង ចូលទៅកាន់ការកំណត់កម្មវិធី ជ្រើសរើស \"ការអនុញ្ញាត\" និងបើកដំណើរការ \"មីក្រូហ្វូន\"។</string>
<string name="perm_explain_access_to_storage_denied">ដើម្បីទទួល រឺផ្ញើឯកសារ ចូលទៅកាន់ការកំណត់កម្មវិធី ជ្រើសរើស \"ការអនុញ្ញាត\" និងបើកដំណើរការ \"ការផ្ទុក\"។</string>
<string name="perm_explain_access_to_location_denied">ដើម្បីភ្ជាប់ទីតាំង ចូលទៅកាន់ការកំណត់កម្មវិធី ជ្រើសរើស\"ការកំណត់\" និងបើកដំណើរការ \"ទីតាំង\"។</string>
+1 -10
View File
@@ -537,8 +537,6 @@
<string name="pref_manage_keys">키 관리</string>
<string name="pref_use_system_emoji">시스템 이모티콘 사용</string>
<string name="pref_use_system_emoji_explain">Delta Chat 이모티콘 사용 중지</string>
<!-- deprecated -->
<string name="pref_app_access">앱 접근</string>
<string name="pref_chats">채팅</string>
<string name="pref_in_chat_sounds">앱 내 알림</string>
<string name="pref_view_log">로그 보기</string>
@@ -630,12 +628,6 @@
<string name="autocrypt_send_asm_explain_before">자동 암호화 설치 메시지는 사용자의 설정을 다른 자동 암호화 호환 앱과 안전하게 공유합니다.\n\n설치는 여기에 표시된 설치 코드에 의해 암호화되며 다른 장치에 입력해야 합니다.</string>
<string name="autocrypt_send_asm_button">자동 암호화 설정된 메시지 전송</string>
<string name="autocrypt_send_asm_explain_after">설정이 사용자 자신에게 전송되었습니다. 다른 장치로 전환하고 설정 메시지를 엽니다. 설정 코드를 입력하라는 메시지가 표시됩니다. 다음 숫자를 입력합니다.</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">자동 암호화 설정 메시지</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">클라이언트 간에 종단 간 설정을 전송하는 데 사용되는 자동 암호화 설정 메시지입니다.\n\n설치를 해독하고 사용하려면 자동 암호화 호환 클라이언트에서 메시지를 열고 생성 장치에 표시된 설치 코드를 입력하십시오.</string>
<string name="systemmsg_unknown_sender_for_chat">이 채팅의 발신자를 알 수 없습니다. 자세한 내용은 \'info\'를 확인하세요.</string>
<string name="systemmsg_subject_for_new_contact">%1$s가 보낸 메시지</string>
<string name="systemmsg_failed_sending_to">%1$s에게 메시지를 보내지 못했습니다.</string>
@@ -751,8 +743,6 @@
<string name="contact_not_verified">%1$s 확인할 수 없음</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">%1$s에 대한 설정이 변경되었습니다.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">QR url을 클립보드에 복사했습니다</string>
<string name="mailto_dialog_header_select_chat">메시지를 보내려면 채팅을 선택하십시오</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s에 이미 임시 저장된 메시지가 있습니다. 바꾸시겠습니까?</string>
@@ -771,6 +761,7 @@
<string name="perm_required_title">권한 필요</string>
<string name="perm_continue">계속</string>
<string name="perm_explain_access_to_camera_denied">사진을 찍거나 동영상을 캡처하려면 앱 설정으로 이동하여 \"권한\"을 선택하고 \"카메라\"를 활성화하십시오.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">오디오 메시지를 보내려면 앱 설정으로 이동하여 \"권한\"을 선택하고 \"마이크\"를 활성화하십시오.</string>
<string name="perm_explain_access_to_storage_denied">파일을 수신하거나 보내려면 앱 설정으로 이동하여 \"사용 권한\"을 선택하고 \"스토리지\"를 활성화하십시오.</string>
<string name="perm_explain_access_to_location_denied">위치를 첨부하려면 앱 설정으로 이동하여 \"권한\"을 선택하고 \"위치\"를 활성화하십시오.</string>
-9
View File
@@ -565,8 +565,6 @@
<string name="pref_manage_keys">Tvarkyti raktus</string>
<string name="pref_use_system_emoji">Naudoti sistemos šypsniukus</string>
<string name="pref_use_system_emoji_explain">Išjungti Delta Chat įtaisytąjį šypsniukų palaikymą</string>
<!-- deprecated -->
<string name="pref_app_access">Prieiga prie programėlės</string>
<string name="pref_chats">Pokalbiai</string>
<string name="pref_in_chat_sounds">Garsai pokalbiuose</string>
<string name="pref_view_log">Rodyti žurnalą</string>
@@ -666,11 +664,6 @@
<string name="autocrypt_send_asm_button">Siųsti Autocrypt sąrankos žinutę</string>
<string name="autocrypt_send_asm_explain_after">Jūsų sąranka buvo išsiųsta jums. Persijukite į kitą įrenginį ir atverkite sąrankos žinutę. Jūsų turėtų būti paprašyta sąrankos kodo. Į užklausą įrašykite šiuos skaitmenis.\n\nJums užbaigus, kitas įrenginys bus paruoštas naudoti Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Teikti pirmenybę ištisiniam šifravimui</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt sąrankos žinutė</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Tai yra Autocrypt sąrankos žinutė, kuri yra naudojama perduoti jūsų ištisinę sąranką tarp klientų.\n\nNorėdami iššifruoti ir naudoti savo sąranką, atverkite žinutę su Autocrypt suderinamame kliente ir įveskite generuojančiame įrenginyje rodomą sąrankos kodą.</string>
<string name="systemmsg_subject_for_new_contact">Žinutė nuo %1$s</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
@@ -760,8 +753,6 @@
<string name="contact_not_verified">Nepavyksta patvirtinti %1$s</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Pakeista sąranka, skirta %1$s.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">QR kodo URL adresas nukopijuotas į iškarpinę</string>
<string name="mailto_dialog_header_select_chat">Pasirinkite pokalbį, į kurį siųsti žinutę</string>
<string name="mailto_link_could_not_be_decoded">nepavyko dekoduoti mailto nuorodos: %1$s</string>
-7
View File
@@ -321,8 +321,6 @@
<string name="pref_manage_keys">Behandle nøkler</string>
<string name="pref_use_system_emoji">Bruk systemets emoji</string>
<string name="pref_use_system_emoji_explain">Slå av innebygd emoji-støtte i Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Programtilgang</string>
<string name="pref_chats">Sludringer</string>
<string name="pref_in_chat_sounds">Merknader i programmet</string>
<string name="pref_view_log">Vis logg</string>
@@ -341,11 +339,6 @@
<string name="autocrypt_send_asm_button">Igangsett Autocrypt-nøkkeloverføring</string>
<string name="autocrypt_send_asm_explain_after">Nøkkelen din har blitt sendt til deg selv. Bytt til den andre enheten og åpne oppsettsmeldingen. Du bør bli forespurt om å oppgi en oppsettskode. Skriv in følgende siffer.\n\nNår du er ferdig, vil din andre enhet også kunne bruke Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Foretrekk ende-til-ende -kryptering</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt-nøkkeloverføring</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Dette er Autocrypt-oppsettsmeldingen brukt til å overføre nøkkelen din mellom klienter.\n\nFor å dekryptere å bruke din nøkkel, åpne meldingen i en Autocrypt-kompatibel klient og skriv inn oppsettskoden som vises på enheten som genererer den.</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
<string name="group_name_changed_by_you">Gruppenavn endret fra \"%1$s\" til \"%2$s\" av meg.</string>
+6 -10
View File
@@ -184,6 +184,10 @@
<string name="images_and_videos">Foto\'s en video\'s</string>
<string name="file">Bestand</string>
<string name="files">Bestanden</string>
<string name="files_attach_hint">Bestanden en foto\'s in oorspronkelijke kwaliteit versturen</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Kiezen uit bestanden</string>
<string name="choose_from_gallery">Kiezen uit galerij</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Privé-app</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -741,8 +745,6 @@
<string name="pref_use_system_emoji_explain">Schakel Delta Chats ingebouwde emojiondersteuning uit</string>
<string name="pref_show_system_contacts">Adresboek uitlezen</string>
<string name="pref_show_system_contacts_explain">Bied aan om gesprekken te beginnen met contactpersonen uit het adresboek. Let op: voor sommige providers is eind-tot-eindversleuteling benodigd.</string>
<!-- deprecated -->
<string name="pref_app_access">Apptoegang</string>
<string name="pref_chats">Gesprekken</string>
<string name="pref_in_chat_sounds">Gespreksgeluiden</string>
<string name="pref_view_log">Logboek bekijken</string>
@@ -865,11 +867,6 @@
<string name="autocrypt_send_asm_button">Autocrypt-instelbericht versturen</string>
<string name="autocrypt_send_asm_explain_after">Je instellingen zijn aan jezelf verstuurd. Schakel over naar het andere apparaat en open het instelbericht. Je zou nu moeten worden gevraagd om een code. Typ de volgende getallen in het invoerveld:</string>
<string name="autocrypt_prefer_e2ee">Voorkeur voor eind-tot-eindversleuteling</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Autocrypt-instelbericht</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Dit is het Autocrypt-instelbericht dat wordt gebruikt om je instellingen over te zetten.\n\nOm te ontsleutelen en te gebruiken, open je het bericht in een met Autocrypt compatibele app en voer je de code in die wordt getoond op het apparaat dat de code heeft gegenereerd.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Dit bericht kan niet worden ontsleuteld.\n\n• Het kan helpen dit bericht te beantwoorden en de afzender te vragen het opnieuw te versturen.\n\n• Als je Delta Chat of een andere e-mailapp opnieuw hebt geïnstalleerd, voeg het dan toe als tweede apparaat of importeer een reservekopie.</string>
@@ -1013,8 +1010,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Gewijzigde instellingen voor %1$s</string>
<string name="verified_contact_required_explain">Om de eind-tot-eindversleuteling te garanderen, kun je alleen contactpersonen met een groen vinkje toevoegen aan deze groep.\n\nVan niet-goedgekeurde contactpersonen kun je de QR-code scannen om ze goed te keuren.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">De QR-url is gekopieerd naar het klembord</string>
<string name="mailto_dialog_header_select_chat">Kies in welk gesprek je dit bericht wilt delen</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s bevat al een concept. Wil je dit vervangen?</string>
@@ -1040,7 +1035,8 @@
<string name="perm_required_title">Recht vereist</string>
<string name="perm_continue">Doorgaan</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat wil foto\'s en video\'s kunnen maken. Ga naar de app-instellingen, kies Rechten en schakel Camera in.</string>
<string name="perm_explain_access_to_mic_denied">Delta Chat wil spraakberichten versturen. Ga naar de app-instellingen, kies Rechten en schakel Microfoon in.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Delta Chat wil spraakberichten versturen. Ga naar de app-instellingen, kies Rechten of Privacy en beveiliging en schakel Microfoon in.</string>
<string name="perm_explain_access_to_storage_denied">Delta Chat wil bestanden kunnen ontvangen en versturen. Ga naar de app-instellingen, kies Rechten en schakel Opslag in.</string>
<string name="perm_explain_access_to_location_denied">Delta Chat wil je locatie kunnen delen. Ga naar de app-instellingen, kies Rechten en schakel Locatie in.</string>
<string name="perm_explain_access_to_notifications_denied">Open Systeeminstellingen → Apps → Delta Chat en schakel meldingen in.</string>
+6 -10
View File
@@ -202,6 +202,10 @@
<string name="images_and_videos">Obrazy i wideo</string>
<string name="file">Plik</string>
<string name="files">Pliki</string>
<string name="files_attach_hint">Wyślij oryginalne pliki i nieskompresowane obrazy</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Wybierz z plików</string>
<string name="choose_from_gallery">Wybierz z galerii</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Prywatna aplikacja</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -773,8 +777,6 @@
<string name="pref_use_system_emoji_explain">Wyłącza wbudowaną obsługę emoji Delta Chat</string>
<string name="pref_show_system_contacts">Odczytaj systemową książkę adresową</string>
<string name="pref_show_system_contacts_explain">Zaproponuj tworzenie czatów z kontaktami z książki adresowej.</string>
<!-- deprecated -->
<string name="pref_app_access">Dostęp do aplikacji</string>
<string name="pref_chats">Czaty</string>
<string name="pref_in_chat_sounds">Dźwięki w czacie</string>
<string name="pref_view_log">Wyświetl dziennik</string>
@@ -897,11 +899,6 @@
<string name="autocrypt_send_asm_button">Wyślij wiadomość konfiguracyjną Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Klucz został wysłany do ciebie. Przejdź do innego urządzenia i otwórz wiadomość konfiguracyjną. Zostanie wyświetlona prośba o podanie kodu konfiguracyjnego. Wpisz następujące cyfry w podpowiedzi.\n\nGdy skończysz, drugie urządzenie będzie gotowe do użycia funkcji automatycznego szyfrowania.</string>
<string name="autocrypt_prefer_e2ee">Preferuj szyfrowanie typu end-to-end</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Wiadomość konfiguracyjna automatycznego szyfrowania</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Jest to wiadomość konfiguracyjna automatycznego szyfrowania typu end-to-end służąca do przesyłania klucza między klientami.\n\nAby odszyfrować i użyć klucza, otwórz wiadomość w kliencie zgodnym z automatycznym szyfrowaniem i wprowadź kod konfiguracyjny przedstawiony na urządzeniu generującym.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Tej wiadomości nie można odszyfrować.\n\n• Możesz teraz pomóc odpowiadając po prostu na tą wiadomość i poprosić nadawcę o ponowne wysłanie wiadomości.\n\n• Jeśli właśnie ponownie zainstalowałeś Delta Chat, najlepiej będzie, jeśli ponownie skonfigurujesz Delta Chat teraz i wybierzesz „Dodaj jako drugie urządzenie” lub zaimportujesz kopię zapasową.</string>
@@ -1045,8 +1042,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Zmieniono konfigurację dla %1$s</string>
<string name="verified_contact_required_explain">Aby zagwarantować szyfrowanie end-to-end, do tej grupy możesz dodawać wyłącznie kontakty oznaczone zielonym znacznikiem wyboru.\n\nMożesz spotkać się z kontaktami osobiście i zeskanować ich kod QR, aby je przedstawić.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Skopiowano adres kodu QR do schowka</string>
<string name="mailto_dialog_header_select_chat">Wybierz czat, do którego chcesz wysłać wiadomość</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">Na czacie %1$s jest już wersja robocza wiadomości, czy chcesz ją zastąpić?</string>
@@ -1072,7 +1067,8 @@
<string name="perm_required_title">Wymagane zezwolenie</string>
<string name="perm_continue">Kontynuuj</string>
<string name="perm_explain_access_to_camera_denied">Delta Chat wymaga pozwolenia na używanie aparatu, aby robić zdjęcia lub nagrywać filmy, ale zostało ono trwale odrzucone. Przejdź do menu ustawień aplikacji, wybierz „Uprawnienia” i włącz „Aparat”.</string>
<string name="perm_explain_access_to_mic_denied">Delta Chat wymaga zezwolenia użycia mikrofonu, aby wysyłać wiadomości audio, ale zostało ono trwale odrzucone. Przejdź do ustawień aplikacji, wybierz „Uprawnienia” i włącz „Mikrofon”.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Aby wysyłać wiadomości audio, przejdź do ustawień aplikacji, wybierz „Uprawnienia” lub „Prywatność i bezpieczeństwo” i włącz „Mikrofon”.</string>
<string name="perm_explain_access_to_storage_denied">Delta Chat wymaga uprawnienia do przechowywania, aby dołączyć lub wyeksportować zdjęcia, filmy lub dźwięk, ale zostało ono trwale odrzucone. Przejdź do menu ustawień aplikacji, wybierz „Uprawnienia” i włącz „Pamięć”.</string>
<string name="perm_explain_access_to_location_denied">Delta Chat wymaga zezwolenia na lokalizację, aby dołączyć lokalizację, ale zostało ono trwale odrzucone. Przejdź do menu ustawień aplikacji, wybierz „Uprawnienia” i włącz „Lokalizacja”.</string>
<string name="perm_explain_access_to_notifications_denied">Aby odbierać powiadomienia, przejdź do „Ustawienia » Aplikacje » Delta Chat” i włącz „Powiadomienia”.</string>
+1 -9
View File
@@ -617,8 +617,6 @@
<string name="pref_manage_keys">Gerenciar chaves</string>
<string name="pref_use_system_emoji">Usar emojis do sistema</string>
<string name="pref_use_system_emoji_explain">Desabilitar emojis do Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Acesso do aplicativo</string>
<string name="pref_chats">Conversas</string>
<string name="pref_in_chat_sounds">Sons da conversa</string>
<string name="pref_view_log">Ver relatório</string>
@@ -721,11 +719,6 @@
<string name="autocrypt_send_asm_button">Enviar \"mensagem de configuração do Autocrypt\"?</string>
<string name="autocrypt_send_asm_explain_after">Sua chave foi enviada para você mesmo. Abra a mensagem de configuração no seu outro dispositivo. Lá será exibido uma solicitação de código. Digite-o lá.\n\nDepois disso, seu dispositivo estará pronto para usar o Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Preferir criptografia ponta a ponta</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Mensagem de configuração do Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Esta é uma \"mensagem de configuração do Autocrypt\" que serve para transferir suas chaves entre dispositivos diferentes.\n\nPara descriptografar sua chave abra esta mensagem num cliente compatível e digite o código exibido no dispositivo de origem.</string>
<string name="systemmsg_unknown_sender_for_chat">Remetente desconhecido para esta conversa. Veja \'informações\' para mais detalhes.</string>
<string name="systemmsg_subject_for_new_contact">Mensagem de %1$s</string>
@@ -846,8 +839,6 @@
<string name="verified_by">Verificado por %1$s</string>
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">A configuração Autocrypt mudou para %1$s</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Endereço do código QR copiado para a área de transferência</string>
<string name="mailto_dialog_header_select_chat">Selecione o bate-papo para enviar a mensagem</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s já tem um rascunho de mensagem, deseja substituí-lo?</string>
@@ -866,6 +857,7 @@
<string name="perm_required_title">Permissão necessária</string>
<string name="perm_continue">Continuar</string>
<string name="perm_explain_access_to_camera_denied">O Delta Chat precisa acessar sua câmera para tirar fotos e gravar vídeos, mas o acesso foi negado. Por favor, habilite a câmera nas configurações de permissões do aplicativo.</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">O Delta Chat precisa acessar seu microfone para que você possa enviar mensagens de voz, mas o acesso foi negado. Por favor, habilite o microfone nas configurações de permissões do aplicativo.</string>
<string name="perm_explain_access_to_storage_denied">Para receber o enviar arquivos, vai nas configurações do aplicativo, escolhe \"Permissões\", e ativar \"Armazenamento\".</string>
<string name="perm_explain_access_to_location_denied">O Delta Chat precisa acessar sua localização para que você possa enviá-la, mas o acesso foi negado. Por favor, habilite o seu acesso nas configurações de permissões do aplicativo.</string>
+1 -7
View File
@@ -261,8 +261,6 @@
<string name="pref_manage_keys">Gerir teclas</string>
<string name="pref_use_system_emoji">Utilizar o emoji do sistema</string>
<string name="pref_use_system_emoji_explain">Desactivar o suporte integrado de emojis no Delta Chat</string>
<!-- deprecated -->
<string name="pref_app_access">Acesso à App</string>
<string name="pref_chats">chats</string>
<string name="pref_in_chat_sounds">Sons na chat</string>
<string name="pref_view_log">Ver o log</string>
@@ -295,11 +293,6 @@
<string name="autocrypt_send_asm_button">Enviar mensagem com a definição da encriptação automática</string>
<string name="autocrypt_send_asm_explain_after">A sua configuração foi-lhe enviada. Entre no outro dispositivo e abra a mensagem de configuração. Deve ser solicitado a fornecer um código de configuração. Digite os seguintes dígitos no prompt.\n\n Assim que estiver concluido, o outro dispositivo estará pronto para usar o Autocrypt.</string>
<string name="autocrypt_prefer_e2ee">Preferir encriptação ponta a ponta</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Mensagem de configuração do Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">Esta é a Mensagem de Configuração de Autocrypt usada para transferir sua configuração de ponta a ponta entre clientes (dispositivos). \n\nPara descriptar e usar, abra a mensagem em um cliente compatível com Autocrypt e insira o código de configuração apresentado no dispositivo de geração.</string>
<!-- %1$s will be replaced by the old group name, %2$s will be replaced by the new group name -->
<string name="group_name_changed_by_you">O nome do grupo mudou de \"%1$s\" para \"%2$s\" por mim.</string>
@@ -354,6 +347,7 @@
<string name="perm_required_title">Permissão necessária</string>
<string name="perm_continue">Continuar</string>
<string name="perm_explain_access_to_camera_denied">O Delta Chat necessita de permissão de acesso à Câmera para tirar fotos ou vídeos, mas o acesso foi negado permanentemente. Por favor, continue no menu de configurações do aplicativo, selecione \"Permissões\" e active \"Câmera\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">O Delta Chat necessita de permissão de acesso ao microfone para enviar mensagens de áudio, mas foi negado. Por favor, continue com as configurações do aplicativo, selecione \"Permissões\" e active \"Microfone\".</string>
<string name="perm_explain_access_to_storage_denied">O Delta Chat necessita da permissão de armazenamento para anexar ou exportar fotos, vídeos ou áudio, mas foi negado. Por favor, continue no menu de configurações do aplicativo, seleccione \"Permissões\" e active \"Armazenamento\".</string>
<string name="perm_explain_access_to_location_denied">O Delta Chat necessita permissão de acesso à localização para anexar um local, mas ele negado. Por favor, continue no menu de configurações do aplicativo, selecione \"Permissões \"e ative \"Localização\".</string>
+16 -20
View File
@@ -202,6 +202,10 @@
<string name="images_and_videos">Изображения и видео</string>
<string name="file">Файл</string>
<string name="files">Файлы</string>
<string name="files_attach_hint">Отправить оригинальные файлы и несжатые изображения</string>
<!-- "Files" here means the "Files Selector App" or "Files Manager App" -->
<string name="choose_from_files">Выбрать из файлов</string>
<string name="choose_from_gallery">Выбрать из галереи</string>
<!-- "App" is used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
<string name="webxdc_app">Приложение</string>
<!-- plural of "App"; used to present "Webxdc App" (https://webxdc.org) in a user friendly way. Please stay close to the original term and keep it short (it is used in menus with few screen space). -->
@@ -546,15 +550,15 @@
<string name="tab_docs">Документы</string>
<string name="tab_links">Ссылки</string>
<string name="tab_map">Карта</string>
<string name="tab_gallery_empty_hint">Здесь можно просмотреть изображения и видео, отправленные в этом чате.</string>
<string name="tab_docs_empty_hint">Здесь можно просмотреть документы и другие файлы, отправленные в этом чате.</string>
<string name="tab_image_empty_hint">Здесь можно просмотреть изображения, отправленные в этом чате.</string>
<string name="tab_video_empty_hint">Здесь можно просмотреть видео, отправленные в этом чате.</string>
<string name="tab_audio_empty_hint">Здесь можно просмотреть аудиофайлы и голосовые сообщения, отправленные в этом чате.</string>
<string name="tab_webxdc_empty_hint">Здесь можно просмотреть приложения, отправленные в этом чате.</string>
<string name="tab_all_media_empty_hint">Здесь можно просмотреть медиафайлы, отправленные в любом чате.</string>
<string name="all_files_empty_hint">Здесь можно просмотреть документы и другие файлы, отправленные в любом чате.</string>
<string name="all_apps_empty_hint">Здесь можно просмотреть приложения, полученные или отправленные в любом чате.</string>
<string name="tab_gallery_empty_hint">Изображения и видео, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_docs_empty_hint">Документы и прочие файлы, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_image_empty_hint">Изображения, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_video_empty_hint">Видео, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_audio_empty_hint">Аудиофайлы и голосовые сообщения, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_webxdc_empty_hint">Приложения, прикреплённые к этому чату, будут показаны здесь.</string>
<string name="tab_all_media_empty_hint">Медиафайлы, из всех ваших чатов, будут показаны здесь.</string>
<string name="all_files_empty_hint">Документы и прочие вложения, из всех ваших чатов, будут показаны здесь.</string>
<string name="all_apps_empty_hint">Приложения, из всех ваших чатов, будут показаны здесь.</string>
<string name="media_preview">Предпросмотр медиафайлов</string>
<!-- option to show images in the gallery with the correct width/height aspect (instead of square); other gallery apps may be a source of inspiration for translation :) -->
<string name="aspect_ratio_grid">Сетка с соотношением сторон</string>
@@ -773,8 +777,6 @@
<string name="pref_use_system_emoji_explain">Отключить поддержку встроенных эмодзи Delta Chat</string>
<string name="pref_show_system_contacts">Чтение системной адресной книги</string>
<string name="pref_show_system_contacts_explain">Предлагать создать чаты с контактами из адресной книги.</string>
<!-- deprecated -->
<string name="pref_app_access">Доступ приложения</string>
<string name="pref_chats">Чаты</string>
<string name="pref_in_chat_sounds">Звуки в чате</string>
<string name="pref_view_log">Открыть журнал</string>
@@ -897,11 +899,6 @@
<string name="autocrypt_send_asm_button">Сообщение с параметрами Autocrypt</string>
<string name="autocrypt_send_asm_explain_after">Ваши настройки были оправлены вам. Переключитесь на другое устройство и откройте сообщение с настройкой. Вам будет предложено ввести код настройки. Введите следующие цифры:</string>
<string name="autocrypt_prefer_e2ee">Предпочитать сквозное шифрование</string>
<!-- deprecated -->
<string name="autocrypt_asm_subject">Сообщение с параметрами Autocrypt</string>
<!-- deprecated -->
<string name="autocrypt_asm_general_body">\"Сообщение с параметрами Autocrypt\" служит для передачи параметров сквозного шифрования между клиентами.\n\nЧтобы расшифровать и использовать параметры откройте это сообщение в приложении, поддерживающем Autocrypt и введите код настройки, показанный на исходном устройстве.</string>
<!-- system messages -->
<string name="systemmsg_cannot_decrypt">Это сообщение не может быть расшифровано.\n\n• Попробуйте просто ответить на это сообщение и попросить отправителя отправить его снова.\n\n• Если вы только что переустановили Delta Chat, то лучше сейчас заново настроить Delta Chat и выбрать \"Добавить как второе устройство\" или импортировать резервную копию.</string>
@@ -1036,7 +1033,7 @@
<string name="secure_join_wait">Устанавливается гарантированное сквозное шифрование, пожалуйста, подождите...</string>
<!-- deprecated -->
<string name="secure_join_wait_timeout">Не удалось установить гарантированное сквозное шифрование, но вы уже можете отправить сообщение.</string>
<string name="secure_join_takes_longer">Похоже, это длится дольше, чем ожидалось, возможно, из-за проблем с подключением или того, что один из вас сейчас офлайн.\n\nПри этом процесс будет продолжен в фоновом режиме, поэтому вы можете заняться другими делами…</string>
<string name="secure_join_takes_longer">Контакт должен быть в режиме онлайн, чтобы продолжить.\n\nЭтот процесс будет автоматически продолжен в фоновом режиме.</string>
<string name="contact_verified">%1$s подтверждён.</string>
<string name="contact_not_verified">Невозможно установить гарантированное сквозное шифрование с %1$s.</string>
<!-- Shown in contact profile. The placeholder will be replaced by the name of the contact that introduced the contact. -->
@@ -1045,8 +1042,6 @@
<!-- translators: "setup" is the "encryption setup" here, as in "Autocrypt Setup Message" -->
<string name="contact_setup_changed">Изменены настройки для %1$s</string>
<string name="verified_contact_required_explain">Чтобы обеспечить сквозное шифрование, вы можете добавлять в эту группу только контакты с зеленой галочкой.\n\nВы можете встретиться с контактами лично и отсканировать их QR-код, чтобы подтвердить их личность.</string>
<!-- deprecated -->
<string name="copy_qr_data_success">Ссылка из QR-кода скопирована в буфер обмена</string>
<string name="mailto_dialog_header_select_chat">Выберите чат, чтобы отправить сообщение</string>
<!-- first placeholder is the name of the chat -->
<string name="confirm_replace_draft">%1$s уже имеет черновик, вы хотите его заменить?</string>
@@ -1072,7 +1067,8 @@
<string name="perm_required_title">Требуется разрешение</string>
<string name="perm_continue">Продолжить</string>
<string name="perm_explain_access_to_camera_denied">Чтобы делать фотографии, снимать видео, откройте настройки приложения, выберите \"Разрешения\" и включите \"Камера\".</string>
<string name="perm_explain_access_to_mic_denied">Чтобы отправлять аудиосообщения, откройте настройки приложения, выберите \"Разрешения\" и включите \"Микрофон\".</string>
<!-- give the user an idea where to find the "Microphone" option. the hint is only shown if access was initially denied by the user. pick up wordings really used on the systems, but do not be overly precise: things shift around often and there are too many system we support to track every detail and click path -->
<string name="perm_explain_access_to_mic_denied">Чтобы отправлять аудиосообщения, откройте настройки приложения, выберите \"Разрешения\" или \"Конфиденциальность и безопасность\" и включите \"Микрофон\".</string>
<string name="perm_explain_access_to_storage_denied">Чтобы получать или отправлять файлы, откройте настройки приложения, выберите \"Разрешения\" и включите \"Хранилище\".</string>
<string name="perm_explain_access_to_location_denied">Чтобы прикрепить местоположение, откройте настройки приложения, выберите \"Разрешения\" и включите \"Местоположение\".</string>
<string name="perm_explain_access_to_notifications_denied">Для получения уведомлений, перейдите в \"Настройки системы / Приложения / Delta Chat\" и включите \"Уведомления\".</string>

Some files were not shown because too many files have changed in this diff Show More