mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0325c9531f | |||
| c4ec5c6e1a | |||
| b00e35f341 | |||
| a935425e5d | |||
| 46fc46ee4f | |||
| d7fcf9433d | |||
| ec921e22e8 | |||
| 55bc139c72 | |||
| a5187ed1a2 | |||
| a79cbe9804 | |||
| dd9d10a991 | |||
| 3c78f6a82f | |||
| 4a30940d54 | |||
| 0c0e1a35e2 | |||
| 0fe4827214 | |||
| 80c8b7ef20 | |||
| 93a99cdd2c | |||
| 76dfa1fca5 | |||
| ba1c32fe05 | |||
| 1c77b0bf4e | |||
| 31331b958f | |||
| 80fc718ec8 | |||
| 823a1e2197 | |||
| 8fad2d0226 | |||
| ad69dc4ad4 | |||
| f8f89497a9 | |||
| 4272ac7619 | |||
| 3e5da102a5 | |||
| 51742716ec | |||
| fb7a106617 | |||
| c016c728d3 | |||
| b6c1d4b768 | |||
| 21cb85ce39 | |||
| fa9f13bba8 | |||
| 7feda6323a | |||
| 4cd02a673f | |||
| 22659c35fb | |||
| a6f89674b8 | |||
| 1bfdbfc00d | |||
| 73686ba57f | |||
| c44c78c87d | |||
| 371042029f | |||
| fa0f66bde2 | |||
| 843c5b548e | |||
| 06a3a6b285 | |||
| d2ac75d526 | |||
| 723b56b2d9 | |||
| 1910ccff83 | |||
| 11e676de2c | |||
| eb2c357868 | |||
| 4020b9c086 | |||
| be0670c592 | |||
| d1786bc9dc | |||
| 215b834da9 | |||
| 5e77be8dd0 | |||
| 913663743c |
@@ -0,0 +1,23 @@
|
||||
# Thank you for contributing to Delta Chat.
|
||||
|
||||
Delta Chat is divided in two parts: Android and [Core](https://github.com/deltachat/deltachat-core).
|
||||
|
||||
In short, the Android part is about the User Interface. The Interface is translated using [Transifex](https://www.transifex.com/delta-chat/delta-chat-android). The Core part is about handling the connection to the mail server and the chat or e-mail messages as well as providing secure communication by using [Autocrypt](https://autocrypt.org/en/latest/).
|
||||
|
||||
Delta Chat Core is used in the Android and in the [iOS](https://github.com/deltachat/deltachat-ios) version.
|
||||
|
||||
Please try to create your issue to the respective Issue tracker: Here, or in [Core](https://github.com/deltachat/deltachat-core/issues). Don't worry, if you are not sure. We will move the issue if necessary.
|
||||
|
||||
If you intend to create a **feature request** for Delta Chat, please check the exiting requests for
|
||||
* [Android](https://github.com/deltachat/deltachat-android/issues?q=is%3Aissue+label%3A%22feature+request%22+sort%3Aupdated-desc) and
|
||||
* [Core](https://github.com/deltachat/deltachat-core/issues?q=is%3Aissue+label%3A%22feature+request%22+sort%3Aupdated-desc)
|
||||
|
||||
first.
|
||||
|
||||
If you intend to send a **bug report** for Delta Chat, search for bugs (including closed) in
|
||||
* [Android](https://github.com/deltachat/deltachat-android/issues?&q=is%3Aissue) and
|
||||
* [Core](https://github.com/deltachat/deltachat-core/issues?&q=is%3Aissue)
|
||||
|
||||
A **bug** is a reproducable misbehaviour, when something happens but something else should happen instead.
|
||||
|
||||
Did you know there is a [Help](https://delta.chat/en/help) page for Delta Chat?
|
||||
@@ -0,0 +1,34 @@
|
||||
_Please read the guidelines linked above, especially when you are a first time contributor. Remove this text and provide some basic informations below, if applicable. Remove template content that is not applicable._
|
||||
|
||||
**Delta Chat version**
|
||||
|
||||
See settings dialog …
|
||||
|
||||
**Expected behavior**
|
||||
|
||||
What is the expected output?
|
||||
|
||||
**Actual behavior**
|
||||
|
||||
What do you see instead?
|
||||
|
||||
**Steps to reproduce the problem**
|
||||
|
||||
1. …
|
||||
2. …
|
||||
|
||||
**Screen snapshots**
|
||||
|
||||
If applicable …
|
||||
|
||||
**Debug logs**
|
||||
|
||||
If applicable, debug logs can be copied from within the Delta Chat app:
|
||||
|
||||
Open the _Settings_ menu -> _About_ -> _version number|Info_.
|
||||
|
||||
Alternatively from the Android system log:
|
||||
|
||||
` adb logcat -v time -s DeltaChat `
|
||||
|
||||
This log contains private data (e.g. mail address, provider information) which shall be removed or anonymised prior to posting.
|
||||
@@ -9,3 +9,7 @@ libs/
|
||||
|
||||
# ignore private scripts and directories, eg. local2github.prv.sh
|
||||
*.prv*
|
||||
|
||||
# transifex temporary files
|
||||
tools/.tx/
|
||||
tools/translations/
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# Delta Chat Changelog
|
||||
|
||||
## v0.10.0
|
||||
2017-11-29
|
||||
|
||||
* Fix usage of multiple private keys
|
||||
* Fix various memory leaks
|
||||
* Update English, Portuguese and Turkish translations
|
||||
|
||||
## v0.9.9
|
||||
2017-11-18
|
||||
|
||||
* Alternate include order for F-Droid
|
||||
* Add Serbian translation
|
||||
* Update Catalan, Dutch, English, French, German, Hungarian, Italian, Polish, Portuguese, Russian, Spanish, Tamil, Telugu and Ukrainian translations
|
||||
|
||||
## v0.9.8
|
||||
2017-11-15
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig.versionCode = 47
|
||||
defaultConfig.versionCode = 50
|
||||
|
||||
sourceSets.main {
|
||||
jniLibs.srcDir 'libs'
|
||||
@@ -121,6 +121,6 @@ android {
|
||||
minSdkVersion 14 // 14: Android 4.0 Ice Cream Sandwich 2011 (Telegram default), 21: Android 5.0 Lollipop 2014 (recommended for InstantRun)
|
||||
targetSdkVersion 25 // 25: Nougat. CAVE: Do NOT target "Andoid O" without checking the background tasks carefully, see https://developer.android.com/preview/behavior-changes.html#back-all . As long as we target "Nougat", everything works as expected even for "Andoid O" or later
|
||||
// in general, we should not change the target without reason; eg. after the switch to Nougat, the camera stops working (see https://inthecheesefactory.com/blog/how-to-share-access-to-file-with-fileprovider-on-android-nougat/en )
|
||||
versionName "0.9.8" // do NOT forget to increase defaultConfig.versionCode!
|
||||
versionName "0.10.0" // do NOT forget to increase defaultConfig.versionCode!
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1633,6 +1633,7 @@ LOCAL_SRC_FILES += \
|
||||
./messenger-backend/libs/netpgp/src/writer.c \
|
||||
./messenger-backend/src/mraheader.c \
|
||||
./messenger-backend/src/mrapeerstate.c \
|
||||
./messenger-backend/src/mrarray.c \
|
||||
./messenger-backend/src/mrchat.c \
|
||||
./messenger-backend/src/mrchatlist.c \
|
||||
./messenger-backend/src/mrcontact.c \
|
||||
@@ -1642,6 +1643,7 @@ LOCAL_SRC_FILES += \
|
||||
./messenger-backend/src/mrkey.c \
|
||||
./messenger-backend/src/mrkeyring.c \
|
||||
./messenger-backend/src/mrloginparam.c \
|
||||
./messenger-backend/src/mrlot.c \
|
||||
./messenger-backend/src/mrmailbox.c \
|
||||
./messenger-backend/src/mrmailbox_configure.c \
|
||||
./messenger-backend/src/mrmailbox_e2ee.c \
|
||||
@@ -1653,7 +1655,6 @@ LOCAL_SRC_FILES += \
|
||||
./messenger-backend/src/mrmsg.c \
|
||||
./messenger-backend/src/mrparam.c \
|
||||
./messenger-backend/src/mrpgp.c \
|
||||
./messenger-backend/src/mrpoortext.c \
|
||||
./messenger-backend/src/mrsaxparser.c \
|
||||
./messenger-backend/src/mrsimplify.c \
|
||||
./messenger-backend/src/mrsmtp.c \
|
||||
|
||||
Submodule MessengerProj/jni/messenger-backend updated: d2824123f7...8baea599ea
+172
-133
@@ -117,15 +117,15 @@ void mrosnative_unsetup_thread(mrmailbox_t* mailbox)
|
||||
|
||||
/* tools */
|
||||
|
||||
static jintArray carray2jintArray_n_carray_free(JNIEnv *env, const carray* ca)
|
||||
static jintArray mrarray2jintArray_n_mrarray_unref(JNIEnv *env, const mrarray_t* ca)
|
||||
{
|
||||
int i, icnt = ca? carray_count(ca) : 0;
|
||||
int i, icnt = ca? mrarray_get_cnt(ca) : 0;
|
||||
jintArray ret = (*env)->NewIntArray(env, icnt); if (ret == NULL) { return NULL; }
|
||||
|
||||
if( ca ) {
|
||||
if( icnt ) {
|
||||
void** ca_data = carray_data(ca);
|
||||
if( sizeof(void*)==sizeof(jint) ) {
|
||||
uintptr_t* ca_data = ca->m_array;
|
||||
if( sizeof(uintptr_t)==sizeof(jint) ) {
|
||||
(*env)->SetIntArrayRegion(env, ret, 0, icnt, (jint*)ca_data);
|
||||
}
|
||||
else {
|
||||
@@ -137,7 +137,7 @@ static jintArray carray2jintArray_n_carray_free(JNIEnv *env, const carray* ca)
|
||||
free(temp);
|
||||
}
|
||||
}
|
||||
carray_free(ca);
|
||||
mrarray_unref(ca);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -287,9 +287,9 @@ JNIEXPORT void Java_com_b44t_messenger_MrMailbox_disconnect(JNIEnv *env, jclass
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getKnownContacts(JNIEnv *env, jclass cls, jstring query)
|
||||
{
|
||||
CHAR_REF(query);
|
||||
carray* ca = mrmailbox_get_known_contacts(get_mrmailbox_t(env, cls), queryPtr);
|
||||
mrarray_t* ca = mrmailbox_get_known_contacts(get_mrmailbox_t(env, cls), queryPtr);
|
||||
CHAR_UNREF(query);
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
@@ -301,8 +301,8 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_getBlockedCount(JNIEnv *env, jc
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getBlockedContacts(JNIEnv *env, jclass cls)
|
||||
{
|
||||
carray* ca = mrmailbox_get_blocked_contacts(get_mrmailbox_t(env, cls));
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
mrarray_t* ca = mrmailbox_get_blocked_contacts(get_mrmailbox_t(env, cls));
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
@@ -433,10 +433,10 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_setChatName(JNIEnv *env, jclass
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_setChatImage(JNIEnv *env, jclass cls, jint chat_id, jstring image/*NULL=delete*/)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_setChatProfileImage(JNIEnv *env, jclass cls, jint chat_id, jstring image/*NULL=delete*/)
|
||||
{
|
||||
CHAR_REF(image);
|
||||
jint ret = (jint)mrmailbox_set_chat_image(get_mrmailbox_t(env, cls), chat_id, imagePtr/*CHAR_REF() preserves NULL*/);
|
||||
jint ret = (jint)mrmailbox_set_chat_profile_image(get_mrmailbox_t(env, cls), chat_id, imagePtr/*CHAR_REF() preserves NULL*/);
|
||||
CHAR_UNREF(image);
|
||||
return ret;
|
||||
}
|
||||
@@ -499,33 +499,30 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_sendTextMsg(JNIEnv *env, jclass
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_sendVcardMsg(JNIEnv *env, jobject obj, jint chat_id, jint contact_id)
|
||||
{
|
||||
return mrmailbox_send_vcard_msg(get_mrmailbox_t(env, obj), chat_id, contact_id);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_sendMediaMsg(JNIEnv *env, jclass cls, jint chat_id, jint type, jstring file, jstring mime, jint w, jint h, jint ms, jstring author, jstring trackname)
|
||||
{
|
||||
mrmsg_t* msg = mrmsg_new();
|
||||
msg->m_type = type;
|
||||
CHAR_REF(mime);
|
||||
mrparam_set(msg->m_param, 'm', mimePtr);
|
||||
CHAR_UNREF(mime);
|
||||
CHAR_REF(file);
|
||||
mrparam_set(msg->m_param, 'f', filePtr);
|
||||
CHAR_UNREF(file);
|
||||
if( type == MR_MSG_IMAGE || type == MR_MSG_GIF || type == MR_MSG_VIDEO ) {
|
||||
mrparam_set_int(msg->m_param, 'w', w);
|
||||
mrparam_set_int(msg->m_param, 'h', h);
|
||||
}
|
||||
if( type == MR_MSG_AUDIO || type == MR_MSG_VOICE || type == MR_MSG_VIDEO ) {
|
||||
mrparam_set_int(msg->m_param, 'd', ms);
|
||||
}
|
||||
if( type == MR_MSG_AUDIO ) {
|
||||
CHAR_REF(author);
|
||||
mrparam_set(msg->m_param, 'N', authorPtr);
|
||||
CHAR_UNREF(author);
|
||||
CHAR_REF(trackname);
|
||||
mrparam_set(msg->m_param, 'n', tracknamePtr);
|
||||
CHAR_UNREF(trackname);
|
||||
}
|
||||
jint msg_id = mrmailbox_send_msg(get_mrmailbox_t(env, cls), chat_id, msg);
|
||||
mrmsg_unref(msg);
|
||||
jint msg_id = 0;
|
||||
CHAR_REF(file);
|
||||
CHAR_REF(mime);
|
||||
CHAR_REF(author);
|
||||
CHAR_REF(trackname);
|
||||
switch( type ) {
|
||||
case MR_MSG_IMAGE: msg_id = (jint)mrmailbox_send_image_msg(get_mrmailbox_t(env, cls), chat_id, filePtr, mimePtr, w, h); break;
|
||||
case MR_MSG_VIDEO: msg_id = (jint)mrmailbox_send_video_msg(get_mrmailbox_t(env, cls), chat_id, filePtr, mimePtr, w, h, ms); break;
|
||||
case MR_MSG_VOICE: msg_id = (jint)mrmailbox_send_voice_msg(get_mrmailbox_t(env, cls), chat_id, filePtr, mimePtr, ms); break;
|
||||
case MR_MSG_AUDIO: msg_id = (jint)mrmailbox_send_audio_msg(get_mrmailbox_t(env, cls), chat_id, filePtr, mimePtr, ms, authorPtr, tracknamePtr); break;
|
||||
default: msg_id = (jint)mrmailbox_send_file_msg (get_mrmailbox_t(env, cls), chat_id, filePtr, mimePtr); break;
|
||||
}
|
||||
CHAR_UNREF(trackname);
|
||||
CHAR_UNREF(author);
|
||||
CHAR_UNREF(mime);
|
||||
CHAR_UNREF(file);
|
||||
return msg_id;
|
||||
}
|
||||
|
||||
@@ -672,13 +669,15 @@ JNIEXPORT jint Java_com_b44t_messenger_MrChatlist_MrChatlistGetCnt(JNIEnv *env,
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_MrChatlist_MrChatlistGetChatByIndex(JNIEnv *env, jclass c, jlong hChatlist, jint index)
|
||||
{
|
||||
return (jlong)mrchatlist_get_chat_by_index((mrchatlist_t*)hChatlist, index);
|
||||
mrchatlist_t* chatlist = (mrchatlist_t*)hChatlist;
|
||||
return (jlong)mrmailbox_get_chat(chatlist->m_mailbox, mrchatlist_get_chat_id(chatlist, index));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_MrChatlist_MrChatlistGetMsgByIndex(JNIEnv *env, jclass c, jlong hChatlist, jint index)
|
||||
{
|
||||
return (jlong)mrchatlist_get_msg_by_index((mrchatlist_t*)hChatlist, index);
|
||||
mrchatlist_t* chatlist = (mrchatlist_t*)hChatlist;
|
||||
return (jlong)mrmailbox_get_msg(chatlist->m_mailbox, mrchatlist_get_msg_id(chatlist, index));
|
||||
}
|
||||
|
||||
|
||||
@@ -713,62 +712,55 @@ JNIEXPORT void Java_com_b44t_messenger_MrChat_MrChatUnref(JNIEnv *env, jclass c,
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getId(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getId(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls); if( ths == NULL ) { return 0; }
|
||||
mrchat_t* ths = get_mrchat_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_id;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getType(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getType(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls); if( ths == NULL ) { return 0; }
|
||||
mrchat_t* ths = get_mrchat_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_type;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getArchived(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getArchived(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls); if( ths == NULL ) { return 0; }
|
||||
mrchat_t* ths = get_mrchat_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_archived;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrChat_getName(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrChat_getName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls); if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
mrchat_t* ths = get_mrchat_t(env, obj); if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_name);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrChat_getSubtitle(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrChat_getSubtitle(JNIEnv *env, jobject obj)
|
||||
{
|
||||
const char* temp = mrchat_get_subtitle(get_mrchat_t(env, cls));
|
||||
const char* temp = mrchat_get_subtitle(get_mrchat_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getParam(JNIEnv *env, jclass cls, jint key, jstring def)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrChat_getProfileImage(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls);
|
||||
jstring ret = NULL;
|
||||
CHAR_REF(def);
|
||||
char* temp = mrparam_get(ths? ths->m_param:NULL, key, defPtr);
|
||||
if( temp ) {
|
||||
ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
}
|
||||
CHAR_UNREF(def);
|
||||
return ret; /* returns NULL only if key is unset and "def" is NULL */
|
||||
const char* temp = mrchat_get_profile_image(get_mrchat_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrChat_getParamInt(JNIEnv *env, jclass cls, jint key, jint def)
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_MrChat_isUnpromoted(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrchat_t* ths = get_mrchat_t(env, cls);
|
||||
return mrparam_get_int(ths? ths->m_param:NULL, key, def);
|
||||
return mrchat_is_unpromoted(get_mrchat_t(env, obj)) != 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -807,8 +799,8 @@ JNIEXPORT jint Java_com_b44t_messenger_MrChat_MrChatSetDraft(JNIEnv *env, jclass
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getChatMedia(JNIEnv *env, jclass cls, jint chat_id, jint msg_type, jint or_msg_type)
|
||||
{
|
||||
carray* ca = mrmailbox_get_chat_media(get_mrmailbox_t(env, cls), chat_id, msg_type, or_msg_type);
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
mrarray_t* ca = mrmailbox_get_chat_media(get_mrmailbox_t(env, cls), chat_id, msg_type, or_msg_type);
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
@@ -820,31 +812,31 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMailbox_getNextMedia(JNIEnv *env, jclas
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getChatMsgs(JNIEnv *env, jclass cls, jint chat_id, jint flags, jint marker1before)
|
||||
{
|
||||
carray* ca = mrmailbox_get_chat_msgs(get_mrmailbox_t(env, cls), chat_id, flags, marker1before);
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
mrarray_t* ca = mrmailbox_get_chat_msgs(get_mrmailbox_t(env, cls), chat_id, flags, marker1before);
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_searchMsgs(JNIEnv *env, jclass cls, jint chat_id, jstring query)
|
||||
{
|
||||
CHAR_REF(query);
|
||||
carray* ca = mrmailbox_search_msgs(get_mrmailbox_t(env, cls), chat_id, queryPtr);
|
||||
mrarray_t* ca = mrmailbox_search_msgs(get_mrmailbox_t(env, cls), chat_id, queryPtr);
|
||||
CHAR_UNREF(query);
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getFreshMsgs(JNIEnv *env, jclass cls)
|
||||
{
|
||||
carray* ca = mrmailbox_get_fresh_msgs(get_mrmailbox_t(env, cls));
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
mrarray_t* ca = mrmailbox_get_fresh_msgs(get_mrmailbox_t(env, cls));
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jintArray Java_com_b44t_messenger_MrMailbox_getChatContacts(JNIEnv *env, jclass cls, jint chat_id)
|
||||
{
|
||||
carray* ca = mrmailbox_get_chat_contacts(get_mrmailbox_t(env, cls), chat_id);
|
||||
return carray2jintArray_n_carray_free(env, ca);
|
||||
mrarray_t* ca = mrmailbox_get_chat_contacts(get_mrmailbox_t(env, cls), chat_id);
|
||||
return mrarray2jintArray_n_mrarray_unref(env, ca);
|
||||
}
|
||||
|
||||
|
||||
@@ -929,53 +921,35 @@ JNIEXPORT jint Java_com_b44t_messenger_MrMsg_MrMsgGetToId(JNIEnv *env, jclass c,
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrMsg_getParam(JNIEnv *env, jobject obj, jint key, jstring def)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getWidth(JNIEnv *env, jobject obj, jint def)
|
||||
{
|
||||
mrmsg_t* ths = get_mrmsg_t(env, obj);
|
||||
jstring ret = NULL;
|
||||
CHAR_REF(def);
|
||||
char* temp = mrparam_get(ths? ths->m_param:NULL, key, defPtr);
|
||||
if( temp ) {
|
||||
ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
}
|
||||
CHAR_UNREF(def);
|
||||
return ret;
|
||||
jint ret = (jint)mrmsg_get_width(get_mrmsg_t(env, obj));
|
||||
return ret? ret : def;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getParamInt(JNIEnv *env, jobject obj, jint key, jint def)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getHeight(JNIEnv *env, jobject obj, jint def)
|
||||
{
|
||||
mrmsg_t* ths = get_mrmsg_t(env, obj);
|
||||
return mrparam_get_int(ths? ths->m_param:NULL, key, def);
|
||||
jint ret = (jint)mrmsg_get_height(get_mrmsg_t(env, obj));
|
||||
return ret? ret : def;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_MrMsg_setParamInt(JNIEnv *env, jobject obj, jint key, jint value)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getDuration(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrmsg_t* ths = get_mrmsg_t(env, obj);
|
||||
mrparam_set_int(ths? ths->m_param:NULL, key, value);
|
||||
return mrmsg_get_duration(get_mrmsg_t(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_MrMsg_saveParamToDisk(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT void Java_com_b44t_messenger_MrMsg_lateFilingMediaSize(JNIEnv *env, jobject obj, jint width, jint height, jint duration)
|
||||
{
|
||||
mrmsg_save_param_to_disk(get_mrmsg_t(env, obj));
|
||||
mrmsg_latefiling_mediasize(get_mrmsg_t(env, obj), width, height, duration);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getBytes(JNIEnv *env, jobject obj)
|
||||
{
|
||||
jint ret = 0;
|
||||
mrmsg_t* ths = get_mrmsg_t(env, obj);
|
||||
if( ths ) {
|
||||
const char* file = mrparam_get(ths->m_param, 'f', NULL);
|
||||
if( file ) {
|
||||
ret = mr_get_filebytes(file);
|
||||
free(file);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
return (jint)mrmsg_get_filebytes(get_mrmsg_t(env, obj));
|
||||
}
|
||||
|
||||
|
||||
@@ -985,21 +959,45 @@ JNIEXPORT jlong Java_com_b44t_messenger_MrMsg_getSummaryCPtr(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getSummarytext(JNIEnv *env, jobject obj, jint approx_characters)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrMsg_getSummarytext(JNIEnv *env, jobject obj, jint approx_characters)
|
||||
{
|
||||
return JSTRING_NEW(mrmsg_get_summarytext(get_mrmsg_t(env, obj), approx_characters));
|
||||
char* temp = mrmsg_get_summarytext(get_mrmsg_t(env, obj), approx_characters);
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_showPadlock(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return mrmsg_show_padlock(get_mrmsg_t(env, obj));
|
||||
return mrmsg_get_showpadlock(get_mrmsg_t(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_getFilename(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrMsg_getFile(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return JSTRING_NEW(mrmsg_get_filename(get_mrmsg_t(env, obj)));
|
||||
char* temp = mrmsg_get_file(get_mrmsg_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrMsg_getFilemime(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = mrmsg_get_filemime(get_mrmsg_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrMsg_getFilename(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = mrmsg_get_filename(get_mrmsg_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -1009,9 +1007,21 @@ JNIEXPORT jlong Java_com_b44t_messenger_MrMsg_getMediainfoCPtr(JNIEnv *env, jobj
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrMsg_isIncreation(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_MrMsg_isForwarded(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return (jint)mrmsg_is_increation(get_mrmsg_t(env, obj));
|
||||
return mrmsg_is_forwarded(get_mrmsg_t(env, obj)) != 0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_MrMsg_isIncreation(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return mrmsg_is_increation(get_mrmsg_t(env, obj)) != 0;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_MrMsg_isSystemcmd(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return mrmsg_is_systemcmd(get_mrmsg_t(env, obj)) != 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1040,76 +1050,105 @@ JNIEXPORT void Java_com_b44t_messenger_MrContact_MrContactUnref(JNIEnv *env, jcl
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_MrContactGetName(JNIEnv *env, jclass c, jlong hContact)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_getName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrcontact_t* ths = (mrcontact_t*)hContact; if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_name);
|
||||
const char* temp = mrcontact_get_name(get_mrcontact_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_getAuthName(JNIEnv *env, jclass cls)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_getDisplayName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrcontact_t* ths = get_mrcontact_t(env, cls); if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_authname);
|
||||
const char* temp = mrcontact_get_display_name(get_mrcontact_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_MrContactGetAddr(JNIEnv *env, jclass c, jlong hContact)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_getAddr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrcontact_t* ths = (mrcontact_t*)hContact; if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_addr);
|
||||
const char* temp = mrcontact_get_addr(get_mrcontact_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrContact_MrContactIsBlocked(JNIEnv *env, jclass c, jlong hContact)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrContact_getNameNAddr(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrcontact_t* ths = (mrcontact_t*)hContact; if( ths == NULL ) { return 0; }
|
||||
return (jint)ths->m_blocked;
|
||||
const char* temp = mrcontact_get_name_n_addr(get_mrcontact_t(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_MrContact_isBlocked(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrcontact_t* ths = get_mrcontact_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return (jboolean)(ths->m_blocked != 0);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* MrPoortext
|
||||
* MrLot
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_MrPoortext_MrPoortextUnref(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
static mrlot_t* get_mrlot_t(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrpoortext_unref((mrpoortext_t*)hPoortext);
|
||||
static jfieldID fid = 0;
|
||||
if( fid == 0 ) {
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
fid = (*env)->GetFieldID(env, cls, "m_hLot", "J" /*Signature, J=long*/);
|
||||
}
|
||||
if( fid ) {
|
||||
return (mrlot_t*)(*env)->GetLongField(env, obj, fid);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrPoortext_MrPoortextGetText1(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
JNIEXPORT void Java_com_b44t_messenger_MrLot_unref(JNIEnv *env, jclass cls, jlong hLot)
|
||||
{
|
||||
mrpoortext_t* ths = (mrpoortext_t*)hPoortext; if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
mrlot_unref((mrlot_t*)hLot);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrLot_getText1(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrlot_t* ths = get_mrlot_t(env, obj); if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_text1);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrPoortext_MrPoortextGetText1Meaning(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrLot_getText1Meaning(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrpoortext_t* ths = (mrpoortext_t*)hPoortext; if( ths == NULL ) { return 0; }
|
||||
mrlot_t* ths = get_mrlot_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_text1_meaning;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrPoortext_MrPoortextGetText2(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_MrLot_getText2(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrpoortext_t* ths = (mrpoortext_t*)hPoortext; if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
mrlot_t* ths = get_mrlot_t(env, obj); if( ths == NULL ) { return JSTRING_NEW(NULL); }
|
||||
return JSTRING_NEW(ths->m_text2);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_MrPoortext_MrPoortextGetTimestamp(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
JNIEXPORT jlong Java_com_b44t_messenger_MrLot_getTimestamp(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrpoortext_t* ths = (mrpoortext_t*)hPoortext; if( ths == NULL ) { return 0; }
|
||||
mrlot_t* ths = get_mrlot_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_timestamp;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrPoortext_MrPoortextGetState(JNIEnv *env, jclass c, jlong hPoortext)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_MrLot_getState(JNIEnv *env, jobject obj)
|
||||
{
|
||||
mrpoortext_t* ths = (mrpoortext_t*)hPoortext; if( ths == NULL ) { return 0; }
|
||||
mrlot_t* ths = get_mrlot_t(env, obj); if( ths == NULL ) { return 0; }
|
||||
return ths->m_state;
|
||||
}
|
||||
|
||||
|
||||
@@ -820,8 +820,8 @@ public class AndroidUtilities {
|
||||
public static void openForViewOrShare(Activity activity, int msg_id, String cmd)
|
||||
{
|
||||
MrMsg msg = MrMailbox.getMsg(msg_id);
|
||||
String path = msg.getParam('f', "");
|
||||
String mimeType = getMimetype(path, msg.getParam('m', "application/octet-stream"));
|
||||
String path = msg.getFile();
|
||||
String mimeType = getMimetype(path, msg.getFilemime());
|
||||
try {
|
||||
File file = new File(path);
|
||||
if( !file.exists() ) {
|
||||
@@ -892,8 +892,8 @@ public class AndroidUtilities {
|
||||
|
||||
MrMsg msg = MrMailbox.getMsg(msg_id);
|
||||
final int msg_type = msg.getType();
|
||||
String msg_file_path = msg.getParam('f', "");
|
||||
final String msg_mime = msg.getParam('m', "application/octet-stream");
|
||||
String msg_file_path = msg.getFile();
|
||||
final String msg_mime = msg.getFilemime();
|
||||
final String msg_file_name = msg.getFilename();
|
||||
final File sourceFile = new File(msg_file_path);
|
||||
if( !sourceFile.exists() ) {
|
||||
|
||||
@@ -55,7 +55,7 @@ import com.b44t.messenger.MessageObject;
|
||||
import com.b44t.messenger.MrChat;
|
||||
import com.b44t.messenger.MrContact;
|
||||
import com.b44t.messenger.MrMailbox;
|
||||
import com.b44t.messenger.MrPoortext;
|
||||
import com.b44t.messenger.MrLot;
|
||||
import com.b44t.messenger.R;
|
||||
import com.b44t.messenger.TLRPC;
|
||||
import com.b44t.messenger.Components.AvatarDrawable;
|
||||
@@ -1014,7 +1014,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate
|
||||
|
||||
maxWidth = maxWidth - dp(86);
|
||||
|
||||
MrPoortext pt = MrMailbox.getMsg(messageObject.getId()).getMediainfo();
|
||||
MrLot pt = MrMailbox.getMsg(messageObject.getId()).getMediainfo();
|
||||
CharSequence stringFinal = TextUtils.ellipsize(pt.getText2(), audioTitlePaint, maxWidth, TextUtils.TruncateAt.MIDDLE);
|
||||
songLayout = new StaticLayout(stringFinal, audioTitlePaint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
|
||||
if (songLayout.getLineCount() > 0) {
|
||||
@@ -1052,7 +1052,7 @@ public class ChatMessageCell extends BaseCell implements SeekBar.SeekBarDelegate
|
||||
int minutes = duration / 60;
|
||||
int seconds = duration - minutes * 60;
|
||||
String infoString = String.format("%d:%02d, %s", minutes, seconds, formatFileSize(documentAttach.size));
|
||||
if( MrMailbox.getMsg(messageObject.getId()).isIncreation()!=0 ) {
|
||||
if( MrMailbox.getMsg(messageObject.getId()).isIncreation() ) {
|
||||
infoString = ApplicationLoader.applicationContext.getString(R.string.OneMoment);
|
||||
}
|
||||
infoWidth = (int) Math.ceil(infoPaint.measureText(infoString));
|
||||
|
||||
@@ -44,9 +44,9 @@ import com.b44t.messenger.ContactsController;
|
||||
import com.b44t.messenger.EmojiInputView;
|
||||
import com.b44t.messenger.LocaleController;
|
||||
import com.b44t.messenger.MrChat;
|
||||
import com.b44t.messenger.MrLot;
|
||||
import com.b44t.messenger.MrMailbox;
|
||||
import com.b44t.messenger.MrMsg;
|
||||
import com.b44t.messenger.MrPoortext;
|
||||
import com.b44t.messenger.R;
|
||||
import com.b44t.messenger.ImageReceiver;
|
||||
import com.b44t.messenger.ActionBar.Theme;
|
||||
@@ -121,7 +121,7 @@ public class ChatlistCell extends BaseCell {
|
||||
private int avatarWH = AndroidUtilities.dp(52);
|
||||
|
||||
private MrChat m_mrChat = new MrChat(0);
|
||||
private MrPoortext m_summary = new MrPoortext(0);
|
||||
private MrLot m_summary = new MrLot(0);
|
||||
private boolean m_showUnreadCount;
|
||||
|
||||
public ChatlistCell(Context context) {
|
||||
@@ -163,7 +163,7 @@ public class ChatlistCell extends BaseCell {
|
||||
avatarImage.setRoundRadius(AndroidUtilities.dp(26));
|
||||
}
|
||||
|
||||
public void setChat(MrChat mrChat, MrPoortext mrSummary, int i, boolean showUnreadCount) {
|
||||
public void setChat(MrChat mrChat, MrLot mrSummary, int i, boolean showUnreadCount) {
|
||||
m_mrChat = mrChat;
|
||||
m_summary = mrSummary;
|
||||
m_showUnreadCount = showUnreadCount;
|
||||
@@ -265,8 +265,8 @@ public class ChatlistCell extends BaseCell {
|
||||
int title_meaning = m_summary.getText1Meaning();
|
||||
int title_color = Theme.CHATLIST_NAME_TEXT_COLOR;
|
||||
switch( title_meaning ) {
|
||||
case MrPoortext.MR_TEXT1_SELF: title_color = Theme.CHATLIST_SELF_TEXT_COLOR; break;
|
||||
case MrPoortext.MR_TEXT1_DRAFT: title_color = Theme.CHATLIST_DRAFT_TEXT_COLOR; break;
|
||||
case MrLot.MR_TEXT1_SELF: title_color = Theme.CHATLIST_SELF_TEXT_COLOR; break;
|
||||
case MrLot.MR_TEXT1_DRAFT: title_color = Theme.CHATLIST_DRAFT_TEXT_COLOR; break;
|
||||
}
|
||||
SpannableStringBuilder stringBuilder = SpannableStringBuilder.valueOf(String.format("%s: %s", title, mess));
|
||||
stringBuilder.setSpan(new ForegroundColorSpan(title_color), 0, title.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
@@ -455,7 +455,6 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
||||
{
|
||||
int do_archive = m_mrChat.getArchived()==0? 1: 0;
|
||||
MrMailbox.archiveChat((int)dialog_id, do_archive);
|
||||
MrMailbox.MrCallback(MrMailbox.MR_EVENT_MSGS_CHANGED, 0, 0);
|
||||
AndroidUtilities.showDoneHint(context);
|
||||
if( do_archive == 1 ) {
|
||||
finishFragment();
|
||||
@@ -474,13 +473,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
||||
builder.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
if( MrMailbox.deleteChat((int)dialog_id)!=0 ) {
|
||||
AndroidUtilities.showDoneHint(getParentActivity());
|
||||
finishFragment();
|
||||
}
|
||||
else {
|
||||
AndroidUtilities.showErrorHint(getParentActivity());
|
||||
}
|
||||
MrMailbox.deleteChat((int)dialog_id);
|
||||
AndroidUtilities.showDoneHint(getParentActivity());
|
||||
finishFragment();
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(R.string.Cancel, null);
|
||||
@@ -853,7 +848,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
||||
|
||||
TextView emptyView = new TextView(context);
|
||||
|
||||
if( m_mrChat.getParamInt(MrChat.MRP_UNPROMOTED, 0)==1 ) {
|
||||
if( m_mrChat.isUnpromoted() ) {
|
||||
emptyView.setText(context.getString(R.string.MsgNewGroupDraftHint));
|
||||
emptyView.setGravity(Gravity.START);
|
||||
}
|
||||
@@ -2765,7 +2760,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
||||
public void didPressedImage(ChatMessageCell cell) {
|
||||
MessageObject message = cell.getMessageObject();
|
||||
|
||||
if( message.type == MessageObject.MO_TYPE3_VIDEO && MrMailbox.getMsg(message.getId()).isIncreation()!=0 ) {
|
||||
if( message.type == MessageObject.MO_TYPE3_VIDEO && MrMailbox.getMsg(message.getId()).isIncreation() ) {
|
||||
return; // we're not ready (still compressing), a hint is already shown in the message itself
|
||||
}
|
||||
|
||||
|
||||
@@ -477,7 +477,6 @@ public class ChatlistActivity extends BaseFragment implements NotificationCenter
|
||||
public void onClick(DialogInterface dialogInterface, int clickedEntry) {
|
||||
if( clickedEntry==0 ) {
|
||||
MrMailbox.archiveChat(mrChat.getId(), mrChat.getArchived() == 0 ? 1 : 0);
|
||||
MrMailbox.MrCallback(MrMailbox.MR_EVENT_MSGS_CHANGED, 0, 0);
|
||||
AndroidUtilities.showDoneHint(context);
|
||||
}
|
||||
else if( clickedEntry==1 ) {
|
||||
@@ -486,13 +485,8 @@ public class ChatlistActivity extends BaseFragment implements NotificationCenter
|
||||
builder.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
if( MrMailbox.deleteChat(mrChat.getId())!=0 ) {
|
||||
MrMailbox.MrCallback(MrMailbox.MR_EVENT_MSGS_CHANGED, 0, 0);
|
||||
AndroidUtilities.showDoneHint(context);
|
||||
}
|
||||
else {
|
||||
AndroidUtilities.showErrorHint(context);
|
||||
}
|
||||
MrMailbox.deleteChat(mrChat.getId());
|
||||
AndroidUtilities.showDoneHint(context);
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(R.string.Cancel, null);
|
||||
@@ -975,7 +969,7 @@ public class ChatlistActivity extends BaseFragment implements NotificationCenter
|
||||
cell.useSeparator = (i != getItemCount() - 1);
|
||||
MrChat mrChat = getChatByIndex(i);
|
||||
|
||||
MrPoortext mrSummary = m_chatlist.getSummaryByIndex(i, mrChat);
|
||||
MrLot mrSummary = m_chatlist.getSummaryByIndex(i, mrChat);
|
||||
cell.setChat(mrChat, mrSummary, i, true);
|
||||
}
|
||||
}
|
||||
@@ -1107,7 +1101,7 @@ public class ChatlistActivity extends BaseFragment implements NotificationCenter
|
||||
cell.useSeparator = (j != m_chatlistCnt - 1);
|
||||
|
||||
MrChat mrChat = m_chatlist.getChatByIndex(j);
|
||||
MrPoortext mrSummary = m_chatlist.getSummaryByIndex(j, mrChat);
|
||||
MrLot mrSummary = m_chatlist.getSummaryByIndex(j, mrChat);
|
||||
|
||||
cell.setChat(mrChat, mrSummary, -1,
|
||||
true /*always show unread count*/);
|
||||
@@ -1123,7 +1117,7 @@ public class ChatlistActivity extends BaseFragment implements NotificationCenter
|
||||
|
||||
MrMsg mrMsg = MrMailbox.getMsg(m_msgIds[j]);
|
||||
MrChat mrChat = MrMailbox.getChat(mrMsg.getChatId());
|
||||
MrPoortext mrSummary = mrMsg.getSummary(mrChat);
|
||||
MrLot mrSummary = mrMsg.getSummary(mrChat);
|
||||
|
||||
cell.setChat(mrChat, mrSummary, -1,
|
||||
mrMsg.getState()==MrMsg.MR_IN_FRESH /*show unread count only if the message itself is unread*/ );
|
||||
|
||||
@@ -182,7 +182,7 @@ public class ContactsController {
|
||||
}
|
||||
}
|
||||
else if( chatType == MrChat.MR_CHAT_GROUP ) {
|
||||
tempPath = mrChat.getParam(MrChat.MRP_PROFILE_IMAGE, "");
|
||||
tempPath = mrChat.getProfileImage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,10 +54,8 @@ public class MrChat {
|
||||
public native String getName();
|
||||
public native String getSubtitle();
|
||||
|
||||
public static int MRP_UNPROMOTED = 'U';
|
||||
public static int MRP_PROFILE_IMAGE = 'i';
|
||||
public native String getParam(int key, String def);
|
||||
public native int getParamInt(int key, int def);
|
||||
public native String getProfileImage();
|
||||
public native boolean isUnpromoted();
|
||||
|
||||
public String getDraft() {
|
||||
return MrChatGetDraft(m_hChat);
|
||||
|
||||
@@ -50,8 +50,8 @@ public class MrChatlist {
|
||||
return new MrMsg(MrChatlistGetMsgByIndex(m_hChatlist, index));
|
||||
}
|
||||
|
||||
public MrPoortext getSummaryByIndex(int index, MrChat chat) {
|
||||
return new MrPoortext(MrChatlistGetSummaryByIndex(m_hChatlist, index, chat.getCPtr()));
|
||||
public MrLot getSummaryByIndex(int index, MrChat chat) {
|
||||
return new MrLot(MrChatlistGetSummaryByIndex(m_hChatlist, index, chat.getCPtr()));
|
||||
}
|
||||
|
||||
private long m_hChatlist;
|
||||
|
||||
@@ -42,52 +42,12 @@ public class MrContact {
|
||||
MrContactUnref(m_hContact);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return MrContactGetName(m_hContact);
|
||||
}
|
||||
public native String getAuthName();
|
||||
|
||||
public String getAddr() {
|
||||
return MrContactGetAddr(m_hContact);
|
||||
}
|
||||
|
||||
public int isBlocked() {
|
||||
return MrContactIsBlocked(m_hContact);
|
||||
}
|
||||
public native String getName();
|
||||
public native String getDisplayName();
|
||||
public native String getAddr();
|
||||
public native String getNameNAddr();
|
||||
public native boolean isBlocked();
|
||||
|
||||
private long m_hContact;
|
||||
private native static void MrContactUnref (long hContact);
|
||||
private native static String MrContactGetName (long hContact);
|
||||
private native static String MrContactGetAddr (long hContact);
|
||||
private native static int MrContactIsBlocked (long hContact);
|
||||
|
||||
|
||||
/* additional functions that are not 1:1 available in the backend
|
||||
**********************************************************************************************/
|
||||
|
||||
public static TLRPC.User contactId2user(int id)
|
||||
{
|
||||
TLRPC.User ret = new TLRPC.User();
|
||||
ret.id = id;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public String getDisplayName() {
|
||||
String s=MrContactGetName(m_hContact);
|
||||
if(s.isEmpty()) {
|
||||
s=MrContactGetAddr(m_hContact);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
public String getNameNAddr() {
|
||||
String s=MrContactGetName(m_hContact);
|
||||
if(s.isEmpty()) {
|
||||
s=MrContactGetAddr(m_hContact);
|
||||
}
|
||||
else {
|
||||
s+=" ("+MrContactGetAddr(m_hContact)+")";
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
+12
-32
@@ -19,7 +19,7 @@
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* File: MrPoortext.java
|
||||
* File: MrLot.java
|
||||
* Purpose: Wrap around mrpoortext_t
|
||||
*
|
||||
******************************************************************************/
|
||||
@@ -28,47 +28,27 @@
|
||||
package com.b44t.messenger;
|
||||
|
||||
|
||||
public class MrPoortext {
|
||||
public class MrLot {
|
||||
|
||||
public final static int MR_TEXT1_NORMAL = 0;
|
||||
public final static int MR_TEXT1_DRAFT = 1;
|
||||
public final static int MR_TEXT1_USERNAME = 2;
|
||||
public final static int MR_TEXT1_SELF = 3;
|
||||
|
||||
public MrPoortext(long hPoortext) {
|
||||
m_hPoortext = hPoortext;
|
||||
public MrLot(long hLot) {
|
||||
m_hLot = hLot;
|
||||
}
|
||||
|
||||
@Override protected void finalize() throws Throwable {
|
||||
super.finalize();
|
||||
MrPoortextUnref(m_hPoortext);
|
||||
MrLotUnref(m_hLot);
|
||||
}
|
||||
|
||||
public String getText1() {
|
||||
return MrPoortextGetText1(m_hPoortext);
|
||||
}
|
||||
public native String getText1();
|
||||
public native int getText1Meaning();
|
||||
public native String getText2();
|
||||
public native long getTimestamp();
|
||||
public native int getState();
|
||||
|
||||
public int getText1Meaning() {
|
||||
return MrPoortextGetText1Meaning(m_hPoortext);
|
||||
}
|
||||
|
||||
public String getText2() {
|
||||
return MrPoortextGetText2(m_hPoortext);
|
||||
}
|
||||
|
||||
public long getTimestamp() {
|
||||
return MrPoortextGetTimestamp(m_hPoortext);
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
return MrPoortextGetState(m_hPoortext);
|
||||
}
|
||||
|
||||
private long m_hPoortext;
|
||||
private native static void MrPoortextUnref (long hPoortext);
|
||||
private native static String MrPoortextGetText1 (long hPoortext);
|
||||
private native static int MrPoortextGetText1Meaning (long hPoortext);
|
||||
private native static String MrPoortextGetText2 (long hPoortext);
|
||||
private native static long MrPoortextGetTimestamp (long hPoortext);
|
||||
private native static int MrPoortextGetState (long hPoortext);
|
||||
private long m_hLot;
|
||||
private native static void MrLotUnref(long hLot);
|
||||
}
|
||||
@@ -138,7 +138,7 @@ public class MrMailbox {
|
||||
public native static int addContactToChat (int chat_id, int contact_id);
|
||||
public native static int removeContactFromChat (int chat_id, int contact_id);
|
||||
public native static int setChatName (int chat_id, String name);
|
||||
public native static int setChatImage (int chat_id, String name);
|
||||
public native static int setChatProfileImage (int chat_id, String name);
|
||||
|
||||
public final static int MR_GCM_ADDDAYMARKER = 0x01;
|
||||
public native static int[] getChatMsgs(int chat_id, int flags, int marker1before);
|
||||
@@ -150,7 +150,7 @@ public class MrMailbox {
|
||||
public native static int[] getChatMedia(int chat_id, int msg_type, int or_msg_type);
|
||||
public native static int getNextMedia(int msg_id, int dir);
|
||||
public native static int[] getChatContacts(int chat_id);
|
||||
public native static int deleteChat(int chat_id);
|
||||
public native static void deleteChat(int chat_id);
|
||||
|
||||
private native static long MrMailboxGetChatlist (long hMailbox, int listflags, String query); // returns hChatlist which must be unref'd after usage
|
||||
private native static long MrMailboxGetChat (long hMailbox, int chat_id); // return hChat which must be unref'd after usage
|
||||
@@ -171,6 +171,7 @@ public class MrMailbox {
|
||||
public native static void forwardMsgs(int msg_ids[], int chat_ids);
|
||||
|
||||
public native static int sendTextMsg(int chat_id, String text);
|
||||
public native static int sendVcardMsg(int chat_id, int contact_id);
|
||||
public native static int sendMediaMsg(int chat_id, int type, String file, String mime, int w, int h, int time_ms, String author, String trackname);
|
||||
|
||||
private native static long MrMailboxGetMsg (long hMailbox, int id); // return hMsg which must be unref'd after usage
|
||||
|
||||
@@ -95,20 +95,24 @@ public class MrMsg {
|
||||
return MrMsgGetToId(m_hMsg);
|
||||
}
|
||||
|
||||
public native String getParam(int key, String def);
|
||||
public native int getParamInt(int key, int def);
|
||||
public native void setParamInt(int key, int def);
|
||||
public native void saveParamToDisk();
|
||||
public native int getWidth(int def);
|
||||
public native int getHeight(int def);
|
||||
public native int getDuration();
|
||||
public native void lateFilingMediaSize(int width, int height, int duration);
|
||||
|
||||
public native int getBytes();
|
||||
public MrPoortext getSummary(MrChat chat) { return new MrPoortext(getSummaryCPtr(chat.getCPtr())); }
|
||||
public MrLot getSummary(MrChat chat) { return new MrLot(getSummaryCPtr(chat.getCPtr())); }
|
||||
private native long getSummaryCPtr(long hChat);
|
||||
public native String getSummarytext(int approx_characters);
|
||||
public native int showPadlock();
|
||||
public MrPoortext getMediainfo() { return new MrPoortext(getMediainfoCPtr()); }
|
||||
public MrLot getMediainfo() { return new MrLot(getMediainfoCPtr()); }
|
||||
private native long getMediainfoCPtr();
|
||||
public native String getFile();
|
||||
public native String getFilemime();
|
||||
public native String getFilename();
|
||||
public native int isIncreation();
|
||||
public native boolean isForwarded();
|
||||
public native boolean isSystemcmd();
|
||||
public native boolean isIncreation();
|
||||
|
||||
private long m_hMsg; // must not be renamed as referenced by JNI under the name "m_hMsg"
|
||||
private native static void MrMsgUnref (long hMsg);
|
||||
@@ -152,19 +156,19 @@ public class MrMsg {
|
||||
ret.out = ret.from_id==MrContact.MR_CONTACT_ID_SELF; // true=outgoing message, read eg. in MessageObject.isOutOwner()
|
||||
ret.created_by_mr = true;
|
||||
ret.show_padlock = showPadlock()!=0;
|
||||
ret.is_system_cmd = getParamInt('S', 0)!=0;
|
||||
ret.is_system_cmd = isSystemcmd();
|
||||
|
||||
if( type == MR_MSG_TEXT ) {
|
||||
ret.message = getText();
|
||||
}
|
||||
else if( type == MR_MSG_IMAGE ) {
|
||||
String path = getParam('f', "");
|
||||
String path = getFile();
|
||||
TLRPC.TL_photo photo = null;
|
||||
if( !path.isEmpty() ) {
|
||||
try {
|
||||
TLRPC.TL_photoSize photoSize = new TLRPC.TL_photoSize();
|
||||
photoSize.w = getParamInt('w', 800);
|
||||
photoSize.h = getParamInt('h', 800);
|
||||
photoSize.w = getWidth(800);
|
||||
photoSize.h = getHeight(800);
|
||||
photoSize.size = 0; // not sure what to use here, maybe `getBytes();`?
|
||||
photoSize.location = new TLRPC.TL_fileLocation();
|
||||
photoSize.location.mr_path = path;
|
||||
@@ -198,7 +202,7 @@ public class MrMsg {
|
||||
}
|
||||
}
|
||||
else if( type == MR_MSG_GIF || type == MR_MSG_AUDIO || type == MR_MSG_VOICE || type == MR_MSG_VIDEO || type == MR_MSG_FILE ) {
|
||||
String path = getParam('f', "");
|
||||
String path = getFile();
|
||||
if( !path.isEmpty()) {
|
||||
ret.message = "-1"; // may be misused for video editing information
|
||||
ret.media = new TLRPC.TL_messageMediaDocument();
|
||||
@@ -208,20 +212,20 @@ public class MrMsg {
|
||||
ret.media.document.mr_path = path;
|
||||
ret.media.document.size = getBytes();
|
||||
if( type == MR_MSG_GIF ) {
|
||||
ret.media.document.mime_type = getParam('m', "image/gif");
|
||||
ret.media.document.mime_type = getFilemime();
|
||||
TLRPC.PhotoSize size = new TLRPC.PhotoSize();
|
||||
size.location = new TLRPC.TL_fileLocation();
|
||||
size.location.mr_path = path;
|
||||
size.location.local_id = -ret.id;
|
||||
size.w = getParamInt('w', 320);
|
||||
size.h = getParamInt('h', 240);
|
||||
size.w = getWidth(320);
|
||||
size.h = getHeight(240);
|
||||
size.type = "s";
|
||||
ret.media.document.thumb = size;
|
||||
}
|
||||
else if( type == MR_MSG_AUDIO || type == MR_MSG_VOICE ) {
|
||||
TLRPC.TL_documentAttributeAudio attr = new TLRPC.TL_documentAttributeAudio();
|
||||
attr.voice = type == MR_MSG_VOICE;
|
||||
attr.duration = getParamInt('d', 0) / 1000;
|
||||
attr.duration = getDuration() / 1000;
|
||||
ret.media.document.attributes.add(attr);
|
||||
}
|
||||
else if( type == MR_MSG_VIDEO ) {
|
||||
@@ -235,9 +239,7 @@ public class MrMsg {
|
||||
size.type = "s";
|
||||
ret.media.document.thumb = size;
|
||||
|
||||
setParamInt('w', size.w);
|
||||
setParamInt('h', size.h);
|
||||
saveParamToDisk();
|
||||
lateFilingMediaSize(size.w, size.h, 0);
|
||||
}
|
||||
catch (Exception e) {}
|
||||
}
|
||||
@@ -246,20 +248,20 @@ public class MrMsg {
|
||||
size.location = new TLRPC.TL_fileLocation();
|
||||
size.location.mr_path = tfile.getAbsolutePath();
|
||||
size.location.local_id = -ret.id;
|
||||
size.w = getParamInt('w', 320);
|
||||
size.h = getParamInt('h', 240);
|
||||
size.w = getWidth(320);
|
||||
size.h = getHeight(240);
|
||||
size.type = "s";
|
||||
ret.media.document.thumb = size;
|
||||
}
|
||||
|
||||
TLRPC.TL_documentAttributeVideo attr = new TLRPC.TL_documentAttributeVideo();
|
||||
attr.duration = getParamInt('d', 0) / 1000;
|
||||
attr.w = getParamInt('w', 320);
|
||||
attr.h = getParamInt('h', 240);
|
||||
attr.duration = getDuration() / 1000;
|
||||
attr.w = getWidth(320);
|
||||
attr.h = getHeight(240);
|
||||
ret.media.document.attributes.add(attr);
|
||||
}
|
||||
else {
|
||||
ret.media.document.mime_type = getParam('m', "application/octet-stream");
|
||||
ret.media.document.mime_type = getFilemime();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -271,7 +273,7 @@ public class MrMsg {
|
||||
ret.message = String.format("<unsupported message type #%d for id #%d>", type, ret.id);
|
||||
}
|
||||
|
||||
if( !getParam('a', "").equals("") ) {
|
||||
if( isForwarded() ) {
|
||||
ret.flags |= TLRPC.MESSAGE_FLAG_FWD;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ public class MusicPlayerService extends Service implements NotificationCenter.No
|
||||
{
|
||||
AudioInfo audioInfo = MediaController.getInstance().getAudioInfo();
|
||||
|
||||
MrPoortext pt = MrMailbox.getMsg(messageObject.getId()).getMediainfo();
|
||||
MrLot pt = MrMailbox.getMsg(messageObject.getId()).getMediainfo();
|
||||
String authorName = pt.getText1();
|
||||
String songName = pt.getText2();
|
||||
if( songName == null || songName.length()==0 ) {
|
||||
|
||||
@@ -168,7 +168,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
|
||||
String nameonly = big.location.volume_id + "_" + big.location.local_id + ".jpg";
|
||||
File fileobj = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), nameonly);
|
||||
String fullpath = fileobj.getAbsolutePath();
|
||||
MrMailbox.setChatImage(chat_id, fullpath);
|
||||
MrMailbox.setChatProfileImage(chat_id, fullpath);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -515,7 +515,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
|
||||
// show menu to change the group image
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
CharSequence[] items;
|
||||
boolean hasPhoto = MrMailbox.getChat(chat_id).getParam(MrChat.MRP_PROFILE_IMAGE, null)!=null;
|
||||
boolean hasPhoto = MrMailbox.getChat(chat_id).getProfileImage()!=null;
|
||||
if ( !hasPhoto ) {
|
||||
items = new CharSequence[]{context.getString(R.string.FromCamera), context.getString(R.string.FromGalley)};
|
||||
} else {
|
||||
@@ -536,7 +536,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
|
||||
builder.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
if( MrMailbox.setChatImage(chat_id, null)!=0 ) {
|
||||
if( MrMailbox.setChatProfileImage(chat_id, null)!=0 ) {
|
||||
AndroidUtilities.showDoneHint(getParentActivity());
|
||||
}
|
||||
}
|
||||
@@ -870,7 +870,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
|
||||
boolean blocked = false;
|
||||
if( user_id!=0 ) {
|
||||
MrContact mrContact = MrMailbox.getContact(user_id);
|
||||
blocked = mrContact.isBlocked()!=0;
|
||||
blocked = mrContact.isBlocked();
|
||||
}
|
||||
return blocked;
|
||||
}
|
||||
@@ -889,9 +889,6 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
|
||||
mrContact = MrMailbox.getContact(user_id);
|
||||
newString = mrContact.getDisplayName();
|
||||
newString2 = mrContact.getAddr();
|
||||
/*if( !newString.equals(mrContact.getAuthName()) ) { -- not sure if it is really useful to display the auth-name here
|
||||
newString += " (" + mrContact.getAuthName() + ")";
|
||||
}*/
|
||||
}
|
||||
else {
|
||||
mrChat = MrMailbox.getChat(chat_id);
|
||||
|
||||
@@ -99,15 +99,8 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
|
||||
}
|
||||
|
||||
public void sendMessageContact(int contact_id, int dialog_id) {
|
||||
MrContact contact = MrMailbox.getContact(contact_id);
|
||||
String msg = contact.getAuthName();
|
||||
if(msg.isEmpty()) {
|
||||
msg = contact.getAddr();
|
||||
}
|
||||
else {
|
||||
msg += ": " + contact.getAddr();
|
||||
}
|
||||
SendMessagesHelper.getInstance().sendMessageText(msg, dialog_id, null);
|
||||
int msg_id = MrMailbox.sendVcardMsg(dialog_id, contact_id);
|
||||
updateInterfaceForNewMessage(dialog_id, true, msg_id);
|
||||
}
|
||||
|
||||
public void sendMessageDocument(TLRPC.TL_document document, VideoEditedInfo videoEditedInfo, String path, long peer, HashMap<String, String> params) {
|
||||
@@ -132,7 +125,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
|
||||
else {
|
||||
NotificationCenter.getInstance().postNotificationName(NotificationCenter.messageSendError, msg_id);
|
||||
}
|
||||
NotificationCenter.getInstance().postNotificationName(NotificationCenter.dialogsNeedReload);
|
||||
//NotificationCenter.getInstance().postNotificationName(NotificationCenter.dialogsNeedReload); -- already send due to MR_EVENT_MSGS_CHANGED which is send by the core on sending messages
|
||||
}
|
||||
|
||||
private void sendMessage__(String message,
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
<!--permissions-->
|
||||
<string name="PermissionContacts">Delta Chat necessita accedir als teus contactes perquè puguis connectar amb els teus amics de de qualsevol dels teus dispositius.</string>
|
||||
<string name="PermissionStorage">Delta Chat necessita accedir al teu emmagatzematge per poder enviar i guardar fotos, vídeos, música i altres continguts audiovisuals.</string>
|
||||
<string name="PermissionOpenSettings">Preferències</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro2Headline">Independent</string>
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
<string name="PermissionOpenSettings">Einstellungen anpassen</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro1Message">Der Messenger mit der <![CDATA[<b>größten Reichweite</b>]]> der Welt.<![CDATA[<br/><b>Kostenlos</b>]]> und <![CDATA[<b>sicher</b>]]>.</string>
|
||||
<string name="Intro1Message">Der Messenger mit der <![CDATA[<b>größten Reichweite</b>]]> der Welt.<![CDATA[<br/><b>Frei</b>]]> und <![CDATA[<b>sicher</b>]]>.</string>
|
||||
|
||||
<string name="Intro2Headline">Unabhängig</string>
|
||||
<string name="Intro2Message"><![CDATA[<b>Keine Abhängigkeiten</b>]]> von fremden Diensten und Servern. Die App verwendet nur Ihren E-Mail-Server.</string>
|
||||
@@ -220,7 +220,7 @@
|
||||
<string name="Intro4Message"><![CDATA[<b>Unbegrenzte</b>]]> Chats, Bilder, Videos, Sprachnachrichten und mehr. Multi-Client-fähig.</string>
|
||||
|
||||
<string name="Intro5Headline">Frei</string>
|
||||
<string name="Intro5Message"><![CDATA[<b>Delta Chat</b>]]> ist für immer kostenlos.<![CDATA[<br/>]]>OpenSource. Keine Werbung. Kein Abo.</string>
|
||||
<string name="Intro5Message">Open Source. Keine Werbung. Kein Abo.<![CDATA[<br/>]]>Keine Bindung an die Mobilfunknummer.</string>
|
||||
|
||||
<string name="Intro6Headline">Sicher</string>
|
||||
<string name="Intro6Message"><![CDATA[<b>Verschlüsselung</b>]]> mit allen gängigen Verfahren. Die Nachrichten bleiben auf Ihren Servern.</string>
|
||||
@@ -338,7 +338,7 @@
|
||||
<string name="InviteMenuEntry">Einladungen versenden</string>
|
||||
<string name="InviteText">Ich verwende nun auch den Delta Chat Messenger - %1$s - und bin dort unter %2$s erreichbar.</string>
|
||||
<string name="AdvancedSettings">Fortgeschrittene Einstellungen</string>
|
||||
<string name="AskResetNotifications" >Alle Benachrichtigungseinstellungen und Töne dieser Seite und auch der einzelnen Chats zurücksetzen?</string>
|
||||
<string name="AskResetNotifications">Alle Benachrichtigungseinstellungen und Töne dieser Seite und auch der einzelnen Chats zurücksetzen?</string>
|
||||
<string name="AttachFiles">Dateien anhängen</string>
|
||||
<string name="ErrGroupNameEmpty">Bitte einen Namen für die Gruppe eingeben.</string>
|
||||
<string name="MsgNewGroupDraftHint">Eine erste Nachricht schreiben; dann können die anderen in der Gruppe antworten.\n\n• Gruppenmitglieder müssen hierzu Delta Chat nicht installiert haben.\n\n• Die Zustellung der ersten Nachricht kann einen Moment dauern.</string>
|
||||
@@ -401,4 +401,12 @@
|
||||
<string name="NoRecentEmoji">Hier werden die zuletzt verwendeten Emoji angezeigt.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Um die Ende-zu-Ende-Verschlüsselung zu aktivieren, aktivieren Sie die entsprechende Option in den Einstellungen. </string>
|
||||
<string name="E2eeOffBecauseOfRecipient">Die Ende-zu-Ende-Verschlüsselung wird aktiviert, sobald der Kontakt die entsprechende Einstellung aktiviert.</string>
|
||||
<string name="NotNow">Nicht jetzt</string>
|
||||
<string name="ArchiveChat">Chat archivieren</string>
|
||||
<string name="UnarchiveChat">Archivieren rückgängig</string>
|
||||
<string name="ArchivedChats">Archivierte Chats</string>
|
||||
<string name="Archived">Archiviert</string>
|
||||
<string name="LeaveGroup">Gruppe verlassen</string>
|
||||
<string name="AskLeaveGroup">Diese Gruppe verlassen?</string>
|
||||
<string name="Never">Niemals</string>
|
||||
</resources>
|
||||
|
||||
@@ -336,7 +336,7 @@
|
||||
<string name="InviteMenuEntry">Invitar a amigos</string>
|
||||
<string name="InviteText">Estoy usando Delta Chat ahora - %1$s - puede escribirme a %2$s</string>
|
||||
<string name="AdvancedSettings">Ajustes avanzados</string>
|
||||
<string name="AskResetNotifications" >¿Reiniciar los ajustes de notificación y sonido de esta página y de sus contactos y grupos?</string>
|
||||
<string name="AskResetNotifications">¿Reiniciar los ajustes de notificación y sonido de esta página y de sus contactos y grupos?</string>
|
||||
<string name="AttachFiles">Adjuntar archivos</string>
|
||||
<string name="ErrGroupNameEmpty">Introduzca un nombre para el grupo.</string>
|
||||
<string name="MsgNewGroupDraftHint">Escriba un primer mensaje para permitir a los demás participar en este grupo.\n\n• No importa si los miembros no usan Delta Chat.\n\n• El primer mensaje puede tardar un momento.</string>
|
||||
|
||||
@@ -338,7 +338,7 @@
|
||||
<string name="InviteMenuEntry">Envoyer des invitations</string>
|
||||
<string name="InviteText">J\'utilise la messagerie Delta Chat maintenant - %1$s - vous pouvez me contacter à %2$s</string>
|
||||
<string name="AdvancedSettings">Paramètres avancés</string>
|
||||
<string name="AskResetNotifications" >Réinitialiser toutes les paramètres de notification et les sons de cette page ainsi que de vos contacts et groupes?</string>
|
||||
<string name="AskResetNotifications">Réinitialiser toutes les paramètres de notification et les sons de cette page ainsi que de vos contacts et groupes?</string>
|
||||
<string name="AttachFiles">Joindre des fichiers</string>
|
||||
<string name="ErrGroupNameEmpty">Merci de saisir un nom pour le groupe.</string>
|
||||
<string name="MsgNewGroupDraftHint">Écrivez un premier message pour permettre aux autres de répondre dans ce groupe.\n\n• Ça ne devrait pas poser de problème si tous les membres du groupe n\'utilisent pas Delta Chat.\n\n• L\'envoi du premier message peut prendre un moment.</string>
|
||||
@@ -383,6 +383,7 @@
|
||||
<string name="ReadReceipt">Accusé de réception</string>
|
||||
<string name="NameAndStatus">Nom et statut</string>
|
||||
<string name="MyStatus">Mon statut</string>
|
||||
<string name="MyStatusExplain">Le status est indiqué par ex. dans les pieds de page des emails.</string>
|
||||
<string name="MsgGroupImageDeleted">Image du groupe effacée.</string>
|
||||
<string name="AskDeleteGroupImage">Êtes-vous sûr de vouloir effacer l\'image du groupe?\n\nCeci affectera tous les appareils de tous les membres du groupe.</string>
|
||||
<string name="ExportImportHeader">Exporter et importer</string>
|
||||
@@ -398,4 +399,15 @@
|
||||
<string name="ImportPrivateKeys">Importer les clés privées</string>
|
||||
<string name="ImportPrivateKeysAsk2">Importer des clés privées depuis <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• Les clés privées existantes ne sont pas supprimées\n\n•
|
||||
La dernière clé importée sera utilisée comme nouvelle clé par défaut</string>
|
||||
</resources>
|
||||
<string name="NoRecentEmoji">Les emoji récemment utilisés seront affichés ici.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Pour activer le chiffrement bout-à-bout, vérifiez l\'option correspondante dans vos paramètres.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">Le chiffrement sera bout-à-bout si le contact active l\'option correspondante.</string>
|
||||
<string name="NotNow">Pas maintenant</string>
|
||||
<string name="ArchiveChat">Archive des conversations</string>
|
||||
<string name="UnarchiveChat">Conversation non archivée</string>
|
||||
<string name="ArchivedChats">Conversations archivées</string>
|
||||
<string name="Archived">Archivé</string>
|
||||
<string name="LeaveGroup">Quitter le groupe</string>
|
||||
<string name="AskLeaveGroup">Êtes-vous sûr de vouloir quitter ce groupe?</string>
|
||||
<string name="Never">Jamais</string>
|
||||
</resources>
|
||||
|
||||
@@ -297,6 +297,7 @@
|
||||
<string name="AccountSettings">Fiókbeállítások</string>
|
||||
<string name="MyAccount">Fiókom</string>
|
||||
<string name="MyName">Nevem</string>
|
||||
<string name="MyNameExplain">A címzetteknek megjelenő neved. Ha nem adsz meg itt nevet, akkor csak az e-mail címedet fogják látni.</string>
|
||||
<string name="Password">Jelszó</string>
|
||||
<string name="SmtpPassword">SMTP jelszó</string>
|
||||
<string name="FromAbove">fentről másolva</string>
|
||||
@@ -321,6 +322,7 @@
|
||||
<string name="AskStartChatWith">Beszélgetést indítasz <![CDATA[<b>]]>%1$s<![CDATA[</b>]]> partnerrel?</string>
|
||||
<string name="DeaddropHint">Beszélgetés indításához koppints a válasz-nyílra.</string>
|
||||
<string name="NotYetImplemented">Ez a funkció nem érhető el vagy még nem készült el.</string>
|
||||
<string name="DefaultStatusText">A Delta Chat Messengeremmel küldtem: https://delta.chat</string>
|
||||
<string name="Name" >Név</string>
|
||||
<string name="EmailAddress">E-mail cím</string>
|
||||
<string name="CannotDeleteContact">A használatban lévő névjegyet nem lehet törölni, ehelyett letilthatod a partnert.</string>
|
||||
@@ -335,7 +337,7 @@
|
||||
<string name="InviteMenuEntry">Meghívó küldése</string>
|
||||
<string name="InviteText">A Delta Chat nevű programmal chatelek - %1$s - írhatsz nekem ezen a címen: %2$s</string>
|
||||
<string name="AdvancedSettings">További beállítások</string>
|
||||
<string name="AskResetNotifications" >Az oldal, a partnereid és csoportjaid minden értesítési és hangbeállítását visszaállítod?</string>
|
||||
<string name="AskResetNotifications">Az oldal, a partnereid és csoportjaid minden értesítési és hangbeállítását visszaállítod?</string>
|
||||
<string name="AttachFiles">Fájlok csatolása</string>
|
||||
<string name="ErrGroupNameEmpty">Nevezd el a csoportot.</string>
|
||||
<string name="MsgNewGroupDraftHint">Írj egy kezdőüzenetet, hogy a többiek válaszolhassanak a csoportban.\n\n• Nincs gond, ha nem használja minden tag a Delta Chatet.\n\n• Az első üzenet kézbesítése kicsit lassabb lehet.</string>
|
||||
@@ -349,10 +351,36 @@
|
||||
<string name="ErrSelfNotInGroup">Csoporttagnak kell lenned, hogy ezt megtehesd.</string>
|
||||
<string name="MsgGroupLeft">Kiléptél a csoportból.</string>
|
||||
<string name="NoMessagesHint">Üzenetküldés <![CDATA[<b>]]>%1$s<![CDATA[</b>]]> partnernek:\n\n• Nincs gond, ha <![CDATA[<b>]]>%2$s<![CDATA[</b>]]> nem használja a Delta Chatet.\n\n• Az első üzenet kézbesítése kicsit lassabb lehet.</string>
|
||||
<string name="SendNRcvReadReceipts">Tértivevények küldése és fogadása</string>
|
||||
<string name="E2EManagePrivateKeys">Privát kulcsok kezelése</string>
|
||||
<string name="E2ECompareKeys">Kulcsok összehasonlítása</string>
|
||||
<string name="ForwardToTitle">Továbbítás…</string>
|
||||
<string name="SelectContact">Válassz partnert</string>
|
||||
<string name="DoneHint">Kész.</string>
|
||||
<string name="FileNotFound">%1$s fájl nem található.</string>
|
||||
<string name="Error">Hiba: %1$s</string>
|
||||
<string name="NoNetwork">Nincs hálózat.</string>
|
||||
<string name="PermNotificationTitle">%1$s csatlakozva</string>
|
||||
<string name="AutoplayGifs">GIF-ek automatikus lejátszása</string>
|
||||
<string name="EncryptedMessage">Titkosított üzenet</string>
|
||||
<string name="Encryption">Titkosítás</string>
|
||||
<string name="EncrinfoFingerprints">Ujjlenyomatok</string>
|
||||
<string name="Backup">Biztonsági mentés</string>
|
||||
<string name="ReadReceiptMailBody">Tértivevény erről az üzenetről: „%1$s”.\n\nEz a tértivevény csak arról értesít, hogy az üzenet megjelent a címzett készülékén. Az nem biztos, hogy el is olvasta a tartalmát.</string>
|
||||
<string name="ReadReceipt">Tértivevény</string>
|
||||
<string name="NameAndStatus">Név és állapot</string>
|
||||
<string name="MyStatus">Állapotom</string>
|
||||
<string name="MyStatusExplain">Az állapot megjelenik pl. e-mail aláírásként.</string>
|
||||
<string name="MsgGroupImageDeleted">Csoportkép törölve.</string>
|
||||
<string name="AskDeleteGroupImage">Biztos törlöd a csoport képét?\n\nEzzel minden csoporttag minden készülékéről törlöd.</string>
|
||||
<string name="ExportImportHeader">Exportálás és importálás</string>
|
||||
<string name="EnterPasswordToContinue">A folytatáshoz add meg %1$s jelszavát:</string>
|
||||
<string name="IncorrectPassword">Helytelen jelszó.</string>
|
||||
<string name="ImportBackup">Biztonsági mentés importálása</string>
|
||||
<string name="ExportBackup">Biztonsági mentés exportálása</string>
|
||||
<string name="ExportPrivateKeys">Privát kulcsok exportálása</string>
|
||||
<string name="ImportPrivateKeys">Privát kulcsok importálása</string>
|
||||
<string name="NotNow">Most nem</string>
|
||||
<string name="ArchiveChat">Beszélgetés archiválása</string>
|
||||
<string name="ArchivedChats">Archivált beszélgetések</string>
|
||||
</resources>
|
||||
|
||||
@@ -338,7 +338,7 @@
|
||||
<string name="InviteMenuEntry">Invita amici</string>
|
||||
<string name="InviteText">Ora sto usando l\'applicazione di messaggistica Delta Chat - %1$s - puoi scrivermi all\'indirizzo %2$s</string>
|
||||
<string name="AdvancedSettings">Impostazioni avanzate</string>
|
||||
<string name="AskResetNotifications" >Ripristinare tutte le impostazioni di notifica e suoni per questa pagina, i contatti e i gruppi?</string>
|
||||
<string name="AskResetNotifications">Ripristinare tutte le impostazioni di notifica e suoni per questa pagina, i contatti e i gruppi?</string>
|
||||
<string name="AttachFiles">Allega file</string>
|
||||
<string name="ErrGroupNameEmpty">Inserire un nome per il gruppo.</string>
|
||||
<string name="MsgNewGroupDraftHint">Scrivere il primo messaggio per permettere agli altri componenti di rispondere nel gruppo\n\n• Va bene anche se non tutti i membri usano Delta Chat.\n\n• L\'invio del primo messaggio può richiedere qualche secondo.</string>
|
||||
@@ -401,4 +401,12 @@
|
||||
<string name="NoRecentEmoji">Le emoji utilizzate di recente verranno mostrate qui.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Per abilitare la crittografia end-to-end, selelzionare l\'opzione corrispondente nelle impostazioni.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">La crittigrafia end-to-end sarà attiva solo se anche chi riceve il messaggio abilita l\'opzione corridpondente.</string>
|
||||
<string name="NotNow">Non ora</string>
|
||||
<string name="ArchiveChat">Archivia chat</string>
|
||||
<string name="UnarchiveChat">Ripristina chat</string>
|
||||
<string name="ArchivedChats">Chat archiviate</string>
|
||||
<string name="Archived">Archiviata</string>
|
||||
<string name="LeaveGroup">Abbandona gruppo</string>
|
||||
<string name="AskLeaveGroup">Sei sicuro di voler abbandonare il gruppo?</string>
|
||||
<string name="Never">Mai</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<string name="NoResult">결과 없음</string>
|
||||
<string name="NoChats">채팅방이 없습니다…</string>
|
||||
<string name="DeleteChat">채팅방 나가기</string>
|
||||
<string name="SelectChat">채팅선택</string>
|
||||
<string name="Search">검색</string>
|
||||
<string name="MuteNotifications">알림 음소거</string>
|
||||
<string name="UnmuteNotifications">음소거 해제</string>
|
||||
@@ -167,6 +168,8 @@
|
||||
<!--privacy settings-->
|
||||
<string name="PrivacySettings">개인정보 및 보안</string>
|
||||
<string name="SecurityTitle">보안</string>
|
||||
<!--edit video view-->
|
||||
<string name="SendVideo">비디오 전송</string>
|
||||
<!--button titles-->
|
||||
<string name="Done">완료</string>
|
||||
<string name="Open">열기</string>
|
||||
@@ -204,6 +207,15 @@
|
||||
<string name="PermissionOpenSettings">설정</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro2Headline">독립적인</string>
|
||||
<string name="Intro3Headline">빠르게</string>
|
||||
<string name="Intro4Headline">강력하게</string>
|
||||
<string name="Intro5Headline">자유롭게</string>
|
||||
<string name="Intro5Message">광고 배너 금지</string>
|
||||
|
||||
<string name="Intro6Headline">안전하게</string>
|
||||
<string name="Intro7Headline">비밀</string>
|
||||
|
||||
<string name="IntroStartMessaging">시작하기</string>
|
||||
<!--plural-->
|
||||
<plurals name="Members">
|
||||
@@ -250,6 +262,8 @@
|
||||
<string name="MyAccount">계정</string>
|
||||
<string name="MyName">내 이름</string>
|
||||
<string name="Password">암호</string>
|
||||
<string name="FromAbove">위부터</string>
|
||||
<string name="Automatic">자동</string>
|
||||
<string name="NewChat">채팅 시작</string>
|
||||
<string name="Deaddrop">사서함</string>
|
||||
<string name="InviteMenuEntry">친구 초대</string>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="AppName">Delta Chat</string>
|
||||
<!--chats view-->
|
||||
<string name="Settings">Innstillinger</string>
|
||||
<string name="NewGroup">Ny gruppe</string>
|
||||
@@ -11,12 +12,16 @@
|
||||
<string name="DeleteChat">Slett sludring</string>
|
||||
<string name="SelectChat">Velg sludring…</string>
|
||||
<string name="Search">Søk</string>
|
||||
<string name="MuteNotifications">Demp merknader</string>
|
||||
<string name="MuteFor">Demp i %1$s</string>
|
||||
<string name="UnmuteNotifications">Fjern demping</string>
|
||||
<string name="Draft">Kladd</string>
|
||||
<!--audio view-->
|
||||
<string name="NoAudio">Legg til filer i musikkbiblioteket på din enhet for å se dem her.</string>
|
||||
<string name="AttachMusic">Musikk</string>
|
||||
<!--documents view-->
|
||||
<string name="SelectFile">Velg fil</string>
|
||||
<string name="FreeOfTotal">Frigjør %1$s av %2$s</string>
|
||||
<string name="ErrorHint">Ukjent feil</string>
|
||||
<string name="AccessError">Tilgangsfeil</string>
|
||||
<string name="NoFiles">Ingen filer enda…</string>
|
||||
@@ -24,8 +29,10 @@
|
||||
<string name="UsbActive">USB-overføring aktiv</string>
|
||||
<string name="InternalStorage">Intern lagring</string>
|
||||
<string name="ExternalStorage">Ekstern lagring</string>
|
||||
<string name="SystemRoot">Systemrot</string>
|
||||
<string name="SdCard">SD-kort</string>
|
||||
<string name="Folder">Mappe</string>
|
||||
<string name="GalleryInfo">For å sende ukomprimerte bilder</string>
|
||||
<!--chat view-->
|
||||
<string name="ChatGallery">Galleri</string>
|
||||
<string name="ChatCamera">Kamera</string>
|
||||
@@ -35,6 +42,8 @@
|
||||
<string name="NoRecent">Ingen nylige</string>
|
||||
<string name="TypeMessage">Melding</string>
|
||||
<string name="SlideToCancel">DRA FOR Å AVBRYTE</string>
|
||||
<string name="SaveToDownloads">Lagre i \"Nedlastinger\"</string>
|
||||
<string name="SaveToMusic">Lagre i \"Musikk\"</string>
|
||||
<string name="Share">Del</string>
|
||||
<string name="SendItems">Send %1$s</string>
|
||||
<string name="ClearRecentEmoji">Slett nylige emoji-er?</string>
|
||||
@@ -58,18 +67,22 @@
|
||||
<string name="BlockContact">Blokker kontakt</string>
|
||||
<string name="DeleteContact">Slett kontakt</string>
|
||||
<string name="Info">Info</string>
|
||||
<!--settings view-->
|
||||
<string name="TextSize">Skriftstørrelse for meldinger</string>
|
||||
<string name="UnblockContact">Fjern blokkering av kontakt</string>
|
||||
<string name="NoBlocked">Ingen blokkerte kontakter enda</string>
|
||||
<string name="DefaultForNormalMessages">Normale meldinger</string>
|
||||
<string name="MessagePreview">Meldingsforhåndsvisning</string>
|
||||
<string name="DefaultForGroupMessages">Gruppemeldinger</string>
|
||||
<string name="Sound">Lyd</string>
|
||||
<string name="InAppNotifications">Merknader i programmet</string>
|
||||
<string name="Vibrate">Vibrer</string>
|
||||
<string name="ResetAllNotifications">Tilbakestill alle merknader</string>
|
||||
<string name="NotificationsAndSounds">Merknader og lyder</string>
|
||||
<string name="BlockedContacts">Blokkerte kontakter</string>
|
||||
<string name="Default">Forvalg</string>
|
||||
<string name="OnlyIfSilent">Bare hvis lydløs</string>
|
||||
<string name="SendByEnter">Send med "Enter"</string>
|
||||
<string name="Help">Hjelp</string>
|
||||
<string name="Enabled">På</string>
|
||||
<string name="Disabled">Av</string>
|
||||
@@ -83,6 +96,7 @@
|
||||
<string name="NotificationsPriorityHigh">Høy prioritet</string>
|
||||
<string name="NotificationsPriorityMax">Høyeste prioritet</string>
|
||||
<string name="RepeatNotifications">Gjenta merknader</string>
|
||||
<string name="SmartNotificationsSoundAtMost">Maks.</string>
|
||||
<string name="SmartNotificationsTimes">tider</string>
|
||||
<string name="SmartNotificationsWithin">innen</string>
|
||||
<string name="SmartNotificationsMinutes">minutter</string>
|
||||
@@ -91,12 +105,18 @@
|
||||
<!--cache view-->
|
||||
<string name="CacheSettings">Lagring</string>
|
||||
<string name="KeepMedia">Behold media</string>
|
||||
<string name="KeepMediaInfo">Bilder, video og andre filer fra skysludringer du <![CDATA[<b>ikke har åpnet</b>]]> i løpet av denne perioden vil bli fjernet fra denne enheten for å spare plass.</string>
|
||||
<string name="KeepMediaForever">For alltid</string>
|
||||
<!--passcode view-->
|
||||
<string name="Passcode">Programlås</string>
|
||||
<string name="PasscodePIN">PIN</string>
|
||||
<string name="PasscodePassword">Passord</string>
|
||||
<string name="AutoLock">Autolås</string>
|
||||
<string name="UnlockFingerprint">Lås opp med fingeravtrykk</string>
|
||||
<string name="FingerprintInfo">Bekreft fingeravtrykk for å fortsette</string>
|
||||
<string name="FingerprintNotRecognized">Fingeravtrykket ble ikke gjenkjent. Prøv igjen</string>
|
||||
<!--photo gallery view-->
|
||||
<string name="SaveToGallery">Lagre i \"Galleri"\</string>
|
||||
<string name="Of">%1$d av %2$d</string>
|
||||
<string name="Gallery">Galleri</string>
|
||||
<string name="AllPhotos">Alle bilder</string>
|
||||
@@ -107,6 +127,8 @@
|
||||
<string name="EditImage">Rediger bilde</string>
|
||||
<string name="Enhance">Forbedre</string>
|
||||
<string name="Contrast">Kontrast</string>
|
||||
<string name="Shadows">Skygger</string>
|
||||
<string name="TintShadows">Skygger</string>
|
||||
<string name="CurvesAll">ALLE</string>
|
||||
<string name="CurvesRed">RØD</string>
|
||||
<string name="CurvesGreen">GRØNN</string>
|
||||
@@ -140,19 +162,32 @@
|
||||
<string name="AttachGif">GIF</string>
|
||||
<string name="AttachContact">Kontakt</string>
|
||||
<string name="AttachDocument">Fil</string>
|
||||
<string name="AttachVoiceMessage">Stemmemelding</string>
|
||||
<string name="FromSelf">Meg</string>
|
||||
<!--Alert messages-->
|
||||
<string name="NoHandleAppInstalled">Du har ingen programmer som kan håndtere \'%1$s\', installer et for å fortsette</string>
|
||||
<string name="ContactAlreadyInGroup">Denne kontakten er allerede i denne gruppen.</string>
|
||||
<string name="ForwardMessagesTo">Videresend valgte meldinger til <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="SendMessagesTo">Send meldinger til <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="AreYouSureDeleteThisChat">Slett denne sludringen? Den vil ikke lenger bli vist i sludrelisten, men meldingene vil forbli på tjeneren.</string>
|
||||
<string name="AreYouSureBlockContact">Er du sikker på at du vil blokkere denne kontakten?</string>
|
||||
<string name="AreYouSureDeleteContact">Er du sikker på at du ønsker å slette denne kontakten?</string>
|
||||
<!--permissions-->
|
||||
<string name="PermissionContacts">Delta Chat trenger tilgang til kontaktene dine slik at du kan koble til dine venner på tvers av alle enhetene dine.</string>
|
||||
<string name="PermissionStorage">Delta chat trenger tilgang til lagring, slik at du kan sende og lagre bilder, videoer, musikk og annen media.</string>
|
||||
<string name="PermissionNoAudio">Delta Chat trenger mikrofontilgang slik at du kan sende stemmemeldinger.</string>
|
||||
<string name="PermissionOpenSettings">Tilpass innstillinger</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro1Message">Meldingstjenesten med <![CDATA[<b>størst rekkevidde</b>]]> i verden.<![CDATA[<br/><b>Gratis</b>]]> og <![CDATA[<b>trygt</b>]]>.</string>
|
||||
|
||||
<string name="Intro2Headline">Uavhengig</string>
|
||||
<string name="Intro2Message"><![CDATA[<b>Ingen avhengigheter</b>]]> på datamaskiner annensteds hen, eller tjenester. Programmet bruker kun e-posttjeneren din.</string>
|
||||
|
||||
<string name="Intro3Headline">Rask</string>
|
||||
<string name="Intro4Headline">Kraftig</string>
|
||||
<string name="Intro4Message"><![CDATA[<b>Ubegrensede</b>]]> sludringer, bilder, videoer, lydmeldinger med mer. Multiklient-støtte.</string>
|
||||
|
||||
<string name="Intro5Headline">Ledig</string>
|
||||
<string name="Intro6Headline">Trygt</string>
|
||||
<string name="Intro6Message"><![CDATA[<b>Kryptert</b>]]> med alle vanlige alle vanlige algoritmer. Meldingene forblir på tjenerne.</string>
|
||||
@@ -160,10 +195,63 @@
|
||||
<string name="Intro7Headline">Pålitelig</string>
|
||||
|
||||
<string name="IntroStartMessaging">Start meldingsutveksling</string>
|
||||
<!--plural-->
|
||||
<plurals name="Members">
|
||||
<item quantity="one">%d medlem</item>
|
||||
<item quantity="other">%d medlemmer</item>
|
||||
</plurals>
|
||||
<plurals name="Contacts">
|
||||
<item quantity="one">%d kontakt</item>
|
||||
<item quantity="other">%d kontakter</item>
|
||||
</plurals>
|
||||
<plurals name="MeAndMembers">
|
||||
<item quantity="one">%d medlem og meg</item>
|
||||
<item quantity="other">%d medlemmer og meg</item>
|
||||
</plurals>
|
||||
<plurals name="NewMessages">
|
||||
<item quantity="one">%d ny melding</item>
|
||||
<item quantity="other">%d nye meldinger</item>
|
||||
</plurals>
|
||||
<plurals name="messages">
|
||||
<item quantity="one">%d melding</item>
|
||||
<item quantity="other">%d meldinger</item>
|
||||
</plurals>
|
||||
<plurals name="AreYouSureDeleteMessages">
|
||||
<item quantity="one">Slett %d melding? Den vil også bli slettet fra tjeneren?</item>
|
||||
<item quantity="other">Slett %d meldinger? De vil også bli slettet fra tjeneren.</item>
|
||||
</plurals>
|
||||
<plurals name="NewMessagesInChats">
|
||||
<item quantity="one">%1$s i %2$d sludring</item>
|
||||
<item quantity="other">%1$s i %2$d sludringer</item>
|
||||
</plurals>
|
||||
<plurals name="Chats">
|
||||
<item quantity="one">%d sludring</item>
|
||||
<item quantity="other">%d sludringer</item>
|
||||
</plurals>
|
||||
<plurals name="Minutes">
|
||||
<item quantity="one">%d minutt</item>
|
||||
<item quantity="other">%d minutter</item>
|
||||
</plurals>
|
||||
<plurals name="Hours">
|
||||
<item quantity="one">%d time</item>
|
||||
<item quantity="other">%d timer</item>
|
||||
</plurals>
|
||||
<plurals name="Days">
|
||||
<item quantity="one">%d dag</item>
|
||||
<item quantity="other">%d dager</item>
|
||||
</plurals>
|
||||
<plurals name="Weeks">
|
||||
<item quantity="one">%d uke</item>
|
||||
<item quantity="other">%d uker</item>
|
||||
</plurals>
|
||||
<plurals name="Months">
|
||||
<item quantity="one">%d måned</item>
|
||||
<item quantity="other">%d måneder</item>
|
||||
</plurals>
|
||||
<plurals name="MaxNotifications">
|
||||
<item quantity="one">Maksimalt %1$d merknad i løpet av %2$s</item>
|
||||
<item quantity="other">Maksimalt %1$d merknader i løpet av %2$s</item>
|
||||
</plurals>
|
||||
<!--date formatters-->
|
||||
<string name="formatterMonthYear">MMMM yyyy</string>
|
||||
<string name="formatterMonth">dd MMM</string>
|
||||
@@ -175,9 +263,11 @@
|
||||
<string name="Password">Passord</string>
|
||||
<string name="SmtpPassword">SMTP-passord</string>
|
||||
<string name="FromAbove">Ovenfra</string>
|
||||
<string name="SmtpLoginname">SMTP-innloggingsnavn</string>
|
||||
<string name="SmtpPort">SMTP-port</string>
|
||||
<string name="Automatic">Automatisk</string>
|
||||
<string name="ImapServer">IMAP-tjener</string>
|
||||
<string name="ImapLoginname">IMAP-innloggingsnavn</string>
|
||||
<string name="SmtpServer">SMTP-tjener</string>
|
||||
<string name="ImapPort">IMAP-port</string>
|
||||
<string name="InboxHeadline">Innboks</string>
|
||||
@@ -185,9 +275,16 @@
|
||||
<string name="MyAccountExplain">For kjente e-posttilbydere blir ytterligere innstillinger bestemt automatisk.</string>
|
||||
<string name="MyAccountExplain2" >Noen ganger <![CDATA[<b>]]>må IMAP skrus på<![CDATA[</b>]]> i vev-e-postgrenseflaten.\n\nVed problemer, spør din e-posttilbyder eller dine venner.</string>
|
||||
<string name="AccountNotConfigured">Konto ikke satt opp</string>
|
||||
<string name="AboutThisProgram">Om</string>
|
||||
<string name="NotSet">Ikke satt</string>
|
||||
<string name="NewChat">Ny sludring</string>
|
||||
<string name="Deaddrop">Kontaktforespørsler</string>
|
||||
<string name="DeaddropInChatlist">Vis kontaktforespørsler i sludrelisten</string>
|
||||
<string name="MuteAlways">Alltid dempet</string>
|
||||
<string name="AskStartChatWith">Begynn å sludre med <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="DeaddropHint">For å begynne sludring, klikk på svar-pilene.</string>
|
||||
<string name="NotYetImplemented">Denne funksjonen er ikke tilgjengelig eller ufullstendig.</string>
|
||||
<string name="DefaultStatusText">Sendt med Delta Chat: https://delta.chat</string>
|
||||
<string name="Name" >Navn</string>
|
||||
<string name="EmailAddress">E-postadresse</string>
|
||||
<string name="CannotDeleteContact">Kan ikke slette kontakter i bruk, blokker kontakt istedenfor.</string>
|
||||
@@ -197,14 +294,21 @@
|
||||
<!-- Translators: please use a very short string here, it should not much longer than
|
||||
the string needed for video time+size (0:00, 12,3 Mib) -->
|
||||
<string name="OneMoment">Et øyeblikk…</string>
|
||||
<string name="NoChatsHelp">Start forsendelse av meldinger ved å trykke på den nye sludreknappen nederst i høyre hjørne eller trykk menyknappen for flere valg.</string>
|
||||
<string name="Intro7Message"><![CDATA[<b>Delta Chat</b>]]> er trygt for bedriftsbruk, kompatibelt og basert på standarder.</string>
|
||||
<string name="InviteMenuEntry">Send invitasjoner</string>
|
||||
<string name="InviteText">Jeg bruker Delta Chat-meldingstjenesten nå - %1$s - du kan tekste meg på %2$s</string>
|
||||
<string name="AdvancedSettings">Avanserte innstillinger</string>
|
||||
<string name="AttachFiles">Legg ved filer</string>
|
||||
<string name="ErrGroupNameEmpty">Skriv inn et navn for gruppen.</string>
|
||||
<string name="MsgNewGroupDraft">Hei, jeg har akkurat opprettet gruppen \"%1$s\" for oss.</string>
|
||||
<string name="MsgGroupImageChanged">Gruppebilde endret.</string>
|
||||
<string name="MsgMemberAddedToGroup">Medlem %1$s lagt til.</string>
|
||||
<string name="MsgMemberRemovedFromToGroup">Medlem %1$s fjernet.</string>
|
||||
<string name="AskAddMemberToGroup">Legg til <![CDATA[<b>]]>%1$s<![CDATA[</b>]]> i gruppen?</string>
|
||||
<string name="AskRemoveMemberFromGroup">Fjern <![CDATA[<b>]]>%1$s<![CDATA[</b>]]> fra gruppen?</string>
|
||||
<string name="ErrSelfNotInGroup">Du må være medlem av gruppen for å utføre denne handlingen.</string>
|
||||
<string name="MsgGroupLeft">Gruppe oppløst.</string>
|
||||
<string name="SendNRcvReadReceipts">Motta og send meldingskvitteringer</string>
|
||||
<string name="PreferE2EEncryption">Foretrekk ende-til-ende -kryptering</string>
|
||||
<string name="E2EManagePrivateKeys">Behandle private nøkler</string>
|
||||
@@ -216,6 +320,7 @@
|
||||
<string name="Error">Feil: %1$s</string>
|
||||
<string name="NoNetwork">Nettverk utilgjengelig.</string>
|
||||
<string name="Audio">Lyd</string>
|
||||
<string name="PleaseCutVideoToMaxSize">Gjør videoen mindre enn %1$s.</string>
|
||||
<string name="PermNotificationTitle">Tilkoblet %1$s</string>
|
||||
<string name="PermNotificationText">Venter på meldinger…</string>
|
||||
<string name="SettingsFor">Innstillinger for %1$s</string>
|
||||
@@ -235,6 +340,7 @@
|
||||
<string name="AskDeleteGroupImage">Er du sikker på at du vil slette dette gruppebildet?\n\nDette vil ha innvirkning på alle enhetene tilhørende gruppemedlemmene.</string>
|
||||
<string name="ExportImportHeader">Eksport og import</string>
|
||||
<string name="EnterPasswordToContinue">Skriv inn passordet for %1$s for å fortsette:</string>
|
||||
<string name="IncorrectPassword">Uriktig passord.</string>
|
||||
<string name="ImportBackup">Importer sikkerhetskopi</string>
|
||||
<string name="FilesSuccessfullyExported">Filer eksporter til <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>.</string>
|
||||
<string name="ExportBackup">Eksporter sikkerhetskopi</string>
|
||||
@@ -242,4 +348,14 @@
|
||||
<string name="ImportPrivateKeys">Importer private nøkler</string>
|
||||
<string name="ImportPrivateKeysAsk2">Importer private nøkler fra <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• Eksisterende private nøkler blir ikke slettet\n\n• Den sist importerte nøkkelen vil bli brukt som ny forvalgt nøkkel</string>
|
||||
<string name="NoRecentEmoji">Nylig brukte emoji-er vil bli vist her.</string>
|
||||
</resources>
|
||||
<string name="E2eeOffBecauseOfUser">For å skru på ende-til-ende -kryptering, huk det ut i innstillingene.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">Ende-til-ende -kryptering vil bli brukt hvis mottakeren også skrur det på.</string>
|
||||
<string name="NotNow">Ikke nå</string>
|
||||
<string name="ArchiveChat">Arkiver sludring</string>
|
||||
<string name="UnarchiveChat">Fjern sludring fra arkiv</string>
|
||||
<string name="ArchivedChats">Arkiverte sludringer</string>
|
||||
<string name="Archived">Arkivert</string>
|
||||
<string name="LeaveGroup">Forlat gruppe</string>
|
||||
<string name="AskLeaveGroup">Er du sikker på at du vil forlate denne gruppen?</string>
|
||||
<string name="Never">Aldri</string>
|
||||
</resources>
|
||||
|
||||
@@ -338,7 +338,7 @@
|
||||
<string name="InviteMenuEntry">Vrienden uitnodigen</string>
|
||||
<string name="InviteText">Ik gebruik Delta Chat, %1$s, je kan me berichtjes sturen op %2$s</string>
|
||||
<string name="AdvancedSettings">Geavanceerde instellingen</string>
|
||||
<string name="AskResetNotifications" >Herstel alle notificatieinstellingen en geluiden van deze pagina en je contacten en groepen?</string>
|
||||
<string name="AskResetNotifications">Herstel alle notificatieinstellingen en geluiden van deze pagina en je contacten en groepen?</string>
|
||||
<string name="AttachFiles">Voeg bestanden toe</string>
|
||||
<string name="ErrGroupNameEmpty">Typ een naam in voor de groep.</string>
|
||||
<string name="MsgNewGroupDraftHint">Schrijf een eerste bericht om anderen te kunnen laten reageren in deze groep.\n\n• Het is oké als niet iedereen Delta Chat gebruikt.\n\n• Het leveren van het eerste bericht kan even duren.</string>
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
<string name="InviteMenuEntry">Wyślij zaproszenia</string>
|
||||
<string name="InviteText">Teraz używam komunikatora Delta Chat - %1$s - możesz pisać do mnie na %2$s</string>
|
||||
<string name="AdvancedSettings">Ustawienia zaawansowane</string>
|
||||
<string name="AskResetNotifications" >Zresetować wszystkie ustawienia powiadomień i dźwięków na tej stronie oraz dla swoich kontaktów i grup?</string>
|
||||
<string name="AskResetNotifications">Zresetować wszystkie ustawienia powiadomień i dźwięków na tej stronie oraz dla swoich kontaktów i grup?</string>
|
||||
<string name="AttachFiles">Załącz pliki</string>
|
||||
<string name="ErrGroupNameEmpty">Podaj nazwę dla grupy</string>
|
||||
<string name="MsgNewGroupDraftHint">Napisz pierwszą wiadomość, by inni mogli odpowiedzieć w tej grupie.\n\n• Nie ma problemu, jeśli nie wszyscy członkowie korzystają z Delta Chat.\n\n• Dostarczenie pierwszej wiadomości może chwilę potrwać.</string>
|
||||
@@ -428,4 +428,13 @@
|
||||
<string name="ImportPrivateKeysAsk2">Zaimportować prywatne klucze z <![CDATA[<i>]]>%1$s<![CDATA[]]>?\n\n• Istniejące prywatne klucze nie są usuwane\n\n• Ostatni zaimportowany klucz zostanie użyty jako nowy klucz domyślny</string>
|
||||
<string name="NoRecentEmoji">Tutaj będą pokazane ostatnio używane emoji.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Aby włączyć szyfrowanie typu end-to-end, zaznacz odpowiednią opcję w ustawieniach.</string>
|
||||
</resources>
|
||||
<string name="E2eeOffBecauseOfRecipient">Szyfrowanie zostanie przełączone na end-to-end, jeśli kontakt włączy odpowiednią opcję.</string>
|
||||
<string name="NotNow">Nie teraz</string>
|
||||
<string name="ArchiveChat">Archiwizuj czat</string>
|
||||
<string name="UnarchiveChat">Przywróć czat z archiwum</string>
|
||||
<string name="ArchivedChats">Zarchiwizowane czaty</string>
|
||||
<string name="Archived">Zarchiwizowane</string>
|
||||
<string name="LeaveGroup">Opuść grupę</string>
|
||||
<string name="AskLeaveGroup">Czy na pewno chcesz opuścić tą grupę?</string>
|
||||
<string name="Never">Nigdy</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<string name="UnmuteNotifications">Restaurar som</string>
|
||||
<string name="Draft">Rascunho</string>
|
||||
<!--audio view-->
|
||||
<string name="NoAudio">Por favor, adicione músicas à sua biblioteca para vê-las aqui.</string>
|
||||
<string name="NoAudio">Músicas adicionados à biblioteca do dispositivo serão exibidas aqui.</string>
|
||||
<string name="AttachMusic">Música</string>
|
||||
<!--documents view-->
|
||||
<string name="SelectFile">Selecione um arquivo</string>
|
||||
@@ -41,7 +41,7 @@
|
||||
<string name="From">De</string>
|
||||
<string name="NoRecent">Nada recente</string>
|
||||
<string name="TypeMessage">Mensagem</string>
|
||||
<string name="SlideToCancel">DESLIZE PARA CANCELAR</string>
|
||||
<string name="SlideToCancel">Deslize para cancelar</string>
|
||||
<string name="SaveToDownloads">Salvar em downloads</string>
|
||||
<string name="SaveToMusic">Salvar em músicas</string>
|
||||
<string name="Share">Compartilhar</string>
|
||||
@@ -205,7 +205,7 @@
|
||||
<string name="PermissionContacts">Delta Chat precisa acessar seus contatos para que você possa se conectar aos seus amigos em todos os seus dispositivos.</string>
|
||||
<string name="PermissionStorage">Delta Chat precisa acessar seu armazenamento para que você possa enviar e salvar fotos, vídeos, músicas e outras mídias.</string>
|
||||
<string name="PermissionNoAudio">Delta Chat precisa acessar seu microfone para que você possa enviar mensagens de voz.</string>
|
||||
<string name="PermissionOpenSettings">Configurações de ajuste</string>
|
||||
<string name="PermissionOpenSettings">Configurações</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro1Message">O aplicativo com a <![CDATA[<b>maior base de contatos</b>]]> do mundo.<![CDATA[<br/><b>Grátis</b>]]> e <![CDATA[<b>seguro</b>]]>.</string>
|
||||
@@ -222,7 +222,7 @@
|
||||
<string name="Intro5Headline">Grátis</string>
|
||||
<string name="Intro5Message"><![CDATA[<b>Delta Chat</b>]]> será sempre grátis, de<![CDATA[<br/>]]>Código livre e sem propagandas.</string>
|
||||
|
||||
<string name="Intro6Headline">Seguro</string>
|
||||
<string name="Intro6Headline">Criptografado</string>
|
||||
<string name="Intro6Message"><![CDATA[<b>Criptografia</b>]]> com as tecnologias mais usadas. Suas mensagens ficam no servidor de e-mail.</string>
|
||||
|
||||
<string name="Intro7Headline">Confiável</string>
|
||||
@@ -338,7 +338,7 @@
|
||||
<string name="InviteMenuEntry">Convidar amigos</string>
|
||||
<string name="InviteText">Estou usando o Delta Chat messenger - %1$s - meu contato neste app é: %2$s</string>
|
||||
<string name="AdvancedSettings">Configurações avançadas</string>
|
||||
<string name="AskResetNotifications" >Zerar todas as configurações e sons gerais, dos contatos e dos grupos?</string>
|
||||
<string name="AskResetNotifications">Zerar todas as configurações e sons gerais, dos contatos e dos grupos?</string>
|
||||
<string name="AttachFiles">Anexar arquivos</string>
|
||||
<string name="ErrGroupNameEmpty">Por favor, designar um nome ao grupo.</string>
|
||||
<string name="MsgNewGroupDraftHint">Escreva a primeira mensagem, possibilitando assim que os demais participem do grupo.\n\n• Tudo bem se nem todos usarem o Delta Chat.\n\n• A primeira mensagem pode demorar um pouco.</string>
|
||||
@@ -398,4 +398,15 @@
|
||||
<string name="ExportPrivateKeys">Exportar chaves privadas</string>
|
||||
<string name="ImportPrivateKeys">Importar chaves privadas</string>
|
||||
<string name="ImportPrivateKeysAsk2">Importar chaves privadas de <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• As chaves existentes não serão apagadas\n\n• A última chave importada será usada como padrão</string>
|
||||
</resources>
|
||||
<string name="NoRecentEmoji">Emojis recentemente usados.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Para habilitar a criptografia ponta a ponta revise as configurações do aplicativo.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">> A criptografia ponta a ponta será empregada se o destinatário habilitá-la também.</string>
|
||||
<string name="NotNow">Agora não</string>
|
||||
<string name="ArchiveChat">Arquivar conversa</string>
|
||||
<string name="UnarchiveChat">Desarquivar conversa</string>
|
||||
<string name="ArchivedChats">Conversas arquivadas</string>
|
||||
<string name="Archived">Arquivado</string>
|
||||
<string name="LeaveGroup">Sair do grupo</string>
|
||||
<string name="AskLeaveGroup">Tem certeza que deseja sair do grupo?</string>
|
||||
<string name="Never">Jamais</string>
|
||||
</resources>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<string name="UnmuteNotifications">Включить уведомления</string>
|
||||
<string name="Draft">Черновик</string>
|
||||
<!--audio view-->
|
||||
<string name="NoAudio">Добавьте файлы в музыкальную коллекцию на вашем устройстве для того, чтобы увидеть его здесь.</string>
|
||||
<string name="NoAudio">Добавьте файлы в музыкальную коллекцию на вашем устройстве для того, чтобы увидеть их здесь.</string>
|
||||
<string name="AttachMusic">Музыка</string>
|
||||
<!--documents view-->
|
||||
<string name="SelectFile">Выбрать файл</string>
|
||||
@@ -78,7 +78,7 @@
|
||||
<string name="InAppNotifications">Уведомления программы</string>
|
||||
<string name="Vibrate">Вибрация</string>
|
||||
<string name="ResetAllNotifications">Сбросить все уведомления</string>
|
||||
<string name="NotificationsAndSounds">Уведомления и Звуки</string>
|
||||
<string name="NotificationsAndSounds">Уведомления и звуки</string>
|
||||
<string name="BlockedContacts">Заблокированные контакты</string>
|
||||
<string name="Default">По умолчанию</string>
|
||||
<string name="OnlyIfSilent">Только если тишина</string>
|
||||
@@ -366,7 +366,7 @@
|
||||
<string name="InviteMenuEntry">Отправить приглашения</string>
|
||||
<string name="InviteText">Я использую систему мгновенных сообщений Delta Chat - %1$s - вы можете написать мне на %2$s</string>
|
||||
<string name="AdvancedSettings">Расширенные настройки</string>
|
||||
<string name="AskResetNotifications" >Сбросить все настройки уведомлений и звуки этой страницы, а также ваших контактов и групп?</string>
|
||||
<string name="AskResetNotifications">Сбросить все настройки уведомлений и звуки этой страницы, а также ваших контактов и групп?</string>
|
||||
<string name="AttachFiles">Прикрепить файлы</string>
|
||||
<string name="ErrGroupNameEmpty">Введите название группы.</string>
|
||||
<string name="MsgNewGroupDraftHint">Напишите первое сообщение, чтобы другие могли отвечать в этой группе.\n\n• Группа будет нормально общаться, даже если не все участники используют Delta Chat.\n\n• Доставка первого сообщения может занять некоторое время.</string>
|
||||
@@ -396,7 +396,7 @@
|
||||
<string name="PermNotificationText">Ожидание сообщений …</string>
|
||||
<string name="SettingsFor">Настройки для %1$s</string>
|
||||
<string name="AutoplayGifs">Автозапуск GIF</string>
|
||||
<string name="HelpUrl">https://delta.chat/en/help</string>
|
||||
<string name="HelpUrl">https://delta.chat/ru/help</string>
|
||||
<string name="EncryptedMessage">Зашифрованное сообщение</string>
|
||||
<string name="Encryption">Шифрование</string>
|
||||
<string name="EncrinfoE2E">Включено сквозное шифрование.</string>
|
||||
@@ -411,6 +411,7 @@
|
||||
<string name="ReadReceipt">Уведомление о доставке</string>
|
||||
<string name="NameAndStatus">Имя и статус</string>
|
||||
<string name="MyStatus">Мой статус</string>
|
||||
<string name="MyStatusExplain">Статус может быть показан в подписи.</string>
|
||||
<string name="MsgGroupImageDeleted">Изображение группы удалено.</string>
|
||||
<string name="AskDeleteGroupImage">Вы действительно хотите удалить изображение группы?\n\nИзменение вступит в силу на всех устройствах участников группы.</string>
|
||||
<string name="ExportImportHeader">Экспорт и импорт</string>
|
||||
@@ -425,4 +426,15 @@
|
||||
<string name="ExportPrivateKeys">Экспорт закрытых ключей</string>
|
||||
<string name="ImportPrivateKeys">Импорт закрытых ключей</string>
|
||||
<string name="ImportPrivateKeysAsk2">Импорт закрытых ключей из <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• Существующие закрытые ключи удалены не будут\n\n• Последний импортированный ключ будет использован по умолчанию.</string>
|
||||
</resources>
|
||||
<string name="NoRecentEmoji">Здесь будут ранее использованные смайлики.</string>
|
||||
<string name="E2eeOffBecauseOfUser">Для включения сквозного шифрования выберите соответствующий пункт в настройках.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">Шифрование будет переключено в сквозной режим, если со стороны контакта будет выбран соответствующий пункт настроек.</string>
|
||||
<string name="NotNow">Не сейчас</string>
|
||||
<string name="ArchiveChat">Архивировать чат</string>
|
||||
<string name="UnarchiveChat">Разархивировать чат</string>
|
||||
<string name="ArchivedChats">Архивированные чаты</string>
|
||||
<string name="Archived">Помещено в архив</string>
|
||||
<string name="LeaveGroup">Выйти из группы</string>
|
||||
<string name="AskLeaveGroup">Вы уверены, что хотите выйти из группы?</string>
|
||||
<string name="Never">Никогда</string>
|
||||
</resources>
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
|
||||
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="AppName">Делта ћаскање</string>
|
||||
<!--chats view-->
|
||||
<string name="Settings">Поставке</string>
|
||||
<string name="NewGroup">Нова група</string>
|
||||
<string name="NoResult">Нема резултата.</string>
|
||||
<string name="NoChats">Још нема ћаскања.</string>
|
||||
<string name="DeleteChat">Обриши ћаскање</string>
|
||||
<string name="SelectChat">Изаберите ћаскање…</string>
|
||||
<string name="Search">Претрага</string>
|
||||
<string name="MuteNotifications">Искључи обавештења</string>
|
||||
<string name="MuteFor">Искључи %1$s</string>
|
||||
<string name="Draft">Нацрт</string>
|
||||
<!--documents view-->
|
||||
<string name="SelectFile">Изабери фајл</string>
|
||||
<string name="ErrorHint">Непозната грешка</string>
|
||||
<string name="AccessError">Грешка приступа</string>
|
||||
<string name="NoFiles">Још нема фајлова…</string>
|
||||
<string name="NotMounted">Складиште није монтирано</string>
|
||||
<string name="InternalStorage">Унутрашње складиште</string>
|
||||
<string name="ExternalStorage">Спољашње складиште</string>
|
||||
<string name="SdCard">СД картица</string>
|
||||
<string name="Folder">Фасцикла</string>
|
||||
<!--chat view-->
|
||||
<string name="ChatGallery">Галерија</string>
|
||||
<string name="ChatCamera">Камера</string>
|
||||
<string name="NoMessages">Нема порука.</string>
|
||||
<string name="ForwardedMessage">Прослеђена порука</string>
|
||||
<string name="From">Од</string>
|
||||
<string name="NoRecent">Нема недавних</string>
|
||||
<string name="TypeMessage">Порука</string>
|
||||
<string name="SlideToCancel">ПРЕВУЦИТЕ ЗА ОТКАЗИВАЊЕ</string>
|
||||
<string name="SaveToDownloads">Сачувај у преузимања</string>
|
||||
<string name="SaveToMusic">Сачувај у музику</string>
|
||||
<string name="Share">Дели</string>
|
||||
<string name="SendItems">Пошаљи %1$s</string>
|
||||
<!--notification-->
|
||||
<string name="Reply">Одговори</string>
|
||||
<!--group info view-->
|
||||
<string name="AddMember">Додај члана</string>
|
||||
<string name="Notifications">Обавештења</string>
|
||||
<string name="RemoveMember">Уклони члана</string>
|
||||
<!--contact info view-->
|
||||
<string name="NewContactTitle">Нови контакт</string>
|
||||
<string name="BlockContact">Блокирај контакт</string>
|
||||
<string name="DeleteContact">Обриши контакт</string>
|
||||
<string name="Gallery">Галерија</string>
|
||||
<string name="PermissionOpenSettings">Поставке</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Делта ћаскање</string>
|
||||
</resources>
|
||||
@@ -80,6 +80,7 @@
|
||||
<string name="ResetAllNotifications">அனைத்து அறிவுப்புக்களையும் மீட்டமைக்கவும்</string>
|
||||
<string name="NotificationsAndSounds">அறிவுப்புகள் மற்றும் ஓசைகள்</string>
|
||||
<string name="BlockedContacts">தடுக்கபட்ட தொடர்புகள்</string>
|
||||
<string name="Default">இயல்புநிலை</string>
|
||||
<string name="OnlyIfSilent">அமைதியாக இருந்தால் மட்டும்</string>
|
||||
<string name="ChatBackground">அரட்டை பின்புலம்</string>
|
||||
<string name="SendByEnter">\"enter\" மூலம் அனுப்பவும் </string>
|
||||
@@ -104,6 +105,7 @@
|
||||
<string name="SmartNotificationsTimes">வேளைகள் </string>
|
||||
<string name="Gallery">காட்சி கூடம் </string>
|
||||
<string name="BlurOff">நிறுத்தவும்</string>
|
||||
<string name="PermissionOpenSettings">அமைப்புகள் </string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">டெல்டா அரட்டை </string>
|
||||
</resources>
|
||||
|
||||
@@ -195,13 +195,14 @@
|
||||
<string name="NoHandleAppInstalled">మీ దగ్గర ఈ ఫైల్ \'%1$s\' రకాన్ని గుర్తించే అప్లికేషన్లు లేవు, దయచేసి గుర్తించేదాన్ని ఒకటి ఇంస్టాల్ చేసి కొనసాగండి </string>
|
||||
<string name="ContactAlreadyInGroup">ఈ పరిచయం ఇప్పటికే ఈ సమూహం లో ఉంది.</string>
|
||||
<string name="ForwardMessagesTo">సందేశాలు <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>ఫార్వర్డ్ చేయాలా?</string>
|
||||
<string name="SendMessagesTo">సందేశాలు <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>కు పంపాలా?</string>
|
||||
<string name="SendMessagesTo">సందేశాలు <![CDATA[ఛ్డాటా[<b>]]>%1$s<![CDATA[</b>]]>కు పంపాలా?</string>
|
||||
<string name="AreYouSureDeleteThisChat">ఈ చాట్ ను తొలగించాలా? ఈ చాట్ ఇకమీదట చాట్ లిస్ట్ లో చూపించబడదు, సందేశాలు మాత్రం సర్వర్ లో ఉంటాయి.</string>
|
||||
<string name="AreYouSureBlockContact">మీరు ఈ పరిచయాన్ని రద్దుచేయాలని నిర్ణయించుకున్నారా?</string>
|
||||
<string name="AreYouSureDeleteContact">మీరు ఈ పరిచయాన్ని తొలగించాలని నిర్ణయించుకున్నారా?</string>
|
||||
<!--permissions-->
|
||||
<string name="PermissionContacts">డెల్టా చాట్ మీ స్నేహితులతో ఎల్లప్పుడూ కనెక్ట్ అయి ఉండడానికి మీ పరిచాయాల యాక్సస్ కు అనుమతించాలి. </string>
|
||||
<string name="PermissionStorage">డెల్టా చాట్ లొ మీరు వీడియోలు, చిత్రాలు, సంగీతం, మరియు వేరే మీడియా పంపడానికి, భద్రపరుచుకోడానికి మీ డివైజ్ స్టొరేజ్ యాక్సస్ కావాలి.</string>
|
||||
<string name="PermissionOpenSettings">సెట్టింగులు</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">డెల్టా చాట్</string>
|
||||
<string name="Password">పాస్వర్డ్</string>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<string name="SelectChat">Söyleşi seç ...</string>
|
||||
<string name="Search">Arama</string>
|
||||
<string name="MuteNotifications">Bildirimleri sessize al</string>
|
||||
<string name="MuteFor">%1$s için sessiz</string>
|
||||
<string name="UnmuteNotifications">Sessizden çıkarma</string>
|
||||
<string name="Draft">Taslak</string>
|
||||
<string name="AttachMusic">Müzik</string>
|
||||
@@ -38,10 +39,15 @@
|
||||
<string name="SaveToMusic">Müziğe kaydet</string>
|
||||
<string name="Share">Paylaş</string>
|
||||
<string name="SendItems">%1$sgönder</string>
|
||||
<string name="ClearRecentEmoji">En son duygu simgeleri temizlensin mi?</string>
|
||||
<string name="AddShortcut">Ana ekrana gereç ekleme</string>
|
||||
<string name="ShortcutAdded">Gereç ana ekrana eklendi</string>
|
||||
<!--notification-->
|
||||
<string name="Reply">Yanıtlama</string>
|
||||
<string name="ReplyToGroup">%1$se yanıt ver</string>
|
||||
<string name="ReplyToContact">%1$se yanıt ver</string>
|
||||
<!--contacts view-->
|
||||
<string name="NoContacts">Henüz kişi yok.</string>
|
||||
<string name="EnterGroupNamePlaceholder">Grup adı girin</string>
|
||||
<!--group info view-->
|
||||
<string name="AddMember">Üye ekle</string>
|
||||
@@ -67,9 +73,11 @@
|
||||
<string name="BlockedContacts">Engellenmiş kişiler</string>
|
||||
<string name="Default">Öntanımlı</string>
|
||||
<string name="OnlyIfSilent">Sadece sessizse</string>
|
||||
<string name="ChatBackground">Söyleşi arkaplanı</string>
|
||||
<string name="Help">Yardım</string>
|
||||
<string name="Enabled">Aç</string>
|
||||
<string name="Disabled">Kapat</string>
|
||||
<string name="LedColor">LED rengi</string>
|
||||
<string name="Short">Kısa</string>
|
||||
<string name="Long">Uzun</string>
|
||||
<string name="EditName">Adı düzenle</string>
|
||||
@@ -79,7 +87,9 @@
|
||||
<string name="NotificationsPriorityMax">En yüksek öncelik</string>
|
||||
<string name="RepeatNotifications">Bildirimleri yinele</string>
|
||||
<string name="NotificationsOther">Diğer</string>
|
||||
<string name="SmartNotifications">Sınır bildirimleri</string>
|
||||
<string name="DirectShare">Doğrudan paylaşım</string>
|
||||
<string name="DirectShareInfo">Son söyleşileri paylaşma menüsünde göster</string>
|
||||
<!--cache view-->
|
||||
<string name="CacheSettings">Depolama</string>
|
||||
<string name="KeepMedia">Ortamı tut</string>
|
||||
@@ -108,14 +118,18 @@
|
||||
<string name="NoVideo">Henüz vidyo yok</string>
|
||||
<string name="CropImage">Görüntüyü kırp</string>
|
||||
<string name="EditImage">Görüntüyü düzenle</string>
|
||||
<string name="Enhance">Artırma</string>
|
||||
<string name="Highlights">Vurgulama</string>
|
||||
<string name="Contrast">Keskinlik</string>
|
||||
<string name="Exposure">Poz</string>
|
||||
<string name="Warmth">Sıcaklık</string>
|
||||
<string name="Saturation">Renk doygunluğu</string>
|
||||
<string name="Vignette">Süsleme</string>
|
||||
<string name="Shadows">Gölgeler</string>
|
||||
<string name="Sharpen">Keskinleştirme</string>
|
||||
<string name="Fade">Soldurma</string>
|
||||
<string name="TintShadows">GÖLGELER</string>
|
||||
<string name="TintShadows">Gölgeler</string>
|
||||
<string name="TintHighlights">Vurgulamalar</string>
|
||||
<string name="Curves">Eğriler</string>
|
||||
<string name="CurvesAll">HEPSİ</string>
|
||||
<string name="CurvesRed">KIRMIZI</string>
|
||||
@@ -152,39 +166,117 @@
|
||||
<string name="AttachGif">GİF</string>
|
||||
<string name="AttachDocument">Dosya</string>
|
||||
<string name="AttachVoiceMessage">Sesli ileti</string>
|
||||
<string name="PermissionOpenSettings">Ayarları değiştir</string>
|
||||
<string name="AreYouSureBlockContact">Bu kişiyi engellemek istediğinizden emin misiniz?</string>
|
||||
<string name="AreYouSureDeleteContact">Bu kişiyi silmek istediğizden emin misiniz?</string>
|
||||
<string name="PermissionOpenSettings">Ayarlar</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro2Headline">Bağımsız</string>
|
||||
<string name="Intro3Headline">Hızlı</string>
|
||||
<string name="Intro4Headline">Muhteşem</string>
|
||||
<string name="Intro6Headline">Güvenli</string>
|
||||
<string name="formatterYear">dd.MM.yyyy</string>
|
||||
<string name="formatterDay24H">HH:mm</string>
|
||||
<!--plural-->
|
||||
<plurals name="Members">
|
||||
<item quantity="one">%düye</item>
|
||||
<item quantity="other">%d üye</item>
|
||||
</plurals>
|
||||
<plurals name="Contacts">
|
||||
<item quantity="one">%d kişi</item>
|
||||
<item quantity="other">%d kişi</item>
|
||||
</plurals>
|
||||
<plurals name="MeAndMembers">
|
||||
<item quantity="one">%d üye ve ben</item>
|
||||
<item quantity="other">%d üye ve ben</item>
|
||||
</plurals>
|
||||
<plurals name="NewMessages">
|
||||
<item quantity="one">%d yeni ileti</item>
|
||||
<item quantity="other">%dyeni ileti</item>
|
||||
</plurals>
|
||||
<plurals name="messages">
|
||||
<item quantity="one">%dileti</item>
|
||||
<item quantity="other">%dileti</item>
|
||||
</plurals>
|
||||
<plurals name="Chats">
|
||||
<item quantity="one">%d söyleşi</item>
|
||||
<item quantity="other">%dsöyleşi</item>
|
||||
</plurals>
|
||||
<plurals name="Minutes">
|
||||
<item quantity="one">%d dakika</item>
|
||||
<item quantity="other">%d dakika</item>
|
||||
</plurals>
|
||||
<plurals name="Hours">
|
||||
<item quantity="one">%d saat</item>
|
||||
<item quantity="other">%d saat</item>
|
||||
</plurals>
|
||||
<plurals name="Days">
|
||||
<item quantity="one">%d gün</item>
|
||||
<item quantity="other">%d gün</item>
|
||||
</plurals>
|
||||
<plurals name="Weeks">
|
||||
<item quantity="one">%d hafta</item>
|
||||
<item quantity="other">%d hafta</item>
|
||||
</plurals>
|
||||
<plurals name="Months">
|
||||
<item quantity="one">%d ay</item>
|
||||
<item quantity="other">%d ay</item>
|
||||
</plurals>
|
||||
<string name="formatterYear">gg.AA.yyyy</string>
|
||||
<string name="formatterDay24H">SS:dd</string>
|
||||
<string name="AccountSettings">Hesap ayarları</string>
|
||||
<string name="MyAccount">Hesabım</string>
|
||||
<string name="MyName">Adım</string>
|
||||
<string name="Password">Parola</string>
|
||||
<string name="SmtpPassword">STMP parolası</string>
|
||||
<string name="FromAbove">Yukarıdan</string>
|
||||
<string name="SmtpLoginname">STMP giriş adı</string>
|
||||
<string name="SmtpPort">STMP bağlanma noktası</string>
|
||||
<string name="Automatic">Otomatik</string>
|
||||
<string name="ImapServer">İMAP sunucusu</string>
|
||||
<string name="ImapLoginname">İMAP giriş adı</string>
|
||||
<string name="SmtpServer">STMP sunucusu</string>
|
||||
<string name="ImapPort">İMAP bağlanma noktası</string>
|
||||
<string name="InboxHeadline">Gelen kutusu</string>
|
||||
<string name="OutboxHeadline">Gönderilenler</string>
|
||||
<string name="AccountNotConfigured">Hesap düzenlenmedi</string>
|
||||
<string name="AboutThisProgram">Delta Chat Hakkında</string>
|
||||
<string name="NewChat">Yeni söyleşi</string>
|
||||
<string name="MuteAlways">Sürekli sessiz</string>
|
||||
<string name="Name" >Ad</string>
|
||||
<string name="EmailAddress">E-posta adresi</string>
|
||||
<string name="ViewProfile">Profil görüntüsü</string>
|
||||
<string name="InviteMenuEntry">Davetiye gönderin</string>
|
||||
<string name="AdvancedSettings">Gelişmiş ayarlar</string>
|
||||
<string name="AttachFiles">Dosyaları iliştir</string>
|
||||
<string name="ErrGroupNameEmpty">Grup için bir ad girin</string>
|
||||
<string name="MsgGroupImageChanged">Grup resmi değişti.</string>
|
||||
<string name="MsgMemberAddedToGroup">%1$s üye eklendi</string>
|
||||
<string name="MsgMemberRemovedFromToGroup">%1$s üye silindi.</string>
|
||||
<string name="E2ECompareKeys">Anahtarları karşılaştır</string>
|
||||
<string name="SelectContact">Bir kişi seçin</string>
|
||||
<string name="DoneHint">Tamam.</string>
|
||||
<string name="NoNetwork">Ağ kullanılamıyor.</string>
|
||||
<string name="Audio">Ses</string>
|
||||
<string name="PermNotificationText">İletiler bekliyor ...</string>
|
||||
<string name="SettingsFor">%1$siçin ayarlar</string>
|
||||
<string name="AutoplayGifs">GİFleri otomatik oynat</string>
|
||||
<string name="HelpUrl">https://delta.chat/en/help</string>
|
||||
<string name="EncryptedMessage">Şifrelenmiş ileti</string>
|
||||
<string name="EncrinfoE2E">Uçtan uca şifreleme etkin</string>
|
||||
<string name="EncrinfoFingerprints">Parmak izleri</string>
|
||||
<string name="Backup">Yedekleme</string>
|
||||
<string name="NameAndStatus">Ad ve durum</string>
|
||||
<string name="MyStatus">Durumum</string>
|
||||
<string name="MsgGroupImageDeleted">Grup resmi silindi</string>
|
||||
<string name="ExportImportHeader">Dışa aktarım ve içe aktarım</string>
|
||||
<string name="IncorrectPassword">Geçersiz parola</string>
|
||||
</resources>
|
||||
<string name="ImportBackup">Yedeklemeyi içe aktar</string>
|
||||
<string name="ExportBackup">Yedeklemeyi dışa aktar</string>
|
||||
<string name="ExportPrivateKeys">Özel anahtarları dışa aktar</string>
|
||||
<string name="ImportPrivateKeys">Özel anahtarları içe aktar</string>
|
||||
<string name="NoRecentEmoji">Son kullanılan duygu simgeleri burada gösterilecek.</string>
|
||||
<string name="NotNow">Şimdi değil</string>
|
||||
<string name="ArchivedChats">Arşivlenmiş söyleşiler</string>
|
||||
<string name="Archived">Arşivlenmiş</string>
|
||||
<string name="LeaveGroup">Gruptan ayrıl</string>
|
||||
<string name="Never">Asla</string>
|
||||
</resources>
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
<string name="InviteMenuEntry">Надіслати запрошення</string>
|
||||
<string name="InviteText">Я користаюся оповісником Delta Chat -%1$s- ви можети написати мені на%2$s</string>
|
||||
<string name="AdvancedSettings">Просунуті налаштування</string>
|
||||
<string name="AskResetNotifications" >Скинути всі налаштування оповіщень та звуки на цій сторінці, а також у контактах та спільнотах?</string>
|
||||
<string name="AskResetNotifications">Скинути всі налаштування оповіщень та звуки на цій сторінці, а також у контактах та спільнотах?</string>
|
||||
<string name="AttachFiles">Долучити файли</string>
|
||||
<string name="ErrGroupNameEmpty">Упишіть назву спільноти</string>
|
||||
<string name="MsgNewGroupDraftHint">Напишіть перше повідомлення аби інші змогли відповідати у спільноті.\n\n• Нічого страшного, якщо не всі учасники користаються Delta Chatом.\n\n• Доставлення першого повідомлення відбере лише мить.</string>
|
||||
|
||||
@@ -17,22 +17,22 @@
|
||||
<string name="UnmuteNotifications">Unmute</string>
|
||||
<string name="Draft">Draft</string>
|
||||
<!--audio view-->
|
||||
<string name="NoAudio">Please add files to the music library on your device to see them here.</string>
|
||||
<string name="NoAudio">Files added to the music library of your device will appear here.</string>
|
||||
<string name="AttachMusic">Music</string>
|
||||
<!--documents view-->
|
||||
<string name="SelectFile">Select File</string>
|
||||
<string name="FreeOfTotal">Free %1$s of %2$s</string>
|
||||
<string name="FreeOfTotal">%1$s of %2$s free</string>
|
||||
<string name="ErrorHint">Unknown error</string>
|
||||
<string name="AccessError">Access error</string>
|
||||
<string name="NoFiles">No files yet …</string>
|
||||
<string name="NotMounted">Storage not mounted</string>
|
||||
<string name="UsbActive">USB transfer active</string>
|
||||
<string name="UsbActive">USB transfer in progress</string>
|
||||
<string name="InternalStorage">Internal Storage</string>
|
||||
<string name="ExternalStorage">External Storage</string>
|
||||
<string name="SystemRoot">System Root</string>
|
||||
<string name="SdCard">SD Card</string>
|
||||
<string name="Folder">Folder</string>
|
||||
<string name="GalleryInfo">To send images without compression</string>
|
||||
<string name="GalleryInfo">To send uncompressed images</string>
|
||||
<!--chat view-->
|
||||
<string name="ChatGallery">Gallery</string>
|
||||
<string name="ChatCamera">Camera</string>
|
||||
@@ -41,9 +41,9 @@
|
||||
<string name="From">From</string>
|
||||
<string name="NoRecent">No recent</string>
|
||||
<string name="TypeMessage">Message</string>
|
||||
<string name="SlideToCancel">SLIDE TO CANCEL</string>
|
||||
<string name="SaveToDownloads">Save to downloads</string>
|
||||
<string name="SaveToMusic">Save to music</string>
|
||||
<string name="SlideToCancel">Slide to cancel</string>
|
||||
<string name="SaveToDownloads">Save to \"Downloads"\</string>
|
||||
<string name="SaveToMusic">Save to "\Music"\</string>
|
||||
<string name="Share">Share</string>
|
||||
<string name="SendItems">Send %1$s</string>
|
||||
<string name="ClearRecentEmoji">Clear recent emoji?</string>
|
||||
@@ -68,11 +68,11 @@
|
||||
<string name="DeleteContact">Delete contact</string>
|
||||
<string name="Info">Info</string>
|
||||
<!--settings view-->
|
||||
<string name="TextSize">Messages font size</string>
|
||||
<string name="TextSize">Font size of messages</string>
|
||||
<string name="UnblockContact">Unblock contact</string>
|
||||
<string name="NoBlocked">No blocked contacts yet</string>
|
||||
<string name="DefaultForNormalMessages">Normal messages</string>
|
||||
<string name="MessagePreview">Message preview</string>
|
||||
<string name="MessagePreview">Preview message</string>
|
||||
<string name="DefaultForGroupMessages">Group messages</string>
|
||||
<string name="Sound">Sound</string>
|
||||
<string name="InAppNotifications">In-app notifications</string>
|
||||
@@ -81,14 +81,14 @@
|
||||
<string name="NotificationsAndSounds">Notifications and sounds</string>
|
||||
<string name="BlockedContacts">Blocked contacts</string>
|
||||
<string name="Default">Default</string>
|
||||
<string name="OnlyIfSilent">Only if silent</string>
|
||||
<string name="OnlyIfSilent">Only when silent</string>
|
||||
<string name="ChatBackground">Chat background</string>
|
||||
<string name="SendByEnter">Send by "enter"</string>
|
||||
<string name="SendByEnter">Send with \"⏎\"</string>
|
||||
<string name="Help">Help</string>
|
||||
<string name="Enabled">On</string>
|
||||
<string name="Disabled">Off</string>
|
||||
<string name="LedColor">LED color</string>
|
||||
<string name="BadgeNumber">Show count on icon if possible</string>
|
||||
<string name="BadgeNumber">Use icon to keep count if possible</string>
|
||||
<string name="Short">Short</string>
|
||||
<string name="Long">Long</string>
|
||||
<string name="RaiseToSpeak">Raise to speak</string>
|
||||
@@ -101,7 +101,7 @@
|
||||
<string name="NotificationsOther">Other</string>
|
||||
<string name="InChatSound">In-chat sounds</string>
|
||||
<string name="SmartNotifications">Limit notifications</string>
|
||||
<string name="SmartNotificationsSoundAtMost">Sound at most</string>
|
||||
<string name="SmartNotificationsSoundAtMost">Max.</string>
|
||||
<string name="SmartNotificationsTimes">times</string>
|
||||
<string name="SmartNotificationsWithin">within</string>
|
||||
<string name="SmartNotificationsMinutes">minutes</string>
|
||||
@@ -126,11 +126,11 @@
|
||||
<string name="PasscodeDoNotMatch">Passcodes do not match</string>
|
||||
<string name="AutoLock">Autolock</string>
|
||||
<string name="AutoLockInfo">Require passcode if away for a time.</string>
|
||||
<string name="UnlockFingerprint">Unlock with Fingerprint</string>
|
||||
<string name="UnlockFingerprint">Unlock with fingerprint</string>
|
||||
<string name="FingerprintInfo">Confirm fingerprint to continue</string>
|
||||
<string name="FingerprintNotRecognized">Fingerprint not recognized. Try again</string>
|
||||
<!--photo gallery view-->
|
||||
<string name="SaveToGallery">Save to gallery</string>
|
||||
<string name="SaveToGallery">Save to \"Gallery\"</string>
|
||||
<string name="Of">%1$d of %2$d</string>
|
||||
<string name="Gallery">Gallery</string>
|
||||
<string name="AllPhotos">All Photos</string>
|
||||
@@ -151,13 +151,13 @@
|
||||
<string name="Sharpen">Sharpen</string>
|
||||
<string name="Fade">Fade</string>
|
||||
<string name="Tint">Tint</string>
|
||||
<string name="TintShadows">SHADOWS</string>
|
||||
<string name="TintHighlights">HIGHLIGHTS</string>
|
||||
<string name="TintShadows">Shadows</string>
|
||||
<string name="TintHighlights">Highlights</string>
|
||||
<string name="Curves">Curves</string>
|
||||
<string name="CurvesAll">ALL</string>
|
||||
<string name="CurvesRed">RED</string>
|
||||
<string name="CurvesGreen">GREEN</string>
|
||||
<string name="CurvesBlue">BLUE</string>
|
||||
<string name="CurvesAll">All</string>
|
||||
<string name="CurvesRed">Red</string>
|
||||
<string name="CurvesGreen">Green</string>
|
||||
<string name="CurvesBlue">Blue</string>
|
||||
<string name="Blur">Blur</string>
|
||||
<string name="BlurOff">Off</string>
|
||||
<string name="BlurLinear">Linear</string>
|
||||
@@ -181,10 +181,10 @@
|
||||
<string name="Delete">Delete</string>
|
||||
<string name="Forward">Forward</string>
|
||||
<string name="FromCamera">From camera</string>
|
||||
<string name="FromGalley">From gallery</string>
|
||||
<string name="FromGalley">From \"Gallery\"</string>
|
||||
<string name="Set">Set</string>
|
||||
<string name="OK">OK</string>
|
||||
<string name="Crop">CROP</string>
|
||||
<string name="Crop">Crop</string>
|
||||
<!--messages-->
|
||||
<string name="AttachPhoto">Photo</string>
|
||||
<string name="AttachVideo">Video</string>
|
||||
@@ -194,24 +194,24 @@
|
||||
<string name="AttachVoiceMessage">Voice message</string>
|
||||
<string name="FromSelf">Me</string>
|
||||
<!--Alert messages-->
|
||||
<string name="NoHandleAppInstalled">You don\'t have applications that can handle the file type \'%1$s\', please install one to continue</string>
|
||||
<string name="ContactAlreadyInGroup">This contact is already in this group.</string>
|
||||
<string name="NoHandleAppInstalled">No installed app could open the filetype \'%1$s\', please install one to continue.</string>
|
||||
<string name="ContactAlreadyInGroup">The contact is already in this group.</string>
|
||||
<string name="ForwardMessagesTo">Forward selected messages to <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="SendMessagesTo">Send messages to <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="AreYouSureDeleteThisChat">Delete this chat? The chat will no longer be shown in the chat list, the messages will stay on the server.</string>
|
||||
<string name="AreYouSureDeleteThisChat">Delete this chat? It will no longer be shown in the chat list, it\'s messages will remain on the server.</string>
|
||||
<string name="AreYouSureBlockContact">Are you sure you want to block this contact?</string>
|
||||
<string name="AreYouSureDeleteContact">Are you sure you want to delete this contact?</string>
|
||||
<!--permissions-->
|
||||
<string name="PermissionContacts">Delta Chat needs access to your contacts so that you can connect with your friends across all your devices.</string>
|
||||
<string name="PermissionStorage">Delta Chat needs access to your storage so that you can send and save photos, videos, music and other media.</string>
|
||||
<string name="PermissionNoAudio">Delta Chat needs access to your microphone so that you can send voice messages.</string>
|
||||
<string name="PermissionOpenSettings">Adapt settings</string>
|
||||
<string name="PermissionContacts">Access to contacts needed to connect with your friends across all your devices.</string>
|
||||
<string name="PermissionStorage">Storage access needed to send and save photos, videos, music, and other media.</string>
|
||||
<string name="PermissionNoAudio">Microphone access needed to send voice messages.</string>
|
||||
<string name="PermissionOpenSettings">Settings</string>
|
||||
<!--Intro view-->
|
||||
<string name="Intro1Headline">Delta Chat</string>
|
||||
<string name="Intro1Message">The messenger with the <![CDATA[<b>largest range</b>]]> in the world.<![CDATA[<br/><b>Free</b>]]> and <![CDATA[<b>safe</b>]]>.</string>
|
||||
<string name="Intro1Message">The messenger with the <![CDATA[<b>broadest audience</b>]]> in the world.<![CDATA[<br/><b>Free</b>]]> and <![CDATA[<b>independent</b>]]>.</string>
|
||||
|
||||
<string name="Intro2Headline">Independent</string>
|
||||
<string name="Intro2Message"><![CDATA[<b>No dependencies</b>]]> on foreign computers or services. The app only uses your email-server.</string>
|
||||
<string name="Intro2Message"><![CDATA[<b>Independent</b>]]> of foreign computers or services. The app only uses your email-server.</string>
|
||||
|
||||
<string name="Intro3Headline">Fast</string>
|
||||
<string name="Intro3Message"><![CDATA[<b>Push-messages</b>]]> in seconds.<![CDATA[<br/>]]>Rapid interface.</string>
|
||||
@@ -222,7 +222,7 @@
|
||||
<string name="Intro5Headline">Free</string>
|
||||
<string name="Intro5Message"><![CDATA[<b>Delta Chat</b>]]> is free forever.<![CDATA[<br/>]]>Open-source. No ads. No subscription. No vendor lock-in.</string>
|
||||
|
||||
<string name="Intro6Headline">Safe</string>
|
||||
<string name="Intro6Headline">Encrypted</string>
|
||||
<string name="Intro6Message"><![CDATA[<b>Encrypted</b>]]> with all common algorithms. Messages stay on your servers.</string>
|
||||
|
||||
<string name="Intro7Headline">Trustworthy</string>
|
||||
@@ -238,8 +238,8 @@
|
||||
<item quantity="other">%d contacts</item>
|
||||
</plurals>
|
||||
<plurals name="MeAndMembers">
|
||||
<item quantity="one">Me and %d member</item>
|
||||
<item quantity="other">Me and %d members</item>
|
||||
<item quantity="one">%d member and me</item>
|
||||
<item quantity="other">%d members and me</item>
|
||||
</plurals>
|
||||
<plurals name="NewMessages">
|
||||
<item quantity="one">%d new message</item>
|
||||
@@ -250,11 +250,11 @@
|
||||
<item quantity="other">%d messages</item>
|
||||
</plurals>
|
||||
<plurals name="AreYouSureDeleteMessages">
|
||||
<item quantity="one">Delete %d message? The message will also be deleted from the server.</item>
|
||||
<item quantity="other">Delete %d messages? The messages will also be deleted from the server.</item>
|
||||
<item quantity="one">Delete %d message? It will also be deleted from the server.</item>
|
||||
<item quantity="other">Delete %d messages? These will also be deleted from the server.</item>
|
||||
</plurals>
|
||||
<plurals name="NewMessagesInChats">
|
||||
<!-- Translators: the first string placeholder "%s" gets replaced with the
|
||||
<!-- Translators: The first string placeholder "%s" gets replaced with the
|
||||
text "%d new messages", so the complete sentence would be e.g.
|
||||
"4 new messages in 2 chats". -->
|
||||
<item quantity="one">%1$s in %2$d chat</item>
|
||||
@@ -285,7 +285,7 @@
|
||||
<item quantity="other">%d months</item>
|
||||
</plurals>
|
||||
<plurals name="MaxNotifications">
|
||||
<!-- Translators: the second string placeholder "%s" gets replaced with the
|
||||
<!-- Translators: The second string placeholder "%s" gets replaced with the
|
||||
text "%d minutes", so the complete sentence would be e.g.
|
||||
"At most 8 notifications within 3 minutes". -->
|
||||
<item quantity="one">At most %1$d notification within %2$s</item>
|
||||
@@ -304,21 +304,21 @@
|
||||
<string name="AccountSettings">Account settings</string>
|
||||
<string name="MyAccount">My account</string>
|
||||
<string name="MyName">My name</string>
|
||||
<string name="MyNameExplain">Your name, as shown to the receivers. If you do not enter a name here, the receivers will only get your email-address.</string>
|
||||
<string name="MyNameExplain">Your name, as shown to the recipients. If left blank, only your email address will be sent.</string>
|
||||
<string name="Password">Password</string>
|
||||
<string name="SmtpPassword">SMTP password</string>
|
||||
<string name="FromAbove">From above</string>
|
||||
<string name="SmtpLoginname">SMTP loginname</string>
|
||||
<string name="SmtpLoginname">SMTP login-name</string>
|
||||
<string name="SmtpPort">SMTP port</string>
|
||||
<string name="Automatic">Automatic</string>
|
||||
<string name="ImapServer">IMAP server</string>
|
||||
<string name="ImapLoginname">IMAP loginname</string>
|
||||
<string name="ImapLoginname">IMAP login-name</string>
|
||||
<string name="SmtpServer">SMTP server</string>
|
||||
<string name="ImapPort">IMAP port</string>
|
||||
<string name="InboxHeadline">Inbox</string>
|
||||
<string name="OutboxHeadline">Outbox</string>
|
||||
<string name="MyAccountExplain">For known email providers, additional settings are determinated automatically.</string>
|
||||
<string name="MyAccountExplain2" >Sometimes, <![CDATA[<b>]]>IMAP needs to be enabled<![CDATA[</b>]]> in the email web frontend.\n\nOn problems, ask your email provider or your friends.</string>
|
||||
<string name="MyAccountExplain2" >Sometimes, <![CDATA[<b>]]>IMAP needs to be enabled<![CDATA[</b>]]> in the email web frontend.\n\nConsult your email provider or friends if you run into problems.</string>
|
||||
<string name="AccountNotConfigured">Account not configured</string>
|
||||
<string name="AboutThisProgram">About Delta Chat</string>
|
||||
<string name="NotSet">Not set</string>
|
||||
@@ -326,28 +326,28 @@
|
||||
<string name="Deaddrop">Contact requests</string>
|
||||
<string name="DeaddropInChatlist">Show contact requests in chatlist</string>
|
||||
<string name="MuteAlways">Always muted</string>
|
||||
<string name="AskStartChatWith">Start a chat with <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="DeaddropHint">To start a chat, click on the reply-arrows.</string>
|
||||
<string name="AskStartChatWith">Chat with <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>?</string>
|
||||
<string name="DeaddropHint">Tap the reply-arrows to start chatting.</string>
|
||||
<string name="NotYetImplemented">This function is not available or incomplete.</string>
|
||||
<string name="DefaultStatusText">Sent with my Delta Chat Messenger: https://delta.chat</string>
|
||||
<string name="Name" >Name</string>
|
||||
<string name="EmailAddress">Email address</string>
|
||||
<string name="CannotDeleteContact">Cannot delete contacts in use, block contact instead.</string>
|
||||
<string name="BadEmailAddress">Bad email address.</string>
|
||||
<string name="CannotDeleteContact">Cannot delete contacts in use, block the contact instead.</string>
|
||||
<string name="BadEmailAddress">Erroneous email address.</string>
|
||||
<string name="ContactCreated">Contact created.</string>
|
||||
<string name="ViewProfile">View profile</string>
|
||||
<!-- Translators: please use a very short string here, it should not much longer than
|
||||
the string needed for video time+size (0:00, 12,3 Mib) -->
|
||||
<string name="OneMoment">One moment …</string>
|
||||
<string name="NoChatsHelp">Start messaging by pressing the new chat button in the bottom right corner or tap the menu button for more options.</string>
|
||||
<string name="NoChatsHelp">Start messaging by pressing the \"New chat"\ button in the bottom right, or tap the \"Menu"\ button for more options.</string>
|
||||
<string name="Intro7Message"><![CDATA[<b>Delta Chat</b>]]> is safe for business use, compatible and standards-based.</string>
|
||||
<string name="InviteMenuEntry">Send invitations</string>
|
||||
<string name="InviteText">I\'m using Delta Chat messenger now - %1$s - you can text me at %2$s</string>
|
||||
<string name="AdvancedSettings">Advanced settings</string>
|
||||
<string name="AskResetNotifications" >Reset all notification settings and sounds of this page and of your contacts and groups?</string>
|
||||
<string name="AskResetNotifications">Reset all notification settings and sounds of current page, contacts and groups?</string>
|
||||
<string name="AttachFiles">Attach files</string>
|
||||
<string name="ErrGroupNameEmpty">Please enter a name for the group.</string>
|
||||
<string name="MsgNewGroupDraftHint">Write a first message to allow others to reply in this group.\n\n• It is okay if not all members use Delta Chat.\n\n• Delivering the first message may take a moment.</string>
|
||||
<string name="MsgNewGroupDraftHint">Compose the first message, allowing others to reply within this group.\n\n• It is okay if not all members use Delta Chat.\n\n• Delivering the first message may take a while.</string>
|
||||
<string name="MsgNewGroupDraft">Hello, I\'ve just created the group \"%1$s\" for us.</string>
|
||||
<string name="MsgGroupNameChanged">Group name changed from \"%1$s\" to \"%2$s\".</string>
|
||||
<string name="MsgGroupImageChanged">Group image changed.</string>
|
||||
@@ -357,7 +357,7 @@
|
||||
<string name="AskRemoveMemberFromGroup">Remove <![CDATA[<b>]]>%1$s<![CDATA[</b>]]> from group?</string>
|
||||
<string name="ErrSelfNotInGroup">You must be a member of the group to perform this action.</string>
|
||||
<string name="MsgGroupLeft">Group left.</string>
|
||||
<string name="NoMessagesHint">Send message to <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>:\n\n• It is okay if <![CDATA[<b>]]>%2$s<![CDATA[</b>]]> does not use Delta Chat.\n\n• Delivering the first message may take a moment.</string>
|
||||
<string name="NoMessagesHint">Send message to <![CDATA[<b>]]>%1$s<![CDATA[</b>]]>:\n\n• It is okay if <![CDATA[<b>]]>%2$s<![CDATA[</b>]]> does not use Delta Chat.\n\n• Delivering the first message may take a while.</string>
|
||||
<string name="SendNRcvReadReceipts">Receive and send return receipts</string>
|
||||
<string name="PreferE2EEncryption">Prefer end-to-end encryption</string>
|
||||
<string name="E2EManagePrivateKeys">Manage private keys</string>
|
||||
@@ -365,11 +365,11 @@
|
||||
<string name="ForwardToTitle">Forward to …</string>
|
||||
<string name="SelectContact">Choose a contact</string>
|
||||
<string name="DoneHint">Done.</string>
|
||||
<string name="FileNotFound">File %1$s not found.</string>
|
||||
<string name="FileNotFound">Could not find %1$s.</string>
|
||||
<string name="Error">Error: %1$s</string>
|
||||
<string name="NoNetwork">Network not available.</string>
|
||||
<string name="NoNetwork">Network unavailable.</string>
|
||||
<string name="Audio">Audio</string>
|
||||
<string name="PleaseCutVideoToMaxSize">Please cut video to a size of max. %1$s.</string>
|
||||
<string name="PleaseCutVideoToMaxSize">Please cut video to a size less than %1$s.</string>
|
||||
<string name="PermNotificationTitle">Connected to %1$s</string>
|
||||
<string name="PermNotificationText">Waiting for messages …</string>
|
||||
<string name="SettingsFor">Settings for %1$s</string>
|
||||
@@ -381,7 +381,7 @@
|
||||
<string name="EncrinfoE2EExplain">If all fingerprints match on the other device, the connection is safe.</string>
|
||||
<string name="EncrinfoTransport">Transport-encryption at least up to my server.</string>
|
||||
<string name="EncrinfoNone">No encryption to my server.</string>
|
||||
<string name="EncrinfoNoE2EExplain">Encryption will switch to end-to-end automatically as soon as the contact uses Delta Chat or another Autocrypt-enabled app.</string>
|
||||
<string name="EncrinfoNoE2EExplain">End-to-end encryption will be employed when Delta Chat or another Autocrypt app is also used by the recipient.</string>
|
||||
<string name="EncrinfoFingerprints">Fingerprints</string>
|
||||
<string name="Backup">Backup</string>
|
||||
<string name="ImportBackupExplain2">To import a backup, copy a backup to <![CDATA[<i>]]>%1$s<![CDATA[</i>]]> and reinstall the app.</string>
|
||||
@@ -389,24 +389,24 @@
|
||||
<string name="ReadReceipt">Return receipt</string>
|
||||
<string name="NameAndStatus">Name and status</string>
|
||||
<string name="MyStatus">My status</string>
|
||||
<string name="MyStatusExplain">The status is shown eg. in email footers.</string>
|
||||
<string name="MyStatusExplain">The status is shown in email footers, among other places.</string>
|
||||
<string name="MsgGroupImageDeleted">Group image deleted.</string>
|
||||
<string name="AskDeleteGroupImage">Are you sure to delete the group image?\n\nThis will affect all devices of all group members.</string>
|
||||
<string name="ExportImportHeader">Export and import</string>
|
||||
<string name="ImportExportExplain">Exported files will contain private keys! Keep them in a safe place or delete them as soon as possible.</string>
|
||||
<string name="EnterPasswordToContinue">Enter the password for %1$s to continue:</string>
|
||||
<string name="IncorrectPassword">Incorrect password.</string>
|
||||
<string name="ImportBackupAsk">Delta Chat has found a backup at <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>.\n\nDo you want to import and use all data and settings from this backup?</string>
|
||||
<string name="ImportBackupAsk">Backup found at <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>.\n\nDo you want to import and use all data and settings from it?</string>
|
||||
<string name="ImportBackup">Import backup</string>
|
||||
<string name="NoBackupFound">No backup to import found.\n\nCopy the backup to <![CDATA[<i>]]>%1$s<![CDATA[</i>]]> and try again. Alternatively, hit \"Start messaging\" for a normal setup process.</string>
|
||||
<string name="FilesSuccessfullyExported">Files successfully exported to <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>.</string>
|
||||
<string name="NoBackupFound">No backups found.\n\nCopy the backup to <![CDATA[<i>]]>%1$s<![CDATA[</i>]]> and try again. Alternatively, press \"Start messaging\" to go with the normal setup process.</string>
|
||||
<string name="FilesSuccessfullyExported">Files exported to <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>.</string>
|
||||
<string name="ExportBackup">Export backup</string>
|
||||
<string name="ExportPrivateKeys">Export private keys</string>
|
||||
<string name="ImportPrivateKeys">Import private keys</string>
|
||||
<string name="ImportPrivateKeysAsk2">Import private keys from <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• Existing private keys are not deleted\n\n• The last imported key will be used as the new default key</string>
|
||||
<string name="ImportPrivateKeysAsk2">Import private keys from <![CDATA[<i>]]>%1$s<![CDATA[</i>]]>?\n\n• Existing private keys will not be deleted\n\n• The last imported key will be used as the new default key</string>
|
||||
<string name="NoRecentEmoji">Recently used emoji will be shown here.</string>
|
||||
<string name="E2eeOffBecauseOfUser">To enable end-to-end-encryption, check the corresponding option in your settings.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">Encryption will switch to end-to-end if the contact enables the corresponding option.</string>
|
||||
<string name="E2eeOffBecauseOfRecipient">End-to-end encryption will be employed if the other party enables the setting too.</string>
|
||||
<string name="NotNow">Not now</string>
|
||||
<string name="ArchiveChat">Archive chat</string>
|
||||
<string name="UnarchiveChat">Unarchive chat</string>
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
The following checklists are there not to forget things ... to be continued.
|
||||
|
||||
# Add Release on F-Droid
|
||||
|
||||
1. deltachat-core: "draft a new release", if required
|
||||
2. deltachat-android: check CHANGES.md against core and android commit list from last release
|
||||
3. deltachat-android/tools: `$ ./update-core.sh` followed by a `git push`
|
||||
4. deltachat-android/tools: `$ ./txpull` followed by a `git commit` and a `git push` if there are changes
|
||||
5. deltachat-android: "Draft a new release" using a version number in for Form v1.2.3
|
||||
|
||||
... some days later, F-Droid should be updated.
|
||||
|
||||
# Add language
|
||||
|
||||
1. add `MessengerProj/src/main/res/values-<LANG>/strings.xml`
|
||||
2. add copy command to `tools/txpull.sh` and `tools/txpush.sh`
|
||||
|
||||
# Update source languges on Transifex
|
||||
|
||||
1. call `./txpull` to overwrite local translation files with the ones from Transifex, the source is not updated
|
||||
2. modify source and translations as needed
|
||||
3. call `./txpush` to push source and translations back to Transifex.
|
||||
|
||||
(the tx-tool uses on the _name-attribute_ to identify strings while the Transifex-UI uses the source _string_.
|
||||
So, without pushing back, the translation of modified source would be lost.
|
||||
For the same reason, we do not use the "Auto update resource" function in the Transifex-UI:
|
||||
A change to a source string in values/strings.xml would break all translations)
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
|
||||
# after pulling with txpull, this script pushes all local files back to transifex
|
||||
# this is esp. useful as you can modifiy the english source strings in between - without breaking all translations afterwards.
|
||||
|
||||
rm -r translations
|
||||
tx pull -a -s # -s fetches the source file, we do not copy it, but we need it for pushing back
|
||||
|
||||
TXPREFIX="translations/delta-chat-android.stringsxml/ " # yes, there are spaces. don't know why
|
||||
SRCPREFIX="../MessengerProj/src/main/res/values"
|
||||
|
||||
cp "${TXPREFIX}ca.xml" "${SRCPREFIX}-ca/strings.xml"
|
||||
cp "${TXPREFIX}de.xml" "${SRCPREFIX}-de/strings.xml"
|
||||
# "${TXPREFIX}en.xml" "${SRCPREFIX}/strings.xml" # we do not copy the source as the source cannot be modified at Trasifex
|
||||
cp "${TXPREFIX}es.xml" "${SRCPREFIX}-es/strings.xml"
|
||||
cp "${TXPREFIX}fr.xml" "${SRCPREFIX}-fr/strings.xml"
|
||||
cp "${TXPREFIX}hu.xml" "${SRCPREFIX}-hu/strings.xml"
|
||||
cp "${TXPREFIX}it.xml" "${SRCPREFIX}-it/strings.xml"
|
||||
cp "${TXPREFIX}ko.xml" "${SRCPREFIX}-ko/strings.xml"
|
||||
cp "${TXPREFIX}nb_NO.xml" "${SRCPREFIX}-nb/strings.xml"
|
||||
cp "${TXPREFIX}nl.xml" "${SRCPREFIX}-nl/strings.xml"
|
||||
cp "${TXPREFIX}pl.xml" "${SRCPREFIX}-pl/strings.xml"
|
||||
cp "${TXPREFIX}pt.xml" "${SRCPREFIX}-pt/strings.xml"
|
||||
cp "${TXPREFIX}ru.xml" "${SRCPREFIX}-ru/strings.xml"
|
||||
cp "${TXPREFIX}sr.xml" "${SRCPREFIX}-sr/strings.xml"
|
||||
cp "${TXPREFIX}ta.xml" "${SRCPREFIX}-ta/strings.xml"
|
||||
cp "${TXPREFIX}te.xml" "${SRCPREFIX}-te/strings.xml"
|
||||
cp "${TXPREFIX}tr.xml" "${SRCPREFIX}-tr/strings.xml"
|
||||
cp "${TXPREFIX}uk.xml" "${SRCPREFIX}-uk/strings.xml"
|
||||
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
|
||||
# this script pulls all files from transifex and copies them to the correct local directories
|
||||
|
||||
# before you can use this script, you have to initialize Transifex in this folder:
|
||||
# tx init --user=api --pass=<your api token>
|
||||
# tx set --auto-remote https://www.transifex.com/projects/p/delta-chat-android/
|
||||
|
||||
# common information about the Transifex CLI client can be found at:
|
||||
# https://docs.transifex.com/client/
|
||||
|
||||
|
||||
read -p "Push all translation files to Transifex? This will OVERWRITE all changes on Transifex since the last txpull!"
|
||||
|
||||
TXPREFIX="translations/delta-chat-android.stringsxml/ " # yes, there are spaces. don't know why
|
||||
SRCPREFIX="../MessengerProj/src/main/res/values"
|
||||
|
||||
cp "${SRCPREFIX}-ca/strings.xml" "${TXPREFIX}ca.xml"
|
||||
cp "${SRCPREFIX}-de/strings.xml" "${TXPREFIX}de.xml"
|
||||
cp "${SRCPREFIX}/strings.xml" "${TXPREFIX}en.xml" # also copy back the source, this is the only way to update the english strings
|
||||
cp "${SRCPREFIX}-es/strings.xml" "${TXPREFIX}es.xml"
|
||||
cp "${SRCPREFIX}-fr/strings.xml" "${TXPREFIX}fr.xml"
|
||||
cp "${SRCPREFIX}-hu/strings.xml" "${TXPREFIX}hu.xml"
|
||||
cp "${SRCPREFIX}-it/strings.xml" "${TXPREFIX}it.xml"
|
||||
cp "${SRCPREFIX}-ko/strings.xml" "${TXPREFIX}ko.xml"
|
||||
cp "${SRCPREFIX}-nb/strings.xml" "${TXPREFIX}nb_NO.xml"
|
||||
cp "${SRCPREFIX}-nl/strings.xml" "${TXPREFIX}nl.xml"
|
||||
cp "${SRCPREFIX}-pl/strings.xml" "${TXPREFIX}pl.xml"
|
||||
cp "${SRCPREFIX}-pt/strings.xml" "${TXPREFIX}pt.xml"
|
||||
cp "${SRCPREFIX}-ru/strings.xml" "${TXPREFIX}ru.xml"
|
||||
cp "${SRCPREFIX}-sr/strings.xml" "${TXPREFIX}sr.xml"
|
||||
cp "${SRCPREFIX}-ta/strings.xml" "${TXPREFIX}ta.xml"
|
||||
cp "${SRCPREFIX}-te/strings.xml" "${TXPREFIX}te.xml"
|
||||
cp "${SRCPREFIX}-tr/strings.xml" "${TXPREFIX}tr.xml"
|
||||
cp "${SRCPREFIX}-uk/strings.xml" "${TXPREFIX}uk.xml"
|
||||
|
||||
tx push -s -t # -s: push source, -t: push translations, -f: ignore timestamps; see https://docs.transifex.com/client/push
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
# - make sure, deltachat-core is committed successfull before calling this script
|
||||
# - the script assumes, deltachat-core is placed in the same directory as deltachat-android
|
||||
|
||||
# get to main directory
|
||||
cd ..
|
||||
|
||||
# remove links to the files
|
||||
rm -r MessengerProj/jni/messenger-backend/*
|
||||
rm -r MessengerProj/jni/messenger-backend/.??*
|
||||
@@ -30,3 +33,5 @@ ln --symbolic `pwd`/deltachat-core/libs deltachat-android/MessengerProj/jni/m
|
||||
ln --symbolic `pwd`/deltachat-core/cmdline deltachat-android/MessengerProj/jni/messenger-backend/cmdline
|
||||
cd deltachat-android
|
||||
|
||||
# back to tools directory
|
||||
cd tools
|
||||
Reference in New Issue
Block a user