Merge upstream 7.3.0 (2196)

This commit is contained in:
世界 2020-12-24 13:53:38 +08:00
commit 261677c101
No known key found for this signature in database
GPG Key ID: CD109927C34A63C4
67 changed files with 4278 additions and 1838 deletions

View File

@ -24,4 +24,4 @@ RUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSIO
ENV PATH ${ANDROID_NDK_HOME}:$PATH
ENV PATH ${ANDROID_NDK_HOME}/prebuilt/linux-x86_64/bin/:$PATH
CMD mkdir -p /home/source/TMessagesProj/build/outputs/apk && mkdir -p /home/source/TMessagesProj/build/intermediates/ndkBuild && cp -R /home/source/. /home/gradle && cd /home/gradle && gradle assembleRelease && cp -R /home/gradle/TMessagesProj/build/outputs/apk/. /home/source/TMessagesProj/build/outputs/apk && cp -R /home/gradle/TMessagesProj/build/intermediates/ndkBuild/. /home/source/TMessagesProj/build/intermediates/ndkBuild
CMD mkdir -p /home/source/TMessagesProj/build/outputs/apk && mkdir -p /home/source/TMessagesProj/build/outputs/native-debug-symbols && cp -R /home/source/. /home/gradle && cd /home/gradle && gradle assembleRelease && cp -R /home/gradle/TMessagesProj/build/outputs/apk/. /home/source/TMessagesProj/build/outputs/apk && cp -R /home/gradle/TMessagesProj/build/outputs/native-debug-symbols/. /home/source/TMessagesProj/build/outputs/native-debug-symbols

View File

@ -1,8 +1,8 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
def verName = "7.3.0-preview01"
def verCode = 122
def verName = "7.3.0-preview03"
def verCode = 124
def serviceAccountCredentialsFile = rootProject.file("service_account_credentials.json")

File diff suppressed because it is too large Load Diff

View File

@ -123,9 +123,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()].
*/
#define SQLITE_VERSION "3.33.0"
#define SQLITE_VERSION_NUMBER 3033000
#define SQLITE_SOURCE_ID "2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f"
#define SQLITE_VERSION "3.34.0"
#define SQLITE_VERSION_NUMBER 3034000
#define SQLITE_SOURCE_ID "2020-12-01 16:14:00 a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b"
/*
** CAPI3REF: Run-Time Library Version Numbers
@ -504,6 +504,7 @@ SQLITE_API int sqlite3_exec(
#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8))
#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8))
#define SQLITE_IOERR_DATA (SQLITE_IOERR | (32<<8))
#define SQLITE_IOERR_CORRUPTFS (SQLITE_IOERR | (33<<8))
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
#define SQLITE_LOCKED_VTAB (SQLITE_LOCKED | (2<<8))
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
@ -6186,6 +6187,57 @@ SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName);
*/
SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName);
/*
** CAPI3REF: Determine the transaction state of a database
** METHOD: sqlite3
**
** ^The sqlite3_txn_state(D,S) interface returns the current
** [transaction state] of schema S in database connection D. ^If S is NULL,
** then the highest transaction state of any schema on database connection D
** is returned. Transaction states are (in order of lowest to highest):
** <ol>
** <li value="0"> SQLITE_TXN_NONE
** <li value="1"> SQLITE_TXN_READ
** <li value="2"> SQLITE_TXN_WRITE
** </ol>
** ^If the S argument to sqlite3_txn_state(D,S) is not the name of
** a valid schema, then -1 is returned.
*/
SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
/*
** CAPI3REF: Allowed return values from [sqlite3_txn_state()]
** KEYWORDS: {transaction state}
**
** These constants define the current transaction state of a database file.
** ^The [sqlite3_txn_state(D,S)] interface returns one of these
** constants in order to describe the transaction state of schema S
** in [database connection] D.
**
** <dl>
** [[SQLITE_TXN_NONE]] <dt>SQLITE_TXN_NONE</dt>
** <dd>The SQLITE_TXN_NONE state means that no transaction is currently
** pending.</dd>
**
** [[SQLITE_TXN_READ]] <dt>SQLITE_TXN_READ</dt>
** <dd>The SQLITE_TXN_READ state means that the database is currently
** in a read transaction. Content has been read from the database file
** but nothing in the database file has changed. The transaction state
** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
** no other conflicting concurrent write transactions. The transaction
** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
** [COMMIT].</dd>
**
** [[SQLITE_TXN_WRITE]] <dt>SQLITE_TXN_WRITE</dt>
** <dd>The SQLITE_TXN_WRITE state means that the database is currently
** in a write transaction. Content has been written to the database file
** but has not yet committed. The transaction state will change to
** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
*/
#define SQLITE_TXN_NONE 0
#define SQLITE_TXN_READ 1
#define SQLITE_TXN_WRITE 2
/*
** CAPI3REF: Find the next prepared statement
** METHOD: sqlite3
@ -7712,7 +7764,8 @@ SQLITE_API int sqlite3_test_control(int op, ...);
#define SQLITE_TESTCTRL_RESULT_INTREAL 27
#define SQLITE_TESTCTRL_PRNG_SEED 28
#define SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS 29
#define SQLITE_TESTCTRL_LAST 29 /* Largest TESTCTRL */
#define SQLITE_TESTCTRL_SEEK_COUNT 30
#define SQLITE_TESTCTRL_LAST 30 /* Largest TESTCTRL */
/*
** CAPI3REF: SQL Keyword Checking
@ -9192,10 +9245,11 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE
**
** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn]
** method of a [virtual table], then it returns true if and only if the
** method of a [virtual table], then it might return true if the
** column is being fetched as part of an UPDATE operation during which the
** column value will not change. Applications might use this to substitute
** a return value that is less expensive to compute and that the corresponding
** column value will not change. The virtual table implementation can use
** this hint as permission to substitute a return value that is less
** expensive to compute and that the corresponding
** [xUpdate] method understands as a "no-change" value.
**
** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that
@ -9204,6 +9258,12 @@ SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *);
** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces].
** In that case, [sqlite3_value_nochange(X)] will return true for the
** same column in the [xUpdate] method.
**
** The sqlite3_vtab_nochange() routine is an optimization. Virtual table
** implementations should continue to give a correct answer even if the
** sqlite3_vtab_nochange() interface were to always return false. In the
** current implementation, the sqlite3_vtab_nochange() interface does always
** returns false for the enhanced [UPDATE FROM] statement.
*/
SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*);
@ -9345,6 +9405,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
/*
** CAPI3REF: Flush caches to disk mid-transaction
** METHOD: sqlite3
**
** ^If a write-transaction is open on [database connection] D when the
** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
@ -9377,6 +9438,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
/*
** CAPI3REF: The pre-update hook.
** METHOD: sqlite3
**
** ^These interfaces are only available if SQLite is compiled using the
** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option.
@ -9417,7 +9479,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
** seventh parameter is the final rowid value of the row being inserted
** or updated. The value of the seventh parameter passed to the callback
** function is not defined for operations on WITHOUT ROWID tables, or for
** INSERT operations on rowid tables.
** DELETE operations on rowid tables.
**
** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()],
** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces
@ -9479,6 +9541,7 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **);
/*
** CAPI3REF: Low-level system error code
** METHOD: sqlite3
**
** ^Attempt to return the underlying operating system error code or error
** number that caused the most recent I/O error or failure to open a file.

View File

@ -73,7 +73,6 @@ public:
struct InstanceHolder {
std::unique_ptr<Instance> nativeInstance;
std::unique_ptr<GroupInstanceImpl> groupNativeInstance;
jobject javaInstance;
std::shared_ptr<tgcalls::VideoCaptureInterface> _videoCapture;
std::shared_ptr<PlatformContext> _platformContext;
};
@ -254,17 +253,17 @@ void initWebRTC(JNIEnv *env) {
JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeGroupNativeInstance(JNIEnv *env, jclass clazz, jobject instanceObj, jboolean highQuality) {
initWebRTC(env);
jobject globalRef = env->NewGlobalRef(instanceObj);
std::shared_ptr<PlatformContext> platformContext = std::make_shared<AndroidContext>(env);
std::shared_ptr<PlatformContext> platformContext = std::make_shared<AndroidContext>(env, instanceObj);
GroupInstanceDescriptor descriptor = {
.networkStateUpdated = [globalRef](bool state) {
tgvoip::jni::DoWithJNI([globalRef, state](JNIEnv *env) {
.networkStateUpdated = [platformContext](bool state) {
tgvoip::jni::DoWithJNI([platformContext, state](JNIEnv *env) {
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onNetworkStateUpdated", "(Z)V"), state);
});
},
.audioLevelsUpdated = [globalRef](GroupLevelsUpdate const &update) {
tgvoip::jni::DoWithJNI([globalRef, update](JNIEnv *env) {
.audioLevelsUpdated = [platformContext](GroupLevelsUpdate const &update) {
tgvoip::jni::DoWithJNI([platformContext, update](JNIEnv *env) {
unsigned int size = update.updates.size();
jintArray intArray = env->NewIntArray(size);
jfloatArray floatArray = env->NewFloatArray(size);
@ -282,6 +281,7 @@ JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeGrou
env->SetFloatArrayRegion(floatArray, 0, size, floatFill);
env->SetBooleanArrayRegion(boolArray, 0, size, boolFill);
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onAudioLevelsUpdated", "([I[F[Z)V"), intArray, floatArray, boolArray);
env->DeleteLocalRef(intArray);
env->DeleteLocalRef(floatArray);
@ -293,14 +293,14 @@ JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeGrou
auto *holder = new InstanceHolder;
holder->groupNativeInstance = std::make_unique<GroupInstanceImpl>(std::move(descriptor));
holder->javaInstance = globalRef;
holder->_platformContext = platformContext;
holder->groupNativeInstance->emitJoinPayload([globalRef](const GroupJoinPayload& payload) {
holder->groupNativeInstance->emitJoinPayload([platformContext](const GroupJoinPayload& payload) {
JNIEnv *env = webrtc::AttachCurrentThreadIfNeeded();
jobjectArray array = env->NewObjectArray(payload.fingerprints.size(), FingerprintClass, 0);
for (int a = 0; a < payload.fingerprints.size(); a++) {
env->SetObjectArrayElement(array, a, asJavaFingerprint(env, payload.fingerprints[a].hash, payload.fingerprints[a].setup, payload.fingerprints[a].fingerprint));
}
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onEmitJoinPayload", "(Ljava/lang/String;Ljava/lang/String;[Lorg/telegram/messenger/voip/Instance$Fingerprint;I)V"), env->NewStringUTF(payload.ufrag.c_str()), env->NewStringUTF(payload.pwd.c_str()), array, (jint) payload.ssrc);
});
return reinterpret_cast<jlong>(holder);
@ -382,10 +382,15 @@ JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeNati
memcpy(encryptionKeyValue->data(), valueBytes, 256);
env->ReleaseByteArrayElements(valueByteArray, (jbyte *) valueBytes, JNI_ABORT);
jobject globalRef = env->NewGlobalRef(instanceObj);
std::shared_ptr<VideoCaptureInterface> videoCapture = videoCapturer ? std::shared_ptr<VideoCaptureInterface>(reinterpret_cast<VideoCaptureInterface *>(videoCapturer)) : nullptr;
std::shared_ptr<PlatformContext> platformContext = videoCapture ? videoCapture->getPlatformContext() : std::make_shared<AndroidContext>(env);
std::shared_ptr<PlatformContext> platformContext;
if (videoCapture) {
platformContext = videoCapture->getPlatformContext();
((AndroidContext *) platformContext.get())->setJavaInstance(env, instanceObj);
} else {
platformContext = std::make_shared<AndroidContext>(env, instanceObj);
}
Descriptor descriptor = {
.config = Config{
@ -393,45 +398,49 @@ JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeNati
.receiveTimeout = configObject.getDoubleField("receiveTimeout"),
.dataSaving = parseDataSaving(env, configObject.getIntField("dataSaving")),
.enableP2P = configObject.getBooleanField("enableP2p") == JNI_TRUE,
.enableStunMarking = configObject.getBooleanField("enableSm") == JNI_TRUE,
.enableAEC = configObject.getBooleanField("enableAec") == JNI_TRUE,
.enableNS = configObject.getBooleanField("enableNs") == JNI_TRUE,
.enableAGC = configObject.getBooleanField("enableAgc") == JNI_TRUE,
.enableStunMarking = configObject.getBooleanField("enableSm") == JNI_TRUE,
.enableVolumeControl = true,
.logPath = tgvoip::jni::JavaStringToStdString(env, configObject.getStringField("logPath")),
.statsLogPath = tgvoip::jni::JavaStringToStdString(env, configObject.getStringField("statsLogPath")),
.maxApiLayer = configObject.getIntField("maxApiLayer"),
.enableHighBitrateVideo = true,
.statsLogPath = tgvoip::jni::JavaStringToStdString(env, configObject.getStringField("statsLogPath")),
.preferredVideoCodecs = {cricket::kVp9CodecName}
},
.encryptionKey = EncryptionKey(
std::move(encryptionKeyValue),
encryptionKeyObject.getBooleanField("isOutgoing") == JNI_TRUE),
.videoCapture = videoCapture,
.stateUpdated = [globalRef](State state) {
.stateUpdated = [platformContext](State state) {
jint javaState = asJavaState(state);
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
tgvoip::jni::DoWithJNI([globalRef, javaState](JNIEnv *env) {
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onStateUpdated", "(I)V"), javaState);
});
},
.platformContext = platformContext,
.signalBarsUpdated = [globalRef](int count) {
.signalBarsUpdated = [platformContext](int count) {
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
tgvoip::jni::DoWithJNI([globalRef, count](JNIEnv *env) {
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onSignalBarsUpdated", "(I)V"), count);
});
},
.remoteMediaStateUpdated = [globalRef](AudioState audioState, VideoState videoState) {
.remoteMediaStateUpdated = [platformContext](AudioState audioState, VideoState videoState) {
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
tgvoip::jni::DoWithJNI([globalRef, audioState, videoState](JNIEnv *env) {
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onRemoteMediaStateUpdated", "(II)V"), (jint) audioState, (jint )videoState);
});
},
.signalingDataEmitted = [globalRef](const std::vector<uint8_t> &data) {
.signalingDataEmitted = [platformContext](const std::vector<uint8_t> &data) {
jobject globalRef = ((AndroidContext *) platformContext.get())->getJavaInstance();
tgvoip::jni::DoWithJNI([globalRef, data](JNIEnv *env) {
jbyteArray arr = copyVectorToJavaByteArray(env, data);
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onSignalingData", "([B)V"), arr);
env->DeleteLocalRef(arr);
});
},
.platformContext = platformContext,
};
for (int i = 0, size = env->GetArrayLength(endpoints); i < size; i++) {
@ -474,7 +483,6 @@ JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_makeNati
auto *holder = new InstanceHolder;
holder->nativeInstance = tgcalls::Meta::Create(v, std::move(descriptor));
holder->javaInstance = globalRef;
holder->_videoCapture = videoCapture;
holder->_platformContext = platformContext;
holder->nativeInstance->setIncomingVideoOutput(webrtc::JavaToNativeVideoSink(env, remoteSink));
@ -576,10 +584,10 @@ JNIEXPORT void JNICALL Java_org_telegram_messenger_voip_NativeInstance_stopNativ
}
instance->nativeInstance->stop([instance](FinalState finalState) {
JNIEnv *env = webrtc::AttachCurrentThreadIfNeeded();
const std::string &path = tgvoip::jni::JavaStringToStdString(env, JavaObject(env, instance->javaInstance).getStringField("persistentStateFilePath"));
jobject globalRef = ((AndroidContext *) instance->_platformContext.get())->getJavaInstance();
const std::string &path = tgvoip::jni::JavaStringToStdString(env, JavaObject(env, globalRef).getStringField("persistentStateFilePath"));
savePersistentState(path.c_str(), finalState.persistentState);
env->CallVoidMethod(instance->javaInstance, env->GetMethodID(NativeInstanceClass, "onStop", "(Lorg/telegram/messenger/voip/Instance$FinalState;)V"), asJavaFinalState(env, finalState));
env->DeleteGlobalRef(instance->javaInstance);
env->CallVoidMethod(globalRef, env->GetMethodID(NativeInstanceClass, "onStop", "(Lorg/telegram/messenger/voip/Instance$FinalState;)V"), asJavaFinalState(env, finalState));
delete instance;
});
}
@ -591,13 +599,12 @@ JNIEXPORT void JNICALL Java_org_telegram_messenger_voip_NativeInstance_stopGroup
}
instance->groupNativeInstance->stop();
instance->groupNativeInstance.reset();
env->DeleteGlobalRef(instance->javaInstance);
delete instance;
}
JNIEXPORT jlong JNICALL Java_org_telegram_messenger_voip_NativeInstance_createVideoCapturer(JNIEnv *env, jclass clazz, jobject localSink, jboolean front) {
initWebRTC(env);
std::unique_ptr<VideoCaptureInterface> capture = tgcalls::VideoCaptureInterface::Create(front ? "front" : "back", std::make_shared<AndroidContext>(env));
std::unique_ptr<VideoCaptureInterface> capture = tgcalls::VideoCaptureInterface::Create(front ? "front" : "back", std::make_shared<AndroidContext>(env, nullptr));
capture->setOutput(webrtc::JavaToNativeVideoSink(env, localSink));
capture->setState(VideoState::Active);
return reinterpret_cast<intptr_t>(capture.release());

View File

@ -1,13 +1,15 @@
#include <tgnet/FileLog.h>
#include "AndroidContext.h"
#include "sdk/android/native_api/jni/jvm.h"
namespace tgcalls {
AndroidContext::AndroidContext(JNIEnv *env) {
AndroidContext::AndroidContext(JNIEnv *env, jobject instance) {
VideoCameraCapturerClass = (jclass) env->NewGlobalRef(env->FindClass("org/telegram/messenger/voip/VideoCameraCapturer"));
jmethodID initMethodId = env->GetMethodID(VideoCameraCapturerClass, "<init>", "()V");
javaCapturer = env->NewGlobalRef(env->NewObject(VideoCameraCapturerClass, initMethodId));
javaInstance = env->NewGlobalRef(instance);
}
AndroidContext::~AndroidContext() {
@ -19,6 +21,18 @@ AndroidContext::~AndroidContext() {
javaCapturer = nullptr;
env->DeleteGlobalRef(VideoCameraCapturerClass);
if (javaInstance) {
env->DeleteGlobalRef(javaInstance);
}
}
void AndroidContext::setJavaInstance(JNIEnv *env, jobject instance) {
javaInstance = env->NewGlobalRef(instance);
}
jobject AndroidContext::getJavaInstance() {
return javaInstance;
}
jobject AndroidContext::getJavaCapturer() {

View File

@ -9,15 +9,19 @@ namespace tgcalls {
class AndroidContext final : public PlatformContext {
public:
AndroidContext(JNIEnv *env);
AndroidContext(JNIEnv *env, jobject instance);
~AndroidContext() override;
jobject getJavaCapturer();
jobject getJavaInstance();
jclass getJavaCapturerClass();
void setJavaInstance(JNIEnv *env, jobject instance);
private:
jclass VideoCameraCapturerClass = nullptr;
jobject javaCapturer = nullptr;
jobject javaInstance = nullptr;
};

View File

@ -118,13 +118,12 @@ rtc::scoped_refptr<I420Buffer> I420Buffer::Rotate(
rtc::scoped_refptr<webrtc::I420Buffer> buffer =
I420Buffer::Create(rotated_width, rotated_height);
RTC_CHECK_EQ(0,
libyuv::I420Rotate(
src.DataY(), src.StrideY(), src.DataU(), src.StrideU(),
src.DataV(), src.StrideV(), buffer->MutableDataY(),
buffer->StrideY(), buffer->MutableDataU(), buffer->StrideU(),
buffer->MutableDataV(), buffer->StrideV(), src.width(),
src.height(), static_cast<libyuv::RotationMode>(rotation)));
libyuv::I420Rotate(
src.DataY(), src.StrideY(), src.DataU(), src.StrideU(),
src.DataV(), src.StrideV(), buffer->MutableDataY(),
buffer->StrideY(), buffer->MutableDataU(), buffer->StrideU(),
buffer->MutableDataV(), buffer->StrideV(), src.width(),
src.height(), static_cast<libyuv::RotationMode>(rotation));
return buffer;
}

View File

@ -616,7 +616,7 @@ public class ChatListItemAnimator extends DefaultItemAnimator {
if (holder.itemView instanceof BotHelpCell) {
BotHelpCell botCell = (BotHelpCell) holder.itemView ;
int top = recyclerListView.getMeasuredHeight() / 2 - botCell.getMeasuredHeight() / 2 + activity.getChatListViewPadding();
float top = recyclerListView.getMeasuredHeight() / 2 - botCell.getMeasuredHeight() / 2 + activity.getChatListViewPadding();
float animateTo = 0;
if (botCell.getTop() > top) {
animateTo = top - botCell.getTop();

View File

@ -3204,7 +3204,7 @@ public class ImageLoader {
fileDir = location.volume_id != Integer.MIN_VALUE ? FileLoader.getDirectory(FileLoader.MEDIA_DIR_IMAGE) : FileLoader.getDirectory(FileLoader.MEDIA_DIR_CACHE);
}
final File cacheFile = new File(fileDir, fileName);
if (compressFormat == Bitmap.CompressFormat.JPEG && progressive) {
if (compressFormat == Bitmap.CompressFormat.JPEG && progressive && BuildVars.DEBUG_VERSION) {
photoSize.size = Utilities.saveProgressiveJpeg(scaledBitmap, scaledBitmap.getWidth(), scaledBitmap.getHeight(), scaledBitmap.getRowBytes(), quality, cacheFile.getAbsolutePath());
} else {
FileOutputStream stream = new FileOutputStream(cacheFile);

View File

@ -3956,6 +3956,7 @@ public class MediaDataController extends BaseController {
getMessagesStorage().getStorageQueue().postRunnable(() -> {
try {
ArrayList<MessageObject> loadedMessages = new ArrayList<>();
SQLiteCursor cursor = getMessagesStorage().getDatabase().queryFinalized(String.format(Locale.US, "SELECT m.data, m.mid, m.date, r.random_id FROM randoms as r INNER JOIN messages as m ON r.mid = m.mid WHERE r.random_id IN(%s)", TextUtils.join(",", replyMessages)));
while (cursor.next()) {
NativeByteBuffer data = cursor.byteBufferValue(0);
@ -3972,6 +3973,7 @@ public class MediaDataController extends BaseController {
replyMessageRandomOwners.remove(value);
if (arrayList != null) {
MessageObject messageObject = new MessageObject(currentAccount, message, false, false);
loadedMessages.add(messageObject);
for (int b = 0; b < arrayList.size(); b++) {
MessageObject object = arrayList.get(b);
object.replyMessageObject = messageObject;
@ -3993,7 +3995,7 @@ public class MediaDataController extends BaseController {
}
}
}
AndroidUtilities.runOnUIThread(() -> getNotificationCenter().postNotificationName(NotificationCenter.replyMessagesDidLoad, dialogId));
AndroidUtilities.runOnUIThread(() -> getNotificationCenter().postNotificationName(NotificationCenter.replyMessagesDidLoad, dialogId, loadedMessages));
if (callback != null) {
callback.run();
}
@ -4215,7 +4217,7 @@ public class MediaDataController extends BaseController {
}
}
if (changed) {
getNotificationCenter().postNotificationName(NotificationCenter.replyMessagesDidLoad, dialog_id);
getNotificationCenter().postNotificationName(NotificationCenter.replyMessagesDidLoad, dialog_id, messageObjects);
}
});
}

View File

@ -13,7 +13,6 @@ import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.util.LongSparseArray;
import android.util.Pair;
import android.util.SparseArray;
@ -274,7 +273,7 @@ public class MessagesStorage extends BaseController {
database.executeFast("PRAGMA secure_delete = ON").stepThis().dispose();
database.executeFast("PRAGMA temp_store = MEMORY").stepThis().dispose();
database.executeFast("PRAGMA journal_mode = WAL").stepThis().dispose();
database.executeFast("PRAGMA journal_size_limit = 52428800").stepThis().dispose();
database.executeFast("PRAGMA journal_size_limit = 10485760").stepThis().dispose();
if (createTable) {
if (BuildVars.LOGS_ENABLED) {

View File

@ -9,6 +9,8 @@
package org.telegram.messenger;
import androidx.annotation.UiThread;
import android.os.SystemClock;
import android.util.SparseArray;
import java.util.ArrayList;
@ -205,7 +207,7 @@ public class NotificationCenter {
public static final int closeSearchByActiveAction = totalEvents++;
public static final int messagePlayingSpeedChanged = totalEvents++;
public static final int screenStateChanged = totalEvents++;
public static final int didDatabaseCleared = totalEvents++;
public static final int didClearDatabase = totalEvents++;
public static final int voipServiceCreated = totalEvents++;
public static final int webRtcMicAmplitudeEvent = totalEvents++;
public static final int webRtcSpeakerAmplitudeEvent = totalEvents++;
@ -225,6 +227,8 @@ public class NotificationCenter {
private ArrayList<DelayedPost> delayedPostsTmp = new ArrayList<>(10);
private ArrayList<PostponeNotificationCallback> postponeCallbackList = new ArrayList<>(10);
private Runnable checkForExpiredNotifications;
private int broadcasting = 0;
private int animationInProgressCount;
@ -232,7 +236,7 @@ public class NotificationCenter {
HashSet<Integer> heavyOperationsCounter = new HashSet<>();
private final HashMap<Integer, int[]> allowedNotifications = new HashMap<>();
private final HashMap<Integer, AllowedNotifications> allowedNotifications = new HashMap<>();
public interface NotificationCenterDelegate {
void didReceivedNotification(int id, int account, Object... args);
@ -302,27 +306,56 @@ public class NotificationCenter {
if (stopHeavyOperations) {
heavyOperationsCounter.add(animationInProgressPointer);
}
if (allowedNotifications == null) {
allowedNotifications = new int[0];
AllowedNotifications notifications = new AllowedNotifications();
notifications.allowedIds = allowedNotifications;
this.allowedNotifications.put(animationInProgressPointer, notifications);
if (checkForExpiredNotifications == null) {
AndroidUtilities.runOnUIThread(checkForExpiredNotifications = this::checkForExpiredNotifications, 1017);
}
this.allowedNotifications.put(animationInProgressPointer, allowedNotifications);
return animationInProgressPointer;
}
public void updateAllowedNotifications(int transitionAnimationIndex, int[] allowedNotifications) {
if (this.allowedNotifications.containsKey(transitionAnimationIndex)) {
if (allowedNotifications == null) {
allowedNotifications = new int[0];
private void checkForExpiredNotifications() {
checkForExpiredNotifications = null;
if (this.allowedNotifications.isEmpty()) {
return;
}
long minTime = Long.MAX_VALUE;
long currentTime = SystemClock.elapsedRealtime();
ArrayList<Integer> expiredIndices = null;
for (HashMap.Entry<Integer, AllowedNotifications> entry : this.allowedNotifications.entrySet()) {
AllowedNotifications allowedNotification = entry.getValue();
if (currentTime - allowedNotification.time > 1000) {
if (expiredIndices == null) {
expiredIndices = new ArrayList<>();
}
expiredIndices.add(entry.getKey());
} else {
minTime = Math.min(allowedNotification.time, minTime);
}
this.allowedNotifications.put(transitionAnimationIndex, allowedNotifications);
}
if (expiredIndices != null) {
for (int i = 0; i < expiredIndices.size(); i++) {
onAnimationFinish(expiredIndices.get(i));
}
}
if (minTime != Long.MAX_VALUE) {
long time = 1017 - (currentTime - minTime);
AndroidUtilities.runOnUIThread(() -> checkForExpiredNotifications = this::checkForExpiredNotifications, Math.max(17, time));
}
}
public void updateAllowedNotifications(int transitionAnimationIndex, int[] allowedNotifications) {
AllowedNotifications notifications = this.allowedNotifications.get(transitionAnimationIndex);
if (notifications != null) {
notifications.allowedIds = allowedNotifications;
}
}
public void onAnimationFinish(int index) {
int[] notifications = allowedNotifications.remove(index);
if (notifications != null) {
AllowedNotifications allowed = allowedNotifications.remove(index);
if (allowed != null) {
animationInProgressCount--;
if (!heavyOperationsCounter.isEmpty()) {
heavyOperationsCounter.remove(index);
@ -334,6 +367,10 @@ public class NotificationCenter {
runDelayedNotifications();
}
}
if (checkForExpiredNotifications != null && allowedNotifications.isEmpty()) {
AndroidUtilities.cancelRunOnUIThread(checkForExpiredNotifications);
checkForExpiredNotifications = null;
}
}
public void runDelayedNotifications() {
@ -369,11 +406,20 @@ public class NotificationCenter {
public void postNotificationName(int id, Object... args) {
boolean allowDuringAnimation = id == startAllHeavyOperations || id == stopAllHeavyOperations || id == didReplacedPhotoInMemCache;
ArrayList<Integer> expiredIndices = null;
if (!allowDuringAnimation && !allowedNotifications.isEmpty()) {
int size = allowedNotifications.size();
int allowedCount = 0;
for (Integer key : allowedNotifications.keySet()) {
int[] allowed = allowedNotifications.get(key);
long currentTime = SystemClock.elapsedRealtime();
for (HashMap.Entry<Integer, AllowedNotifications> entry : allowedNotifications.entrySet()) {
AllowedNotifications allowedNotification = entry.getValue();
if (currentTime - allowedNotification.time > 1000) {
if (expiredIndices == null) {
expiredIndices = new ArrayList<>();
}
expiredIndices.add(entry.getKey());
}
int[] allowed = allowedNotification.allowedIds;
if (allowed != null) {
for (int a = 0; a < allowed.length; a++) {
if (allowed[a] == id) {
@ -395,6 +441,12 @@ public class NotificationCenter {
currentHeavyOperationFlags |= flags;
}
postNotificationNameInternal(id, allowDuringAnimation, args);
if (expiredIndices != null) {
for (int i = 0; i < expiredIndices.size(); i++) {
onAnimationFinish(expiredIndices.get(i));
}
}
}
@UiThread
@ -536,4 +588,14 @@ public class NotificationCenter {
runnable.run();
}
}
private static class AllowedNotifications {
int[] allowedIds;
final long time;
private AllowedNotifications() {
time = SystemClock.elapsedRealtime();
}
}
}

View File

@ -2916,13 +2916,15 @@ public class NotificationsController extends BaseController {
if (!settings.equals(newSettingsHash)) {
SharedPreferences.Editor editor = null;
if (channelImportance == NotificationManager.IMPORTANCE_NONE) {
if (isInApp) {
editor = preferences.edit();
if (isDefault) {
editor = preferences.edit();
if (isDefault) {
if (!isInApp) {
editor.putInt(getGlobalNotificationsKey(type), Integer.MAX_VALUE);
} else {
editor.putInt("notify2_" + dialogId, 2);
updateServerNotificationsSettings(type);
}
} else {
editor.putInt("notify2_" + dialogId, 2);
updateServerNotificationsSettings(dialogId, true);
}
edited = true;
} else if (channelImportance != importance) {
@ -3066,7 +3068,7 @@ public class NotificationsController extends BaseController {
if (edited && newSettingsHash != null) {
preferences.edit().putString(key, channelId).putString(key + "_s", newSettingsHash).commit();
} else {
} else if (!isInApp || !isDefault) {
for (int a = 0; a < vibrationPattern.length; a++) {
newSettings.append(vibrationPattern[a]);
}

View File

@ -23,7 +23,7 @@ public class NotificationsDisabledReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String channelId = intent.getStringExtra(EXTRA_NOTIFICATION_CHANNEL_ID);
boolean state = intent.getBooleanExtra(EXTRA_BLOCKED_STATE, false);
if (TextUtils.isEmpty(channelId)) {
if (TextUtils.isEmpty(channelId) || channelId.contains("_ia_")) {
return;
}
String[] args = channelId.split("_");
@ -38,11 +38,14 @@ public class NotificationsDisabledReceiver extends BroadcastReceiver {
SharedPreferences preferences = AccountInstance.getInstance(account).getNotificationsSettings();
SharedPreferences.Editor editor = preferences.edit();
if (args[1].startsWith("channel")) {
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_CHANNEL), state ? Integer.MAX_VALUE : 0);
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_CHANNEL), state ? Integer.MAX_VALUE : 0).commit();
AccountInstance.getInstance(account).getNotificationsController().updateServerNotificationsSettings(NotificationsController.TYPE_CHANNEL);
} else if (args[1].startsWith("groups")) {
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_GROUP), state ? Integer.MAX_VALUE : 0);
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_GROUP), state ? Integer.MAX_VALUE : 0).commit();
AccountInstance.getInstance(account).getNotificationsController().updateServerNotificationsSettings(NotificationsController.TYPE_GROUP);
} else if (args[1].startsWith("private")) {
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_PRIVATE), state ? Integer.MAX_VALUE : 0);
editor.putInt(NotificationsController.getGlobalNotificationsKey(NotificationsController.TYPE_PRIVATE), state ? Integer.MAX_VALUE : 0).commit();
AccountInstance.getInstance(account).getNotificationsController().updateServerNotificationsSettings(NotificationsController.TYPE_PRIVATE);
} else {
long dialogId = Utilities.parseLong(args[1]);
if (dialogId == 0) {
@ -52,7 +55,9 @@ public class NotificationsDisabledReceiver extends BroadcastReceiver {
if (!state) {
editor.remove("notifyuntil_" + dialogId);
}
editor.commit();
AccountInstance.getInstance(account).getNotificationsController().updateServerNotificationsSettings(dialogId, true);
}
editor.commit();
AccountInstance.getInstance(account).getConnectionsManager().resumeNetworkMaybe();
}
}

View File

@ -23,6 +23,7 @@ limitations under the License.
package org.telegram.messenger;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
@ -37,6 +38,7 @@ import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.SystemClock;
import org.telegram.ui.ActionBar.Theme;
@ -103,7 +105,9 @@ public class SvgHelper {
private int height;
private static int[] parentPosition = new int[2];
private LinearGradient backgroundGradient;
private Shader backgroundGradient;
private Bitmap backgroundBitmap;
private Canvas backgroundCanvas;
private LinearGradient placeholderGradient;
private Matrix placeholderMatrix;
private static float totalTranslation;
@ -233,7 +237,16 @@ public class SvgHelper {
color = Color.argb((int) (Color.alpha(color) / 2 * colorAlpha), Color.red(color), Color.green(color), Color.blue(color));
float centerX = (1.0f - w) / 2;
placeholderGradient = new LinearGradient(0, 0, gradientWidth, 0, new int[]{0x00000000, 0x00000000, color, 0x00000000, 0x00000000}, new float[]{0.0f, centerX - w / 2.0f, centerX, centerX + w / 2.0f, 1.0f}, Shader.TileMode.REPEAT);
backgroundGradient = new LinearGradient(0, 0, gradientWidth, 0, new int[]{color, color}, null, Shader.TileMode.REPEAT);
if (Build.VERSION.SDK_INT >= 28) {
backgroundGradient = new LinearGradient(0, 0, gradientWidth, 0, new int[]{color, color}, null, Shader.TileMode.REPEAT);
} else {
if (backgroundBitmap == null) {
backgroundBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
backgroundCanvas = new Canvas(backgroundBitmap);
}
backgroundCanvas.drawColor(color);
backgroundGradient = new BitmapShader(backgroundBitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
}
placeholderMatrix = new Matrix();
placeholderGradient.setLocalMatrix(placeholderMatrix);
for (Paint paint : paints.values()) {

View File

@ -137,6 +137,7 @@ public abstract class VoIPBaseService extends Service implements SensorEventList
protected int currentState = 0;
protected Notification ongoingCallNotification;
protected NativeInstance tgVoip;
protected boolean wasConnected;
protected TLRPC.Chat chat;
@ -163,7 +164,7 @@ public abstract class VoIPBaseService extends Service implements SensorEventList
protected int spConnectingId;
protected int spPlayID;
protected boolean needPlayEndSound;
protected boolean haveAudioFocus;
protected boolean hasAudioFocus;
protected boolean micMute;
protected boolean unmutedByHold;
protected BluetoothAdapter btAdapter;
@ -821,7 +822,7 @@ public abstract class VoIPBaseService extends Service implements SensorEventList
am.abandonAudioFocus(this);
}
am.unregisterMediaButtonEventReceiver(new ComponentName(this, VoIPMediaButtonReceiver.class));
if (haveAudioFocus) {
if (hasAudioFocus) {
am.abandonAudioFocus(this);
}
Utilities.globalQueue.postRunnable(() -> soundPool.release());
@ -1114,9 +1115,9 @@ public abstract class VoIPBaseService extends Service implements SensorEventList
public void onAudioFocusChange(int focusChange) {
if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
haveAudioFocus = true;
hasAudioFocus = true;
} else {
haveAudioFocus = false;
hasAudioFocus = false;
}
}

View File

@ -1341,6 +1341,7 @@ public class VoIPService extends VoIPBaseService {
tgVoip.stopGroup();
}
cancelGroupCheckShortPoll();
wasConnected = false;
tgVoip = NativeInstance.makeGroup(this::startGroupCall, (uids, levels, voice) -> {
if (sharedInstance == null || groupCall == null) {
return;
@ -1377,10 +1378,12 @@ public class VoIPService extends VoIPBaseService {
if (state == 0) {
startGroupCheckShortpoll();
if (playedConnectedSound && spPlayID == 0) {
if (spPlayID != 0) {
soundPool.stop(spPlayID);
}
spPlayID = soundPool.play(spVoiceChatConnecting, 1.0f, 1.0f, 0, -1, 1);
Utilities.globalQueue.postRunnable(() -> {
if (spPlayID != 0) {
soundPool.stop(spPlayID);
}
spPlayID = soundPool.play(spVoiceChatConnecting, 1.0f, 1.0f, 0, -1, 1);
});
}
} else {
cancelGroupCheckShortPoll();
@ -1399,6 +1402,12 @@ public class VoIPService extends VoIPBaseService {
Utilities.globalQueue.postRunnable(() -> soundPool.play(spVoiceChatStartId, 1.0f, 1.0f, 0, 0, 1));
playedConnectedSound = true;
}
if (!wasConnected) {
if (!micMute) {
tgVoip.setMuteMicrophone(false);
}
wasConnected = true;
}
}
});
dispatchStateChanged(STATE_WAIT_INIT);

View File

@ -51,6 +51,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.core.graphics.ColorUtils;
import androidx.core.view.ViewCompat;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ImageLocation;
@ -844,6 +845,14 @@ public class ActionBarMenuItem extends FrameLayout {
checkClearButton();
}
public static boolean checkRtl (String string) {
if (TextUtils.isEmpty(string)) {
return false;
}
char c = string.charAt(0);
return c >= 0x590 && c <= 0x6ff;
}
public void setClearsTextOnSearchCollapse(boolean value) {
clearsTextOnSearchCollapse = value;
@ -981,7 +990,7 @@ public class ActionBarMenuItem extends FrameLayout {
ignoreRequestLayout = true;
measureChildWithMargins(searchFilterLayout, widthMeasureSpec, width, heightMeasureSpec, 0);
int filterWidth = searchFilterLayout.getVisibility() == View.VISIBLE ? searchFilterLayout.getMeasuredWidth() : 0;
measureChildWithMargins(searchField, MeasureSpec.makeMeasureSpec(minWidth - AndroidUtilities.dp(6), MeasureSpec.UNSPECIFIED), width + filterWidth, heightMeasureSpec, 0);
measureChildWithMargins(searchField, MeasureSpec.makeMeasureSpec(minWidth - AndroidUtilities.dp(12), MeasureSpec.UNSPECIFIED), width + filterWidth, heightMeasureSpec, 0);
ignoreRequestLayout = false;
setMeasuredDimension(Math.max(filterWidth + searchField.getMeasuredWidth(), minWidth), MeasureSpec.getSize(heightMeasureSpec));
}

View File

@ -29,7 +29,6 @@ public class AdjustPanLayoutHelper {
private final View parent;
private View resizableViewToSet;
private ViewGroup decorView;
private ViewGroup contentView;
private View resizableView;
private boolean animationInProgress;
@ -119,7 +118,7 @@ public class AdjustPanLayoutHelper {
}
animator.addUpdateListener(animation -> {
float v = (float) animation.getAnimatedValue();
float y = from * v + to * (1f - v);
float y = (int) (from * v + to * (1f - v));
parent.setTranslationY(y);
onPanTranslationUpdate(-y, v, isKeyboardVisible);
});
@ -186,7 +185,7 @@ public class AdjustPanLayoutHelper {
Context context = parent.getContext();
Activity activity = getActivity(context);
if (activity != null) {
decorView = (android.view.ViewGroup) activity.getWindow().getDecorView();
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
contentView = decorView.findViewById(Window.ID_ANDROID_CONTENT);
}
resizableView = findResizableView(parent);

View File

@ -298,7 +298,7 @@ public class ArticleViewer implements NotificationCenter.NotificationCenterDeleg
TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelper;
TextSelectionHelper.ArticleTextSelectionHelper textSelectionHelperBottomSheet;
int allowAnimationIndex = -1;
private int allowAnimationIndex = -1;
private final String BOTTOM_SHEET_VIEW_TAG = "bottomSheet";

View File

@ -673,7 +673,7 @@ public class CacheControlActivity extends BaseFragment {
databaseSize = MessagesStorage.getInstance(currentAccount).getDatabaseSize();
listAdapter.notifyDataSetChanged();
}
NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didDatabaseCleared);
NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.didClearDatabase);
});
}
});

View File

@ -155,7 +155,7 @@ public class CancelAccountDeletionActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
doneButton.setVisibility(View.GONE);
ScrollView scrollView = new ScrollView(context) {

View File

@ -84,7 +84,7 @@ public class SharingLiveLocationCell extends FrameLayout {
distanceTextView = new SimpleTextView(context);
distanceTextView.setTextSize(14);
distanceTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2));
distanceTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText3));
distanceTextView.setGravity(LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT);
addView(distanceTextView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, 20, Gravity.TOP | (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT), LocaleController.isRTL ? padding : 73, 37, LocaleController.isRTL ? 73 : padding, 0));

View File

@ -65,7 +65,7 @@ public class ChangeNameActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(UserConfig.getInstance(currentAccount).getClientUserId());
if (user == null) {

View File

@ -157,7 +157,7 @@ public class ChangePhoneActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
ScrollView scrollView = new ScrollView(context) {
@Override

View File

@ -131,7 +131,7 @@ public class ChangeUsernameActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(UserConfig.getInstance(currentAccount).getClientUserId());
if (user == null) {

View File

@ -270,6 +270,7 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.messagePlayingDidReset);
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.messagePlayingProgressDidChanged);
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.didSetNewWallpapper);
getNotificationCenter().onAnimationFinish(allowAnimationIndex);
}
private void updateEmptyPlaceholder() {

View File

@ -309,7 +309,7 @@ public class ChannelCreateActivity extends BaseFragment implements NotificationC
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
if (currentStep == 0) {
actionBar.setTitle(LocaleController.getString("NewChannel", R.string.NewChannel));

View File

@ -428,6 +428,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private int threadMaxOutboxReadId;
private int replyMaxReadId = 0;
private Runnable delayedReadRunnable;
private SparseArray<MessageObject> pendingSendMessagesDict = new SparseArray<>();
private ArrayList<MessageObject> pendingSendMessages = new ArrayList<>();
private ArrayList<MessageObject> animatingMessageObjects = new ArrayList<>();
private HashMap<TLRPC.Document, Integer> animatingDocuments = new HashMap<>();
@ -551,6 +553,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private boolean hasAllMentionsLocal;
private SparseArray<MessageObject>[] messagesDict = new SparseArray[]{new SparseArray<>(), new SparseArray<>()};
private SparseArray<MessageObject> repliesMessagesDict = new SparseArray<>();
private HashMap<String, ArrayList<MessageObject>> messagesByDays = new HashMap<>();
protected ArrayList<MessageObject> messages = new ArrayList<>();
private SparseArray<MessageObject> waitingForReplies = new SparseArray<>();
@ -659,7 +662,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private int distanceToPeer;
private int chatListViewPaddingTop;
private float chatListViewPaddingTop;
private int chatListViewPaddingVisibleOffset;
private int contentPaddingTop;
@ -675,6 +678,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private int transitionAnimationIndex;
private int scrollAnimationIndex;
private int scrollCallbackAnimationIndex;
private final static int[] allowedNotificationsDuringChatListAnimations = new int[]{
NotificationCenter.messagesRead,
NotificationCenter.threadMessagesRead,
@ -723,7 +728,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private boolean scrollByTouch;
private ChatActionCell infoTopView1;
public int getChatListViewPadding() {
public float getChatListViewPadding() {
return chatListViewPaddingTop;
}
@ -1533,6 +1538,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
getNotificationCenter().onAnimationFinish(transitionAnimationIndex);
getNotificationCenter().onAnimationFinish(scrollAnimationIndex);
getNotificationCenter().onAnimationFinish(scrollCallbackAnimationIndex);
hideUndoViews();
if (chatInviteRunnable != null) {
AndroidUtilities.cancelRunOnUIThread(chatInviteRunnable);
@ -3536,7 +3542,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
View child = getChildAt(a);
if (chatAdapter.isBot && child instanceof BotHelpCell) {
BotHelpCell botCell = (BotHelpCell) child;
int top = getMeasuredHeight() / 2 - child.getMeasuredHeight() / 2 + chatListViewPaddingTop;
float top = getMeasuredHeight() / 2 - child.getMeasuredHeight() / 2 + chatListViewPaddingTop;
if (!botCell.animating() && !chatListView.fastScrollAnimationRunning) {
if (child.getTop() > top) {
child.setTranslationY(top - child.getTop());
@ -4283,7 +4289,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
public int getStarForFixGap() {
int padding = chatListViewPaddingTop;
int padding = (int) chatListViewPaddingTop;
if (isThreadChat() && pinnedMessageView != null && pinnedMessageView.getVisibility() == View.VISIBLE) {
padding -= Math.max(0, AndroidUtilities.dp(48) + pinnedMessageEnterOffset);
}
@ -4293,7 +4299,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
protected int getParentStart() {
if (computingScroll) {
return chatListViewPaddingTop;
return (int) chatListViewPaddingTop;
}
return 0;
}
@ -4301,7 +4307,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
public int getStartAfterPadding() {
if (computingScroll) {
return chatListViewPaddingTop;
return (int) chatListViewPaddingTop;
}
return super.getStartAfterPadding();
}
@ -4309,7 +4315,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
public int getTotalSpace() {
if (computingScroll) {
return getHeight() - chatListViewPaddingTop - getPaddingBottom();
return (int) (getHeight() - chatListViewPaddingTop - getPaddingBottom());
}
return super.getTotalSpace();
}
@ -4341,7 +4347,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
public void scrollToPositionWithOffset(int position, int offset, boolean bottom) {
if (!bottom) {
offset = offset - getPaddingTop() + chatListViewPaddingTop;
offset = (int) (offset - getPaddingTop() + chatListViewPaddingTop);
}
super.scrollToPositionWithOffset(position, offset, bottom);
}
@ -4415,13 +4421,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
int n = chatListView.getChildCount();
for (int i = 0; i < n; i++) {
View child = chatListView.getChildAt(i);
int padding = chatListViewPaddingTop;
float padding = chatListViewPaddingTop;
if (isThreadChat() && pinnedMessageView != null && pinnedMessageView.getVisibility() == View.VISIBLE) {
padding -= Math.max(0, AndroidUtilities.dp(48) + pinnedMessageEnterOffset);
}
if (chatListView.getChildAdapterPosition(child) == chatAdapter.getItemCount() - 1) {
if (child.getTop() - dy > padding) {
dy = child.getTop() - padding;
dy = (int) (child.getTop() - padding);
}
return super.scrollVerticallyBy(dy, recycler, state);
}
@ -5112,6 +5118,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
closeReportSpam = new ImageView(context);
closeReportSpam.setImageResource(R.drawable.miniplayer_close);
closeReportSpam.setContentDescription(LocaleController.getString("Close", R.string.Close));
if (Build.VERSION.SDK_INT >= 21) {
closeReportSpam.setBackground(Theme.createSelectorDrawable(Theme.getColor(Theme.key_chat_topPanelClose) & 0x19ffffff));
}
@ -7132,6 +7139,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private Animator infoTopViewAnimator;
private void updateInfoTopView(boolean animated) {
if (contentView == null) {
return;
}
SharedPreferences preferences = MessagesController.getNotificationsSettings(currentAccount);
distanceToPeer = preferences.getInt("dialog_bar_distance" + dialog_id, -1);
@ -7412,8 +7422,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (pinnedMessageView != null && pinnedMessageView.getVisibility() == View.VISIBLE) {
pinnedViewH = Math.max(0, AndroidUtilities.dp(48) + pinnedMessageEnterOffset);
}
int oldPadding = chatListViewPaddingTop;
chatListViewPaddingTop = (int) (AndroidUtilities.dp(4) + contentPaddingTop + topPanelViewH + pinnedViewH);
float oldPadding = chatListViewPaddingTop;
chatListViewPaddingTop = AndroidUtilities.dp(4) + contentPaddingTop + topPanelViewH + pinnedViewH;
chatListViewPaddingVisibleOffset = 0;
chatListViewPaddingTop += contentPanTranslation + bottomPanelTranslationY;
if (bottomPanelTranslationY == 0 && !chatActivityEnterView.pannelAniamationInProgress() && contentView.getLayoutParams().height < 0) {
@ -7476,7 +7486,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
invalidateMessagesVisiblePart();
}
chatListView.setTopGlowOffset(chatListViewPaddingTop - chatListViewPaddingVisibleOffset - AndroidUtilities.dp(4));
chatListView.setTopGlowOffset((int) (chatListViewPaddingTop - chatListViewPaddingVisibleOffset - AndroidUtilities.dp(4)));
if (oldPadding != chatListViewPaddingTop) {
int n = chatListView.getChildCount();
@ -7484,12 +7494,12 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
View child = chatListView.getChildAt(i);
int adapterPosition = chatListView.getChildAdapterPosition(child);
if (adapterPosition == chatAdapter.getItemCount() - 1) {
int padding = chatListViewPaddingTop;
float padding = chatListViewPaddingTop;
if (isThreadChat() && pinnedMessageView != null && pinnedMessageView.getVisibility() == View.VISIBLE) {
padding -= Math.max(0, AndroidUtilities.dp(48) + pinnedMessageEnterOffset);
}
if (child.getTop() > padding) {
chatListView.scrollBy(0, child.getTop() - padding);
chatListView.scrollBy(0, (int) (child.getTop() - padding));
}
break;
}
@ -7497,7 +7507,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
if (!isThreadChat() && !wasManualScroll && unreadMessageObject != null && chatListView != null) {
chatListView.scrollBy(0, oldPadding - chatListViewPaddingTop);
chatListView.scrollBy(0, (int) (oldPadding - chatListViewPaddingTop));
}
}
@ -10188,6 +10198,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
boolean previousThreadMessageVisible = threadMessageVisible;
int previousPinnedMessageId = currentPinnedMessageId;
int maxVisibleId = Integer.MIN_VALUE;
MessageObject maxVisibleMessageObject = null;
threadMessageVisible = firstLoading;
Integer currentReadMaxId;
@ -10222,7 +10233,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (view instanceof ChatMessageCell) {
ChatMessageCell messageCell = (ChatMessageCell) view;
messageObject = messageCell.getMessageObject();
maxVisibleId = Math.max(maxVisibleId, messageObject.getId());
if (messageObject.getId() > maxVisibleId) {
maxVisibleId = messageObject.getId();
maxVisibleMessageObject = messageObject;
}
int viewTop = top >= 0 ? 0 : -top;
int viewBottom = messageCell.getMeasuredHeight();
@ -10298,14 +10312,34 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
}
currentPinnedMessageId = 0;
if (maxVisibleId == Integer.MIN_VALUE) {
if (startLoadFromMessageId != 0) {
maxVisibleId = startLoadFromMessageId;
} else if (!pinnedMessageIds.isEmpty()) {
maxVisibleId = pinnedMessageIds.get(0) + 1;
}
}
if (!pinnedMessageIds.isEmpty()) {
if (maxVisibleId == Integer.MIN_VALUE) {
if (startLoadFromMessageId != 0) {
maxVisibleId = startLoadFromMessageId;
} else if (!pinnedMessageIds.isEmpty()) {
maxVisibleId = pinnedMessageIds.get(0) + 1;
}
} else if (maxVisibleId < 0) {
int idx = messages.indexOf(maxVisibleMessageObject);
if (idx >= 0) {
for (int a = idx - 1; a >= 0; a--) {
MessageObject object = messages.get(a);
if (object.getId() > 0) {
maxVisibleId = object.getId();
break;
}
}
if (maxVisibleId < 0) {
for (int a = idx + 1, N = messages.size(); a < N; a++) {
MessageObject object = messages.get(a);
if (object.getId() > 0) {
maxVisibleId = object.getId();
break;
}
}
}
}
}
currentPinnedMessageId = findClosest(pinnedMessageIds, forceNextPinnedMessageId != 0 ? forceNextPinnedMessageId : maxVisibleId, currentPinnedMessageIndex);
if (!loadingPinnedMessagesList && !pinnedEndReached && !pinnedMessageIds.isEmpty() && currentPinnedMessageIndex[0] > pinnedMessageIds.size() - 2) {
getMediaDataController().loadPinnedMessages(dialog_id, pinnedMessageIds.get(pinnedMessageIds.size() - 1), 0);
@ -10445,7 +10479,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
floatingDateView.setTranslationY(chatListView.getTranslationY() + chatListViewPaddingTop + floatingDateViewOffset - AndroidUtilities.dp(4));
}
invalidateChatListViewTopPadding();
if (!firstLoading && !paused && !inPreviewMode && fragmentOpened && chatMode == 0 && !getMessagesController().ignoreSetOnline) {
if (!firstLoading && !paused && !inPreviewMode && (fragmentOpened || inBubbleMode) && chatMode == 0 && !getMessagesController().ignoreSetOnline) {
int scheduledRead = 0;
if ((maxPositiveUnreadId != Integer.MIN_VALUE || maxNegativeUnreadId != Integer.MAX_VALUE)) {
int counterDecrement = 0;
@ -10574,7 +10608,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private int getScrollOffsetForMessage(MessageObject object) {
int exactlyHeight = getHeightForMessage(object);
return Math.max(-AndroidUtilities.dp(2), (chatListView.getMeasuredHeight() - chatListViewPaddingTop - exactlyHeight) / 2);
return (int) Math.max(-AndroidUtilities.dp(2), (chatListView.getMeasuredHeight() - chatListViewPaddingTop - exactlyHeight) / 2);
}
private int getHeightForMessage(MessageObject object) {
@ -10720,7 +10754,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (found) {
int yOffset = getScrollOffsetForMessage(object);
int scrollY = view.getTop() - chatListViewPaddingTop - yOffset;
int scrollY = (int) (view.getTop() - chatListViewPaddingTop - yOffset);
int maxScrollOffset = chatListView.computeVerticalScrollRange() - chatListView.computeVerticalScrollOffset() - chatListView.computeVerticalScrollExtent();
if (maxScrollOffset < 0) maxScrollOffset = 0;
if (scrollY > maxScrollOffset) {
@ -10739,7 +10773,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
chatScrollHelperCallback.scrollTo = object;
chatScrollHelperCallback.lastBottom = false;
chatScrollHelperCallback.lastItemOffset = yOffset;
chatScrollHelperCallback.lastPadding = chatListViewPaddingTop;
chatScrollHelperCallback.lastPadding = (int) chatListViewPaddingTop;
chatScrollHelper.setScrollDirection(scrollDirection);
chatScrollHelper.scrollToPosition(position, yOffset, false, true);
canShowPagedownButton = true;
@ -11849,7 +11883,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (view instanceof ChatActionCell && currentChat != null) {
object.dialogId = -currentChat.id;
}
object.clipTopAddition = chatListViewPaddingTop - chatListViewPaddingVisibleOffset - AndroidUtilities.dp(4);
object.clipTopAddition = (int) (chatListViewPaddingTop - chatListViewPaddingVisibleOffset - AndroidUtilities.dp(4));
return object;
}
}
@ -12277,6 +12311,28 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
endReached[loadIndex] = true;
}
if (isThreadChat() && load_type == 0 && forwardEndReached[0] && !pendingSendMessages.isEmpty()) {
int pasteIndex = 0;
int date = pendingSendMessages.get(0).messageOwner.date;
if (!messArr.isEmpty()) {
if (date >= messArr.get(0).messageOwner.date) {
pasteIndex = 0;
} else if (date <= messArr.get(messArr.size() - 1).messageOwner.date) {
pasteIndex = messArr.size();
} else {
for (int a = 0, N = messArr.size(); a < N - 1; a++) {
if (messArr.get(a).messageOwner.date >= date && messArr.get(a + 1).messageOwner.date <= date) {
pasteIndex = a + 1;
}
}
}
}
messArr = new ArrayList<>(messArr);
messArr.addAll(pasteIndex, pendingSendMessages);
pendingSendMessages.clear();
pendingSendMessagesDict.clear();
}
if (!threadMessageAdded && isThreadChat() && (load_type == 0 && messArr.size() < count || (load_type == 2 || load_type == 3) && endReached[0])) {
TLRPC.Message msg = new TLRPC.TL_message();
if (threadMessageObject.getRepliesCount() == 0) {
@ -12333,6 +12389,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
for (int a = 0; a < messArr.size(); a++) {
MessageObject obj = messArr.get(a);
if (obj.replyMessageObject != null) {
repliesMessagesDict.put(obj.replyMessageObject.getId(), obj.replyMessageObject);
}
int messageId = obj.getId();
if (threadMessageId != 0) {
if (messageId <= (obj.isOut() ? threadMaxOutboxReadId : threadMaxInboxReadId)) {
@ -12837,7 +12896,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
chatScrollHelperCallback.scrollTo = null;
chatScrollHelperCallback.lastBottom = true;
chatScrollHelperCallback.lastItemOffset = 0;
chatScrollHelperCallback.lastPadding = chatListViewPaddingTop;
chatScrollHelperCallback.lastPadding = (int) chatListViewPaddingTop;
chatScrollHelper.scrollToPosition(0, 0, true, true);
} else {
MessageObject object = messagesDict[loadIndex].get(postponedScrollMessageId);
@ -12876,7 +12935,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
chatScrollHelperCallback.scrollTo = object;
chatScrollHelperCallback.lastBottom = false;
chatScrollHelperCallback.lastItemOffset = yOffset;
chatScrollHelperCallback.lastPadding = chatListViewPaddingTop;
chatScrollHelperCallback.lastPadding = (int) chatListViewPaddingTop;
chatScrollHelper.scrollToPosition(chatAdapter.messagesStartRow + k, yOffset, false, true);
}
}
@ -13272,6 +13331,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
Integer msgId = (Integer) args[0];
MessageObject obj = messagesDict[0].get(msgId);
if (isThreadChat() && pendingSendMessagesDict.size() > 0) {
MessageObject object = pendingSendMessagesDict.get(msgId);
if (object != null) {
Integer newMsgId = (Integer) args[1];
pendingSendMessagesDict.put(newMsgId, object);
}
}
if (obj != null) {
if (obj.shouldRemoveVideoEditedInfo) {
obj.videoEditedInfo = null;
@ -13945,6 +14011,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
} else if (id == NotificationCenter.replyMessagesDidLoad) {
long did = (Long) args[0];
if (did == dialog_id) {
ArrayList<MessageObject> loadedMessages = (ArrayList<MessageObject>) args[1];
for (int a = 0, N = loadedMessages.size(); a < N; a++) {
MessageObject obj = loadedMessages.get(a);
repliesMessagesDict.put(obj.getId(), obj);
}
updateVisibleRows();
} else if (waitingForReplies.size() != 0 && ChatObject.isChannel(currentChat) && !currentChat.megagroup && chatInfo != null && did == -chatInfo.linked_chat_id) {
checkWaitingForReplies();
@ -14754,13 +14825,17 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
boolean notifiedSearch = false;
LongSparseArray<Long> scheduledGroupReplacement = null;
for (int a = 0; a < arr.size(); a++) {
for (int a = 0, N = arr.size(); a < N; a++) {
MessageObject messageObject = arr.get(a);
int messageId = messageObject.getId();
if (threadMessageId != 0) {
if (messageId > 0 && messageId <= (messageObject.isOut() ? threadMaxOutboxReadId : threadMaxInboxReadId)) {
messageObject.setIsRead();
}
if (!forwardEndReached[0] && messageId < 0) {
pendingSendMessagesDict.put(messageId, messageObject);
pendingSendMessages.add(messageObject);
}
}
if (messageObject.isDice() && !messageObject.isForwarded()) {
messageObject.wasUnread = true;
@ -14825,6 +14900,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
}
if (messageObject.getReplyMsgId() != 0 && messageObject.replyMessageObject == null) {
messageObject.replyMessageObject = messagesDict[0].get(messageObject.getReplyMsgId());
if (messageObject.replyMessageObject == null && messageObject.getDialogId() != mergeDialogId) {
messageObject.replyMessageObject = repliesMessagesDict.get(messageObject.getReplyMsgId());
}
if (messageObject.messageOwner.action instanceof TLRPC.TL_messageActionPinMessage) {
messageObject.generatePinMessageText(null, null);
} else if (messageObject.messageOwner.action instanceof TLRPC.TL_messageActionGameScore) {
@ -15347,17 +15425,20 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
for (int a = 0; a < size; a++) {
Integer mid = markAsDeletedMessages.get(a);
MessageObject obj = messagesDict[loadIndex].get(mid);
if (loadIndex == 0 && pinnedMessageObjects.containsKey(mid)) {
pinnedMessageObjects.remove(mid);
pinnedMessageIds.remove(mid);
loadedPinnedMessagesCount = pinnedMessageIds.size();
totalPinnedMessagesCount--;
if (totalPinnedMessagesCount < 0) {
totalPinnedMessagesCount = 0;
}
if (currentPinnedMessageId == mid) {
currentPinnedMessageId = 0;
if (loadIndex == 0) {
if (pinnedMessageObjects.containsKey(mid)) {
pinnedMessageObjects.remove(mid);
pinnedMessageIds.remove(mid);
loadedPinnedMessagesCount = pinnedMessageIds.size();
totalPinnedMessagesCount--;
if (totalPinnedMessagesCount < 0) {
totalPinnedMessagesCount = 0;
}
if (currentPinnedMessageId == mid) {
currentPinnedMessageId = 0;
}
}
repliesMessagesDict.remove(mid);
}
if (obj != null) {
if (obj.messageOwner.reply_to != null && !(obj.messageOwner.action instanceof TLRPC.TL_messageActionPinMessage)) {
@ -15557,6 +15638,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
updatePinnedMessageView(true);
}
}
if (loadIndex == 0 && repliesMessagesDict.indexOfKey(messageObject.getId()) >= 0) {
repliesMessagesDict.put(messageObject.getId(), messageObject);
}
if (old == null || remove && old.messageOwner.date != messageObject.messageOwner.date) {
continue;
}
@ -22617,12 +22701,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private boolean lastBottom;
private int lastPadding;
int animationIndex;
@Override
public void onStartAnimation() {
super.onStartAnimation();
animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, allowedNotificationsDuringChatListAnimations);
scrollCallbackAnimationIndex = getNotificationCenter().setAnimationInProgress(scrollCallbackAnimationIndex, allowedNotificationsDuringChatListAnimations);
}
@Override
@ -22631,7 +22713,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
chatAdapter.updateRowsSafe();
int lastItemPosition = chatAdapter.messagesStartRow + messages.indexOf(scrollTo);
if (lastItemPosition >= 0) {
chatLayoutManager.scrollToPositionWithOffset(lastItemPosition, lastItemOffset + lastPadding - chatListViewPaddingTop, lastBottom);
chatLayoutManager.scrollToPositionWithOffset(lastItemPosition, (int) (lastItemOffset + lastPadding - chatListViewPaddingTop), lastBottom);
}
} else {
chatAdapter.updateRowsSafe();
@ -22643,7 +22725,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
updateVisibleRows();
AndroidUtilities.runOnUIThread(() -> getNotificationCenter().onAnimationFinish(animationIndex));
AndroidUtilities.runOnUIThread(() -> getNotificationCenter().onAnimationFinish(scrollCallbackAnimationIndex));
}
@Override

View File

@ -195,7 +195,7 @@ public class ChatEditTypeActivity extends BaseFragment implements NotificationCe
});
ActionBarMenu menu = actionBar.createMenu();
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
fragmentView = new ScrollView(context) {
@Override

View File

@ -545,7 +545,7 @@ public class ChatLinkActivity extends BaseFragment implements NotificationCenter
} else {
finishFragment();
}
}));
}), ConnectionsManager.RequestFlagInvokeAfter);
AndroidUtilities.runOnUIThread(() -> {
if (progressDialog[0] == null) {
return;

View File

@ -787,6 +787,18 @@ public class ChatUsersActivity extends BaseFragment implements NotificationCente
public void didChangeOwner(TLRPC.User user) {
onOwnerChaged(user);
}
@Override
public void didSelectUser(int uid) {
final TLRPC.User user = getMessagesController().getUser(uid);
if (user != null) {
AndroidUtilities.runOnUIThread(() -> {
if (BulletinFactory.canShowBulletin(ChatUsersActivity.this)) {
BulletinFactory.createPromoteToAdminBulletin(ChatUsersActivity.this, user.first_name).show();
}
}, 200);
}
}
});
fragment.setInfo(info);
presentFragment(fragment);
@ -1311,6 +1323,9 @@ public class ChatUsersActivity extends BaseFragment implements NotificationCente
channelParticipant.banned_rights = rightsBanned;
channelParticipant.rank = rank;
}
if (delegate != null && rights == 1) {
delegate.didSelectUser(user_id);
}
if (removeFragment) {
removeSelfFromStack();
}

View File

@ -1748,7 +1748,7 @@ public class ChatAttachAlertLocationLayout extends ChatAttachAlert.AttachAlertLa
themeDescriptions.add(new ThemeDescription(searchListView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"nameTextView"}, null, null, null, Theme.key_windowBackgroundWhiteBlackText));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText2));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"progressBar"}, null, null, null, Theme.key_progressCircle));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"textView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));

View File

@ -20,6 +20,7 @@ import android.os.Bundle;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.ImageView;
@ -74,16 +75,31 @@ public class ChatAvatarContainer extends FrameLayout implements NotificationCent
super(context);
parentFragment = chatActivity;
avatarImageView = new BackupImageView(context);
final boolean avatarClickable = parentFragment != null && parentFragment.getChatMode() == 0 && !UserObject.isReplyUser(parentFragment.getCurrentUser());
avatarImageView = new BackupImageView(context) {
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
if (avatarClickable && getImageReceiver().hasNotThumb()) {
info.setText(LocaleController.getString("AccDescrProfilePicture", R.string.AccDescrProfilePicture));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, LocaleController.getString("Open", R.string.Open)));
}
} else {
info.setVisibleToUser(false);
}
}
};
if (parentFragment != null) {
sharedMediaPreloader = new SharedMediaLayout.SharedMediaPreloader(chatActivity);
if (parentFragment.isThreadChat() || parentFragment.getChatMode() == 2) {
avatarImageView.setVisibility(GONE);
}
}
avatarImageView.setContentDescription(LocaleController.getString("AccDescrProfilePicture", R.string.AccDescrProfilePicture));
avatarImageView.setRoundRadius(AndroidUtilities.dp(21));
addView(avatarImageView);
if (parentFragment != null && parentFragment.getChatMode() == 0 && !UserObject.isReplyUser(parentFragment.getCurrentUser())) {
if (avatarClickable) {
avatarImageView.setOnClickListener(v -> openProfile(true));
}
@ -647,4 +663,12 @@ public class ChatAvatarContainer extends FrameLayout implements NotificationCent
subtitleTextView.setTag(Theme.key_actionBarDefaultSubtitle);
}
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
if (info.isClickable() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, LocaleController.getString("OpenProfile", R.string.OpenProfile)));
}
}
}

View File

@ -1316,10 +1316,6 @@ public class FragmentContextView extends FrameLayout implements NotificationCent
animatorSet = null;
}
final int currentAccount = account;
if (animatorSet != null) {
animatorSet.cancel();
animatorSet = null;
}
animationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(animationIndex, null);
animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(this, "topPadding", 0));

View File

@ -239,6 +239,11 @@ public class GroupCallPip implements NotificationCenter.NotificationCenterDelega
AndroidUtilities.cancelRunOnUIThread(micRunnable);
AndroidUtilities.cancelRunOnUIThread(pressedRunnable);
if (animateToPrepareRemove) {
if (pressed) {
if (VoIPService.getSharedInstance() != null) {
VoIPService.getSharedInstance().setMicMute(true, false, false);
}
}
pressed = false;
remove();
return false;

View File

@ -1040,6 +1040,10 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView
}
protected void onTextAdd() {
}
private Size baseStickerSize() {
float side = (float) Math.floor(getPaintingSize().width * 0.5);
return new Size(side, side);
@ -1077,6 +1081,7 @@ public class PhotoPaintView extends FrameLayout implements EntityView.EntityView
}
private TextPaintView createText(boolean select) {
onTextAdd();
Swatch currentSwatch = colorPicker.getSwatch();
Swatch swatch;
if (selectedTextType == 0) {

View File

@ -340,8 +340,8 @@ public class SearchViewPager extends ViewPagerFixed implements FilteredSearchVie
actionMode.addView(selectedMessagesCountTextView, LayoutHelper.createLinear(0, LayoutHelper.MATCH_PARENT, 1.0f, 72, 0, 0, 0));
selectedMessagesCountTextView.setOnTouchListener((v, event) -> true);
gotoItem = actionMode.addItemWithWidth(gotoItemId, R.drawable.msg_message, AndroidUtilities.dp(54));
forwardItem = actionMode.addItemWithWidth(forwardItemId, R.drawable.msg_forward, AndroidUtilities.dp(54));
gotoItem = actionMode.addItemWithWidth(gotoItemId, R.drawable.msg_message, AndroidUtilities.dp(54), LocaleController.getString("AccDescrGoToMessage", R.string.AccDescrGoToMessage));
forwardItem = actionMode.addItemWithWidth(forwardItemId, R.drawable.msg_forward, AndroidUtilities.dp(54), LocaleController.getString("Forward", R.string.Forward));
}
if (parent.getActionBar().getBackButton().getDrawable() instanceof MenuDrawable) {
parent.getActionBar().setBackButtonDrawable(new BackDrawable(false));

View File

@ -57,9 +57,6 @@ public class VoIPToggleButton extends FrameLayout {
private float crossProgress;
private boolean drawCross;
private Bitmap iconBitmap;
private Canvas iconCanvas;
private float crossOffset;
Drawable rippleDrawable;
@ -144,14 +141,6 @@ public class VoIPToggleButton extends FrameLayout {
}
icon[0].setAlpha(255);
if (iconBitmap == null) {
iconBitmap = Bitmap.createBitmap(AndroidUtilities.dp(32), AndroidUtilities.dp(32), Bitmap.Config.ARGB_8888);
iconCanvas = new Canvas(iconBitmap);
} else {
iconBitmap.eraseColor(Color.TRANSPARENT);
}
float x = iconBitmap.getWidth() >> 1;
float y = iconBitmap.getHeight() >> 1;
if (replaceProgress != 0 && iconChangeColor) {
int color = ColorUtils.blendARGB(replaceColorFrom, currentIconColor, replaceProgress);
icon[0].setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.MULTIPLY));
@ -175,8 +164,8 @@ public class VoIPToggleButton extends FrameLayout {
}
}
if (crossProgress > 0) {
int left = (int) (x - icon[0].getIntrinsicWidth() / 2f);
int top = (int) (x - icon[0].getIntrinsicHeight() / 2);
int left = (int) (cx - icon[0].getIntrinsicWidth() / 2f);
int top = (int) (cy - icon[0].getIntrinsicHeight() / 2);
float startX = left + AndroidUtilities.dpf2(8) + crossOffset;
float startY = top + AndroidUtilities.dpf2(8);
@ -184,15 +173,16 @@ public class VoIPToggleButton extends FrameLayout {
float endX = startX - AndroidUtilities.dp(1) + AndroidUtilities.dp(17) * CubicBezierInterpolator.DEFAULT.getInterpolation(crossProgress);
float endY = startY + AndroidUtilities.dp(17) * CubicBezierInterpolator.DEFAULT.getInterpolation(crossProgress);
canvas.saveLayerAlpha(0, 0, getMeasuredWidth(), getMeasuredHeight(), 255, Canvas.ALL_SAVE_FLAG);
icon[0].setBounds(
(int) (x - icon[0].getIntrinsicWidth() / 2f), (int) (y - icon[0].getIntrinsicHeight() / 2),
(int) (x + icon[0].getIntrinsicWidth() / 2), (int) (y + icon[0].getIntrinsicHeight() / 2)
(int) (cx - icon[0].getIntrinsicWidth() / 2f), (int) (cy - icon[0].getIntrinsicHeight() / 2),
(int) (cx + icon[0].getIntrinsicWidth() / 2), (int) (cy + icon[0].getIntrinsicHeight() / 2)
);
icon[0].draw(iconCanvas);
icon[0].draw(canvas);
iconCanvas.drawLine(startX, startY - AndroidUtilities.dp(2f), endX, endY - AndroidUtilities.dp(2f), xRefPaint);
iconCanvas.drawLine(startX, startY, endX, endY, crossPaint);
canvas.drawBitmap(iconBitmap, cx - x, cy - y, bitmapPaint);
canvas.drawLine(startX, startY - AndroidUtilities.dp(2f), endX, endY - AndroidUtilities.dp(2f), xRefPaint);
canvas.drawLine(startX, startY, endX, endY, crossPaint);
canvas.restore();
} else {
icon[0].setBounds(
(int) (cx - icon[0].getIntrinsicWidth() / 2f), (int) (cy - icon[0].getIntrinsicHeight() / 2),
@ -371,34 +361,37 @@ public class VoIPToggleButton extends FrameLayout {
}
}
//animate background if true
public void setCheckable(boolean checkable) {
this.checkable = checkable;
}
public void setChecked(boolean checked, boolean animated) {
this.checked = checked;
if (animated) {
if (checkAnimator != null) {
checkAnimator.removeAllListeners();
checkAnimator.cancel();
}
checkAnimator = ValueAnimator.ofFloat(checkedProgress, checked ? 1f : 0);
checkAnimator.addUpdateListener(valueAnimator -> {
checkedProgress = (float) valueAnimator.getAnimatedValue();
setBackgroundColor(backgroundCheck1, backgroundCheck2);
});
checkAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
checkedProgress = checked ? 1f : 0;
setBackgroundColor(backgroundCheck1, backgroundCheck2);
if (checkable) {
if (animated) {
if (checkAnimator != null) {
checkAnimator.removeAllListeners();
checkAnimator.cancel();
}
});
checkAnimator.setDuration(150);
checkAnimator.start();
} else {
checkedProgress = checked ? 1f : 0;
setBackgroundColor(backgroundCheck1, backgroundCheck2);
checkAnimator = ValueAnimator.ofFloat(checkedProgress, checked ? 1f : 0);
checkAnimator.addUpdateListener(valueAnimator -> {
checkedProgress = (float) valueAnimator.getAnimatedValue();
setBackgroundColor(backgroundCheck1, backgroundCheck2);
});
checkAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
checkedProgress = checked ? 1f : 0;
setBackgroundColor(backgroundCheck1, backgroundCheck2);
}
});
checkAnimator.setDuration(150);
checkAnimator.start();
} else {
checkedProgress = checked ? 1f : 0;
setBackgroundColor(backgroundCheck1, backgroundCheck2);
}
}
}

View File

@ -136,11 +136,12 @@ public class VoIPWindowView extends FrameLayout {
}
} else {
animationIndex = NotificationCenter.getInstance(UserConfig.selectedAccount).setAnimationInProgress(animationIndex, null);
int account = UserConfig.selectedAccount;
animationIndex = NotificationCenter.getInstance(account).setAnimationInProgress(animationIndex, null);
animate().translationX(getMeasuredWidth()).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
NotificationCenter.getInstance(UserConfig.selectedAccount).onAnimationFinish(animationIndex);
NotificationCenter.getInstance(account).onAnimationFinish(animationIndex);
if (getParent() != null) {
activity.setRequestedOrientation(orientationBefore);

View File

@ -147,11 +147,12 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
private boolean checkPermission = true;
private final static int search_button = 0;
private final static int sort_button = 1;
private AnimatorSet bounceIconAnimator;
private int animationIndex = -1;
private final static int search_button = 0;
private final static int sort_button = 1;
public interface ContactsActivityDelegate {
void didSelectContact(TLRPC.User user, String param, ContactsActivity activity);
}
@ -207,6 +208,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.closeChats);
delegate = null;
AndroidUtilities.removeAdjustResize(getParentActivity(), classGuid);
getNotificationCenter().onAnimationFinish(animationIndex);
}
@Override
@ -1038,7 +1040,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
});
animatorSet.playTogether(valueAnimator);
AndroidUtilities.runOnUIThread(() -> {
animationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(animationIndex, null);
animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, null);
animatorSet.start();
if (isOpen) {
floatingButton.setAnimation(R.raw.write_contacts_fab_icon, 52, 52);
@ -1178,7 +1180,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
previousFab.setScaleX(1f);
previousFab.setScaleY(1f);
bounceIconAnimator = null;
NotificationCenter.getInstance(currentAccount).onAnimationFinish(animationIndex);
getNotificationCenter().onAnimationFinish(animationIndex);
}
});
bounceIconAnimator.start();

View File

@ -74,8 +74,6 @@ import android.widget.TextView;
import androidx.core.graphics.ColorUtils;
import com.google.android.exoplayer2.util.Log;
import org.telegram.messenger.AccountInstance;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
@ -499,6 +497,9 @@ private int lastMeasuredTopPadding;
if (child == fragmentContextView && fragmentContextView.getCurrentStyle() == 3) {
return true;
}
if (child == blurredView) {
return true;
}
boolean result;
if (child == viewPages[0] || (viewPages.length > 1 && child == viewPages[1]) || child == fragmentContextView || child == fragmentLocationContextView) {
canvas.save();
@ -611,6 +612,18 @@ private int lastMeasuredTopPadding;
fragmentContextView.setDrawOverlay(false);
canvas.restore();
}
if (blurredView != null && blurredView.getVisibility() == View.VISIBLE) {
if (blurredView.getAlpha() != 1f) {
if (blurredView.getAlpha() != 0) {
canvas.saveLayerAlpha(blurredView.getLeft(), blurredView.getTop(), blurredView.getRight(), blurredView.getBottom(), (int) (255 * blurredView.getAlpha()), Canvas.ALL_SAVE_FLAG);
canvas.translate(blurredView.getLeft(), blurredView.getTop());
blurredView.draw(canvas);
canvas.restore();
}
} else {
blurredView.draw(canvas);
}
}
if (scrimView != null) {
canvas.drawRect(0, 0, getMeasuredWidth(), getMeasuredHeight(), scrimPaint);
canvas.save();
@ -1646,14 +1659,14 @@ private int lastMeasuredTopPadding;
getNotificationCenter().addObserver(this, NotificationCenter.messagesDeleted);
getNotificationCenter().addObserver(this, NotificationCenter.didDatabaseCleared);
getNotificationCenter().addObserver(this, NotificationCenter.didClearDatabase);
if (!dialogsLoaded[currentAccount]) {
MessagesController messagesController = getMessagesController();
messagesController.loadGlobalNotificationsSettings();
messagesController.loadDialogs(folderId, 0, 100, true);
messagesController.loadHintDialogs();
messagesController.loadUserInfo(UserConfig.getInstance(currentAccount).getCurrentUser(), false, classGuid);
messagesController.loadUserInfo(getUserConfig().getCurrentUser(), false, classGuid);
getContactsController().checkInviteText();
getMediaDataController().loadRecents(MediaDataController.TYPE_FAVE, false, true, false);
getMediaDataController().checkFeaturedStickers();
@ -1700,13 +1713,14 @@ private int lastMeasuredTopPadding;
NotificationCenter.getGlobalInstance().removeObserver(this, NotificationCenter.didSetPasscode);
}
getNotificationCenter().removeObserver(this, NotificationCenter.didDatabaseCleared);
getNotificationCenter().removeObserver(this, NotificationCenter.didClearDatabase);
if (commentView != null) {
commentView.onDestroy();
}
if (undoView[0] != null) {
undoView[0].hide(true, 0);
}
getNotificationCenter().onAnimationFinish(animationIndex);
delegate = null;
}
@ -2911,7 +2925,15 @@ private int lastMeasuredTopPadding;
if (commentView != null) {
commentView.onDestroy();
}
commentView = new ChatActivityEnterView(getParentActivity(), contentView, null, false);
commentView = new ChatActivityEnterView(getParentActivity(), contentView, null, false) {
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
AndroidUtilities.requestAdjustResize(getParentActivity(), classGuid);
}
return super.dispatchTouchEvent(ev);
}
};
commentView.setAllowStickersAndGifs(false, false);
commentView.setForceShowSendButton(true, false);
commentView.setVisibility(View.GONE);
@ -3087,7 +3109,7 @@ private int lastMeasuredTopPadding;
actionBarDefaultPaint.setColor(Theme.getColor(folderId == 0 ? Theme.key_actionBarDefault : Theme.key_actionBarDefaultArchived));
if (inPreviewMode) {
final TLRPC.User currentUser = UserConfig.getInstance(currentAccount).getCurrentUser();
final TLRPC.User currentUser = getUserConfig().getCurrentUser();
avatarContainer = new ChatAvatarContainer(actionBar.getContext(), null, false);
avatarContainer.setTitle(UserObject.getUserName(currentUser));
avatarContainer.setSubtitle(LocaleController.formatUserStatus(currentAccount, currentUser));
@ -3604,7 +3626,7 @@ private int lastMeasuredTopPadding;
}
final boolean tosAccepted;
if (!afterSignup) {
tosAccepted = UserConfig.getInstance(UserConfig.selectedAccount).unacceptedTermsOfService == null;
tosAccepted = getUserConfig().unacceptedTermsOfService == null;
} else {
tosAccepted = false;
afterSignup = false;
@ -3961,7 +3983,7 @@ private int lastMeasuredTopPadding;
searchAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
NotificationCenter.getInstance(currentAccount).onAnimationFinish(animationIndex);
getNotificationCenter().onAnimationFinish(animationIndex);
if (searchAnimator != animation) {
return;
}
@ -4003,7 +4025,7 @@ private int lastMeasuredTopPadding;
@Override
public void onAnimationCancel(Animator animation) {
NotificationCenter.getInstance(currentAccount).onAnimationFinish(animationIndex);
getNotificationCenter().onAnimationFinish(animationIndex);
if (searchAnimator == animation) {
if (show) {
viewPages[0].listView.hide();
@ -4014,7 +4036,7 @@ private int lastMeasuredTopPadding;
}
}
});
animationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(animationIndex, null);
animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, null);
searchAnimator.start();
if (tabsAlphaAnimator != null) {
tabsAlphaAnimator.start();
@ -4081,7 +4103,6 @@ private int lastMeasuredTopPadding;
filterTabsMoveFrom = Math.max(0, AndroidUtilities.dp(44) + actionBar.getTranslationY());
}
float animateFromScrollY = actionBar.getTranslationY();
final int account = currentAccount;
filtersTabAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
@ -4093,7 +4114,7 @@ private int lastMeasuredTopPadding;
if (fragmentView != null) {
fragmentView.requestLayout();
}
NotificationCenter.getInstance(account).onAnimationFinish(animationIndex);
getNotificationCenter().onAnimationFinish(animationIndex);
}
});
filtersTabAnimator.addUpdateListener(valueAnimator -> {
@ -4107,7 +4128,7 @@ private int lastMeasuredTopPadding;
});
filtersTabAnimator.setDuration(220);
filtersTabAnimator.setInterpolator(CubicBezierInterpolator.DEFAULT);
animationIndex = NotificationCenter.getInstance(account).setAnimationInProgress(animationIndex, null);
animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, null);
filtersTabAnimator.start();
fragmentView.requestLayout();
} else {
@ -4172,7 +4193,7 @@ private int lastMeasuredTopPadding;
MessagesController.DialogFilter filter = getMessagesController().dialogFilters.get(viewPage.selectedType);
if ((filter.flags & MessagesController.DIALOG_FILTER_FLAG_EXCLUDE_ARCHIVED) == 0) {
if (visibleItemCount > 0 && viewPage.layoutManager.findLastVisibleItemPosition() >= getDialogsArray(currentAccount, viewPage.dialogsType, 1, dialogsListFrozen).size() - 10 ||
visibleItemCount == 0 && !MessagesController.getInstance(currentAccount).isDialogsEndReached(1)) {
visibleItemCount == 0 && !getMessagesController().isDialogsEndReached(1)) {
loadArchivedFromCache = !getMessagesController().isDialogsEndReached(1);
if (loadArchivedFromCache || !getMessagesController().isServerDialogsEndReached(1)) {
loadArchived = true;
@ -4182,7 +4203,7 @@ private int lastMeasuredTopPadding;
}
}
if (visibleItemCount > 0 && viewPage.layoutManager.findLastVisibleItemPosition() >= getDialogsArray(currentAccount, viewPage.dialogsType, folderId, dialogsListFrozen).size() - 10 ||
visibleItemCount == 0 && (viewPage.dialogsType == 7 || viewPage.dialogsType == 8) && !MessagesController.getInstance(currentAccount).isDialogsEndReached(folderId)) {
visibleItemCount == 0 && (viewPage.dialogsType == 7 || viewPage.dialogsType == 8) && !getMessagesController().isDialogsEndReached(folderId)) {
loadFromCache = !getMessagesController().isDialogsEndReached(folderId);
if (loadFromCache || !getMessagesController().isServerDialogsEndReached(folderId)) {
load = true;
@ -4819,7 +4840,7 @@ private int lastMeasuredTopPadding;
getMessagesController().setDialogsInTransaction(true);
perfromSelectedDialogsAction(action, false);
getMessagesController().setDialogsInTransaction(false);
MessagesController.getInstance(currentAccount).checkIfFolderEmpty(folderId);
getMessagesController().checkIfFolderEmpty(folderId);
if (folderId != 0 && getDialogsArray(currentAccount, viewPages[0].dialogsType, folderId, false).size() == 0) {
viewPages[0].listView.setEmptyView(null);
viewPages[0].progressView.setVisibility(View.INVISIBLE);
@ -4995,7 +5016,7 @@ private int lastMeasuredTopPadding;
if (AndroidUtilities.isTablet()) {
getNotificationCenter().postNotificationName(NotificationCenter.closeChats, selectedDialog);
}
MessagesController.getInstance(currentAccount).checkIfFolderEmpty(folderId);
getMessagesController().checkIfFolderEmpty(folderId);
}
});
}
@ -5785,7 +5806,7 @@ private int lastMeasuredTopPadding;
getMessagesController().blockPeer(user.id);
}
}
MessagesController.getInstance(currentAccount).checkIfFolderEmpty(folderId);
getMessagesController().checkIfFolderEmpty(folderId);
};
if (undoView[0] != null) {
getUndoView().showWithAction(dialogId, UndoView.ACTION_DELETE, deleteRunnable);
@ -5809,7 +5830,7 @@ private int lastMeasuredTopPadding;
int channelId = (int) args[1];
searchViewPager.messagesDeleted(channelId, markAsDeletedMessages);
}
} else if (id == NotificationCenter.didDatabaseCleared) {
} else if (id == NotificationCenter.didClearDatabase) {
for (int a = 0; a < viewPages.length; a++) {
viewPages[a].dialogsAdapter.didDatabaseCleared();
}

View File

@ -253,7 +253,7 @@ public class FilteredSearchView extends FrameLayout implements NotificationCente
public final LinearLayoutManager layoutManager;
private final FlickerLoadingView loadingView;
private boolean firstLoading = true;
int animationIndex = -1;
private int animationIndex = -1;
public int keyboardHeight;
private final ChatActionCell floatingDateView;
@ -768,7 +768,6 @@ public class FilteredSearchView extends FrameLayout implements NotificationCente
@Override
public void onAnimationEnd(Animator animation) {
NotificationCenter.getInstance(currentAccount).onAnimationFinish(animationIndex);
super.onAnimationEnd(animation);
}
});
animationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(animationIndex, null);

View File

@ -117,7 +117,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
private SparseArray<TLObject> ignoreUsers;
private int maxCount = MessagesController.getInstance(currentAccount).maxMegagroupCount;
private int maxCount = getMessagesController().maxMegagroupCount;
private int chatType = ChatObject.CHAT_TYPE_CHAT;
private boolean isAlwaysShare;
private boolean isNeverShare;
@ -241,11 +241,11 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
currentAnimation.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
NotificationCenter.getInstance(currentAccount).onAnimationFinish(animationIndex);
getNotificationCenter().onAnimationFinish(animationIndex);
requestLayout();
}
});
animationIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(animationIndex, null);
animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, null);
currentAnimation.start();
animationStarted = true;
} else {
@ -351,24 +351,24 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
if (isAlwaysShare || isNeverShare || addToGroup) {
maxCount = 0;
} else {
maxCount = chatType == ChatObject.CHAT_TYPE_CHAT ? MessagesController.getInstance(currentAccount).maxMegagroupCount : MessagesController.getInstance(currentAccount).maxBroadcastCount;
maxCount = chatType == ChatObject.CHAT_TYPE_CHAT ? getMessagesController().maxMegagroupCount : getMessagesController().maxBroadcastCount;
}
}
@Override
public boolean onFragmentCreate() {
NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.contactsDidLoad);
NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.updateInterfaces);
NotificationCenter.getInstance(currentAccount).addObserver(this, NotificationCenter.chatDidCreated);
getNotificationCenter().addObserver(this, NotificationCenter.contactsDidLoad);
getNotificationCenter().addObserver(this, NotificationCenter.updateInterfaces);
getNotificationCenter().addObserver(this, NotificationCenter.chatDidCreated);
return super.onFragmentCreate();
}
@Override
public void onFragmentDestroy() {
super.onFragmentDestroy();
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.contactsDidLoad);
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.updateInterfaces);
NotificationCenter.getInstance(currentAccount).removeObserver(this, NotificationCenter.chatDidCreated);
getNotificationCenter().removeObserver(this, NotificationCenter.contactsDidLoad);
getNotificationCenter().removeObserver(this, NotificationCenter.updateInterfaces);
getNotificationCenter().removeObserver(this, NotificationCenter.chatDidCreated);
}
@Override
@ -700,7 +700,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
if (maxCount != 0 && selectedContacts.size() == maxCount) {
return;
}
if (chatType == ChatObject.CHAT_TYPE_CHAT && selectedContacts.size() == MessagesController.getInstance(currentAccount).maxGroupCount) {
if (chatType == ChatObject.CHAT_TYPE_CHAT && selectedContacts.size() == getMessagesController().maxGroupCount) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
builder.setMessage(LocaleController.getString("SoftUserLimitAlert", R.string.SoftUserLimitAlert));
@ -720,7 +720,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
return;
}
if (channelId != 0) {
TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(channelId);
TLRPC.Chat chat = getMessagesController().getChat(channelId);
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
if (ChatObject.canAddAdmins(chat)) {
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
@ -740,10 +740,10 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
return;
}
}
MessagesController.getInstance(currentAccount).putUser(user, !searching);
getMessagesController().putUser(user, !searching);
} else {
TLRPC.Chat chat = (TLRPC.Chat) object;
MessagesController.getInstance(currentAccount).putChat(chat, !searching);
getMessagesController().putChat(chat, !searching);
}
GroupCreateSpan span = new GroupCreateSpan(editText.getContext(), object);
spansContainer.addSpan(span);
@ -1026,13 +1026,13 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
if (chatType == ChatObject.CHAT_TYPE_CHANNEL) {
ArrayList<TLRPC.InputUser> result = new ArrayList<>();
for (int a = 0; a < selectedContacts.size(); a++) {
TLRPC.InputUser user = MessagesController.getInstance(currentAccount).getInputUser(MessagesController.getInstance(currentAccount).getUser(selectedContacts.keyAt(a)));
TLRPC.InputUser user = getMessagesController().getInputUser(getMessagesController().getUser(selectedContacts.keyAt(a)));
if (user != null) {
result.add(user);
}
}
MessagesController.getInstance(currentAccount).addUsersToChannel(chatId, result, null);
NotificationCenter.getInstance(currentAccount).postNotificationName(NotificationCenter.closeChats);
getMessagesController().addUsersToChannel(chatId, result, null);
getNotificationCenter().postNotificationName(NotificationCenter.closeChats);
Bundle args2 = new Bundle();
args2.putInt("chat_id", chatId);
presentFragment(new ChatActivity(args2), true);
@ -1153,9 +1153,9 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
public GroupCreateAdapter(Context ctx) {
context = ctx;
ArrayList<TLRPC.TL_contact> arrayList = ContactsController.getInstance(currentAccount).contacts;
ArrayList<TLRPC.TL_contact> arrayList = getContactsController().contacts;
for (int a = 0; a < arrayList.size(); a++) {
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(arrayList.get(a).user_id);
TLRPC.User user = getMessagesController().getUser(arrayList.get(a).user_id);
if (user == null || user.self || user.deleted) {
continue;
}
@ -1262,10 +1262,10 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
count = contacts.size();
if (addToGroup) {
if (chatId != 0) {
TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(chatId);
TLRPC.Chat chat = getMessagesController().getChat(chatId);
inviteViaLink = ChatObject.canUserDoAdminAction(chat, ChatObject.ACTION_INVITE) ? 1 : 0;
} else if (channelId != 0) {
TLRPC.Chat chat = MessagesController.getInstance(currentAccount).getChat(channelId);
TLRPC.Chat chat = getMessagesController().getChat(channelId);
inviteViaLink = ChatObject.canUserDoAdminAction(chat, ChatObject.ACTION_INVITE) && TextUtils.isEmpty(chat.username) ? 2 : 0;
} else {
inviteViaLink = 0;

View File

@ -157,7 +157,7 @@ public class GroupStickersActivity extends BaseFragment implements NotificationC
});
ActionBarMenu menu = actionBar.createMenu();
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
progressView = new ContextProgressView(context, 1);
progressView.setAlpha(0.0f);
progressView.setScaleX(0.1f);

View File

@ -3566,7 +3566,9 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
if (requestCode == 105) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ApplicationLoader.canDrawOverlays = Settings.canDrawOverlays(this)) {
GroupCallActivity.groupCallInstance.dismissInternal();
if (GroupCallActivity.groupCallInstance != null) {
GroupCallActivity.groupCallInstance.dismissInternal();
}
AndroidUtilities.runOnUIThread(() -> {
GroupCallPip.clearForce();
GroupCallPip.updateVisibility(LaunchActivity.this);

View File

@ -1955,11 +1955,11 @@ public class LocationActivity extends BaseFragment implements NotificationCenter
proximityCircle.setPoints(Polygon.pointsAsCircle(proximityCircleCenter, meters));
if (isActiveThemeDark()) {
proximityCircle.getOutlinePaint().setColor(0xffffffff);
proximityCircle.getFillPaint().setColor(0x20ffffff);
proximityCircle.getOutlinePaint().setColor(0x9666A3D7);
proximityCircle.getFillPaint().setColor(0x1c66A3D7);
} else {
proximityCircle.getOutlinePaint().setColor(0xff000000);
proximityCircle.getOutlinePaint().setColor(0x20000000);
proximityCircle.getOutlinePaint().setColor(0x964286F5);
proximityCircle.getOutlinePaint().setColor(0x1c4286F5);
}
// TODO: set dash /gap
@ -2819,7 +2819,7 @@ public class LocationActivity extends BaseFragment implements NotificationCenter
themeDescriptions.add(new ThemeDescription(searchListView, 0, new Class[]{LocationCell.class}, new String[]{"addressTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"nameTextView"}, null, null, null, Theme.key_windowBackgroundWhiteBlackText));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText2));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{SharingLiveLocationCell.class}, new String[]{"distanceTextView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"progressBar"}, null, null, null, Theme.key_progressCircle));
themeDescriptions.add(new ThemeDescription(listView, 0, new Class[]{LocationLoadingCell.class}, new String[]{"textView"}, null, null, null, Theme.key_windowBackgroundWhiteGrayText3));

View File

@ -155,7 +155,7 @@ public class PasscodeActivity extends BaseFragment implements NotificationCenter
if (type != 0) {
ActionBarMenu menu = actionBar.createMenu();
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
titleTextView = new TextView(context);
titleTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText6));

View File

@ -1288,7 +1288,7 @@ public class PassportActivity extends BaseFragment implements NotificationCenter
if (currentActivityType != TYPE_REQUEST && currentActivityType != TYPE_MANAGE) {
ActionBarMenu menu = actionBar.createMenu();
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
progressView = new ContextProgressView(context, 1);
progressView.setAlpha(0.0f);
progressView.setScaleX(0.1f);

View File

@ -444,7 +444,7 @@ public class PhotoCropActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
fragmentView = view = new PhotoCropView(context);
((PhotoCropView) fragmentView).freeform = getArguments().getBoolean("freeform", false);

View File

@ -1791,7 +1791,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
@Override
protected void onPanTranslationUpdate(float y, float progress, boolean keyboardVisible) {
currentPanTranslationY = y;
actionBar.setTranslationY(y);
if (currentEditMode != 3) {
actionBar.setTranslationY(y);
}
if (miniProgressView != null) {
miniProgressView.setTranslationY(y);
}
@ -2983,7 +2985,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
for (int a = 0; a < arr.size(); a++) {
MessageObject message = arr.get(a);
if (imagesByIdsTemp[loadIndex].indexOfKey(message.getId()) < 0) {
FileLog.d("add message " + message.getId() + " media = " + message.messageOwner.media);
imagesByIdsTemp[loadIndex].put(message.getId(), message);
if (opennedFromMedia) {
imagesArrTemp.add(message);
@ -8288,6 +8289,13 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
drawable.setProgressMs(videoPlayer.getCurrentPosition() - (startTime > 0 ? startTime / 1000 : 0));
}
@Override
protected void onTextAdd() {
if (!windowView.isFocusable()) {
makeFocusable();
}
}
};
containerView.addView(photoPaintView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.MATCH_PARENT));
photoPaintView.getDoneTextView().setOnClickListener(v -> {
@ -11590,11 +11598,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
animatorSet.playTogether(animators);
animatorSet.setDuration(200);
int account = currentAccount;
animatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
AndroidUtilities.runOnUIThread(() -> {
NotificationCenter.getInstance(currentAccount).onAnimationFinish(transitionIndex);
NotificationCenter.getInstance(account).onAnimationFinish(transitionIndex);
if (animationEndRunnable != null) {
animationEndRunnable.run();
animationEndRunnable = null;
@ -11609,7 +11618,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
setCaptionHwLayerEnabled(false);
transitionAnimationStartTime = System.currentTimeMillis();
AndroidUtilities.runOnUIThread(() -> {
transitionIndex = NotificationCenter.getInstance(currentAccount).setAnimationInProgress(transitionIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaDidLoad, NotificationCenter.dialogPhotosLoaded});
transitionIndex = NotificationCenter.getInstance(account).setAnimationInProgress(transitionIndex, new int[]{NotificationCenter.dialogsNeedReload, NotificationCenter.closeChats, NotificationCenter.mediaCountDidLoad, NotificationCenter.mediaDidLoad, NotificationCenter.dialogPhotosLoaded});
animatorSet.start();
});
} else {

View File

@ -326,7 +326,7 @@ public class PrivacyControlActivity extends BaseFragment implements Notification
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
boolean hasChanges = hasChanges();
doneButton.setAlpha(hasChanges ? 1.0f : 0.0f);
doneButton.setScaleX(hasChanges ? 1.0f : 0.0f);

View File

@ -58,6 +58,7 @@ import android.view.ViewGroup;
import android.view.ViewOutlineProvider;
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.widget.EditText;
@ -2077,27 +2078,25 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
}
int currentPaddingTop = listView.getPaddingTop();
View view = null;
int pos = RecyclerView.NO_POSITION;
for (int i = 0; i < listView.getChildCount(); i++) {
if (listView.getChildAdapterPosition(listView.getChildAt(i)) == 0) {
int p = listView.getChildAdapterPosition(listView.getChildAt(i));
if (p != RecyclerView.NO_POSITION) {
view = listView.getChildAt(i);
pos = p;
break;
}
}
int pos = RecyclerView.NO_POSITION;
int top = 0;
if (view != null) {
RecyclerView.ViewHolder holder = listView.findContainingViewHolder(view);
pos = holder.getAdapterPosition();
if (pos == RecyclerView.NO_POSITION) {
pos = holder.getPosition();
}
top = view.getTop();
}
boolean layout = false;
if (actionBar.isSearchFieldVisible()) {
layoutManager.scrollToPositionWithOffset(sharedMediaRow, -paddingTop);
layout = true;
} else if ((!changed || !allowPullingDown) && pos != RecyclerView.NO_POSITION) {
} else if ((!changed || !allowPullingDown) && view != null) {
layoutManager.scrollToPositionWithOffset(pos, top - paddingTop);
layout = true;
}
@ -2310,12 +2309,12 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
int animationIndex = -1;
int account;
@Override
protected void onAllAnimationsDone() {
super.onAllAnimationsDone();
NotificationCenter.getInstance(account = currentAccount).onAnimationFinish(animationIndex);
}
//
// @Override
// protected void onAllAnimationsDone() {
// super.onAllAnimationsDone();
// getNotificationCenter().onAnimationFinish(animationIndex);
// }
@Override
public void runPendingAnimations() {
@ -2328,7 +2327,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
valueAnimator.addUpdateListener(valueAnimator1 -> listView.invalidate());
valueAnimator.setDuration(getMoveDuration());
valueAnimator.start();
animationIndex = NotificationCenter.getInstance(account = currentAccount).setAnimationInProgress(animationIndex, null);
//animationIndex = getNotificationCenter().setAnimationInProgress(animationIndex, null);
}
super.runPendingAnimations();
}
@ -3070,7 +3069,21 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
avatarContainer.setPivotY(0);
frameLayout.addView(avatarContainer, LayoutHelper.createFrame(42, 42, Gravity.TOP | Gravity.LEFT, 64, 0, 0, 0));
avatarImage = new AvatarImageView(context);
avatarImage = new AvatarImageView(context) {
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
if (getImageReceiver().hasNotThumb()) {
info.setText(LocaleController.getString("AccDescrProfilePicture", R.string.AccDescrProfilePicture));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, LocaleController.getString("Open", R.string.Open)));
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(AccessibilityNodeInfo.ACTION_LONG_CLICK, LocaleController.getString("AccDescrOpenInPhotoViewer", R.string.AccDescrOpenInPhotoViewer)));
}
} else {
info.setVisibleToUser(false);
}
}
};
avatarImage.setRoundRadius(AndroidUtilities.dp(21));
avatarImage.setPivotX(0);
avatarImage.setPivotY(0);
@ -3089,7 +3102,6 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
openAvatar();
}
});
avatarImage.setContentDescription(LocaleController.getString("AccDescrProfilePicture", R.string.AccDescrProfilePicture));
avatarProgressView = new RadialProgressView(context) {
private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
@ -4641,6 +4653,7 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
}
invalidateIsInLandscapeMode();
if (listAdapter != null) {
saveScrollPosition();
listAdapter.notifyDataSetChanged();
}
@ -6780,6 +6793,16 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
@Override
public boolean isEnabled(RecyclerView.ViewHolder holder) {
if (holder.itemView instanceof UserCell) {
UserCell userCell = (UserCell) holder.itemView;
Object object = userCell.getCurrentObject();
if (object instanceof TLRPC.User) {
TLRPC.User user = (TLRPC.User) object;
if (UserObject.isUserSelf(user)) {
return false;
}
}
}
int type = holder.getItemViewType();
return type != 1 && type != 5 && type != 7 && type != 9 && type != 10 && type != 11 && type != 12 && type != 13;
}
@ -7543,6 +7566,10 @@ public class ProfileActivity extends BaseFragment implements NotificationCenter.
updateRowsIds();
diffCallback.fillPositions(diffCallback.newPositionToItem);
DiffUtil.calculateDiff(diffCallback).dispatchUpdatesTo(listAdapter);
saveScrollPosition();
}
private void saveScrollPosition() {
if (listView != null && layoutManager != null && listView.getChildCount() > 0) {
View view = null;
int position = -1;

View File

@ -97,7 +97,7 @@ public class ReportOtherActivity extends BaseFragment {
});
ActionBarMenu menu = actionBar.createMenu();
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneButton = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
LinearLayout linearLayout = new LinearLayout(context);
fragmentView = linearLayout;

View File

@ -182,7 +182,7 @@ public class TwoStepVerificationActivity extends BaseFragment implements Notific
frameLayout.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite));
ActionBarMenu menu = actionBar.createMenu();
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56));
doneItem = menu.addItemWithWidth(done_button, R.drawable.ic_done, AndroidUtilities.dp(56), LocaleController.getString("Done", R.string.Done));
scrollView = new ScrollView(context);
scrollView.setFillViewport(true);

View File

@ -34,6 +34,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.inputmethod.EditorInfo;
import android.widget.FrameLayout;
import android.widget.ImageView;
@ -769,9 +770,17 @@ public class TwoStepVerificationSetupActivity extends BaseFragment {
}
});
showPasswordButton = new ImageView(context);
showPasswordButton = new ImageView(context) {
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
info.setCheckable(true);
info.setChecked(passwordEditText.getTransformationMethod() == null);
}
};
showPasswordButton.setImageResource(R.drawable.msg_message);
showPasswordButton.setScaleType(ImageView.ScaleType.CENTER);
showPasswordButton.setContentDescription(LocaleController.getString("TwoStepVerificationShowPassword", R.string.TwoStepVerificationShowPassword));
if (Build.VERSION.SDK_INT >= 21) {
showPasswordButton.setBackgroundDrawable(Theme.createSelectorDrawable(Theme.getColor(Theme.key_listSelector)));
}

View File

@ -1814,7 +1814,6 @@ public class VoIPFragment implements VoIPBaseService.StateListener, Notification
}
private void setMicrohoneAction(VoIPToggleButton bottomButton, VoIPService service, boolean animated) {
bottomButton.setCheckable(false);
if (service.isMicMute()) {
bottomButton.setData(R.drawable.calls_unmute, Color.BLACK, Color.WHITE, LocaleController.getString("VoipUnmute", R.string.VoipUnmute), true, animated);
} else {
@ -1873,12 +1872,10 @@ public class VoIPFragment implements VoIPBaseService.StateListener, Notification
}
}
});
bottomButton.setCheckable(false);
bottomButton.setEnabled(true);
} else {
bottomButton.setData(R.drawable.calls_video, ColorUtils.setAlphaComponent(Color.WHITE, (int) (255 * 0.5f)), ColorUtils.setAlphaComponent(Color.WHITE, (int) (255 * 0.12f)), "Video", false, animated);
bottomButton.setOnClickListener(null);
bottomButton.setCheckable(false);
bottomButton.setEnabled(false);
}
}
@ -1920,7 +1917,6 @@ public class VoIPFragment implements VoIPBaseService.StateListener, Notification
}
private void setFrontalCameraAction(VoIPToggleButton bottomButton, VoIPService service, boolean animated) {
bottomButton.setCheckable(false);
if (!currentUserIsVideo) {
bottomButton.setData(R.drawable.calls_flip, ColorUtils.setAlphaComponent(Color.WHITE, (int) (255 * 0.5f)), ColorUtils.setAlphaComponent(Color.WHITE, (int) (255 * 0.12f)), LocaleController.getString("VoipFlip", R.string.VoipFlip), false, animated);
bottomButton.setOnClickListener(null);

View File

@ -532,8 +532,8 @@ public class WallpapersListActivity extends BaseFragment implements Notification
selectedMessagesCountTextView.setOnTouchListener((v, event) -> true);
actionMode.addView(selectedMessagesCountTextView, LayoutHelper.createLinear(0, LayoutHelper.MATCH_PARENT, 1.0f, 65, 0, 0, 0));
actionModeViews.add(actionMode.addItemWithWidth(forward, R.drawable.msg_forward, AndroidUtilities.dp(54)));
actionModeViews.add(actionMode.addItemWithWidth(delete, R.drawable.baseline_delete_24, AndroidUtilities.dp(54)));
actionModeViews.add(actionMode.addItemWithWidth(forward, R.drawable.msg_forward, AndroidUtilities.dp(54), LocaleController.getString("Forward", R.string.Forward)));
actionModeViews.add(actionMode.addItemWithWidth(delete, R.drawable.baseline_delete_24, AndroidUtilities.dp(54), LocaleController.getString("Delete", R.string.Delete)));
selectedWallPapers.clear();
}

View File

@ -41,7 +41,7 @@
<string name="ResetAccount">إعادة تعيين الحساب</string>
<string name="ResetAccountInfo">نظرًا لأن الحساب **%1$s** نشطٌ ومحميٌ بكلمة مرور؛ سنقوم بحذفه خلال أسبوع لدواعٍ أمنية.\n\nيمْكنك إلغاء هذه العملية في أي وقت.</string>
<string name="ResetAccountStatus">ستتمكن من إعادة تعيين حسابك خلال:</string>
<string name="ResetAccountCancelledAlert">تم إلغاء محاولاتك السابقة لإعادة تعيين هذا الحساب. فضلًا أعد المحاولة بعد 7 أيام.</string>
<string name="ResetAccountCancelledAlert">محاولاتك الأخيرة لإعادة تعيين هذا الحساب قد أُلغيت من قبل مُستخدمه النشط. رجاءً، أعد المحاولة خلال سبعة أيام.</string>
<string name="ResetAccountButton">إعادة تعيين</string>
<string name="CancelLinkExpired">رابط غير صحيح أو منتهي الصلاحية.</string>
<string name="CancelLinkSuccess">تم إلغاء عملية حذف حسابك %1$s. يمكنك الآن إغلاق هذه النافذة.</string>
@ -165,6 +165,7 @@
<string name="DialogPin">تثبيت</string>
<string name="DialogUnpin">إلغاء التثبيت</string>
<string name="Archive">أرشفة</string>
<string name="ArchiveSearchFilter">الأرشيف</string>
<string name="Unarchive">إلغاء الأرشفة</string>
<string name="ArchivedChats">المحادثات المؤرشفة</string>
<string name="DeleteChatUser">حذف المحادثة</string>
@ -172,7 +173,7 @@
<string name="SelectChat">اختر محادثة</string>
<string name="ForwardTo">تحويل إلى...</string>
<string name="DisappearingPhoto">صورة سرية</string>
<string name="DisappearingVideo">مقطع مرئي سري</string>
<string name="DisappearingVideo">"مقطع&#160;مرئي يختفي "</string>
<string name="DisappearingGif">صورة متحركة سرية</string>
<string name="CompatibilityChat">يستخدم %1$s إصدارًا قديمًا من تيليجرام، لذلك ستظهر الصور السرية في الوضع التوافقي.\n\nعندما يقوم %2$s بتحديث تيليجرام فإن الصور التي بها عداد تدمير خلال دقيقة أو أقل ستعمل بطريقة «الاستمرار بالضغط للمشاهدة»، وسيتم إخبارك عندما يلتقط المستقبل صورة للشاشة.</string>
<string name="SearchMessages">الرسائل</string>
@ -181,7 +182,7 @@
<string name="MuteFor">كتم لمدة %1$s</string>
<string name="UnmuteNotifications">إلغاء الكتم</string>
<string name="WillUnmuteIn">خلال %1$s</string>
<string name="MuteDisable">كتم للأبد</string>
<string name="MuteDisable">تعطيل</string>
<string name="Hashtags">الوُسُوم</string>
<string name="Recent">الأخيرة</string>
<string name="ChatHints">الأشخاص</string>
@ -214,7 +215,7 @@
<string name="Regular">عادي</string>
<string name="ContactsPermissionAlert">يحتاج **تيليجرام** إلى الوصول لجهات اتصالك لكي تتمكن من التواصل مع أصدقائك عبر جميع أجهزتك، ستتم مزامنة جهات اتصالك باستمرار مع خوادم تيليجرام السحابية شديدة التشفير.</string>
<string name="ContactsPermissionAlertNotNow">ليس الآن</string>
<string name="ContactsPermissionAlertContinue">الاستمرار</string>
<string name="ContactsPermissionAlertContinue">استمرار</string>
<string name="YourContacts">جهات اتصالك في تيليجرام</string>
<string name="ArchiveHintHeader1">هذا هو أرشيفك</string>
<string name="ArchiveHintText1">سيتم إلغاء أرشفة المحادثات غير المكتومة عند وصول رسائل جديدة إليها.</string>
@ -229,7 +230,7 @@
<string name="OpenProfile">عرض الملف الشخصي</string>
<string name="OpenChannel2">فتح القناة</string>
<string name="OpenGroup2">فتح المجموعة</string>
<string name="SendMessage">إرسال&#160;رسالة</string>
<string name="SendMessage">رسالة&#160;خاصّة</string>
<string name="Mention">إشارة</string>
<string name="NotificationsMutedHint">تم كتم الإشعارات</string>
<string name="NotificationsMutedForHint">الإشعارات مكتومة لـ %1$s</string>
@ -267,7 +268,7 @@
<string name="MegaLeaveAlertWithName">هل ترغب حقًا في مغادرة **%1$s**؟</string>
<string name="GroupUserCantAdd">المعذرة، لا يمكنك إضافة هذا المستخدم للمجموعات.</string>
<string name="GroupUserAddLimit">المعذرة، المجموعة ممتلئة.</string>
<string name="GroupUserLeftError">عذرًا، إذا لم يعد شخص جزءًا من مجموعة؛ يجب أن تكون في جهات اتصاله في تيليجرام لإضافته مرة أخرى إليها.\n\nلاحظ أنه لا يزال بإمكان هذا الشخص الانضمام عبر رابط دعوة المجموعة طالما أنه ليس في قائمة المستخدمين الذين تمت إزالتهم.</string>
<string name="GroupUserLeftError">عذرًا، إذا لم يعد شخص جزءًا من مجموعة؛ يجب أن تكون في جهات اتصاله في تيليجرام لإضافته مرة أخرى.\n\nلاحظ أنه لا يزال بإمكان هذا الشخص الانضمام عبر رابط دعوة المجموعة طالما أنه ليس في قائمة «مستخدمون تمت إزالتهم».</string>
<string name="GroupUserCantAdmin">المعذرة، يوجد الكثير من المشرفين في هذه المجموعة.</string>
<string name="PublicChannelsTooMuch">المعذرة، يملك هذا المستخدم الكثير من المجموعات أو القنوات العامة. دعه يجعل بعض مجموعاته أو قنواته الحالية خاصة أولًا.</string>
<string name="LocatedChannelsTooMuch">المعذرة، يملك هذا المستخدم الكثير من المجموعات المحلية. دعه يحذف أو ينقل ملكية بعض منها أولًا.</string>
@ -295,7 +296,7 @@
<string name="NoBlockedChannel2">لن يتمكن المستخدمون الذين أزالهم المشرفون من القناة من الانضمام إليها حتى عبر روابط الدعوة الخاصة.</string>
<string name="NewChannel">قناة جديدة</string>
<string name="EnterChannelName">اسم القناة</string>
<string name="AddMutual">إضافة جهات اتصالك لقناتك</string>
<string name="AddMutual">إضافة مشتركين لقناتك</string>
<string name="ChannelUsernameHelp">إذا قمت بتعيين رابط عام دائم للقناة فسيتمكن الآخرون من العثور عليها والانضمامِ إليها عبره.\n\nيمكنك استخدام الأحرف الإنجليزية والشَّرطاتِ السفلية.\n\nالحد الأدنى هو خمسُ خانات.</string>
<string name="MegaUsernameHelp">إذا قمت بتعيين رابط عام دائم للمجموعة فسيتمكن الآخرون من العثور عليها والانضمامِ إليها عبره.\n\nيمكنك استخدام الأحرف الإنجليزية والشَّرطاتِ السفلية.\n\nالحد الأدنى هو خمسُ خانات.</string>
<string name="ChannelVerifiedWarning">تحذير</string>
@ -338,7 +339,7 @@
<string name="LinkInvalidStartNumberMega">أسماء المجموعات لا يمكن أن تبدأ برقم.</string>
<string name="LinkChecking">يتم التحقق من الاسم...</string>
<string name="LinkAvailable">%1$s متاح.</string>
<string name="ChannelMembers">أعضاء</string>
<string name="ChannelMembers">الأعضاء</string>
<string name="ChannelAddToGroup">إضافة للمجموعة</string>
<string name="ChannelAddToChannel">إضافة للقناة</string>
<string name="ChannelDeleteFromList">حذف من هذه القائمة</string>
@ -371,16 +372,16 @@
<string name="ActionChannelChangedVideo">تم تغيير المقطع المرئي للقناة</string>
<string name="ActionChannelRemovedPhoto">تمت إزالة صورة القناة</string>
<string name="ActionChannelChangedTitle">تم تغيير اسم القناة إلى un2</string>
<string name="ChangePublicLimitReached">المعذرة، لقد قمت بحجز أسماء مستخدمين كثيرة. يمكنك تعطيل بعض روابط مجموعاتك وقنواتك القديمة, أو قم بإنشاء واحدة خاصة عوضًا عن ذلك.</string>
<string name="ChangePublicLimitReached">لقد قمت بحجز روابط عامة كثيرة. يمكنك استبدال رابط مجموعة أو قناة قديمة، أو قم بإنشاء واحدة خاصة عوضًا عن ذلك.</string>
<string name="ChannelCreator">المالك</string>
<string name="ChannelAdministrator">مشرف</string>
<string name="ChannelAdmin">مشرف</string>
<string name="ChannelMute">كتم</string>
<string name="ChannelUnmute">إلغاء الكتم</string>
<string name="ChannelAddAdmin">إضافة مشرف</string>
<string name="ChannelBlockUser">إزالة مستخدم</string>
<string name="ChannelBlockUser">حظر مستخدم</string>
<string name="Unban">إلغاء الحظر</string>
<string name="UnbanText">اضغط باستمرار على المستخدم لرفع الحظر عنه</string>
<string name="UnbanText">اضغط باستمرار على المستخدم لإلغاء حظره</string>
<string name="ChannelInviteViaLink">الدعوة عبر رابط خاص</string>
<string name="ChannelRemoveUserAdmin">إزالة المشرف</string>
<string name="ChannelEditPermissions">تعديل الصلاحيات</string>
@ -397,7 +398,7 @@
<string name="ChannelUserCantAdd">المعذرة، لا يمكنك إضافة هذا المستخدم للقنوات.</string>
<string name="ChannelUserCantAdmin">المعذرة، يوجد الكثير من المشرفين في هذه القناة.</string>
<string name="ChannelUserCantBot">عذرًا، يوجد الكثير من البوتات في هذه القناة.</string>
<string name="ChannelUserAddLimit">المعذرة، يمكنك إضافة أول 200 عضو فقط إلى القناة. يمكن لعدد غير محدود من الناس الانضمام عبر رابط القناة.</string>
<string name="ChannelUserAddLimit">المعذرة، يمكنك إضافة أول 200 مشترك فقط إلى القناة. يمكن لعدد غير محدود من الناس الانضمام عبر رابط القناة.</string>
<string name="ChannelTooMuchTitle">الكثير من المُجتمعات</string>
<string name="ChannelTooMuch">المعذرة، أنت عضو في الكثير من المجموعات والقنوات. الرجاء مغادرة بعض منها قبل إنشاء واحدة جديدة.</string>
<string name="ChannelTooMuchJoin">المعذرة، أنت عضو في الكثير من المجموعات والقنوات. الرجاء مغادرة بعض منها قبل الانضمام لواحدة جديدة.</string>
@ -531,7 +532,7 @@
<string name="ChooseFromSearch">البحث في الويب</string>
<string name="Statistics">الإحصائيات</string>
<string name="AddBotAsAdmin">يمكن إضافة البوتات كمشرفين فقط.</string>
<string name="CantAddBotAsAdmin">المعذرة، يمكن إضافة البوتات للقنوات كمشرفين فقط.</string>
<string name="CantAddBotAsAdmin">يمكن إضافة البوتات للقنوات كمشرفين فقط.</string>
<string name="MakeAdmin">تعيينُه كمشرف</string>
<string name="AdminWillBeRemoved">سيتم إزالة %1$s من المشرفين إذا قمت بتقييده.</string>
<string name="Discussion">المناقشات</string>
@ -541,7 +542,7 @@
<string name="DiscussionChannelHelp3">حدد المجموعة التي ستستضيف التعليقات من قناتك.</string>
<string name="DiscussionChannelHelp2">سيتم تحويل جميع منشورات القناة الجديدة إلى هذه المجموعة.</string>
<string name="DiscussionChannelGroupSetHelp2">تم تحديد **%1$s** على أنها المجموعة التي سيتم استخدامها لاستضافة التعليقات لقناتك.</string>
<string name="DiscussionGroupHelp">تم ربط هذه المجموعة بـ **%1$s** على أنها منصة نقاشاتها.</string>
<string name="DiscussionGroupHelp">تم ربط هذه المجموعة كمنصة نقاشات لـ %1$s.</string>
<string name="DiscussionGroupHelp2">سيتم تحويل جميع المنشورات الجديدة في هذه القناة للمجموعة.</string>
<string name="DiscussionCreateGroup">إنشاء مجموعة جديدة</string>
<string name="DiscussionUnlinkGroup">إلغاء ربط المجموعة</string>
@ -566,7 +567,8 @@
<string name="SlowmodeSendError">تم تفعيل الوضع البطيء. لا يمكنك إرسال أكثر من رسالة مرةً واحدة.</string>
<string name="SlowmodeSelectSendError">تم تفعيل الوضع البطيء. لا يمكنك تحديد المزيد من العناصر.</string>
<string name="SlowmodeSendErrorTooLong">المعذرة، هذا النص طويل للغاية ولا يمكن إرساله برسالة واحدة.\n\nتم تفعيل الوضع البطيء. لا يمكنك إرسال عدة رسائل مرةً واحدة.</string>
<string name="UserSetAsAdminHint">**%1$s** promoted to admin</string>
<string name="UserSetAsAdminHint">تمت ترقية **%1$s** للإشراف</string>
<string name="UserRemovedFromChatHint">تمت إزالة **%1$s** من **%2$s**</string>
<!--polls-->
<string name="NewPoll">استفتاء جديد</string>
<string name="NewQuiz">اختبار جديد</string>
@ -646,7 +648,7 @@
<string name="EventLogEmptySearch">**لم يتم العثور على أحداث**\n\nلا توجد نتائج تطابق ما بحثت عنه\nضمن الأحداث الأخيرة.</string>
<string name="EventLogEmptyTextSearch">لم يتم العثور على أحداث أخيرة تحوي «**%1$s**».</string>
<string name="EventLogInfoTitle">ما هي آخر الأحداث؟</string>
<string name="EventLogInfoDetail">هي قائمة تحوي جميع الأحداث التي قام بها أعضاء المجموعة ومشرفوها خلال آخِر 48 ساعة.</string>
<string name="EventLogInfoDetail">هذا سجل يحوي الأحداث المهمة التي قام بها أعضاء المجموعة ومشرفوها خلال آخِر ٤٨ ساعة.</string>
<string name="EventLogInfoDetailChannel">هو سجل يحوي جميع الإجراءات التي قام بها مشرفو القناة خلال آخر ٤٨ ساعة.</string>
<string name="EventLogEditedGroupTitle">غيَّر un1 اسم المجموعة إلى «%1$s»</string>
<string name="EventLogEditedChannelTitle">غيَّر un1 اسمَ القناة إلى «%1$s»</string>
@ -716,15 +718,16 @@
<string name="EventLogPromotedEditMessages">تعديل الرسائل</string>
<string name="EventLogPromotedDeleteMessages">حذف الرسائل</string>
<string name="EventLogPromotedAddAdmins">إضافة مشرفين</string>
<string name="EventLogPromotedSendAnonymously">إرسال كمجهول</string>
<string name="EventLogPromotedSendAnonymously">البقاء متخفيًا</string>
<string name="EventLogPromotedBanUsers">حظر المستخدمين</string>
<string name="EventLogPromotedManageCall">إدارة المحادثات الصوتية</string>
<string name="EventLogPromotedAddUsers">إضافة مستخدمين</string>
<string name="EventLogPromotedTitle">اللقب: %1$s</string>
<string name="EventLogPromotedRemovedTitle">اللقب</string>
<string name="EventLogPromotedPinMessages">تثبيت الرسائل</string>
<string name="EventLogFilterAll">كافة الأحداث</string>
<string name="EventLogFilterNewRestrictions">استثناءات جديدة</string>
<string name="EventLogFilterNewAdmins">حقوق الإشراف</string>
<string name="EventLogFilterNewAdmins">ترقية الإشراف</string>
<string name="EventLogFilterNewMembers">أعضاء جدد</string>
<string name="EventLogFilterGroupInfo">معلومات المجموعة</string>
<string name="EventLogFilterChannelInfo">معلومات القناة</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">رسائل معدلة</string>
<string name="EventLogFilterPinnedMessages">رسائل مثبتة</string>
<string name="EventLogFilterLeavingMembers">الأعضاء المغادرون</string>
<string name="EventLogFilterCalls">المحادثات الصوتية</string>
<string name="EventLogToggledSlowmodeOn">عيّن un1 عداد الوضع البطيء ليصبح %1$s</string>
<string name="EventLogToggledSlowmodeOff">عطّل un1 الوضع البطيء</string>
<string name="EventLogStartedVoiceChat">بدأ un1 محادثة صوتية</string>
<string name="EventLogEndedVoiceChat">أنهى un1 المحادثة الصوتية</string>
<string name="EventLogVoiceChatMuted">un1 كتم&#160;un2 في محادثة صوتية</string>
<string name="EventLogVoiceChatUnmuted">ألغى un1 كتم&#160;un2 في محادثة صوتية</string>
<string name="EventLogVoiceChatAllowedToSpeak">سمح un1 للمشاركين الجدد في المحادثة الصوتية بالتحدث</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">كتم un1 المشاركين الجدد في المحادثة الصوتية</string>
<!--broadcasts-->
<string name="NewBroadcastList">رسالة جماعية جديدة</string>
<string name="EnterListName">أدخل اسم القائمة</string>
@ -762,7 +772,7 @@
<string name="FileUploadLimit">لا يمكن أن يتجاوز حجم الملف %1$s</string>
<string name="NotMounted">الذاكرة غير موجودة</string>
<string name="UsbActive">نقل USB مفعَّل</string>
<string name="InternalStorage">الذاكرة الداخلية</string>
<string name="InternalStorage">التخزين الداخلي</string>
<string name="ExternalStorage">الذاكرة الخارجية</string>
<string name="SystemRoot">جذر النظام</string>
<string name="SdCard">بطاقة التخزين الخارجية</string>
@ -810,8 +820,8 @@
<string name="IsSendingGame">%1$s يلعب لعبة...</string>
<string name="IsSendingVideo">يرسل %1$s مقطعًا مرئيًا...</string>
<string name="IsSendingFile">يرسل %1$s ملفًا...</string>
<string name="RecordingAudio">يسجل رسالةً صوتية...</string>
<string name="RecordingRound">يسجل رسالةً مرئية...</string>
<string name="RecordingAudio">يسجل رسالة صوتية...</string>
<string name="RecordingRound">يسجل رسالة مرئية...</string>
<string name="SendingAudio">يرسل ملفًا صوتيًا...</string>
<string name="SendingPhoto">يرسل صورة...</string>
<string name="SendingGame">يلعب لعبة...</string>
@ -852,7 +862,7 @@
<string name="SlideToCancel">اسحب للإلغاء</string>
<string name="SaveToDownloads">حفظ في الجهاز</string>
<string name="SaveToGIFs">حفظ في الصور المتحركة</string>
<string name="DeleteGif">هل ترغب بحذف الصورة المتحركة؟</string>
<string name="DeleteGif">إزالة الصورة المتحركة من هنا؟</string>
<string name="SaveToMusic">حفظ في الجهاز</string>
<string name="ShareFile">مشاركة</string>
<string name="ApplyLocalizationFile">تطبيق ملف التعريب</string>
@ -882,7 +892,7 @@
<string name="BlockUserTitle">حظر %1$s</string>
<string name="ReportSpamUser">حظر المستخدم</string>
<string name="ReportSpamAndLeave">تبليغ عن إزعاج ومغادرة</string>
<string name="AddContactChat">إضافة جهة اتصال</string>
<string name="AddContactChat">إضافة كجهة اتصال</string>
<string name="AddContactFullChat">إضافة %1$s لجهات الاتصال</string>
<string name="ViewContact">عرض جهة الاتصال</string>
<string name="BlockUserAlert">هل ترغب بحظر **%1$s** من مراسلتك والاتصال بك على تيليجرام؟</string>
@ -899,12 +909,12 @@
<string name="TapHereGifs">اضغط هنا للوصول للصور المتحركة المحفوظة</string>
<string name="PinMessage">تثبيت</string>
<string name="PinNotify">إشعار جميع الأعضاء</string>
<string name="PinAlsoFor">Also pin for %1$s</string>
<string name="PinAlsoFor">تثبيتها عندي وعند %1$s</string>
<string name="UnpinMessage">إلغاء التثبيت</string>
<string name="PinMessageAlertTitle">تثبيت الرسالة</string>
<string name="UnpinMessageAlertTitle">إلغاء تثبيت الرسالة</string>
<string name="PinOldMessageAlert">Do you want to pin an older message while leaving a more recent one pinned?</string>
<string name="PinMessageAlert">هل تريد تثبيت هذه الرسالة لكل الأعضاء في المجموعة؟</string>
<string name="PinOldMessageAlert">"هل تريد تثبيت رسالة أقدم مع ترك أحدث رسالة مثبتة؟ "</string>
<string name="PinMessageAlert">تثبيت هذه الرسالة في المجموعة؟</string>
<string name="PinMessageAlertChannel">هل ترغب في تثبيت هذه الرسالة في هذه القناة؟</string>
<string name="PinMessageAlertChat">هل ترغب في تثبيت هذه الرسالة أعلى هذه المحادثة؟</string>
<string name="UnpinMessageAlert">هل ترغب في إلغاء تثبيت هذه الرسالة؟</string>
@ -935,6 +945,13 @@
<string name="EditMessage">تعديل الرسالة</string>
<string name="EditCaption">تعديل الوصف</string>
<string name="EditMessageMedia">انقر لتعديل الوسائط</string>
<string name="EditMessageEditPhoto">تعديل هذه الصورة</string>
<string name="EditMessageEditVideo">تعديل هذا المقطع المرئي</string>
<string name="EditMessageReplacePhoto">استبدال الصورة</string>
<string name="EditMessageReplaceVideo">استبدال المقطع</string>
<string name="EditMessageReplaceGif">استبدال الوسائط</string>
<string name="EditMessageReplaceFile">استبدال الملف</string>
<string name="EditMessageReplaceAudio">استبدال الملف الصوتي</string>
<string name="AttachBotsHelp">مرِّر إلى الأسفل للبوتات</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">المعذرة، انتهت مهلة تعديل الرسالة.</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">انقر لأخذ صورة، اضغط باستمرار لتصوير مقطع مرئي</string>
<string name="TapToViewAsList">انقر للعرض في قائمة.</string>
<string name="SendWithoutSound">إرسال بدون صوت</string>
<string name="SendAsNewPhoto">إرسال كصورة جديدة</string>
<string name="ReplacePhoto">استبدال الصورة</string>
<string name="MessageScheduleSend">إرسال الآن</string>
<string name="MessageScheduleEditTime">إعادة جدولة</string>
<string name="MessageScheduleToday">اليوم</string>
@ -1052,14 +1071,14 @@
<string name="BotOwnershipTransfer">نقل ملكية البوت</string>
<string name="BotOwnershipTransferReadyAlertText">سيتم نقل **جميع حقوق الملكية** للبوت إلى المستخدم المحدّد.</string>
<string name="BotOwnershipTransferChangeOwner">تغيير المالك</string>
<string name="BotOwnershipTransferAlertText">تستطيع نقل البوت فقط إذا:</string>
<string name="BotOwnershipTransferAlertText">يمكنك نقل هذا البوت في حال كان لديك:</string>
<string name="LeaveAComment">كتابة تعليق</string>
<string name="CommentsTitle">التعليقات</string>
<string name="Comment">تعليق</string>
<string name="RepliesTitle">الردود</string>
<string name="NoComments">ما من تعليقات هنا بعد...</string>
<string name="NoReplies">ما من ردود هنا بعد...</string>
<string name="ViewInChat">عرض في المحادثة</string>
<string name="ViewInChat">عرضه في المحادثة</string>
<string name="SendAnonymously">الإرسال&#160;متخفيًا</string>
<string name="DiscussionStarted">بداية المناقشة</string>
<string name="ViewThread">عرض الموضوع</string>
@ -1068,8 +1087,8 @@
<string name="ChannelPostDeleted">المعذرة، تمت إزالة هذا المنشور من مجموعة المناقشة.</string>
<string name="UnpinAllMessages">إلغاء تثبيت كل الرسائل</string>
<string name="HidePinnedMessages">إخفاء الرسائل المثبّتة</string>
<string name="PinnedMessagesHidden">Pinned messages hidden</string>
<string name="PinnedMessagesHiddenInfo">Pinned messages will be shown again if a new message is pinned.</string>
<string name="PinnedMessagesHidden">تم إخفاء الرسائل المثبّتة</string>
<string name="PinnedMessagesHiddenInfo">ستظهر الرسائل المثبّتة مرة أخرى في حال تم تثبيت رسالة جديدة.</string>
<!--notification-->
<string name="MessageLifetimeChanged">عيّن %1$s عداد التدمير الذاتي ليصبح %2$s</string>
<string name="MessageLifetimeChangedOutgoing">قمت بتعيين عداد التدمير الذاتي ليصبح %1$s</string>
@ -1116,7 +1135,7 @@
<string name="NotificationMessageGroupDocument">أرسل %1$s ملفًا لمجموعة %2$s</string>
<string name="NotificationMessageGroupGif">أرسل %1$s صورةً متحركة لمجموعة %2$s</string>
<string name="NotificationMessageGroupInvoice">أرسل %1$s فاتورةً لمجموعة %2$s لقاء %3$s</string>
<string name="NotificationMessageGroupAudio">أرسل %1$s رسالةً صوتيةً لمجموعة %2$s</string>
<string name="NotificationMessageGroupAudio">أرسل %1$s رسالة صوتية إلى %2$s</string>
<string name="NotificationMessageGroupRound">أرسل %1$s رسالةً مرئيةً لمجموعة %2$s</string>
<string name="NotificationMessageGroupMusic">أرسل %1$s ملفًا صوتيًا لمجموعة %2$s</string>
<string name="NotificationMessageGroupSticker">أرسل %1$s ملصقًا لمجموعة %2$s</string>
@ -1126,6 +1145,10 @@
<string name="NotificationEditedGroupPhoto">غيّرَ %1$s صورة مجموعة %2$s</string>
<string name="NotificationEditedGroupVideo">غيّر %1$s المقطع المرئي للمجموعة %2$s</string>
<string name="NotificationGroupAddMember">%1$s أضاف %3$s للمجموعة %2$s</string>
<string name="NotificationGroupInvitedToCall">%1$s دعا %3$s إلى محادثة صوتية في %2$s</string>
<string name="NotificationGroupInvitedYouToCall">دعاك %1$s إلى محادثة صوتية في %2$s</string>
<string name="NotificationGroupCreatedCall">بدأ %1$s محادثة صوتية في %2$s</string>
<string name="NotificationGroupEndedCall">أنهى %1$s المحادثة الصوتية في المجموعة %2$s</string>
<string name="NotificationGroupAddSelf">عاد %1$s لمجموعة %2$s</string>
<string name="NotificationGroupAddSelfMega">انضم %1$s لمجموعة %2$s</string>
<string name="NotificationGroupKickMember">%1$s أزال %3$s من المجموعة %2$s</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">ثبّتَ %1$s ملفًا في مجموعة %2$s</string>
<string name="NotificationActionPinnedSticker">ثبّتَ %1$s ملصقًا في مجموعة %2$s</string>
<string name="NotificationActionPinnedStickerEmoji">ثبّتَ %1$s ملصق %3$s في مجموعة %2$s</string>
<string name="NotificationActionPinnedVoice">ثبّتَ %1$s رسالةً صوتيةً في مجموعة %2$s</string>
<string name="NotificationActionPinnedVoice">ثبّتَ %1$s رسالة صوتية في %2$s</string>
<string name="NotificationActionPinnedRound">ثبّتَ %1$s رسالةً مرئيةً في مجموعة %2$s</string>
<string name="NotificationActionPinnedContact2">ثبّتَ %1$s جهة اتصال %3$s في مجموعة %2$s</string>
<string name="NotificationActionPinnedGeo">ثبّتَ %1$s خريطةً في مجموعة %2$s</string>
@ -1196,10 +1219,10 @@
<string name="NotificationActionPinnedFileUser">ثبّت %1$s ملفًا</string>
<string name="NotificationActionPinnedInvoiceUser">ثبّت %1$s فاتورة</string>
<string name="NotificationActionPinnedStickerUser">ثبّت %1$s ملصقًا</string>
<string name="NotificationActionPinnedStickerEmojiUser">%1$s pinned a %2$s sticker</string>
<string name="NotificationActionPinnedStickerEmojiUser">ثبّت %1$s ملصق %2$s</string>
<string name="NotificationActionPinnedVoiceUser">ثبّت %1$s رسالة صوتيّة</string>
<string name="NotificationActionPinnedRoundUser">ثبّت %1$s رسالة مرئية</string>
<string name="NotificationActionPinnedContactUser">%1$s pinned a contact %2$s</string>
<string name="NotificationActionPinnedContactUser">ثبّت %1$s جهة اتصال %2$s</string>
<string name="NotificationActionPinnedGeoUser">ثبّت %1$s خريطة</string>
<string name="NotificationActionPinnedGeoLiveUser">ثبّت %1$s موقعًا مباشرًا</string>
<string name="NotificationActionPinnedGifUser">ثبّت %1$s صورة متحركة</string>
@ -1245,7 +1268,7 @@
<string name="NoContactsYetLine2">اعثر على الأشخاص القريبين للتحدث معهم</string>
<string name="NoContactsYetLine3">البحث عن أشخاص عبر اسم المستخدم</string>
<string name="NewContactAlertTitle">جهة اتصال جديدة</string>
<string name="NewContactAlertMessage">رقم الهاتف **%1$s** ليس في قائمة جهات اتصالك. هل تريد إضافته؟</string>
<string name="NewContactAlertMessage">رقم الهاتف **%1$s** ليس في جهات اتصالك. هل تريد إضافته؟</string>
<string name="NewContactAlertButton">إضافة جهة اتصال</string>
<!--group create view-->
<string name="SendMessageTo">إضافة أشخاص...</string>
@ -1262,6 +1285,7 @@
<string name="JoinByPeekJoin">انضمام</string>
<string name="LinkCopied">تم نسخ الرابط للحافظة</string>
<string name="LinkCopiedPrivate">تم نسخ الرابط للحافظة.\nلن يعمل هذا الرابط إلا لأعضاء هذه المحادثة.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">للأسف لا يمكنك الوصول إلى هذه الرسالة؛ أنت لست عضوًا في المحادثة التي تم نشرها فيها.</string>
<string name="PhoneCopied">تم نسخ رقم الهاتف للحافظة</string>
<string name="EmailCopied">تم نسخ البريد للحافظة</string>
@ -1279,12 +1303,12 @@
<string name="SearchForPeople">البحث عن أشخاص...</string>
<string name="SearchForPeopleAndGroups">البحث عن مستخدمين ومجموعات...</string>
<!--group info view-->
<string name="GroupMembers">أعضاء</string>
<string name="GroupMembers">الأعضاء</string>
<string name="SharedMedia">الوسائط المتبادلة</string>
<string name="SETTINGS">الإعدادات</string>
<string name="AddSubscriber">"إضافة مشترك "</string>
<string name="AddMember">إضافة عضو</string>
<string name="SetAdmins">تعيين المشرفين</string>
<string name="SetAdmins">إضافة مشرفين</string>
<string name="BanFromTheGroup">حظر من المجموعة</string>
<string name="DeleteAndExit">مغادرة المجموعة وحذفها</string>
<string name="DeleteAndExitButton">حذف ومغادرة المجموعة</string>
@ -1296,7 +1320,7 @@
<string name="ConvertGroupMenu">تحويل إلى مجموعة خارقة</string>
<string name="ConvertGroupAlertWarning">تحذير</string>
<string name="ConvertGroupAlert">تحذير: هذا القرار لا يمكن التراجع عنه، لن تتمكن من إعادة المجموعة الخارقة إلى مجموع عادية مرة أخرى.</string>
<string name="ConvertGroupInfo">**تم بلوغ الحد الأقصى لعدد الأعضاء**\n\nلتخطي هذا الحد والحصول على خصائص جديدة، يمكنك الترقية لمجموعة خارقة:\n\n• يمكن أن تحتوي المجموعات الخارقة على %1$s عضو\n• يمكن للأعضاء الجدد مشاهدة محتوى المحادثة كاملًا\n• تختفي الرسائل المحذوفة من أجهزة جميع الأعضاء\n• يمكن للمشرفين إضافة وصفٍ للمجموعة\n• يمكن لمالك المجموعة إنشاء رابط عام لها</string>
<string name="ConvertGroupInfo">**تم بلوغ الحد الأقصى للأعضاء**\n\nلمزيد من المساحة والميزات الإضافية؛ قم بالترقية إلى مجموعة خارقة:\n\n • يمكن للمجموعات الخارقة استيعاب %1$s عضو\n • يمكن للأعضاء الجدد رؤية سجل المحادثات بالكامل\n • تختفي الرسائل المحذوفة لكل الأعضاء\n • يمكن للمشرفين إضافة وصف للمجموعة\n • يمكن للمالك إنشاء رابط عام للمجموعة</string>
<string name="ConvertGroupInfo2">** في المجموعات الخارقة:**\n\n• يمكن للأعضاء الجدد مشاهدة محتوى المحادثة كاملًا\n• تختفي الرسائل المحذوفة من أجهزة جميع الأعضاء\n• يمكن للمشرفين إضافة وصفٍ للمجموعة\n• يمكن لمالك المجموعة إنشاء رابط عام لها</string>
<string name="ConvertGroupInfo3">**ملحوظة:** لا يمكنك التراجع عن هذا القرار.</string>
<!--contact info view-->
@ -1366,8 +1390,8 @@
<string name="UsernameInvalid">المعذرة، اسم المستخدم غير مقبول.</string>
<string name="UsernameInvalidShort">يجب ألا يقل اسم المستخدم عن 5 حروف.</string>
<string name="UsernameInvalidLong">لا يمكن أن يتخطى الاسم 32 حرفًا كحد أقصى.</string>
<string name="UsernameInvalidStartNumber">عذرًا، لا يمكن لاسم المستخدم بأن يبدأ برقم.</string>
<string name="UsernameHelp">يمكنك اختيار اسم مستخدم لحسابك في **تيليجرام**، إذا قمت بذلك سيتمكن المستخدمون الآخرون من العثور عليك والتواصل معك عبر هذا الاسم دون معرفة رقمك.\n\nيمكنك استخدام **الحروف والأرقام الإنجليزية** وكذلك الشَّرطة السفلية. الطول الأدنى هو **خمسُ خانات**.</string>
<string name="UsernameInvalidStartNumber">لا يمكن لاسم المستخدم أن يبدأ برقم.</string>
<string name="UsernameHelp">يمكنك اختيار اسم مستخدم في **تيليجرام**.\nإذا قمت بذلك سيتمكن الآخرون من العثور عليك باسم المستخدم والتواصل معك دون الحاجة لرقم هاتفك.\n\nيمكنك استخدام **الحروف والأرقام الإنجليزية** وكذلك الشَّرطة السفلية. الطول الأدنى هو **5 خانات**.</string>
<string name="UsernameHelpLink">يقوم هذا الرابط بفتح محادثة معك:\n%1$s</string>
<string name="UsernameChecking">يتم التحقق من اسم المستخدم...</string>
<string name="UsernameAvailable">%1$s متاح.</string>
@ -1392,7 +1416,7 @@
<string name="CurrentGroupStickers">ملصقات المجموعة</string>
<string name="OtherStickers">المزيد من الملصقات</string>
<string name="DeleteFromFavorites">احذف من المفضلة</string>
<string name="DeleteFromRecent">حذف من الأخيرة</string>
<string name="DeleteFromRecent">إزالة من الأخيرة</string>
<string name="AddToMasks">إضافة إلى الأقنعة</string>
<string name="AddStickersNotFound">لم يُعثر على الملصقات</string>
<string name="StickersRemoved">تمت إزالة الملصقات</string>
@ -1435,7 +1459,7 @@
<string name="ArchivedMasks">الأقنعة المؤرشفة</string>
<string name="ArchivedStickersEmpty">ما من ملصقات مؤرشفة</string>
<string name="ArchivedMasksEmpty">ما من أقنعة مؤرشفة</string>
<string name="ArchivedStickersInfo">يمكنك الاحتفاظ بـ 200 حزمة ملصقات كحدٍ أقصى.\nستتم أرشفة الحزم غير المستخدمة عند إضافتك للمزيد.</string>
<string name="ArchivedStickersInfo">يمكنك الاحتفاظ بـ ٢٠٠ حزمة ملصقات نشطة.\nستتم أرشفة الحزم غير المستخدمة عند إضافتك للمزيد.</string>
<string name="ArchivedMasksInfo">يمكنك الاحتفاظ بـ 200 حزمة أقنعة كحدٍ أقصى.\nستتم أرشفة الحزم غير المستخدمة عند إضافتك للمزيد.</string>
<string name="SendSticker">إرسال الملصق</string>
<string name="ArchivedStickersAlertTitle">الملصقات المؤرشفة</string>
@ -1728,7 +1752,7 @@
<string name="BadgeNumber">شارةُ عدّاد الرسائل</string>
<string name="BadgeNumberShow">مفعَّلة</string>
<string name="BadgeNumberMutedChats">تضمين المحادثات المكتومة</string>
<string name="BadgeNumberUnread">عَدُّ الرسائل غير المقروءة</string>
<string name="BadgeNumberUnread">عدد الرسائل غير المقروءة</string>
<string name="Short">قصير</string>
<string name="Long">طويل</string>
<string name="AutomaticMediaDownload">تنزيل الوسائط تلقائيًا</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">أصوات داخل المحادثات</string>
<string name="SoundDefault">افتراضي</string>
<string name="VibrationDefault">افتراضي</string>
<string name="NotificationsDefault">الافتراضية</string>
<string name="NotificationsInAppDefault">الافتراضية داخل&#160;التطبيق</string>
<string name="NotificationsChatInApp">%1$s داخل التطبيق</string>
<string name="NotificationsSilent">صامتة</string>
<string name="SmartNotifications">إشعارات ذكية</string>
<string name="NotificationsExceptions">الاستثناءات</string>
<string name="NotificationsAddAnException">إضافة استثناء</string>
@ -1960,7 +1988,7 @@
<string name="CalculatingSize">يتم الحساب...</string>
<string name="LocalDocumentCache">المستندات</string>
<string name="LocalPhotoCache">الصور</string>
<string name="LocalAudioCache">الرسائل الصوتية/المرئية</string>
<string name="LocalAudioCache">الرسائل الصوتية والمرئية</string>
<string name="LocalVideoCache">المقاطع المرئية</string>
<string name="LocalMusicCache">الصوتيات</string>
<string name="LocalGifCache">الصور المتحركة</string>
@ -2030,7 +2058,7 @@
<string name="PassportEmailVerifyInfo">قم بإدخال رمز التأكيد الذي أرسلناه إلى %1$s.</string>
<string name="PassportSelfRequest">يرجى إدخال كلمة مرورك للوصول إلى بياناتك الشخصية.</string>
<string name="PassportRequest">يطلب **%1$s** الوصول لبياناتك الشخصية لتسجيلك في خدماتهم.</string>
<string name="PassportRequestPasswordInfo">يرجى إدخال كلمة مرورك في تيليجرام لفك تشفير بياناتك</string>
<string name="PassportRequestPasswordInfo">أدخل كلمة مرورك في تيليجرام لفك تشفير بياناتك</string>
<string name="PassportPolicy">أنت توافق على سياسة خصوصية %1$s وتسمح لـ@%2$s بمراسلتك.</string>
<string name="PassportNoPolicy">أنت ترسل وثائقك إلى %1$s مباشرةً وتسمح لـ@%2$s بمراسلتك.</string>
<string name="PassportAuthorize">السماح</string>
@ -2160,7 +2188,7 @@
<string name="PassportLanguage_VI">الفيتنامية</string>
<!--sessions view-->
<string name="SessionsTitle">الجلسات النشطة</string>
<string name="CurrentSession">الجلسة الحالية</string>
<string name="CurrentSession">هذا الجهاز</string>
<string name="NoOtherSessions">ما من جلسات أخرى نشطة حاليًا</string>
<string name="NoOtherSessionsInfo">يمكنك تسجيل الدخول لحسابك في تيليجرام عبر جوال، جهاز لوحي، أو جهاز حاسوب آخر باستخدام رقم الهاتف ذاته. سيقوم تيليجرام بمزامنة كافة بياناتك بشكل فوري.</string>
<string name="OtherSessions">الجلسات النشطة</string>
@ -2230,7 +2258,7 @@
<string name="FilterBots">البوتات</string>
<string name="FilterAddingChats">يتم إضافة المحادثات</string>
<string name="FilterAddingChatsInfo">يرجى الانتظار بضع لحظات ريثما نقوم بملء هذا المجلد لك...</string>
<string name="FilterNoChatsToDisplay">ما من محادثات لعرضها</string>
<string name="FilterNoChatsToDisplay">المجلد&#160;فارغ</string>
<string name="FilterNoChatsToDisplayInfo">ما من محادثات تنتمي لهذا المجلد حاليًّا.</string>
<string name="FilterNew">مجلد جديد</string>
<string name="FilterNoChats">ما من محادثات</string>
@ -2381,8 +2409,8 @@
<string name="LocationUpdatedJustNow">تم تحديثه الآن</string>
<string name="SharingYouAndOtherName">أنت و%1$s</string>
<string name="AttachLiveLocationIsSharing">%1$s تتم مشاركته مع %2$s</string>
<string name="AttachLiveLocationIsSharingChat">%1$s sharing with %2$s</string>
<string name="AttachLiveLocationIsSharingChats">%1$s sharing with %2$s</string>
<string name="AttachLiveLocationIsSharingChat">تتم مشاركة %1$s مع %2$s</string>
<string name="AttachLiveLocationIsSharingChats">أنت تشارك %1$s مع %2$s</string>
<string name="StopAllLocationSharings">إيقاف الكل</string>
<string name="SharingLiveLocationTitle">تقوم بمشاركة موقعك الحي مع %1$s</string>
<string name="LiveLocationAlertPrivate">اختر المدة التي سيتمكن خلالها %1$s من مشاهدة موقعك الفعلي.</string>
@ -2413,17 +2441,17 @@
<string name="PlacesInThisArea">الأماكن في هذه المنطقة</string>
<string name="LocationNotifiation">تنبيه الاقتراب</string>
<string name="LocationNotifiationButtonUser">نبّهني عندما يكون %1$s على بعد&#160;%2$s</string>
<string name="LocationNotifiationButtonGroup">Notify when someone is within %1$s</string>
<string name="LocationNotifiationButtonGroup">نبهني عندما يكون أي عضو على بعد %1$s</string>
<string name="LocationNotifiationCloser">أنت أقرب من&#160;%1$s</string>
<string name="ShareLocationAlertTitle">مشاركة الموقع</string>
<string name="ShareLocationAlertButton">مشاركة</string>
<string name="ShareLocationAlertText">لكي يعمل التنبيه؛ شارك موقعك المباشر في هذه المحادثة.</string>
<string name="ProximityTooltioUser">التنبيه عندما يكون %1$s قريبًا</string>
<string name="ProximityTooltioGroup">التنبيه عندما يكون أعضاء المجموعة قريبين</string>
<string name="ProximityAlertSet">Proximity alert set</string>
<string name="ProximityAlertSetInfoUser">We will notify you once %1$s is within %2$s from you.</string>
<string name="ProximityAlertSetInfoGroup2">We will notify you once someone is within %1$s from you.</string>
<string name="ProximityAlertCancelled">Proximity alert cancelled</string>
<string name="ProximityAlertSet">تنبيه الاقتراب يعمل</string>
<string name="ProximityAlertSetInfoUser">"سيتم تنبيهك بمجرد أن يكون %1$s على بعد %2$s منك. "</string>
<string name="ProximityAlertSetInfoGroup2">"سيت تنبيهك بمجرد أن يكون أي عضو على بعد %1$s منك. "</string>
<string name="ProximityAlertCancelled">تم إلغاء التنبيه&#160;بالاقتراب</string>
<!--photo gallery view-->
<string name="ShowAsList">عرض في لائحة</string>
<string name="ShowAsGrid">عرض كمصفوفة</string>
@ -2534,38 +2562,38 @@
<string name="PhotoSavedToDownloadsHint">تم حفظ الصورة في التنزيلات</string>
<string name="VideoSavedToDownloadsHint">تم حفظ المقطع في التنزيلات</string>
<string name="GifSavedToDownloadsHint">تم حفظ الصورة المتحركة في التنزيلات</string>
<string name="AudioSavedHint">File saved to music</string>
<string name="FileSavedHint">File saved to downloads</string>
<string name="FilesSavedHint_zero">%1$d files saved to downloads</string>
<string name="FilesSavedHint_one">File saved to downloads</string>
<string name="FilesSavedHint_two">%1$d files saved to downloads</string>
<string name="FilesSavedHint_few">%1$d files saved to downloads</string>
<string name="FilesSavedHint_many">%1$d files saved to downloads</string>
<string name="FilesSavedHint_other">%1$d files saved to downloads</string>
<string name="PhotosSavedHint_zero">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_one">Photo saved to gallery</string>
<string name="PhotosSavedHint_two">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_few">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_many">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_other">%1$d photos saved to gallery</string>
<string name="VideosSavedHint_zero">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_one">Video saved to gallery</string>
<string name="VideosSavedHint_two">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_few">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_many">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_other">%1$d videos saved to gallery</string>
<string name="AudiosSavedHint_zero">%1$d files saved to music</string>
<string name="AudiosSavedHint_one">File saved to music</string>
<string name="AudiosSavedHint_two">%1$d files saved to music</string>
<string name="AudiosSavedHint_few">%1$d files saved to music</string>
<string name="AudiosSavedHint_many">%1$d files saved to music</string>
<string name="AudiosSavedHint_other">%1$d files saved to music</string>
<string name="MediaSavedHint_zero">%1$d items saved to gallery</string>
<string name="MediaSavedHint_one">One item saved to gallery</string>
<string name="MediaSavedHint_two">%1$d items saved to gallery</string>
<string name="MediaSavedHint_few">%1$d items saved to gallery</string>
<string name="MediaSavedHint_many">%1$d items saved to gallery</string>
<string name="MediaSavedHint_other">%1$d items saved to gallery</string>
<string name="AudioSavedHint">تم حفظ الملف في الموسيقى</string>
<string name="FileSavedHint">تم حفظ الملف في التنزيلات</string>
<string name="FilesSavedHint_zero">تم حفظ %1$d ملفات في التنزيلات</string>
<string name="FilesSavedHint_one">تم حفظ ملف في التنزيلات</string>
<string name="FilesSavedHint_two">تم حفظ ملفين في التنزيلات</string>
<string name="FilesSavedHint_few">تم حفظ %1$d ملفات في التنزيلات</string>
<string name="FilesSavedHint_many">تم حفظ ١١ ملفًا في التنزيلات</string>
<string name="FilesSavedHint_other">تم حفظ %1$d ملف في التنزيلات</string>
<string name="PhotosSavedHint_zero">تم حفظ %1$d صورة في المعرض</string>
<string name="PhotosSavedHint_one">تم حفظ الصورة في المعرض</string>
<string name="PhotosSavedHint_two">تم حفظ صورتين في المعرض</string>
<string name="PhotosSavedHint_few">تم حفظ %1$d صور في المعرض</string>
<string name="PhotosSavedHint_many">تم حفظ %1$d صورة في المعرض</string>
<string name="PhotosSavedHint_other">تم حفظ %1$d صورة في المعرض</string>
<string name="VideosSavedHint_zero">تم حفظ %1$d مقاطع في المعرض</string>
<string name="VideosSavedHint_one">تم حفظ المقطع المرئي في المعرض</string>
<string name="VideosSavedHint_two">تم حفظ مقطعين في المعرض</string>
<string name="VideosSavedHint_few">تم حفظ %1$dمقاطع مرئية في المعرض</string>
<string name="VideosSavedHint_many">تم حفظ %1$d مقطعًا مرئيًا في المعرض</string>
<string name="VideosSavedHint_other">تم حفظ %1$d مقطع مرئي في المعرض</string>
<string name="AudiosSavedHint_zero">تم حفظ %1$d ملفات صوتيّة</string>
<string name="AudiosSavedHint_one">تم حفظ الملف&#160;الصوتيّ</string>
<string name="AudiosSavedHint_two">تم حفظ ملفّين صوتيين</string>
<string name="AudiosSavedHint_few">تم حفظ %1$d ملفات صوتيّة</string>
<string name="AudiosSavedHint_many">تم حفظ %1$d ملفًا صوتيًا</string>
<string name="AudiosSavedHint_other">تم حفظ %1$d ملف صوتي</string>
<string name="MediaSavedHint_zero">تم حفظ %1$d عنصر في المعرض</string>
<string name="MediaSavedHint_one">تم حفظ عنصر واحد في المعرض</string>
<string name="MediaSavedHint_two">تم حفظ عنصرين في المعرض</string>
<string name="MediaSavedHint_few">تم حفظ %1$d عناصر في المعرض</string>
<string name="MediaSavedHint_many">تم حفظ %1$d عنصرًا في المعرض</string>
<string name="MediaSavedHint_other">تم حفظ %1$d عنصر في المعرض</string>
<!--password view-->
<string name="TwoStepVerification">التحقق بخطوتين</string>
<string name="TwoStepVerificationTitle">التحقق بخطوتين</string>
@ -2574,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">العودة للإعدادات</string>
<string name="TwoStepVerificationPasswordReturnPassport">العودة إلى جواز السفر</string>
<string name="TwoStepVerificationSetPassword">تعيين كلمة المرور</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">تعيين كلمة مرور إضافية</string>
<string name="SetAdditionalPasswordInfo">يمكنك تعيين كلمة مرور إضافية يتم طلبها عند تسجيل الدخول من جهاز غير معروف، إضافةً إلى الرمز الذي يصلك في رسالة SMS قصيرة.</string>
<string name="YourPassword">كلمة مرورك</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">رمز الاسترداد</string>
<string name="RestoreEmailSent">لقد قمنا بإرسال رمز الاسترداد إلى بريدك الإلكتروني الذي اخترته مسبقًا:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">يرجى تفقُّدُ بريدك وإدخال الرمز المرسَل إليك والمكون من 6 أرقام.</string>
<string name="RestoreEmailTrouble">هل تواجه صعوبة في الوصول إلى بريدك %1$s؟</string>
<string name="RestoreEmailTrouble">غير قادر على فتح %1$s؟</string>
<string name="RestoreEmailTroubleNoEmail">هل تواجه مشكلة في الدخول إلى بريدك الإلكتروني؟</string>
<string name="RestoreEmailTroubleText">إذا لم تتمكن من الوصول إلى بريدك الإلكتروني فإن خياراتك المتبقية هي إما أن تتذكر كلمةَ مرورك، أو أن تعيد تعيين حسابك وتفقدَ جميعَ محتوياته.</string>
<string name="ResetMyAccount">إعادة تعيين حسابي</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">استخدام التخزين والشبكة</string>
<string name="StorageUsage">استخدام التخزين</string>
<string name="NetworkUsage">استهلاك البيانات</string>
<string name="StoragePath">مسار التخزين</string>
<string name="NetworkUsageMobileTab">الخلوية</string>
<string name="NetworkUsageWiFiTab">Wi-Fi</string>
<string name="NetworkUsageRoamingTab">التجوال</string>
@ -2676,8 +2706,8 @@
<string name="PrivacySettings">الخصوصية والأمان</string>
<string name="PrivacyTitle">الخصوصية</string>
<string name="PrivacyLastSeen">آخر ظهور ومتصل</string>
<string name="PrivacyProfilePhoto">الصورة الشخصية</string>
<string name="PrivacyProfilePhotoTitle">من يمْكنه رؤية صورتي الشخصية؟</string>
<string name="PrivacyProfilePhoto">الصور الشخصية</string>
<string name="PrivacyProfilePhotoTitle">من يمْكنه رؤية صور ومقاطع ملفّي التعريفي؟</string>
<string name="PrivacyProfilePhotoInfo">بإمكانك تخصيص من يمْكنه رؤية صورتك الشخصية بدقة انتقائية.</string>
<string name="PrivacyProfilePhotoInfo2">يمكنك إضافة مستخدمين أو مجموعات بأكملها كاستثناءات ليتجاوزوا القيم في الأعلى.</string>
<string name="PrivacyPhone">رقم الهاتف</string>
@ -2734,7 +2764,7 @@
<string name="LastSeenTitle">من يمْكنه رؤية آخر ظهور لك؟</string>
<string name="AddExceptions">إضافة استثناءات</string>
<string name="AddToExceptions">إضافة للاستثناءات</string>
<string name="CustomHelp">لن تتمكن من رؤية آخر ظهور للأشخاص الذين اخترت ألا يروا آخر ظهور لك. سيتم بدلًا من ذلك عرض آخر ظهور تقريبي (شُوهدَ مؤخرًا، خلال أسبوع، خلال شهر).</string>
<string name="CustomHelp">لن ترى آخر ظهور أو حالة الاتصال للأشخاص الذين اخترت ألا يروا آخر ظهور لك. سيتم بدل من ذلك عرض آخر ظهور تقريبي (قريبا، خلال أسبوع، خلال شهر).</string>
<string name="PrivacySettingsChangedAlert">لقد قمت بتغيير بعض إعدادات الخصوصية؛ تطبيق التغييرات؟</string>
<string name="AlwaysShareWith">المشاركة دائمًا مع</string>
<string name="NeverShareWith">عدم المشاركة مع</string>
@ -2806,7 +2836,7 @@
<string name="OK">حسنًا</string>
<string name="Stop">إيقاف</string>
<string name="WaitMore">الانتظار أكثر</string>
<string name="Continue">الاستمرار</string>
<string name="Continue">استمرار</string>
<string name="CreateLink">إنشاء رابط</string>
<string name="Crop">قطع</string>
<string name="UpdateApp">تحديث التطبيق</string>
@ -2837,7 +2867,7 @@
<string name="ActionYouAddUser">لقد قمت بإضافة un2</string>
<string name="ActionYouScored">قمت بإحراز %1$s</string>
<string name="ActionUserScored">أحرز un1 %1$s</string>
<string name="ActionYouScoredInGame">قمت بإحراز %1$s في un2</string>
<string name="ActionYouScoredInGame">أحرزت %1$s في un2</string>
<string name="ActionUserScoredInGame">un1 أحرز %1$s في un2</string>
<string name="ActionYouRemovedPhoto">لقد أزلتَ صورة المجموعة</string>
<string name="ActionYouChangedPhoto">لقد غيّرتَ صورة المجموعة</string>
@ -2852,6 +2882,14 @@
<string name="ActionUserWithinRadius">un1 الآن على بعد %1$s منك</string>
<string name="ActionUserWithinYouRadius">أنت الآن على بعد %1$s من un1</string>
<string name="ActionUserWithinOtherRadius">un1 الآن على بعد %1$s منك un2</string>
<string name="ActionUserInvitedToGroup">دعاك un1 إلى هذه المجموعة</string>
<string name="ActionUserInvitedToChannel">دعاك un1 إلى هذه القناة</string>
<string name="ActionGroupCallStarted">بدأ un1 محادثة صوتية</string>
<string name="ActionGroupCallStartedByYou">"أنت بدأت محادثة صوتية "</string>
<string name="ActionGroupCallEnded">انتهت المحادثة الصوتية (%s)</string>
<string name="ActionGroupCallInvited">"قام un1 بدعوة un2 إلى المحادثة الصوتية "</string>
<string name="ActionGroupCallYouInvited">قمت بدعوة un2 إلى المحادثة الصوتية</string>
<string name="ActionGroupCallInvitedYou">دعاك un1 إلى المحادثة الصوتية</string>
<string name="ActionBotAllowed">لقد سمحت لهذا البوت بمراسلتك عندما سجّلت دخولك إلى %1$s</string>
<string name="ActionBotDocuments">استلم %1$s الوثائق التالية: %2$s</string>
<string name="ActionBotDocumentIdentity">التفاصيل الشخصية</string>
@ -2867,7 +2905,7 @@
<string name="ActionBotDocumentRentalAgreement">عقد الإيجار</string>
<string name="ActionBotDocumentPhone">رقم الهاتف</string>
<string name="ActionBotDocumentEmail">بريد إلكتروني</string>
<string name="UnsupportedMedia">نسختك الحالية من تيليجرام لا تدعم هذه الرسالة؛ رجاء قم بتحديث التطبيق: https://telegram.org/update</string>
<string name="UnsupportedMedia">نسخة تيليجرام التي لديك لاتدعم هذه الرسالة. حدّث التطبيق لعرضها: https://telegram.org/update</string>
<string name="AttachPhoto">صورة</string>
<string name="AttachVideo">مقطع مرئي</string>
<string name="AttachDestructingPhoto">صورة ذاتية التدمير</string>
@ -2908,9 +2946,9 @@
<string name="PleaseLoginPassport">يرجى تسجيل الدخول إلى حسابك في تيليجرام لتتمكن من استخدام جواز تيليجرام.</string>
<string name="BannedPhoneNumber">تم حظر هذا الرقم.</string>
<string name="CodeExpired">انتهت صلاحية الرمز، يرجى إعادة محاولة تسجيل الدخول.</string>
<string name="FloodWait">محاولات كثيرة خاطئة، نرجو المحاولة لاحقًا</string>
<string name="FloodWait">محاولات كثيرة خاطئة، نرجو المحاولة لاحقًا.</string>
<string name="FloodWaitTime">محاولات كثيرة، يرجى إعادة المحاولة خلال %1$s</string>
<string name="InvalidCode">الرمز غير صحيح</string>
<string name="InvalidCode">الرمز غير صحيح، حاول لاحقًا.</string>
<string name="PhoneNumberFlood">المعذرة، لقد قمت بحذف حسابك وإعادة إنشائه عدة مرات مؤخرًا، انتظر لعدة أيام رجاءً قبل محاولة إنشاء الحساب من جديد.</string>
<string name="InvalidFirstName">الاسم الأول غير صحيح</string>
<string name="InvalidLastName">المعذرة، لا يمكن استخدام اسم العائلة هذا.</string>
@ -2933,7 +2971,7 @@
<string name="SendMessagesToText">هل ترغب في إرسال هذه الرسالة إلى **%1$s**؟</string>
<string name="SendGameToText">هل ترغب في إرسال هذه اللعبة إلى **%1$s**؟</string>
<string name="SendContactToText">هل ترغب في إرسال جهة الاتصال هذه إلى **%1$s**؟</string>
<string name="AreYouSureLogout">هل ترغب حقًا في تسجيل الخروج؟\n\nتذكَّر أنه يمكنك استخدام تيليجرام على جميع أجهزتك في ذات الوقت بسهولة تامة.\n\nولا تنسَ أن تسجيل الخروج سيحذف كل محادثاتك السرية.</string>
<string name="AreYouSureLogout">هل ترغب حقًا في تسجيل الخروج؟\n\nاعلم أنه يمكنك استخدام تيليجرام على أجهزتك المتعددة بسلاسة وفي نفس الوقت.\n\nتذكر أن تسجيل الخروج يحذف كل محادثاتك السرية.</string>
<string name="DeleteFewChatsTitle">حذف %1$s</string>
<string name="ClearFewChatsTitle">مسح %1$s</string>
<string name="ClearCacheFewChatsTitle">مسح %1$s من الذاكرة المؤقتة</string>
@ -2946,7 +2984,7 @@
<string name="AreYouSureDeleteThisChatWithUser">هل ترغب حقًا في حذف المحادثة مع **%1$s**؟</string>
<string name="AreYouSureDeleteThisChatWithBot">هل أنت متأكد أنك تريد حذف المحادثة مع **%1$s** وحظره؟</string>
<string name="AreYouSureDeleteThisChatSavedMessages">هل ترغب حقًا في حذف **الرسائل المحفوظة**؟</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">هل ترغب حقًا في حذف المحادثة السرية مع **%1$s**؟</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">هل أنت متأكد أنك تريد حذف محادثك السرية مع **%1$s**؟</string>
<string name="AreYouSureDeleteThisChatWithGroup">هل ترغب حقًا في حذف المحادثة **%1$s**؟</string>
<string name="AreYouSureClearDraftsTitle">حذف المسودات السحابية</string>
<string name="AreYouSureClearDrafts">هل ترغب حقًا في حذف جميع المسودات السحابية؟</string>
@ -3020,15 +3058,18 @@
<!--permissions-->
<string name="PermissionContacts">لكي تتمكن من التواصل مع أصدقائك عبر جميع أجهزتك، ستتم مزامنة جهات اتصالك باستمرار مع خوادم تيليجرام السحابية شديدة التشفير.</string>
<string name="PermissionStorage">يحتاج تيليجرام للوصول لذاكرة التخزين لتتمكن من إرسال وحفظ الصور، المقاطع المرئية، الصوتيات وغيرها من الوسائط.</string>
<string name="PermissionNoAudio">يحتاج تيليجرام إلى استخدام الميكروفون من أجل إرسال الرسائل الصوتية.</string>
<string name="PermissionNoAudio">يحتاج تيليجرام الوصول للمايكروفون لتتمكن من إرسال الرسائل الصوتية.</string>
<string name="PermissionNoAudioVideo">يحتاج تيليجرام إلى استخدام الميكروفون من أجل تسجيل المقاطع المرئية.</string>
<string name="PermissionNoCamera">يحتاج تيليجرام للوصول للكاميرا لتتمكن من أخذ الصور والمقاطع المرئية. يرجى تفعيلها في الإعدادات.</string>
<string name="PermissionNoLocation">يحتاج تيليجرام إلى السماح له بتحديد موقعك لتتمكن من مشاركته مع أصدقائك.</string>
<string name="PermissionNoLocationPosition">يحتاج تيليجرام إلى صلاحية تحديد موقعك.</string>
<string name="PermissionDrawAboveOtherApps">يحتاج تيليجرام إلى صلاحية الظهور فوق التطبيقات لتشغيل المقاطع المرئية في وضع (صورة في الصورة).</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">"يتيح لك الوضع العائم استخدام المايكروفون ومعرفة من الذي يتحدث عندما تكون خارج تيليجرام. "</string>
<string name="PermissionOpenSettings">الإعدادات</string>
<string name="PermissionXiaomiLockscreen">يرجى السماح لتيليجرام بالظهور على شاشة القفل للتمكن من إجراء المكالمات دون مشاكل.</string>
<string name="PermissionBackgroundLocation">To share your live location in this chat, Telegram needs access to your location all the time, including while the app is in the background.\n\nWe will access your location only for the duration you choose, and you can stop sharing it any time. We won\'t use your location for any purpose other than sharing it in this chat.</string>
<string name="PermissionBackgroundLocation">"لمشاركة موقعك المباشر في هذه المحادثة؛ يحتاج تيليجرام الوصول إلى موقعك باستمرار، بما في ذلك أثناء عمل التطبيق في الخلفية.\n\n سنستخدم موقعك للمدة التي تختارها أنت فقط ويمكنك التوقف عن مشاركته في أي وقت. لن نستخدم موقعك لأي غرض بخلاف مشاركته في هذه المحادثة. "</string>
<string name="PermissionDrawAboveOtherAppsTitle">صورة داخل&#160;صورة</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">المحادثة الصوتية العائمة</string>
<!--charts-->
<string name="GrowthChartTitle">النّمو</string>
<string name="FollowersChartTitle">المتابِعون</string>
@ -3100,13 +3141,13 @@
<string name="TopInviters">أنشط المضيفين</string>
<string name="CharactersPerMessage">%s للرسالة</string>
<string name="TopDaysOfWeekChartTitle">الأيام النشطة</string>
<string name="StatisticSearchUserHistory">يقرؤون الرسائل</string>
<string name="StatisticSearchUserHistory">عرض الرسائل</string>
<string name="StatisticOpenProfile">عرض الملف الشخصي</string>
<string name="SearchTipToday">اليوم</string>
<string name="SearchTipYesterday">يوم أمس</string>
<string name="StatisticViews">المشاهدات</string>
<string name="PublicShares">Public Shares</string>
<string name="PrivateShares">Private Shares</string>
<string name="PublicShares">التحويل في العام</string>
<string name="PrivateShares">التحويلات في الخاص</string>
<string name="ViewStats">عرض الإحصائيات</string>
<string name="ViewChannelStats">عرض إحصائيات القناة</string>
<string name="ViewMessageStatistic">إحصائيات المنشور</string>
@ -3141,9 +3182,14 @@
<string name="VoipInCallBranding">مكالمة تيليجرام</string>
<string name="VoipInVideoCallBranding">مكالمة تيليجرام مرئية</string>
<string name="VoipOutgoingCall">مكالمة تيليجرام الحالية</string>
<string name="VoipVoiceChat">محادثة صوتية نشطة</string>
<string name="VoipEndCall">إنهاء المكالمة</string>
<string name="VoipOngoingAlertTitle">مكالمة أخرى نشطة</string>
<string name="VoipOngoingAlert">لديك حاليًا مكالمة نشطة مع **%1$s**. هل ترغب في إنهائها وبدءِ مكالمة جديدة مع **%2$s**؟</string>
<string name="VoipOngoingAlert">إنهاء المكالمة مع **%1$s** وبدء واحدة جديدة مع **%2$s**؟</string>
<string name="VoipOngoingAlert2">"إنهاء المكالمة مع **%1$s** وبدء محادثة صوتية في **%2$s**؟ "</string>
<string name="VoipOngoingChatAlertTitle">محادثة صوتية أخرى نشطة</string>
<string name="VoipOngoingChatAlert">مغادرة المحادثة الصوتية في **%1$s** وبدء أخرى في **%2$s**؟</string>
<string name="VoipOngoingChatAlert2">مغادرة المحادثة الصوتية في **%1$s** والاتصال بـ **%2$s**؟</string>
<string name="VoipNotificationSettings">المكالمات الصوتية</string>
<string name="VoipSettingsRingtone">"نغمة الرنين "</string>
<string name="VoipRingtoneInfo">يمكنك تخصيص نغمة الرنين عندما يتصل بك هذا المستخدم في تيليجرام.</string>
@ -3160,7 +3206,9 @@
<string name="VoipAnswerCall">إجابة</string>
<string name="VoipDeclineCall">رفض</string>
<string name="VoipOffline">أنت غير متصل حاليًا، قم بالاتصال بالإنترنت لتتمكن من إجراء المكالمات.</string>
<string name="VoipGroupOffline">"أنت غير متصل حاليًا.يرجى الاتصال بالإنترنت للانضمام إلى المحادثات الصوتية. "</string>
<string name="VoipOfflineAirplane">لقد قمت بتفعيل وضع الطيران. يرجى تعطيله أو الاتصال بشبكة Wi-Fi لتتمكن من إجراء المكالمات.</string>
<string name="VoipGroupOfflineAirplane">"وضع الطيران يعمل لديك حاليًا. يرجى إيقاف تشغيله أو تشغيل الـ Wi-Fi للانضمام إلى المحادثات الصوتية. "</string>
<string name="VoipOfflineTitle">غير متصل</string>
<string name="VoipOfflineAirplaneTitle">وضع الطيران</string>
<string name="VoipOfflineOpenSettings">الإعدادات</string>
@ -3175,7 +3223,7 @@
<string name="CallMessageVideoOutgoingMissed">مكالمة مرئية ملغاة</string>
<string name="CallMessageVideoIncomingDeclined">مكالمة مرئية مرفوضة</string>
<string name="CallMessageWithDuration">%1$s (%2$s)</string>
<string name="NoCallLog">لم تقم بإجراء أي مكالمة بعد.</string>
<string name="NoCallLog">ما من مكالمات هنا بعد...</string>
<string name="VoipPeerIncompatible">يستخدم تطبيق تيليجرام الخاص بـ**%1$s** بروتوكولًا غيرَ متوافقٍ، ينبغي عليهم تحديث تطبيقهم لتتمكن من الاتصال بهم.</string>
<string name="VoipPeerOutdated">نسخة **%1$s** لا تدعم المكالمات؛ يَلزمُه تحديث تطبيقه قبل أن تتمكن من الاتصال به.</string>
<string name="VoipPeerVideoOutdated">عذرًا، يستخدم **%1$s** إصدارًا قديمًا من تيليجرام لا يدعم المكالمات المرئية.</string>
@ -3191,7 +3239,7 @@
<string name="CallViaTelegram">مكالمة تيليجرام</string>
<string name="VideoCallViaTelegram">مكالمة تيليجرام مرئية</string>
<string name="VoipAudioRoutingEarpiece">سماعة الأذن</string>
<string name="VoipAudioRoutingHeadset">سماعة الأذن</string>
<string name="VoipAudioRoutingHeadset">سماعة الرأس</string>
<string name="VoipAudioRoutingSpeaker">مكبر الصوت</string>
<string name="VoipAudioRoutingBluetooth">بلوتوث</string>
<string name="VoipOutputDevices">أجهزة الإخراج</string>
@ -3226,9 +3274,14 @@
<string name="RateCallVideoPixelated">جودة الصورة&#160;رديئة</string>
<string name="TapToTurnCamera">اضغط هنا لتشغيل&#160;الكاميرا</string>
<string name="VoipUnmute">إلغاء الكتم</string>
<string name="VoipHoldAndTalk">أو اضغط باستمرار للتحدث</string>
<string name="VoipTapToMute">أنت على الهواء</string>
<string name="VoipMutedByAdmin">تم منعك من التحدّث</string>
<string name="VoipMutedByAdminShort">تم كتمه</string>
<string name="VoipMutedByAdminInfo">أنت في وضع الاستماع فقط</string>
<string name="VoipMute">كتم</string>
<string name="VoipStartVideo">تشغيل الكاميرا</string>
<string name="VoipStopVideo">إيقاف الكاميرا</string>
<string name="VoipStopVideo">الكاميرا</string>
<string name="VoipSpeaker">مكبر الصوت</string>
<string name="VoipFlip">تبديل</string>
<string name="VoipSwitchToVideoCall">الانتقال إلى مكالمة مرئية؟</string>
@ -3244,6 +3297,61 @@
<string name="VideoCallAlert">هل أنت متأكد من إجراء مكالمة مرئية مع **%1$s**؟</string>
<string name="VideoCallAlertTitle">مكالمة مرئية</string>
<string name="VoipReconnecting">تتم معاودة الاتصال</string>
<string name="StartVoipChat">بدء محادثة صوتية</string>
<string name="StartVoipChatTitle">محادثة صوتية</string>
<string name="StartVoipChatAlertText">"بدء محادثة صوتية في هذه المجموعة؟ "</string>
<string name="StartVoipChatPermission">إدارة المحادثات الصوتيّة</string>
<string name="VoipChatJoin">انضمام</string>
<string name="MembersTalking_zero">%1$s أعضاء يتحدثون</string>
<string name="MembersTalking_one">عضو واحد يتحدث</string>
<string name="MembersTalking_two">عضوان يتحدثان</string>
<string name="MembersTalking_few">%1$s أعضاء يتحدثون</string>
<string name="MembersTalking_many">%1$s عضوًا يتحدث</string>
<string name="MembersTalking_other">%1$s عضو يتحدث</string>
<string name="Speaking">يتحدث</string>
<string name="Listening">يستمع</string>
<string name="Invited">تمت دعوته</string>
<string name="VoipGroupLeave">مغادرة</string>
<string name="VoipGroupEnd">إنهاء</string>
<string name="VoipGroupMuteMemberAlertTitle">كتم المايكروفون</string>
<string name="VoipGroupMuteMemberAlertText">هل أنت متأكد أنك تريد كتم **%1$s** في هذه المحادثة الصوتية؟</string>
<string name="VoipGroupRemoveMemberAlertTitle">إزالة عضو</string>
<string name="VoipGroupRemoveMemberAlertText">هل تريد إزالة %1$s من المجموعة؟</string>
<string name="VoipGroupRemovedFromGroup">تمت إزالة **%1$s** من المجموعة.</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** يمكنه الآن التحدّث.</string>
<string name="VoipGroupUserCantNowSpeak">تم كتم **%1$s** في هذه المحادثة.</string>
<string name="VoipGroupMute">كتم</string>
<string name="VoipGroupAllCanSpeak">السماح للمشاركين الجدد بالتحدث</string>
<string name="VoipGroupOnlyAdminsCanSpeak">كتم المشاركين الجدد</string>
<string name="VoipGroupShareInviteLink">مشاركة رابط الدعوة</string>
<string name="VoipGroupEndChat">إنهاء المحادثة الصوتية</string>
<string name="VoipGroupConnecting">يتم الاتصال...</string>
<string name="VoipGroupLeaveAlertTitle">"مغادرة المحادثة الصوتية "</string>
<string name="VoipGroupLeaveAlertText">هل أنت متأكد أنك تريد مغادرة المحادثة الصوتية هذه؟</string>
<string name="VoipGroupEndAlertTitle">إنهاء المحادثة الصوتية</string>
<string name="VoipGroupEndAlertText">"هل أنت متأكد أنك تريد إنهاء هذه المحادثة الصوتية؟ "</string>
<string name="VoipGroupLeaveAlertEndChat">إنهاء المحادثة الصوتيّة</string>
<string name="VoipGroupViewVoiceChat">عرض المحادثة الصوتية</string>
<string name="VoipGroupVoiceChat">"محادثة صوتية "</string>
<string name="VoipGroupOpenVoiceChat">فتح المحادثة الصوتية</string>
<string name="VoipGroupInviteAlreadyParticipant">"المستخدم المحدد موجود في هذه المحادثة الصوتية. "</string>
<string name="VoipGroupJoinAnonymousAdmin">عذرًا، لايمكنك الانضمام إلى المحادثات الصوتية كمشرف مجهول.</string>
<string name="VoipGroupInvitedToVoiceChat">قام un1 بدعوة un2 إلى المحادثة الصوتية</string>
<string name="VoipGroupJoinCall">الانضمام للمحادثة الصوتية</string>
<string name="VoipGroupInviteText">مرحبا! انضم إلى محادثتنا الصوتية: %1$s</string>
<string name="VoipGroupInviteMember">دعوة الأعضاء</string>
<string name="VoipGroupUserRemove">إزالة</string>
<string name="VoipGroupAllowToSpeak">السماح بالتحدّث</string>
<string name="VoipGroupSearchMembers">البحث عن أعضاء لدعوتهم...</string>
<string name="VoipGroupCopyInviteLink">نسخ رابط الدعوة</string>
<string name="VoipGroupCopyInviteLinkCopied">تم نسخ رابط الدعوة إلى الحافظة</string>
<string name="VoipGroupUnmute">إلغاء الكتم</string>
<string name="VoipGroupEndedStartNew">"انتهت المحادثة الصوتية. بدء واحدة جديدة؟ "</string>
<string name="VoipGroupAddMemberTitle">إضافة عضو</string>
<string name="VoipGroupAddMemberText">"هل تريد إضافة **%1$s** إلى **%2$s**؟ "</string>
<string name="VoipGroupInvitedUser">أنت دعوت **%1$s** إلى المحادثة الصوتية.</string>
<string name="VoipGroupAdd">إضافة</string>
<string name="MembersTalkingNobody">اضغط للانضمام</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">مراسلة %1$s</string>
<string name="ContactShortcutVoiceCall">مكالمة صوتية %1$s</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">%1$d أعضاء</string>
<string name="Members_many">%1$d عضوًا</string>
<string name="Members_other">%1$d عضو</string>
<string name="Participants_zero">%1$d مشاركين</string>
<string name="Participants_one">%1$d مشارك</string>
<string name="Participants_two">مشاركان</string>
<string name="Participants_few">%1$d مشاركين</string>
<string name="Participants_many">%1$d مشاركا</string>
<string name="Participants_other">%1$d مشارك</string>
<string name="AndMoreTyping_zero">و%1$d عضو يكتب الآن</string>
<string name="AndMoreTyping_one">وعضوٌ آخرُ يكتبان الآن</string>
<string name="AndMoreTyping_two">وعضوان آخَران يكتبون الآن</string>
@ -3345,12 +3459,12 @@
<string name="NewMessages_few">%1$d رسائل جديدة</string>
<string name="NewMessages_many">%1$d رسالة جديدة</string>
<string name="NewMessages_other">%1$d رسالة جديدة</string>
<string name="MessagesUnpinned_zero">%1$d messages unpinned</string>
<string name="MessagesUnpinned_one">message unpinned</string>
<string name="MessagesUnpinned_two">%1$d messages unpinned</string>
<string name="MessagesUnpinned_few">%1$d messages unpinned</string>
<string name="MessagesUnpinned_many">%1$d messages unpinned</string>
<string name="MessagesUnpinned_other">%1$d messages unpinned</string>
<string name="MessagesUnpinned_zero">تم إلغاء تثبيت %1$d رسائل</string>
<string name="MessagesUnpinned_one">تم إلغاء تثبيت&#160;رسالة</string>
<string name="MessagesUnpinned_two">تم إلغاء تثبيت&#160;رسالتين</string>
<string name="MessagesUnpinned_few">تم إلغاء تثبيت %1$d رسائل</string>
<string name="MessagesUnpinned_many">تم إلغاء تثبيت %1$d رسالة</string>
<string name="MessagesUnpinned_other">تم إلغاء تثبيت %1$d رسالة</string>
<string name="messages_zero">%1$d رسالة</string>
<string name="messages_one">رسالة واحدة</string>
<string name="messages_two">رسالتين</string>
@ -3507,12 +3621,12 @@
<string name="Shares_few">%1$s مشاركات</string>
<string name="Shares_many">%1$s مشاركة</string>
<string name="Shares_other">%1$s مشاركة</string>
<string name="PublicSharesCount_zero">%1$s public shares</string>
<string name="PublicSharesCount_one">%1$s public share</string>
<string name="PublicSharesCount_two">%1$s public shares</string>
<string name="PublicSharesCount_few">%1$s public shares</string>
<string name="PublicSharesCount_many">%1$s public shares</string>
<string name="PublicSharesCount_other">%1$s public shares</string>
<string name="PublicSharesCount_zero">التحويلات في العام %1$s</string>
<string name="PublicSharesCount_one">التحويلات في العام %1$s</string>
<string name="PublicSharesCount_two">التحويلات في العام %1$s</string>
<string name="PublicSharesCount_few">التحويلات في العام %1$s</string>
<string name="PublicSharesCount_many">التحويلات في العام %1$s</string>
<string name="PublicSharesCount_other">التحويلات في العام %1$s</string>
<string name="Shared_zero">%1$s مشاركة</string>
<string name="Shared_one">مشاركة واحدة</string>
<string name="Shared_two">مشاركتان</string>
@ -3736,12 +3850,12 @@
<string name="CommentsNoNumber_few">تعليقات</string>
<string name="CommentsNoNumber_many">تعليقًا</string>
<string name="CommentsNoNumber_other">تعليق</string>
<string name="PinnedMessagesCount_zero">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_one">Pinned Message</string>
<string name="PinnedMessagesCount_two">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_few">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_many">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_other">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_zero">%1$d رسالة مثبّتة</string>
<string name="PinnedMessagesCount_one">رسالة واحدة مثبّتة</string>
<string name="PinnedMessagesCount_two">رسالتان مثبّتة</string>
<string name="PinnedMessagesCount_few">%1$d رسائل مثبّتة</string>
<string name="PinnedMessagesCount_many">%1$d رسالة مثبّتة</string>
<string name="PinnedMessagesCount_other">%1$d رسالة مثبّتة</string>
<!--accessibility descriptions-->
<string name="AccDescrGroup">مجموعة</string>
<string name="AccDescrChannel">قناة</string>
@ -3751,6 +3865,9 @@
<string name="AccDescrScheduledDate">مجدولة لـ %s</string>
<string name="AccDescrGoBack">العودة للخلف</string>
<string name="AccDescrOpenMenu">فتح قائمة التنقل</string>
<string name="AccDescrOpenMenu2">فتح القائمة</string>
<string name="AccDescrCloseMenu">إغلاق القائمة</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s من قِبل %1$s</string>
<string name="AccDescrMoreOptions">مزيد من الخيارات</string>
<string name="AccActionPlay">تشغيل</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'ذكّرني اليوم عند\' HH:mm</string>
<string name="RemindDayAt">\'ذكّرني بتاريخ\' d MMM \'عند\' HH:mm</string>
<string name="RemindDayYearAt">\'ذكّرني بتاريخ\' d MMM yyyy \'عند\' HH:mm</string>
<string name="Enable">تفعيل</string>
</resources>

View File

@ -127,7 +127,7 @@
<string name="NoChatsHelp">Tippe unten auf den Stift für deine erste Chatnachricht.</string>
<string name="NoChatsContactsHelp">Tippe unten rechts auf den Stift\nfür deine erste Chatnachricht.</string>
<string name="WaitingForNetwork">Warte auf Netzwerk...</string>
<string name="Connecting">Verbinde...</string>
<string name="Connecting">Verbinden...</string>
<string name="Connected">Verbunden</string>
<string name="Ping">Ping: %1$d ms</string>
<string name="Checking">Prüfe...</string>
@ -165,6 +165,7 @@
<string name="DialogPin">Anheften</string>
<string name="DialogUnpin">Loslösen</string>
<string name="Archive">Archivieren</string>
<string name="ArchiveSearchFilter">Archiv</string>
<string name="Unarchive">Einblenden</string>
<string name="ArchivedChats">Archivierte Chats</string>
<string name="DeleteChatUser">Chat löschen</string>
@ -181,7 +182,7 @@
<string name="MuteFor">Stumm für %1$s</string>
<string name="UnmuteNotifications">Stumm aus</string>
<string name="WillUnmuteIn">In %1$s</string>
<string name="MuteDisable">Dauerhaft Stumm</string>
<string name="MuteDisable">Deaktivieren</string>
<string name="Hashtags">HASHTAGS</string>
<string name="Recent">Letzte</string>
<string name="ChatHints">Leute</string>
@ -295,7 +296,7 @@
<string name="NoBlockedChannel2">Nutzer, die von Admins aus dem Kanal entfernt wurden, können ihn nicht mehr über Einladungslinks betreten.</string>
<string name="NewChannel">Neuer Kanal</string>
<string name="EnterChannelName">Kanalname</string>
<string name="AddMutual">Kontakte zum Kanal hinzufügen</string>
<string name="AddMutual">Leute zum Kanal hinzufügen</string>
<string name="ChannelUsernameHelp">Mit einem dauerhaften Link können andere deinen Kanal finden und abonnieren. \n\nErlaubt sind a-z, 0-9 und Unterstriche.\nDie Mindestlänge beträgt 5 Zeichen.</string>
<string name="MegaUsernameHelp">Mit einem dauerhaften Link können andere deine Gruppe finden und beitreten.\n\nErlaubt sind a-z, 0-9 und Unterstriche.\nDie Mindestlänge beträgt 5 Zeichen.</string>
<string name="ChannelVerifiedWarning">Warnung</string>
@ -371,9 +372,9 @@
<string name="ActionChannelChangedVideo">Kanalvideo geändert</string>
<string name="ActionChannelRemovedPhoto">Bild gelöscht</string>
<string name="ActionChannelChangedTitle">Kanalname zu un2 geändert</string>
<string name="ChangePublicLimitReached">Du hast leider zu viele öffentliche Benutzernamen erstellt. Du kannst jederzeit den Link einer älteren Gruppe oder eines Kanals entfernen.</string>
<string name="ChangePublicLimitReached">Du hast leider zu viele öffentliche Benutzernamen erstellt. Du kannst jederzeit den Link einer älteren Gruppe oder eines Kanals entfernen oder private erstellen.</string>
<string name="ChannelCreator">Inhaber</string>
<string name="ChannelAdministrator">Administrator</string>
<string name="ChannelAdministrator">Admin</string>
<string name="ChannelAdmin">Admin</string>
<string name="ChannelMute">STUMM</string>
<string name="ChannelUnmute">STUMM AUS</string>
@ -384,7 +385,7 @@
<string name="ChannelInviteViaLink">Per Link einladen</string>
<string name="ChannelRemoveUserAdmin">Admin entlassen</string>
<string name="ChannelEditPermissions">Berechtigungen bearbeiten</string>
<string name="ChannelMembersInfo">Nur Administratoren sehen diese Liste.</string>
<string name="ChannelMembersInfo">Nur Kanal-Admins sehen diese Liste.</string>
<string name="ChannelLinkInfo">Jeder, der Telegram installiert hat, kann anhand dieses Links in deinen Kanal.</string>
<string name="ChannelAdminsInfo">Administratoren helfen dir, deinen Kanal zu verwalten. Tippen und halten, um sie zu löschen.</string>
<string name="ChannelJoinTo">Möchtest du dem Kanal \'%1$s\' beitreten?</string>
@ -444,7 +445,7 @@
<string name="EditAdminDeleteMessages">Nachrichten von anderen löschen</string>
<string name="EditAdminGroupDeleteMessages">Nachrichten löschen</string>
<string name="EditAdminAddAdmins">Neue Admins hinzufügen</string>
<string name="EditAdminSendAnonymously">Anonym senden</string>
<string name="EditAdminSendAnonymously">Anonym bleiben</string>
<string name="EditAdminRemoveAdmin">Admin entlassen</string>
<string name="EditAdminGroupTransfer">Neuen Inhaber ernennen</string>
<string name="EditAdminChannelTransfer">Neuen Inhaber ernennen</string>
@ -541,7 +542,7 @@
<string name="DiscussionChannelHelp3">Wähle eine Gruppe aus, die Kommentare aus deinem Kanal anzeigen soll.</string>
<string name="DiscussionChannelHelp2">Alles, was du in diesem Kanal veröffentlichst, wird an die Gruppe weitergeleitet.</string>
<string name="DiscussionChannelGroupSetHelp2">**%1$s** wurde als Gruppe für die Kanal-Kommentare ausgewählt.</string>
<string name="DiscussionGroupHelp">**%1$s** verknüpft die Gruppe als Diskussionsgruppe.</string>
<string name="DiscussionGroupHelp">Diese Gruppe dient %1$s\nals Diskussionsgruppe.</string>
<string name="DiscussionGroupHelp2">Alle neuen Nachrichten, die in diesem Kanal veröffentlicht werden, werden an die Gruppe weitergeleitet.</string>
<string name="DiscussionCreateGroup">Neue Gruppe erstellen</string>
<string name="DiscussionUnlinkGroup">Gruppe nicht mehr verknüpfen</string>
@ -567,6 +568,7 @@
<string name="SlowmodeSelectSendError">Langsamer Modus ist aktiv, du kannst nicht mehr Elemente auswählen.</string>
<string name="SlowmodeSendErrorTooLong">Dieser Text ist für eine einzelne Nachricht leider zu lang.\n\nLangsamer Modus ist aktiv, du kannst nicht mehr als eine gleichzeitig senden.</string>
<string name="UserSetAsAdminHint">**%1$s** als Admin ernannt</string>
<string name="UserRemovedFromChatHint">**%1$s** aus **%2$s** entfernt</string>
<!--polls-->
<string name="NewPoll">Neue Umfrage</string>
<string name="NewQuiz">Neues Quiz</string>
@ -639,14 +641,14 @@
<!--event log-->
<string name="EventLog">Letzte Aktionen</string>
<string name="EventLogAllEvents">Alle Aktionen</string>
<string name="EventLogSelectedEvents">Ausgewählte Aktionen</string>
<string name="EventLogSelectedEvents">ausgewählte Aktionen</string>
<string name="EventLogAllAdmins">Alle Admins</string>
<string name="EventLogEmpty">**Noch keine Aktionen!**\n\nMitglieder und Admins\nhaben noch keine Aktionen in den\nletzten 48 Stunden durchgeführt.</string>
<string name="EventLogEmptyChannel">**Noch keine Aktionen!**\n\nMitglieder und Admins\nhaben noch keine Aktionen\nin den letzten 48 Stunden durchgeführt.</string>
<string name="EventLogEmptySearch">**Keine Aktionen gefunden**\n\nKeine kürzlichen Ereignisse gefunden,\ndie deinen Suchbegriff beinhalten.</string>
<string name="EventLogEmptyTextSearch">Keine kürzlichen Aktionen gefunden, die \'**%1$s**\' beinhalten.</string>
<string name="EventLogInfoTitle">Was sind letzte Aktionen?</string>
<string name="EventLogInfoDetail">Das ist eine Liste aller Aktionen, die von Gruppenmitgliedern und Admins in den letzten 48 Stunden durchgeführt wurden.</string>
<string name="EventLogInfoDetail">Das ist eine Liste wichtiger Aktionen, die von Gruppenmitgliedern und Admins in den letzten 48 Stunden durchgeführt wurden.</string>
<string name="EventLogInfoDetailChannel">Das ist eine Liste aller Aktionen, die von Kanalmitgliedern und Admins in den letzten 48 Stunden durchgeführt wurden.</string>
<string name="EventLogEditedGroupTitle">un1 hat die Gruppe \"%1$s\" umbenannt</string>
<string name="EventLogEditedChannelTitle">un1 hat den Kanal in \"%1$s\" umbenannt</string>
@ -675,8 +677,8 @@
<string name="EventLogStopPoll">un1 hat Umfrage beendet:</string>
<string name="EventLogStopQuiz">un1 hat das Quiz beendet:</string>
<string name="EventLogDeletedMessages">un1 hat diese Nachricht gelöscht:</string>
<string name="EventLogChangedLocation">un1 hat Gruppenstandort zu \"%1$s\" geändert</string>
<string name="EventLogRemovedLocation">un1 hat Gruppenstandort entfernt</string>
<string name="EventLogChangedLocation">un1 hat den Gruppenstandort zu \"%1$s\" geändert</string>
<string name="EventLogRemovedLocation">un1 hat den Gruppenstandort entfernt</string>
<string name="EventLogChangedOwnership">hat Inhaberschaft an %1$s übertragen</string>
<string name="EventLogChangedStickersSet">un1 hat das Sticker-Paket der Gruppe geändert</string>
<string name="EventLogRemovedStickersSet">un1 hat das Sticker-Paket der Gruppe entfernt</string>
@ -716,8 +718,9 @@
<string name="EventLogPromotedEditMessages">Nachrichten bearbeiten</string>
<string name="EventLogPromotedDeleteMessages">Nachrichten löschen</string>
<string name="EventLogPromotedAddAdmins">Admins hinzufügen</string>
<string name="EventLogPromotedSendAnonymously">Anonym senden</string>
<string name="EventLogPromotedSendAnonymously">Anonym bleiben</string>
<string name="EventLogPromotedBanUsers">Nutzer sperren</string>
<string name="EventLogPromotedManageCall">Sprachchats verwalten</string>
<string name="EventLogPromotedAddUsers">Nutzer hinzufügen</string>
<string name="EventLogPromotedTitle">Bezeichnung: %1$s</string>
<string name="EventLogPromotedRemovedTitle">Bezeichnung</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">Bearbeitete Nachrichten</string>
<string name="EventLogFilterPinnedMessages">Angeheftete Nachrichten</string>
<string name="EventLogFilterLeavingMembers">Ehemalige Mitglieder</string>
<string name="EventLogFilterCalls">Sprachchats</string>
<string name="EventLogToggledSlowmodeOn">un1 hat den Timer des langsamen Modus auf %1$s gestellt</string>
<string name="EventLogToggledSlowmodeOff">un1 hat den langsamen Modus deaktiviert</string>
<string name="EventLogStartedVoiceChat">un1 hat einen Sprachchat gestartet</string>
<string name="EventLogEndedVoiceChat">un1 hat den Sprachchat beendet</string>
<string name="EventLogVoiceChatMuted">un1 hat un2 in einem Sprachchat stummgeschaltet</string>
<string name="EventLogVoiceChatUnmuted">un1 hat Stummschaltung von un2 in einem Sprachchat aufgehoben</string>
<string name="EventLogVoiceChatAllowedToSpeak">un1 hat neuen Teilnehmern im Sprachchat erlaubt zu sprechen</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">un1 hat neue Teilnehmer des Sprachchats stummgeschaltet</string>
<!--broadcasts-->
<string name="NewBroadcastList">Neue Broadcast Liste</string>
<string name="EnterListName">Listenname</string>
@ -810,8 +820,8 @@
<string name="IsSendingGame">%1$s spielt ein Spiel...</string>
<string name="IsSendingVideo">%1$s sendet Video...</string>
<string name="IsSendingFile">%1$s sendet Datei...</string>
<string name="RecordingAudio">nimmt eine Sprachnachricht auf...</string>
<string name="RecordingRound">nimmt eine Videonachricht auf...</string>
<string name="RecordingAudio">nimmt Sprachnachricht auf...</string>
<string name="RecordingRound">nimmt Videonachricht auf...</string>
<string name="SendingAudio">schickt Audio...</string>
<string name="SendingPhoto">schickt Bild...</string>
<string name="SendingGame">spielt ein Spiel...</string>
@ -852,7 +862,7 @@
<string name="SlideToCancel">WISCHEN UM ABZUBRECHEN</string>
<string name="SaveToDownloads">In Downloads speichern</string>
<string name="SaveToGIFs">GIF hinzufügen</string>
<string name="DeleteGif">GIF löschen?</string>
<string name="DeleteGif">GIF aus diesem Bereich löschen?</string>
<string name="SaveToMusic">Musik speichern</string>
<string name="ShareFile">Teilen</string>
<string name="ApplyLocalizationFile">Sprachdatei benutzen</string>
@ -904,7 +914,7 @@
<string name="PinMessageAlertTitle">Nachricht anheften</string>
<string name="UnpinMessageAlertTitle">Nachricht loslösen</string>
<string name="PinOldMessageAlert">Möchtest du eine ältere Nachricht anheften, während du eine neuere Nachricht angeheftet lässt?</string>
<string name="PinMessageAlert">Wirklich diese Nachricht in der Gruppe für alle Mitglieder anheften?</string>
<string name="PinMessageAlert">Diese Nachricht in der Gruppe anheften?</string>
<string name="PinMessageAlertChannel">Nachricht im Kanal wirklich anheften?</string>
<string name="PinMessageAlertChat">Möchtest du diese Nachricht ganz oben im Chat anheften?</string>
<string name="UnpinMessageAlert">Angeheftete Nachricht wieder entfernen?</string>
@ -935,6 +945,13 @@
<string name="EditMessage">Nachricht bearbeiten</string>
<string name="EditCaption">Beschriftung bearbeiten</string>
<string name="EditMessageMedia">Antippen, um Medium zu bearbeiten</string>
<string name="EditMessageEditPhoto">Bild bearbeiten</string>
<string name="EditMessageEditVideo">Dieses Video bearbeiten</string>
<string name="EditMessageReplacePhoto">Bild ersetzen</string>
<string name="EditMessageReplaceVideo">Video ersetzen</string>
<string name="EditMessageReplaceGif">Medium ersetzen</string>
<string name="EditMessageReplaceFile">Datei ersetzen</string>
<string name="EditMessageReplaceAudio">Audiodatei ersetzen</string>
<string name="AttachBotsHelp">Runterscrollen für Bots</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">Bearbeitungszeit leider abgelaufen.</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">Tippen für Foto, halten für Video</string>
<string name="TapToViewAsList">Antippen für Listenansicht</string>
<string name="SendWithoutSound">Ohne Ton senden</string>
<string name="SendAsNewPhoto">Als neues Bild senden</string>
<string name="ReplacePhoto">Bild ersetzen</string>
<string name="MessageScheduleSend">Jetzt senden</string>
<string name="MessageScheduleEditTime">Umplanen</string>
<string name="MessageScheduleToday">Heute</string>
@ -1052,7 +1071,7 @@
<string name="BotOwnershipTransfer">Bot-Inhaberschaft übertragen</string>
<string name="BotOwnershipTransferReadyAlertText">Das wird die **vollständigen Eigentümerrechte** des Bots an den ausgewählten Nutzer übertragen.</string>
<string name="BotOwnershipTransferChangeOwner">Inhaber ändern</string>
<string name="BotOwnershipTransferAlertText">Nur so kannst du einen Bot übertragen:</string>
<string name="BotOwnershipTransferAlertText">So kannst du nur diesen Bot übertragen:</string>
<string name="LeaveAComment">Kommentar hinterlassen</string>
<string name="CommentsTitle">Kommentare</string>
<string name="Comment">Kommentar</string>
@ -1116,7 +1135,7 @@
<string name="NotificationMessageGroupDocument">%1$s hat eine Datei an die Gruppe %2$s gesendet</string>
<string name="NotificationMessageGroupGif">%1$s hat ein GIF an die Gruppe %2$s gesendet</string>
<string name="NotificationMessageGroupInvoice">%1$s hat eine Rechnung der Gruppe %2$s für %3$s gesendet</string>
<string name="NotificationMessageGroupAudio">%1$s hat eine Sprachnachricht an die Gruppe %2$s gesendet</string>
<string name="NotificationMessageGroupAudio">%1$s hat eine Sprachnachricht an %2$s gesendet</string>
<string name="NotificationMessageGroupRound">%1$s hat eine Videonachricht an die Gruppe %2$s gesendet</string>
<string name="NotificationMessageGroupMusic">%1$s hat Audiodatei an die Gruppe %2$s gesendet</string>
<string name="NotificationMessageGroupSticker">%1$s hat einen Sticker an die Gruppe %2$s gesendet</string>
@ -1126,13 +1145,17 @@
<string name="NotificationEditedGroupPhoto">%1$s hat das Gruppenbild von %2$s geändert</string>
<string name="NotificationEditedGroupVideo">%1$s hat das Gruppenvideo bei %2$s geändert</string>
<string name="NotificationGroupAddMember">%1$s hat %3$s in die Gruppe %2$s eingeladen</string>
<string name="NotificationGroupInvitedToCall">%1$s hat %3$s in den Sprachchat in %2$s eingeladen</string>
<string name="NotificationGroupInvitedYouToCall">%1$s hat dich in den Sprachchat in %2$s eingeladen</string>
<string name="NotificationGroupCreatedCall">%1$s hat einen Sprachchat in %2$s gestartet</string>
<string name="NotificationGroupEndedCall">%1$s hat Sprachchat in der Gruppe %2$s beendet</string>
<string name="NotificationGroupAddSelf">%1$s ist in die Gruppe %2$s zurückgekehrt</string>
<string name="NotificationGroupAddSelfMega">%1$s ist der Gruppe %2$s beigetreten</string>
<string name="NotificationGroupKickMember">%1$s hat %3$s aus der Gruppe %2$s entfernt</string>
<string name="NotificationGroupKickYou">%1$s hat dich aus der Gruppe %2$s entfernt</string>
<string name="NotificationGroupLeftMember">%1$s hat die Gruppe %2$s verlassen</string>
<string name="NotificationContactJoined">%1$s benutzt jetzt Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nWir haben eine Anmeldung von einem neuen Gerät am %2$s festgestellt.\n\nGerät: %3$s\nStandort: %4$s\n\nWenn du das nicht selbst gewesen bist, melde die entsprechende Sitzung in den Telegram Einstellungen unter Privatsphäre und Sicherheit - Sitzungen unverzüglich ab.\n\nKennst du schon unsere zweistufige Bestätigung? Diese kannst du in den Telegram Einstellungen unter Privatsphäre und Sicherheit optional aktivieren.\n\nDein Telegram Team</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nwir haben eine Anmeldung von einem neuen Gerät am %2$s festgestellt.\n\nGerät: %3$s\nStandort: %4$s\n\nWenn du das nicht selbst gewesen bist, melde die entsprechende Sitzung in den Telegram Einstellungen unter Geräte unverzüglich ab.\n\nWenn du der Meinung bist, dass sich jemand gegen deinen Willen bei deinem Konto angemeldet hat, kannst du in den Einstellungen unter Privatsphäre und Sicherheit die zweistufige Bestätigung aktivieren.\n\nDein Telegram Team</string>
<string name="NotificationContactNewPhoto">%1$s hat das Profilbild geändert</string>
<string name="NotificationInvitedToGroupByLink">%1$s ist per Einladungslink der Gruppe %2$s beigetreten</string>
<string name="NotificationGroupFew">%1$s hat %3$s an die Gruppe %2$s gesendet</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">%1$s hat eine Datei in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedSticker">%1$s hat einen Sticker in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedStickerEmoji">%1$s hat einen %3$s Sticker in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedVoice">%1$s hat eine Sprachnachricht in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedVoice">%1$s hat eine Sprachnachricht bei %2$s angeheftet</string>
<string name="NotificationActionPinnedRound">%1$s hat eine Videonachricht in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedContact2">%1$s hat einen Kontakt %3$s in der Gruppe %2$s angeheftet</string>
<string name="NotificationActionPinnedGeo">%1$s hat einen Standort in der Gruppe %2$s angeheftet</string>
@ -1262,6 +1285,7 @@
<string name="JoinByPeekJoin">BEITRETEN</string>
<string name="LinkCopied">Link in die Zwischenablage kopiert</string>
<string name="LinkCopiedPrivate">Link in Zwischenablage kopiert.\nDer Link funktioniert nur für Mitglieder dieses Chats.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">Leider kannst du auf diese Nachricht nicht zugreifen. Du bist kein Mitglied des Chats, in dem sie veröffentlicht wurde.</string>
<string name="PhoneCopied">Telefon in die Zwischenablage kopiert</string>
<string name="EmailCopied">E-Mail in die Zwischenablage kopiert</string>
@ -1284,7 +1308,7 @@
<string name="SETTINGS">Einstellungen</string>
<string name="AddSubscriber">Abonnent hinzufügen</string>
<string name="AddMember">Mitglied hinzufügen</string>
<string name="SetAdmins">Administratoren</string>
<string name="SetAdmins">Admins festlegen</string>
<string name="BanFromTheGroup">NUTZER EINSCHRÄNKEN</string>
<string name="DeleteAndExit">Löschen und Gruppe verlassen</string>
<string name="DeleteAndExitButton">Löschen und Gruppe verlassen</string>
@ -1366,7 +1390,7 @@
<string name="UsernameInvalid">Benutzername leider nicht erlaubt.</string>
<string name="UsernameInvalidShort">Ein Benutzername benötigt mindestens 5 Zeichen.</string>
<string name="UsernameInvalidLong">Ein Benutzername darf maximal 32 Zeichen haben.</string>
<string name="UsernameInvalidStartNumber">Benutzernamen dürfen leider nicht mit einer Zahl anfangen.</string>
<string name="UsernameInvalidStartNumber">Darf nicht mit einer Zahl beginnen.</string>
<string name="UsernameHelp">Wähle einen öffentlichen Benutzernamen, wenn du von anderen bei **Telegram** gefunden werden willst — ohne, dass sie deine Nummer kennen müssen.\n\nErlaubt sind **az**, **09** und Unterstriche. Die Mindestlänge beträgt **5** Zeichen.</string>
<string name="UsernameHelpLink">Dieser Link öffnet einen Chat mit dir:\n%1$s</string>
<string name="UsernameChecking">Prüfe Benutzername...</string>
@ -1435,7 +1459,7 @@
<string name="ArchivedMasks">Archivierte Masken</string>
<string name="ArchivedStickersEmpty">Keine archivierten Sticker</string>
<string name="ArchivedMasksEmpty">Keine archivierten Masken</string>
<string name="ArchivedStickersInfo">Bis zu 200 Sticker-Pakete kannst du installieren.\nAlle folgenden werden archiviert.</string>
<string name="ArchivedStickersInfo">Bis zu 200 Sticker-Pakete kannst du installieren.\nVorherige werden danach archiviert.</string>
<string name="ArchivedMasksInfo">Bis zu 200 Masken-Pakete kannst du installieren. Unbenutzte werden archiviert, sobald du neue installierst.</string>
<string name="SendSticker">STICKER SENDEN</string>
<string name="ArchivedStickersAlertTitle">Archivierte Sticker</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">In-Chat-Töne</string>
<string name="SoundDefault">Standard</string>
<string name="VibrationDefault">Standard</string>
<string name="NotificationsDefault">Standard</string>
<string name="NotificationsInAppDefault">In-App Standard</string>
<string name="NotificationsChatInApp">%1$s In-App</string>
<string name="NotificationsSilent">Lautlos</string>
<string name="SmartNotifications">Schlaue Benachrichtigungen</string>
<string name="NotificationsExceptions">Ausnahmen</string>
<string name="NotificationsAddAnException">Eine Ausnahme hinzufügen</string>
@ -1960,7 +1988,7 @@
<string name="CalculatingSize">Berechne...</string>
<string name="LocalDocumentCache">Dateien</string>
<string name="LocalPhotoCache">Bilder</string>
<string name="LocalAudioCache">Sprach-/Videonachrichten</string>
<string name="LocalAudioCache">Sprach- &amp; Videonachrichten</string>
<string name="LocalVideoCache">Videos</string>
<string name="LocalMusicCache">Musik</string>
<string name="LocalGifCache">GIFs</string>
@ -2160,7 +2188,7 @@
<string name="PassportLanguage_VI">Vietnamesisch</string>
<!--sessions view-->
<string name="SessionsTitle">Aktive Sitzungen</string>
<string name="CurrentSession">Aktuelle Sitzung</string>
<string name="CurrentSession">Dieses Gerät</string>
<string name="NoOtherSessions">Keine anderen Sitzungen</string>
<string name="NoOtherSessionsInfo">Du kannst dich von jedem Handy, Tablet und Computer bei Telegram mit derselben Telefonnummer anmelden. Alles wird immer sofort synchronisiert.</string>
<string name="OtherSessions">Aktive Sitzungen</string>
@ -2574,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">Zurück zu Einstellungen</string>
<string name="TwoStepVerificationPasswordReturnPassport">Zurück zu Passport</string>
<string name="TwoStepVerificationSetPassword">Passwort festlegen</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">Zusätzliches Passwort festlegen</string>
<string name="SetAdditionalPasswordInfo">Hier kannst du ein eigenes Passwort festlegen, um dich an einem neuen Gerät anzumelden, zusätzlich zum Code, der per SMS kommt.</string>
<string name="YourPassword">Dein Passwort</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">Wiederherstellungscode</string>
<string name="RestoreEmailSent">Wir haben den Wiederherstellungscode an diese Adresse geschickt:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">Überprüfe deine Mails und gib den 6-stelligen Code aus unserer E-Mail ein.</string>
<string name="RestoreEmailTrouble">Du hast keinen Zugang zu deiner Adresse %1$s?</string>
<string name="RestoreEmailTrouble">Keinen Zugang zu %1$s?</string>
<string name="RestoreEmailTroubleNoEmail">Kein Zugang zu deiner E-Mail-Adresse?</string>
<string name="RestoreEmailTroubleText">Wenn du nicht in deine E-Mails kommst, kannst du nur hoffen, dass dir dein Passwort wieder einfällt oder du musst dein Telegram-Konto zurücksetzen.</string>
<string name="ResetMyAccount">KONTO ZURÜCKSETZEN</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">Daten- und Speichernutzung</string>
<string name="StorageUsage">Speichernutzung</string>
<string name="NetworkUsage">Datenbenutzung</string>
<string name="StoragePath">Speicherpfad</string>
<string name="NetworkUsageMobileTab">Mobil</string>
<string name="NetworkUsageWiFiTab">WLAN</string>
<string name="NetworkUsageRoamingTab">Roaming</string>
@ -2676,7 +2706,7 @@
<string name="PrivacySettings">Privatsphäre und Sicherheit</string>
<string name="PrivacyTitle">Privatsphäre</string>
<string name="PrivacyLastSeen">Zuletzt gesehen</string>
<string name="PrivacyProfilePhoto">Profilbild</string>
<string name="PrivacyProfilePhoto">Profilbilder</string>
<string name="PrivacyProfilePhotoTitle">Wer darf mein Profilbild sehen?</string>
<string name="PrivacyProfilePhotoInfo">Hier kannst du per Feineinstellung bestimmen, wer dein Profilbild sehen darf.</string>
<string name="PrivacyProfilePhotoInfo2">Du kannst Kontakte oder ganze Gruppen hinzufügen, für die eine Ausnahme gemacht werden soll.</string>
@ -2852,6 +2882,14 @@
<string name="ActionUserWithinRadius">un1 ist jetzt %1$s von dir entfernt</string>
<string name="ActionUserWithinYouRadius">Du befindest dich jetzt innerhalb %1$s von un1</string>
<string name="ActionUserWithinOtherRadius">un1 ist jetzt %1$s von un2 entfernt</string>
<string name="ActionUserInvitedToGroup">un1 hat dich in diese Gruppe eingeladen</string>
<string name="ActionUserInvitedToChannel">un1 hat dich in diesen Kanal eingeladen</string>
<string name="ActionGroupCallStarted">un1 hat einen Sprachchat gestartet</string>
<string name="ActionGroupCallStartedByYou">Du hast einen Sprachchat gestartet</string>
<string name="ActionGroupCallEnded">Sprachchat beendet (%s)</string>
<string name="ActionGroupCallInvited">un1 hat un2 in den Sprachchat eingeladen</string>
<string name="ActionGroupCallYouInvited">Du hast un2 in den Sprachchat eingeladen</string>
<string name="ActionGroupCallInvitedYou">un1 hat dich in den Sprachchat eingeladen</string>
<string name="ActionBotAllowed">Du hast diesem Bot erlaubt, dich anzuschreiben, als du dich auf %1$s angemeldet hast.</string>
<string name="ActionBotDocuments">%1$s hat die folgenden Dokumente erhalten: %2$s</string>
<string name="ActionBotDocumentIdentity">Persönliche Daten</string>
@ -2867,7 +2905,7 @@
<string name="ActionBotDocumentRentalAgreement">Mietvertrag</string>
<string name="ActionBotDocumentPhone">Telefonnummer</string>
<string name="ActionBotDocumentEmail">E-Mail-Adresse</string>
<string name="UnsupportedMedia">Diese Nachricht wird von deiner Telegram-Version nicht unterstützt. Bitte aktualisiere Telegram um sie zu sehen: https://telegram.org/update</string>
<string name="UnsupportedMedia">Diese Nachricht wird von deiner Telegram-Version nicht unterstützt. Bitte aktualisiere die App: https://telegram.org/update</string>
<string name="AttachPhoto">Bild</string>
<string name="AttachVideo">Video</string>
<string name="AttachDestructingPhoto">Selbstzerstörendes Bild</string>
@ -2910,7 +2948,7 @@
<string name="CodeExpired">Code ist abgelaufen, bitte melde dich erneut an</string>
<string name="FloodWait">Zu viele Versuche in zu kurzer Zeit, versuche es bitte später erneut.</string>
<string name="FloodWaitTime">Zu viele Versuche, bitte erneut in %1$s versuchen</string>
<string name="InvalidCode">Ungültiger Code</string>
<string name="InvalidCode">Ungültiger Code. Bitte versuche es später erneut.</string>
<string name="PhoneNumberFlood">Du hast dein Konto leider zu oft gelöscht. Bitte warte einige Tage, erst dann kannst du dich erneut registrieren.</string>
<string name="InvalidFirstName">Ungültiger Vorname</string>
<string name="InvalidLastName">Dieser Name kann leider nicht benutzt werden</string>
@ -2946,7 +2984,7 @@
<string name="AreYouSureDeleteThisChatWithUser">Wirklich den Chat mit **%1$s** löschen?</string>
<string name="AreYouSureDeleteThisChatWithBot">Wirklich **%1$s** blockieren und den Chat löschen?</string>
<string name="AreYouSureDeleteThisChatSavedMessages">Wirklich den Chat **Gespeichertes** löschen?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">Wirklich den Geheimen Chat mit **%1$s** löschen?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">Wirklich deinen Geheimen Chat mit **%1$s** löschen?</string>
<string name="AreYouSureDeleteThisChatWithGroup">Wirklich den Chat **%1$s** löschen?</string>
<string name="AreYouSureClearDraftsTitle">Cloud-Entwürfe löschen</string>
<string name="AreYouSureClearDrafts">Wirklich all deine Cloud-Entwürfe löschen?</string>
@ -3026,9 +3064,12 @@
<string name="PermissionNoLocation">"Telegram benötigt Zugriff auf deinen Standort, damit du ihn mit Freunden teilen kannst. "</string>
<string name="PermissionNoLocationPosition">Telegram benötigt Zugriff auf deinen Standort.</string>
<string name="PermissionDrawAboveOtherApps">Telegram braucht Zugriff auf die Funktion \'Über andere Apps einblenden\'. Nur so können Videos im Bild in Bild Modus wiedergegeben werden.</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">Der Überlagerungsmodus erlaubt dir die Verwendung von Push-To-Talk und die Anzeige, wer gerade spricht, selbst wenn du dich ausserhalb von Telegram befindest.</string>
<string name="PermissionOpenSettings">EINSTELLUNGEN</string>
<string name="PermissionXiaomiLockscreen">Bitte erlaube Telegram auf dem Sperrbildschirm, damit Anrufe signalisiert werden können.</string>
<string name="PermissionBackgroundLocation">Um deinen Live-Standort in diesem Chat zu teilen, muss Telegram die ganze Zeit Zugang zu deinem Standort haben, auch während die App im Hintergrund läuft.\n\nWir greifen nur für die von dir gewählte Dauer auf deinen Standort zu und du kannst jederzeit aufhören, ihn zu teilen. Wir werden deinen Standort für keinen anderen Zweck nutzen, als ihn in diesem Chat zu teilen.</string>
<string name="PermissionDrawAboveOtherAppsTitle">Bild-in-Bild</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">Sprachchat-Überlagerung</string>
<!--charts-->
<string name="GrowthChartTitle">Wachstum</string>
<string name="FollowersChartTitle">Abonnenten</string>
@ -3129,7 +3170,7 @@
<string name="AccountSettings">Kontoeinstellungen</string>
<string name="VoipUseLessData">Weniger Daten benutzen</string>
<string name="VoipIncoming">Eingehender Anruf</string>
<string name="VoipConnecting">Verbinde</string>
<string name="VoipConnecting">Verbinden</string>
<string name="VoipExchangingKeys">Tausche Schlüssel aus</string>
<string name="VoipWaiting">Warte</string>
<string name="VoipRequesting">Wird angefordert</string>
@ -3141,9 +3182,14 @@
<string name="VoipInCallBranding">Telegram-Anruf</string>
<string name="VoipInVideoCallBranding">Telegram Videoanruf</string>
<string name="VoipOutgoingCall">Laufender Telegram-Anruf</string>
<string name="VoipVoiceChat">Laufender Sprachchat</string>
<string name="VoipEndCall">Auflegen</string>
<string name="VoipOngoingAlertTitle">Ein anderer Anruf ist bereits aktiv</string>
<string name="VoipOngoingAlert">Du bist mit **%1$s** bereits im Gespräch. Möchtest du den Anruf beenden und einen neuen mit **%2$s** starten?</string>
<string name="VoipOngoingAlert">Gespräch mit **%1$s** beenden und neues mit **%2$s** beginnen?</string>
<string name="VoipOngoingAlert2">Gespräch mit **%1$s** beenden und neuen Sprachchat bei **%2$s** starten?</string>
<string name="VoipOngoingChatAlertTitle">Es ist bereits ein anderer Sprachchat aktiv</string>
<string name="VoipOngoingChatAlert">Sprachchat bei **%1$s** verlassen und einen neuen bei **%2$s** starten?</string>
<string name="VoipOngoingChatAlert2">Sprachchat in **%1$s** verlassen und **%2$s** anrufen?</string>
<string name="VoipNotificationSettings">Anrufe</string>
<string name="VoipSettingsRingtone">Klingelton</string>
<string name="VoipRingtoneInfo">Hier kannst du den Klingelton für Sprachanrufe festlegen.</string>
@ -3160,7 +3206,9 @@
<string name="VoipAnswerCall">Annehmen</string>
<string name="VoipDeclineCall">Ablehnen</string>
<string name="VoipOffline">Du bist derzeit offline. Bitte verbinde dich mit dem Internet und versuche es erneut.</string>
<string name="VoipGroupOffline">Du bist offline. Bitte verbinde dich mit dem Internet, um an Sprachchat teilzunehmen.</string>
<string name="VoipOfflineAirplane">Du hast derzeit den Flugmodus aktiviert. Deaktiviere den Flugmodus oder verbinde dich per W-LAN um jemanden anzurufen.</string>
<string name="VoipGroupOfflineAirplane">Derzeit nutzt du den Flugmodus, deaktiviere diesen oder verbinde dich mit einem W-LAN, um Sprachchats teilzunehmen.</string>
<string name="VoipOfflineTitle">Offline</string>
<string name="VoipOfflineAirplaneTitle">Flugmodus</string>
<string name="VoipOfflineOpenSettings">Einstellungen</string>
@ -3226,10 +3274,15 @@
<string name="RateCallVideoPixelated">Video war verpixelt</string>
<string name="TapToTurnCamera">Hier tippen, um Kamera einzuschalten</string>
<string name="VoipUnmute">Stumm aus</string>
<string name="VoipHoldAndTalk">oder halten und sprechen</string>
<string name="VoipTapToMute">Du bist live</string>
<string name="VoipMutedByAdmin">Durch Admin stummgeschaltet</string>
<string name="VoipMutedByAdminShort">Stumm</string>
<string name="VoipMutedByAdminInfo">Du befindest dich im Nur-Zuhören-Modus</string>
<string name="VoipMute">Stumm</string>
<string name="VoipStartVideo">Video ein</string>
<string name="VoipStopVideo">Video aus</string>
<string name="VoipSpeaker">Lautsprecher</string>
<string name="VoipSpeaker">Audio</string>
<string name="VoipFlip">Wechseln</string>
<string name="VoipSwitchToVideoCall">Zu Videoanruf wechseln?</string>
<string name="VoipSwitch">WECHSELN</string>
@ -3244,6 +3297,61 @@
<string name="VideoCallAlert">Wirklich einen Videoanruf mit **%1$s** starten?</string>
<string name="VideoCallAlertTitle">Videoanruf</string>
<string name="VoipReconnecting">Erneut verbinden</string>
<string name="StartVoipChat">Sprachchat erstellen</string>
<string name="StartVoipChatTitle">Sprachchat</string>
<string name="StartVoipChatAlertText">Sprachchat in dieser Gruppe starten?</string>
<string name="StartVoipChatPermission">Sprachchats verwalten</string>
<string name="VoipChatJoin">Beitreten</string>
<string name="MembersTalking_zero">%1$s Mitglieder sprechen</string>
<string name="MembersTalking_one">%1$s Mitglied spricht</string>
<string name="MembersTalking_two">%1$s Mitglieder sprechen</string>
<string name="MembersTalking_few">%1$s Mitglieder sprechen</string>
<string name="MembersTalking_many">%1$s Mitglieder sprechen</string>
<string name="MembersTalking_other">%1$s Mitglieder sprechen</string>
<string name="Speaking">spricht</string>
<string name="Listening">hört zu</string>
<string name="Invited">eingeladen</string>
<string name="VoipGroupLeave">Verlassen</string>
<string name="VoipGroupEnd">Beenden</string>
<string name="VoipGroupMuteMemberAlertTitle">Mikrofon stummschalten</string>
<string name="VoipGroupMuteMemberAlertText">Wirklich **%1$s** in diesem Sprachchat stummschalten?</string>
<string name="VoipGroupRemoveMemberAlertTitle">Mitglied entfernen</string>
<string name="VoipGroupRemoveMemberAlertText">%1$s wirklich aus der Gruppe entfernen?</string>
<string name="VoipGroupRemovedFromGroup">**%1$s** aus der Gruppe entfernt.</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** kann jetzt sprechen.</string>
<string name="VoipGroupUserCantNowSpeak">**%1$s** ist jetzt stummgeschaltet.</string>
<string name="VoipGroupMute">Stumm ein</string>
<string name="VoipGroupAllCanSpeak">Neue dürfen sprechen</string>
<string name="VoipGroupOnlyAdminsCanSpeak">Neue sind stumm</string>
<string name="VoipGroupShareInviteLink">Einladungslink teilen</string>
<string name="VoipGroupEndChat">Sprachchat beenden</string>
<string name="VoipGroupConnecting">Verbinden...</string>
<string name="VoipGroupLeaveAlertTitle">Sprachchat verlassen</string>
<string name="VoipGroupLeaveAlertText">Wirklich diesen Sprachchat verlassen?</string>
<string name="VoipGroupEndAlertTitle">Sprachchat beenden</string>
<string name="VoipGroupEndAlertText">Wirklich diesen Sprachchat beenden?</string>
<string name="VoipGroupLeaveAlertEndChat">Sprachchat beenden</string>
<string name="VoipGroupViewVoiceChat">SPRACHCHAT</string>
<string name="VoipGroupVoiceChat">Sprachchat</string>
<string name="VoipGroupOpenVoiceChat">Sprachchat öffnen</string>
<string name="VoipGroupInviteAlreadyParticipant">Ausgewählter Nutzer ist bereits in diesem Sprachchat.</string>
<string name="VoipGroupJoinAnonymousAdmin">Leider kannst du an Sprachchats als anonymer Admin nicht teilnehmen.</string>
<string name="VoipGroupInvitedToVoiceChat">un1 hat un2 in den Sprachchat eingeladen</string>
<string name="VoipGroupJoinCall">Am Sprachchat teilnehmen</string>
<string name="VoipGroupInviteText">Hallo! Tritt unserem Sprachchat bei: %1$s</string>
<string name="VoipGroupInviteMember">Mitglieder einladen</string>
<string name="VoipGroupUserRemove">Entfernen</string>
<string name="VoipGroupAllowToSpeak">Darf sprechen</string>
<string name="VoipGroupSearchMembers">Mitglieder zum Anruf hinzufügen</string>
<string name="VoipGroupCopyInviteLink">Einladungslink kopieren</string>
<string name="VoipGroupCopyInviteLinkCopied">Einladungslink in Zwischenablage kopiert.</string>
<string name="VoipGroupUnmute">Stumm aus</string>
<string name="VoipGroupEndedStartNew">Sprachchat beendet. Neuen starten?</string>
<string name="VoipGroupAddMemberTitle">Mitglied hinzufügen</string>
<string name="VoipGroupAddMemberText">**%1$s** zu **%2$s** hinzufügen?</string>
<string name="VoipGroupInvitedUser">Du hast **%1$s** in den Sprachchat eingeladen.</string>
<string name="VoipGroupAdd">Hinzufügen</string>
<string name="MembersTalkingNobody">Zum Beitreten antippen</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">Nachricht in Telegram %1$s</string>
<string name="ContactShortcutVoiceCall">Sprachanruf in Telegram %1$s</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">%1$d Mitglieder</string>
<string name="Members_many">%1$d Mitglieder</string>
<string name="Members_other">%1$d Mitglieder</string>
<string name="Participants_zero">%1$d Teilnehmer</string>
<string name="Participants_one">%1$d Teilnehmer</string>
<string name="Participants_two">%1$d Teilnehmer</string>
<string name="Participants_few">%1$d Teilnehmer</string>
<string name="Participants_many">%1$d Teilnehmer</string>
<string name="Participants_other">%1$d Teilnehmer</string>
<string name="AndMoreTyping_zero">und %1$d weitere tippen</string>
<string name="AndMoreTyping_one">und %1$d weitere tippen</string>
<string name="AndMoreTyping_two">und %1$d weitere tippen</string>
@ -3751,6 +3865,9 @@
<string name="AccDescrScheduledDate">Geplant am %s</string>
<string name="AccDescrGoBack">Zurückgehen</string>
<string name="AccDescrOpenMenu">Navigationsmenü öffnen</string>
<string name="AccDescrOpenMenu2">Menü öffnen</string>
<string name="AccDescrCloseMenu">Menü schliessen</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s von %1$s</string>
<string name="AccDescrMoreOptions">Weitere Optionen</string>
<string name="AccActionPlay">Abspielen</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'Heute um\' HH:mm \'erinnern\'</string>
<string name="RemindDayAt">\'Am\' d MMM \'um\' HH:mm \'erinnern\'</string>
<string name="RemindDayYearAt">\'Am\' d MMM yyyy \'um\' HH:mm \'erinnern\'</string>
<string name="Enable">Aktivieren</string>
</resources>

View File

@ -39,7 +39,7 @@
<string name="CancelAccountReset">No restablecer la cuenta</string>
<string name="CancelAccountResetInfo2">Alguien con acceso a **%1$s** solicitó eliminar tu cuenta de Telegram y restablecer tu contraseña de la verificación en dos pasos.\n\nSi no fuiste tú, por favor, escribe el código que enviamos por SMS. También puedes cancelar la solicitud *cambiando tu número de teléfono*.</string>
<string name="ResetAccount">Restablecer la cuenta</string>
<string name="ResetAccountInfo">Como la cuenta **%1$s** está activa y protegida con una contraseña, la eliminaremos en 1 semana, por motivos de seguridad.\n\nPuedes cancelar el proceso en cualquier momento.</string>
<string name="ResetAccountInfo">Como la cuenta **%1$s** está activa y protegida con una contraseña, la eliminaremos en 1 semana. Esta espera es necesaria por razones de seguridad.\n\nPuedes cancelar este proceso en cualquier momento.</string>
<string name="ResetAccountStatus">Podrás restablecer tu cuenta en:</string>
<string name="ResetAccountCancelledAlert">Tus intentos recientes de restablecer esta cuenta fueron cancelados por su usuario activo. Por favor, reinténtalo en 7 días.</string>
<string name="ResetAccountButton">RESTABLECER CUENTA</string>
@ -53,8 +53,8 @@
<string name="LastName">Apellidos (opcional)</string>
<string name="CancelRegistration">Cancelar registro</string>
<!--payments view-->
<string name="PaymentSuccessfullyPaid">Has transferido satisfactoriamente %1$s a %2$s por %3$s</string>
<string name="PaymentSuccessfullyPaidNoItem">Has transferido satisfactoriamente %1$s a %2$s</string>
<string name="PaymentSuccessfullyPaid">Transferiste satisfactoriamente %1$s a %2$s por %3$s</string>
<string name="PaymentSuccessfullyPaidNoItem">Transferiste satisfactoriamente %1$s a %2$s</string>
<string name="PaymentCheckout">Caja</string>
<string name="PaymentShippingMethod">Forma de envío</string>
<string name="PaymentNoShippingMethod">Lo sentimos, pero no es posible hacer envíos a tu dirección.</string>
@ -165,6 +165,7 @@
<string name="DialogPin">Fijar</string>
<string name="DialogUnpin">Desfijar</string>
<string name="Archive">Archivar</string>
<string name="ArchiveSearchFilter">Archivo</string>
<string name="Unarchive">Desarchivar</string>
<string name="ArchivedChats">Chats archivados</string>
<string name="DeleteChatUser">Eliminar chat</string>
@ -172,7 +173,7 @@
<string name="SelectChat">Elige un chat</string>
<string name="ForwardTo">Reenviar a...</string>
<string name="DisappearingPhoto">Foto secreta</string>
<string name="DisappearingVideo">Video secreto</string>
<string name="DisappearingVideo">Video temporal</string>
<string name="DisappearingGif">GIF secreto</string>
<string name="CompatibilityChat">%1$s usa una versión antigua de Telegram, así que las fotos secretas serán mostradas en un modo de compatibilidad.\n\nCuando %2$s actualice Telegram, las fotos con autodestrucción de 1 minuto o menos funcionarán con el modo “Mantén pulsado para ver”, y te notificaremos siempre que la otra parte haga una captura de pantalla.</string>
<string name="SearchMessages">Mensajes</string>
@ -181,7 +182,7 @@
<string name="MuteFor">Silenciar %1$s</string>
<string name="UnmuteNotifications">Notificar</string>
<string name="WillUnmuteIn">En %1$s</string>
<string name="MuteDisable">Silenciar para siempre</string>
<string name="MuteDisable">Desactivar</string>
<string name="Hashtags">HASHTAGS</string>
<string name="Recent">Recientes</string>
<string name="ChatHints">Personas</string>
@ -253,7 +254,7 @@
<string name="MessageUnpinnedHint">Mensaje desfijado</string>
<!--channels-->
<string name="SetAsAdmin">Promover a administrador</string>
<string name="EditAdminRights">Permisos de administrador</string>
<string name="EditAdminRights">Editar privilegios del admin.</string>
<string name="NoBlockedUsers">Sin usuarios eliminados</string>
<string name="DeleteMega">Eliminar grupo</string>
<string name="LeaveMegaMenu">Salir del grupo</string>
@ -267,7 +268,7 @@
<string name="MegaLeaveAlertWithName">¿Quieres salir de **%1$s**?</string>
<string name="GroupUserCantAdd">Lo sentimos, no puedes añadir a este usuario a grupos.</string>
<string name="GroupUserAddLimit">Lo sentimos, el grupo está lleno.</string>
<string name="GroupUserLeftError">Lo sentimos, si una persona ya no forma parte de un grupo, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que puede unirse usando el enlace de invitación del grupo si no está en la lista de usuarios eliminados.</string>
<string name="GroupUserLeftError">Si una persona ya no forma parte de un grupo, necesitas estar dentro de sus contactos de Telegram para añadirla nuevamente.\n\nTen en cuenta que puede unirse usando el enlace de invitación del grupo si no está en la lista de usuarios eliminados.</string>
<string name="GroupUserCantAdmin">Hay demasiados administradores en el grupo.</string>
<string name="PublicChannelsTooMuch">El usuario objetivo tiene demasiados grupos o canales públicos. Por favor, pídele que haga privado uno de sus grupos o canales existentes primero.</string>
<string name="LocatedChannelsTooMuch">El usuario objetivo tiene demasiados grupos por ubicación. Por favor, pídele eliminar o transferir uno de los existentes primero.</string>
@ -295,7 +296,7 @@
<string name="NoBlockedChannel2">Los usuarios que fueron eliminados del canal por los administradores no pueden volver a unirse con enlaces de invitación.</string>
<string name="NewChannel">Nuevo canal</string>
<string name="EnterChannelName">Nombre del canal</string>
<string name="AddMutual">Añadir contactos a tu canal</string>
<string name="AddMutual">Añadir personas a tu canal</string>
<string name="ChannelUsernameHelp">Si estableces un enlace permanente, otras personas podrán encontrar tu canal y unirse a él.\n\nPuedes usar a-z, 0-9 y guiones bajos.\nLa longitud mínima es de 5 caracteres.</string>
<string name="MegaUsernameHelp">Si estableces un enlace permanente, otras personas podrán encontrar tu grupo y unirse a él.\n\nPuedes usar a-z, 0-9 y guiones bajos.\nLa longitud mínima es de 5 caracteres.</string>
<string name="ChannelVerifiedWarning">Advertencia</string>
@ -371,7 +372,7 @@
<string name="ActionChannelChangedVideo">Video del canal cambiado</string>
<string name="ActionChannelRemovedPhoto">Foto del canal eliminada</string>
<string name="ActionChannelChangedTitle">Nombre del canal cambiado a un2</string>
<string name="ChangePublicLimitReached">Lo sentimos, tienes demasiados nombres de usuario públicos. Puedes anular el enlace de uno de tus grupos o canales anteriores, o crear uno privado.</string>
<string name="ChangePublicLimitReached">Tienes demasiados enlaces públicos. Puedes anular el enlace de uno de tus grupos o canales anteriores, o crear uno privado.</string>
<string name="ChannelCreator">Propietario</string>
<string name="ChannelAdministrator">Administrador</string>
<string name="ChannelAdmin">Administrador</string>
@ -393,7 +394,7 @@
<string name="ChannelCantOpenBanned">Lamentablemente, tienes prohibido participar en grupos públicos.</string>
<string name="ChannelCantOpenNa">Lo sentimos, este chat ya no es accesible.</string>
<string name="ChannelAddTo">¿Añadir a %1$s al canal?</string>
<string name="ChannelUserLeftError">Lo sentimos, si una persona ya no forma parte de un canal, deben añadirse como contactos para que pueda regresar.\n\nTen en cuenta que puede unirse usando el enlace de invitación del canal si no está en la lista de usuarios eliminados.</string>
<string name="ChannelUserLeftError">Si una persona ya no forma parte de un canal, necesitas estar dentro de sus contactos de Telegram para añadirla nuevamente.\n\nTen en cuenta que puede unirse usando el enlace de invitación del grupo si no está en la lista de usuarios eliminados.</string>
<string name="ChannelUserCantAdd">Lo sentimos, no puedes añadir a este usuario a canales.</string>
<string name="ChannelUserCantAdmin">Hay demasiados administradores en el canal.</string>
<string name="ChannelUserCantBot">Hay demasiados bots en este canal.</string>
@ -433,12 +434,12 @@
<string name="ChannelNotifyMembersInfoOff">Tu post no será notificado</string>
<string name="ChannelSignMessages">Firmar los mensajes</string>
<string name="ChannelSignMessagesInfo">Añade los nombres de los administradores a sus posts.</string>
<string name="EditAdmin">Permisos de administrador</string>
<string name="EditAdmin">Privilegios del admin.</string>
<string name="EditAdminRank">Título personalizado</string>
<string name="EditAdminRankInfo">Un título personalizado se mostrará a todos los miembros en lugar de “%1$s”.</string>
<string name="EditAdminWhatCanDo">¿Qué puede hacer este administrador?</string>
<string name="EditAdminChangeChannelInfo">Cambiar info. del canal</string>
<string name="EditAdminChangeGroupInfo">Cambiar info. del grupo</string>
<string name="EditAdminChangeChannelInfo">Editar info. del canal</string>
<string name="EditAdminChangeGroupInfo">Editar info. del grupo</string>
<string name="EditAdminPostMessages">Publicar mensajes</string>
<string name="EditAdminEditMessages">Editar mensajes de otros</string>
<string name="EditAdminDeleteMessages">Eliminar mensajes de otros</string>
@ -464,11 +465,11 @@
<string name="EditAdminAddUsersViaLink">Invitar con un enlace</string>
<string name="EditAdminPinMessages">Fijar mensajes</string>
<string name="EditAdminPromotedBy">Promovido por %1$s</string>
<string name="EditAdminCantEdit">No puedes editar los permisos de este administrador.</string>
<string name="EditAdminCantEdit">No puedes editar los privilegios de este administrador.</string>
<string name="EditCantEditPermissions">No puedes editar este permiso.</string>
<string name="EditCantEditPermissionsPublic">Este permiso no está disponible en grupos públicos.</string>
<string name="UserRemovedBy">Eliminado por %1$s</string>
<string name="UserRestrictions">Permisos de usuario</string>
<string name="UserRestrictions">Permisos del usuario</string>
<string name="UserRestrictionsDisabled">Esta opción está desactivada para todos los miembros en Permisos de grupo</string>
<string name="UserRestrictionsCanDo">¿Qué puede hacer este usuario?</string>
<string name="UserRestrictionsRead">Leer mensajes</string>
@ -477,7 +478,7 @@
<string name="UserRestrictionsSendPolls">Enviar encuestas</string>
<string name="UserRestrictionsSendStickers">Enviar stickers y GIF</string>
<string name="UserRestrictionsEmbedLinks">Incrustar enlaces</string>
<string name="UserRestrictionsChangeInfo">Cambiar info. del chat</string>
<string name="UserRestrictionsChangeInfo">Editar info. del chat</string>
<string name="UserRestrictionsPinMessages">Fijar mensajes</string>
<string name="UserRestrictionsInviteUsers">Añadir usuarios</string>
<string name="UserRestrictionsNoRead">no puede leer</string>
@ -522,7 +523,7 @@
<string name="TypeLocationGroup">Enlace</string>
<string name="TypeLocationGroupEdit">Toca para añadir un enlace permanente</string>
<string name="ChoosePhoto">Elegir foto</string>
<string name="ChoosePhotoOrVideo">Elegir foto o video</string>
<string name="ChoosePhotoOrVideo">Elige una foto o video</string>
<string name="AddPhoto">Poner nueva foto</string>
<string name="ChooseTakePhoto">Tomar foto</string>
<string name="ChooseRecordVideo">Grabar video</string>
@ -530,8 +531,8 @@
<string name="SelectFromGallery">Elegir desde Galería</string>
<string name="ChooseFromSearch">Buscar en la web</string>
<string name="Statistics">Estadísticas</string>
<string name="AddBotAsAdmin">Los bots pueden ser añadidos sólo como administradores.</string>
<string name="CantAddBotAsAdmin">Lo sentimos, los bots pueden ser añadidos a canales sólo como administradores.</string>
<string name="AddBotAsAdmin">Los bots sólo pueden ser añadidos como administradores.</string>
<string name="CantAddBotAsAdmin">Los bots sólo pueden ser añadidos a canales como administradores.</string>
<string name="MakeAdmin">PROMOVER A ADMINISTRADOR</string>
<string name="AdminWillBeRemoved">%1$s se eliminará de los administradores si le aplicas restricciones.</string>
<string name="Discussion">Conversación</string>
@ -541,7 +542,7 @@
<string name="DiscussionChannelHelp3">Elige el grupo que alojará los comentarios de tu canal.</string>
<string name="DiscussionChannelHelp2">Todo lo que publiques en el canal será reenviado a este grupo.</string>
<string name="DiscussionChannelGroupSetHelp2">**%1$s** está seleccionado como el grupo que aloja los comentarios de tu canal.</string>
<string name="DiscussionGroupHelp">Este grupo está vinculado como grupo de conversación de **%1$s**.</string>
<string name="DiscussionGroupHelp">Este chat está vinculado como grupo de conversación de **%1$s**.</string>
<string name="DiscussionGroupHelp2">Todo lo que publiques en este canal será reenviado a este grupo.</string>
<string name="DiscussionCreateGroup">Crear un nuevo grupo</string>
<string name="DiscussionUnlinkGroup">Desvincular grupo</string>
@ -567,6 +568,7 @@
<string name="SlowmodeSelectSendError">El modo lento está activo. No puedes seleccionar más ítems.</string>
<string name="SlowmodeSendErrorTooLong">Lo sentimos, este texto es muy largo para ser enviado en un mensaje.\n\nEl modo lento está activo. No puedes enviar más de un mensaje a la vez.</string>
<string name="UserSetAsAdminHint">**%1$s** promovido a administrador</string>
<string name="UserRemovedFromChatHint">**%1$s** fue eliminado de **%2$s**</string>
<!--polls-->
<string name="NewPoll">Nueva encuesta</string>
<string name="NewQuiz">Nuevo cuestionario</string>
@ -639,14 +641,14 @@
<!--event log-->
<string name="EventLog">Acciones recientes</string>
<string name="EventLogAllEvents">Todas las acciones</string>
<string name="EventLogSelectedEvents">Acciones elegidas</string>
<string name="EventLogSelectedEvents">acciones elegidas</string>
<string name="EventLogAllAdmins">Todos los administradores</string>
<string name="EventLogEmpty">**Aún no hay eventos**\n\nLos administradores del grupo\nno han realizado acciones de servicio\nen las últimas 48 horas.</string>
<string name="EventLogEmptyChannel">**Aún no hay eventos**\n\nLos administradores del canal\nno han realizado acciones de servicio\nen las últimas 48 horas.</string>
<string name="EventLogEmptySearch">**No se encontraron acciones**\n\nNo se encontraron acciones recientes\nque coincidan con tu consulta.</string>
<string name="EventLogEmptyTextSearch">No se encontraron acciones recientes que contengan “**%1$s**”.</string>
<string name="EventLogInfoTitle">¿Qué son las acciones recientes?</string>
<string name="EventLogInfoDetail">Esta es una lista de las acciones de servicio realizadas por los miembros y administradores del grupo en las últimas 48 horas.</string>
<string name="EventLogInfoDetail">Esta es una lista de acciones importantes realizadas por los miembros y administradores en las últimas 48 horas.</string>
<string name="EventLogInfoDetailChannel">Esta es una lista de las acciones de servicio realizadas por los administradores del canal en las últimas 48 horas.</string>
<string name="EventLogEditedGroupTitle">un1 renombró el grupo a “%1$s”</string>
<string name="EventLogEditedChannelTitle">un1 renombró el canal a “%1$s”</string>
@ -702,7 +704,7 @@
<string name="EventLogDefaultPermissions">cambió los permisos por defecto</string>
<string name="EventLogRestrictedSendStickers">Enviar stickers y GIF</string>
<string name="EventLogRestrictedSendMedia">Enviar multimedia</string>
<string name="EventLogRestrictedChangeInfo">Cambiar info.</string>
<string name="EventLogRestrictedChangeInfo">Editar info.</string>
<string name="EventLogRestrictedInviteUsers">Añadir usuarios</string>
<string name="EventLogRestrictedPinMessages">Fijar mensajes</string>
<string name="EventLogRestrictedSendPolls">Enviar encuestas</string>
@ -710,21 +712,22 @@
<string name="EventLogRestrictedSendEmbed">Incrustar enlaces</string>
<string name="EventLogRestrictedReadMessages">Leer mensajes</string>
<string name="EventLogPromoted">cambió los privilegios de %1$s</string>
<string name="EventLogPromotedChangeChannelInfo">Cambiar info. del canal</string>
<string name="EventLogPromotedChangeGroupInfo">Cambiar info. del grupo</string>
<string name="EventLogPromotedChangeChannelInfo">Editar info. del canal</string>
<string name="EventLogPromotedChangeGroupInfo">Editar info. del grupo</string>
<string name="EventLogPromotedPostMessages">Publicar mensajes</string>
<string name="EventLogPromotedEditMessages">Editar mensajes</string>
<string name="EventLogPromotedDeleteMessages">Eliminar mensajes</string>
<string name="EventLogPromotedAddAdmins">Añadir administradores</string>
<string name="EventLogPromotedSendAnonymously">Ser anónimo</string>
<string name="EventLogPromotedBanUsers">Suspender usuarios</string>
<string name="EventLogPromotedManageCall">Gestionar chats de voz</string>
<string name="EventLogPromotedAddUsers">Añadir usuarios</string>
<string name="EventLogPromotedTitle">Título: %1$s</string>
<string name="EventLogPromotedRemovedTitle">Título</string>
<string name="EventLogPromotedPinMessages">Fijar mensajes</string>
<string name="EventLogFilterAll">Todas las acciones</string>
<string name="EventLogFilterNewRestrictions">Nuevas excepciones</string>
<string name="EventLogFilterNewAdmins">Permisos de administrador</string>
<string name="EventLogFilterNewAdmins">Privilegios de administrador</string>
<string name="EventLogFilterNewMembers">Nuevos miembros</string>
<string name="EventLogFilterGroupInfo">Info. del grupo</string>
<string name="EventLogFilterChannelInfo">Info. del canal</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">Mensajes editados</string>
<string name="EventLogFilterPinnedMessages">Mensajes fijados</string>
<string name="EventLogFilterLeavingMembers">Miembros que salieron</string>
<string name="EventLogFilterCalls">Chats de voz</string>
<string name="EventLogToggledSlowmodeOn">un1 estableció el modo lento a %1$s</string>
<string name="EventLogToggledSlowmodeOff">un1 desactivó el modo lento</string>
<string name="EventLogStartedVoiceChat">un1 inició el chat de voz</string>
<string name="EventLogEndedVoiceChat">un1 finalizó el chat de voz</string>
<string name="EventLogVoiceChatMuted">un1 silenció a un2 en el chat de voz</string>
<string name="EventLogVoiceChatUnmuted">un1 dejó de silenciar a un2 en el chat de voz</string>
<string name="EventLogVoiceChatAllowedToSpeak">un1 permitió hablar a los nuevos participantes del chat de voz</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">un1 silenció a los nuevos participantes del chat de voz</string>
<!--broadcasts-->
<string name="NewBroadcastList">Nueva difusión</string>
<string name="EnterListName">Nombre de la lista</string>
@ -749,7 +759,7 @@
<string name="AttachMusic">Música</string>
<string name="AudioUnknownArtist">Artista desconocido</string>
<string name="AudioUnknownTitle">Título desconocido</string>
<string name="RepeatSong">Repetir canción</string>
<string name="RepeatSong">Repetir pista</string>
<string name="RepeatList">Repetir lista</string>
<string name="ShuffleList">Lista aleatoria</string>
<string name="ReverseOrder">Invertir orden</string>
@ -847,12 +857,12 @@
<string name="YouLeft">Saliste de este grupo</string>
<string name="DeleteThisGroup">Eliminar este grupo</string>
<string name="DeleteThisChat">Eliminar este chat</string>
<string name="DeleteThisChatBothSides">Eliminar este chat</string>
<string name="DeleteThisChatBothSides">Eliminar este chat para ambos</string>
<string name="DeleteTheseChatsBothSides">Eliminar chats</string>
<string name="SlideToCancel">DESLIZA PARA CANCELAR</string>
<string name="SaveToDownloads">Guardar en Descargas</string>
<string name="SaveToGIFs">Guardar GIF</string>
<string name="DeleteGif">¿Eliminar GIF?</string>
<string name="DeleteGif">¿Quieres eliminar el GIF de esta sección?</string>
<string name="SaveToMusic">Guardar en música</string>
<string name="ShareFile">Compartir</string>
<string name="ApplyLocalizationFile">Aplicar traducción</string>
@ -904,7 +914,7 @@
<string name="PinMessageAlertTitle">Fijar mensaje</string>
<string name="UnpinMessageAlertTitle">Desfijar mensaje</string>
<string name="PinOldMessageAlert">¿Quieres fijar un mensaje más antiguo y a la vez mantener fijado uno más reciente?</string>
<string name="PinMessageAlert">¿Quieres fijar este mensaje para todos los miembros del grupo?</string>
<string name="PinMessageAlert">¿Quieres fijar este mensaje en el grupo?</string>
<string name="PinMessageAlertChannel">¿Quieres fijar este mensaje en el canal?</string>
<string name="PinMessageAlertChat">¿Quieres fijar este mensaje en la parte de arriba del chat?</string>
<string name="UnpinMessageAlert">¿Quieres desfijar este mensaje?</string>
@ -935,6 +945,13 @@
<string name="EditMessage">Editar mensaje</string>
<string name="EditCaption">Editar comentario</string>
<string name="EditMessageMedia">Toca para reemplazar</string>
<string name="EditMessageEditPhoto">Editar esta foto</string>
<string name="EditMessageEditVideo">Editar este video</string>
<string name="EditMessageReplacePhoto">Reemplazar foto</string>
<string name="EditMessageReplaceVideo">Reemplazar video</string>
<string name="EditMessageReplaceGif">Reemplazar multimedia</string>
<string name="EditMessageReplaceFile">Reemplazar archivo</string>
<string name="EditMessageReplaceAudio">Reemplazar audio</string>
<string name="AttachBotsHelp">Ve abajo para los bots</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">Lo sentimos, terminó el tiempo de edición.</string>
@ -949,7 +966,7 @@
<string name="GroupDescription1">Hasta 200.000 miembros</string>
<string name="GroupDescription2">Historial de chat persistente</string>
<string name="GroupDescription3">Enlaces públicos como t.me/title</string>
<string name="GroupDescription4">Administradores con diferentes permisos</string>
<string name="GroupDescription4">Admins. con diferentes privilegios</string>
<string name="ChatYourSelfDescription1">Guarda mensajes reenviándolos aquí</string>
<string name="ChatYourSelfDescription2">Envía archivos para almacenarlos</string>
<string name="ChatYourSelfDescription3">Accede desde cualquier dispositivo</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">Toca para foto, mantén para video</string>
<string name="TapToViewAsList">Toca para ver como lista.</string>
<string name="SendWithoutSound">Enviar sin sonido</string>
<string name="SendAsNewPhoto">Enviar como una nueva foto</string>
<string name="ReplacePhoto">Reemplazar foto</string>
<string name="MessageScheduleSend">Enviar ahora</string>
<string name="MessageScheduleEditTime">Reprogramar</string>
<string name="MessageScheduleToday">Hoy</string>
@ -1116,7 +1135,7 @@
<string name="NotificationMessageGroupDocument">%1$s envió un archivo al grupo %2$s</string>
<string name="NotificationMessageGroupGif">%1$s envió un GIF al grupo %2$s</string>
<string name="NotificationMessageGroupInvoice">%1$s envió una factura al grupo %2$s por %3$s</string>
<string name="NotificationMessageGroupAudio">%1$s envió un mensaje de voz al grupo %2$s</string>
<string name="NotificationMessageGroupAudio">%1$s envió un mensaje de voz a %2$s</string>
<string name="NotificationMessageGroupRound">%1$s envió un videomensaje al grupo %2$s</string>
<string name="NotificationMessageGroupMusic">%1$s envió un audio al grupo %2$s</string>
<string name="NotificationMessageGroupSticker">%1$s envió un sticker al grupo %2$s</string>
@ -1126,13 +1145,17 @@
<string name="NotificationEditedGroupPhoto">%1$s cambió la foto del grupo %2$s</string>
<string name="NotificationEditedGroupVideo">%1$s cambió el video del grupo %2$s</string>
<string name="NotificationGroupAddMember">%1$s añadió a %3$s al grupo %2$s</string>
<string name="NotificationGroupInvitedToCall">%1$s añadió a %3$s al chat de voz en %2$s</string>
<string name="NotificationGroupInvitedYouToCall">%1$s te invitó al chat de voz en %2$s</string>
<string name="NotificationGroupCreatedCall">%1$s inició el chat de voz en %2$s</string>
<string name="NotificationGroupEndedCall">%1$s finalizó el chat de voz en %2$s</string>
<string name="NotificationGroupAddSelf">%1$s volvió al grupo %2$s</string>
<string name="NotificationGroupAddSelfMega">%1$s se unió al grupo %2$s</string>
<string name="NotificationGroupKickMember">%1$s eliminó a %3$s del grupo %2$s</string>
<string name="NotificationGroupKickYou">%1$s te eliminó del grupo %2$s</string>
<string name="NotificationGroupLeftMember">%1$s salió del grupo %2$s</string>
<string name="NotificationContactJoined">¡%1$s se unió a Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nDetectamos un inicio de sesión en tu cuenta desde un nuevo dispositivo, el %2$s\n\nDispositivo: %3$s\nUbicación: %4$s\n\nSi no eras tú, puedes ir a Ajustes &gt; Privacidad y seguridad &gt; Sesiones activas y cerrar esa sesión.\n\nSi crees que alguien ha iniciado la sesión sin tu consentimiento, puedes activar la verificación en dos pasos, en los ajustes de privacidad y seguridad.\n\nAtentamente,\nEl equipo de Telegram</string>
<string name="NotificationUnrecognizedDevice">%1$s:\nDetectamos un inicio de sesión en tu cuenta desde un nuevo dispositivo el %2$s\n\nDispositivo: %3$s\nUbicación: %4$s\n\nSi no eras tú, puedes ir a Ajustes &gt; Dispositivos y cerrar esa sesión.\n\nSi crees que alguien inició sesión en tu cuenta sin tu consentimiento, puedes activar la verificación en dos pasos en los ajustes de privacidad y seguridad.\n\nAtentamente,\nEl equipo de Telegram</string>
<string name="NotificationContactNewPhoto">%1$s cambió su foto de perfil</string>
<string name="NotificationInvitedToGroupByLink">%1$s se unió al grupo %2$s con un enlace de invitación</string>
<string name="NotificationGroupFew">%1$s envió %3$s al grupo %2$s</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">%1$s ancló un archivo en el grupo %2$s</string>
<string name="NotificationActionPinnedSticker">%1$s fijó un sticker en el grupo %2$s</string>
<string name="NotificationActionPinnedStickerEmoji">%1$s fijó un %3$s sticker en el grupo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s fijó un mensaje de voz en el grupo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s fijó un mensaje de voz en %2$s</string>
<string name="NotificationActionPinnedRound">%1$s fijó un videomensaje en el grupo %2$s</string>
<string name="NotificationActionPinnedContact2">%1$s fijó un contacto %3$s en el grupo %2$s</string>
<string name="NotificationActionPinnedGeo">%1$s fijó un mapa en el grupo %2$s</string>
@ -1245,7 +1268,7 @@
<string name="NoContactsYetLine2">Encuentra personas cerca para chatear</string>
<string name="NoContactsYetLine3">Busca personas por nombre de usuario</string>
<string name="NewContactAlertTitle">Nuevo contacto</string>
<string name="NewContactAlertMessage">El número de teléfono **%1$s** no está en tu lista de contactos. ¿Quieres añadirlo?</string>
<string name="NewContactAlertMessage">El número de teléfono **%1$s** no está en tus contactos. ¿Quieres añadirlo?</string>
<string name="NewContactAlertButton">Añadir contacto</string>
<!--group create view-->
<string name="SendMessageTo">Añadir personas...</string>
@ -1262,6 +1285,7 @@
<string name="JoinByPeekJoin">UNIRME</string>
<string name="LinkCopied">Enlace copiado al portapapeles</string>
<string name="LinkCopiedPrivate">Enlace copiado al portapapeles.\nEste enlace sólo funcionará para miembros de este chat.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">Lamentablemente, no puedes acceder a este mensaje. No eres miembro del chat en el que fue publicado.</string>
<string name="PhoneCopied">Teléfono copiado al portapapeles</string>
<string name="EmailCopied">Correo copiado al portapapeles</string>
@ -1284,19 +1308,19 @@
<string name="SETTINGS">Ajustes</string>
<string name="AddSubscriber">Añadir suscriptores</string>
<string name="AddMember">Añadir miembros</string>
<string name="SetAdmins">Administradores</string>
<string name="SetAdmins">Añadir admins.</string>
<string name="BanFromTheGroup">SUSPENDER DEL GRUPO</string>
<string name="DeleteAndExit">Eliminar y salir del grupo</string>
<string name="DeleteAndExitButton">Eliminar y salir del grupo</string>
<string name="Notifications">Notificaciones</string>
<string name="ChangePermissions">Permisos de usuario</string>
<string name="ChangePermissions">Cambiar permisos</string>
<string name="KickFromGroup">Eliminar del grupo</string>
<string name="UpgradeGroup">Convertir en supergrupo</string>
<string name="ConvertGroup">Convertir en supergrupo</string>
<string name="ConvertGroupMenu">Convertir en supergrupo</string>
<string name="ConvertGroupAlertWarning">Advertencia</string>
<string name="ConvertGroupAlert">Esta acción es irreversible. No puedes convertir un supergrupo en un grupo normal.</string>
<string name="ConvertGroupInfo">**Límite de miembros alcanzado.**\n\nPara superar el límite y tener características adicionales, conviértelo en un supergrupo:\n\n• Permiten hasta %1$s\n• Los nuevos miembros ven todo el historial\n• Un mensaje eliminado desaparece para todos\n• Puede añadirse una descripción para el grupo\n• El creador puede generar un enlace público</string>
<string name="ConvertGroupInfo">**Límite de miembros alcanzado.**\n\nPara tener más espacio y características adicionales, conviértelo en un supergrupo:\n\n• Permiten hasta %1$s\n• Los nuevos miembros ven todo el historial\n• Un mensaje eliminado desaparece para todos\n• Los admins. pueden añadir una descripción\n• El propietario puede generar un enlace público</string>
<string name="ConvertGroupInfo2">**En los supergrupos:**\n\n• Los nuevos miembros ven todo el historial\n• Un mensaje eliminado desaparece para todos\n• Puede añadirse una descripción para el grupo\n• El creador puede generar un enlace público</string>
<string name="ConvertGroupInfo3">**Importante:** Esta acción no se puede deshacer.</string>
<!--contact info view-->
@ -1366,8 +1390,8 @@
<string name="UsernameInvalid">Lo sentimos, este nombre de usuario no es válido.</string>
<string name="UsernameInvalidShort">Un nombre de usuario debe tener al menos 5 caracteres.</string>
<string name="UsernameInvalidLong">El nombre de usuario no debe exceder los 32 caracteres.</string>
<string name="UsernameInvalidStartNumber">Lo sentimos, un nombre de usuario no puede comenzar con un número.</string>
<string name="UsernameHelp">Puedes elegir un nombre de usuario en **Telegram**. Si lo haces, otras personas te podrán encontrar por ese nombre y contactarte sin saber tu número de teléfono.\n\nPuedes usar **az**, **09** y guiones bajos.\nLa longitud mínima es de **5** caracteres.</string>
<string name="UsernameInvalidStartNumber">Los nombres de usuario no pueden comenzar con un número.</string>
<string name="UsernameHelp">Puedes elegir un nombre de usuario en **Telegram**. Si lo haces, las personas te podrán encontrar por ese nombre y contactarte sin saber tu número de teléfono.\n\nPuedes usar **az**, **09** y guiones bajos.\nLa longitud mínima es de **5** caracteres.</string>
<string name="UsernameHelpLink">Este enlace abre un chat contigo:\n%1$s</string>
<string name="UsernameChecking">Verificando nombre de usuario...</string>
<string name="UsernameAvailable">%1$s está disponible.</string>
@ -1435,7 +1459,7 @@
<string name="ArchivedMasks">Máscaras archivadas</string>
<string name="ArchivedStickersEmpty">Stickers no archivados</string>
<string name="ArchivedMasksEmpty">Sin máscaras archivadas</string>
<string name="ArchivedStickersInfo">Puedes añadir hasta 200 packs de stickers.\nSi añades más, se archivarán los que no usas.</string>
<string name="ArchivedStickersInfo">Puedes tener 200 packs de stickers activos.\nSi añades más, se archivarán los que no usas.</string>
<string name="ArchivedMasksInfo">Puedes añadir hasta 200 packs de máscaras.\nSi añades más, se archivarán los que no usas.</string>
<string name="SendSticker">ENVIAR STICKER</string>
<string name="ArchivedStickersAlertTitle">Stickers archivados</string>
@ -1758,7 +1782,7 @@
<string name="AutoDownloadMaxVideoSize">Tamaño máximo de video</string>
<string name="AutoDownloadMaxFileSize">Tamaño máximo de archivo</string>
<string name="AutoDownloadPreloadMusic">Precargar siguiente audio</string>
<string name="AutoDownloadPreloadMusicInfo">Comienza a descargar el siguiente tema mientras estás escuchando un archivo de audio.</string>
<string name="AutoDownloadPreloadMusicInfo">Comienza la descarga de la siguiente pista mientras estás escuchando un audio.</string>
<string name="AutoDownloadPreloadVideo">Precargar videos grandes</string>
<string name="AutoDownloadPreloadVideoInfo">Precarga los primeros segundos (1-2 MB) de videos que superan los %1$s para su reproducción instantánea.</string>
<string name="AutoDownloadOnMobileDataInfo">Actívalo si quieres que la multimedia se descargue automáticamente con datos móviles.</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">Sonidos en el chat</string>
<string name="SoundDefault">Por defecto</string>
<string name="VibrationDefault">Por defecto</string>
<string name="NotificationsDefault">Por defecto</string>
<string name="NotificationsInAppDefault">Por defecto en la app</string>
<string name="NotificationsChatInApp">%1$s en la app</string>
<string name="NotificationsSilent">Silenciadas</string>
<string name="SmartNotifications">Notificaciones inteligentes</string>
<string name="NotificationsExceptions">Excepciones</string>
<string name="NotificationsAddAnException">Añadir una excepción</string>
@ -1831,9 +1859,9 @@
<string name="SecretWebPageInfo">Las vistas previas serán generadas en los servidores de Telegram. No almacenamos datos sobre los enlaces que envías.</string>
<string name="SecretChat">Chats secretos</string>
<string name="ChromeCustomTabs">Navegador en la app</string>
<string name="ChromeCustomTabsInfo">Abrir enlaces externos en la app</string>
<string name="ChromeCustomTabsInfo">Abre enlaces externos en la app</string>
<string name="DirectShare">Direct Share</string>
<string name="DirectShareInfo">Ver chats recientes al compartir en Android</string>
<string name="DirectShareInfo">Ve chats recientes al compartir en Android</string>
<string name="Emoji">Emoji</string>
<string name="LargeEmoji">Emojis grandes</string>
<string name="EmojiUseDefault">Usar emoji predeterminado</string>
@ -1960,7 +1988,7 @@
<string name="CalculatingSize">Calculando...</string>
<string name="LocalDocumentCache">Archivos</string>
<string name="LocalPhotoCache">Fotos</string>
<string name="LocalAudioCache">Mensajes de voz/video</string>
<string name="LocalAudioCache">Mensajes de voz y video</string>
<string name="LocalVideoCache">Videos</string>
<string name="LocalMusicCache">Música</string>
<string name="LocalGifCache">GIF</string>
@ -2160,19 +2188,19 @@
<string name="PassportLanguage_VI">vietnamita</string>
<!--sessions view-->
<string name="SessionsTitle">Sesiones activas</string>
<string name="CurrentSession">Sesión actual</string>
<string name="CurrentSession">Este dispositivo</string>
<string name="NoOtherSessions">Sin otras sesiones activas</string>
<string name="NoOtherSessionsInfo">Puedes iniciar sesión en Telegram desde otro móvil, tablet o computadora, usando el mismo número de teléfono. Todos tus datos se sincronizarán al instante.</string>
<string name="OtherSessions">Sesiones activas</string>
<string name="SessionsInfo">Controla tus sesiones en otros dispositivos.</string>
<string name="TerminateSessionInfo">Toca una sesión para cerrarla.</string>
<string name="TerminateSessionInfo">Toca en una sesión para cerrarla.</string>
<string name="TerminateSessionQuestion">¿Cerrar esta sesión?</string>
<string name="TerminateSessionText">¿Quieres cerrar esta sesión?</string>
<string name="ClearOtherSessionsHelp">Salir de todos los dispositivos, excepto este.</string>
<string name="ClearOtherSessionsHelp">Sale de todos los dispositivos, excepto este.</string>
<string name="AreYouSureSessionsTitle">Cerrar sesiones</string>
<string name="AreYouSureSessionTitle">Cerrar sesión</string>
<string name="Terminate">Cerrar</string>
<string name="AreYouSureSessions">¿Quieres terminar todas las demás sesiones?</string>
<string name="AreYouSureSessions">¿Quieres cerrar todas las demás sesiones?</string>
<string name="TerminateAllSessions">Cerrar todas las demás sesiones</string>
<string name="UnofficialApp">app no oficial</string>
<string name="NoOtherWebSessions">Sin sesiones activas.</string>
@ -2230,7 +2258,7 @@
<string name="FilterBots">Bots</string>
<string name="FilterAddingChats">Añadiendo chats</string>
<string name="FilterAddingChatsInfo">Espera un momento mientras llenamos esta carpeta…</string>
<string name="FilterNoChatsToDisplay">No se encontraron chats</string>
<string name="FilterNoChatsToDisplay">La carpeta está vacía</string>
<string name="FilterNoChatsToDisplayInfo">Actualmente no hay chats que\npertenezcan a esta carpeta.</string>
<string name="FilterNew">Nueva carpeta</string>
<string name="FilterNoChats">Sin chats</string>
@ -2417,12 +2445,12 @@
<string name="LocationNotifiationCloser">Ya estás a menos de %1$s</string>
<string name="ShareLocationAlertTitle">Compartir ubicación</string>
<string name="ShareLocationAlertButton">Compartir</string>
<string name="ShareLocationAlertText">Para que funcione el aviso, por favor, comparte tu ubicación en tiempo real en este chat.</string>
<string name="ShareLocationAlertText">Para que funcione el aviso, comparte tu ubicación en tiempo real en este chat.</string>
<string name="ProximityTooltioUser">Avisar cuando %1$s esté cerca</string>
<string name="ProximityTooltioGroup">Avisar cuando otros miembros del grupo estén cerca</string>
<string name="ProximityAlertSet">Aviso de proximidad activo</string>
<string name="ProximityAlertSet">Aviso de proximidad establecido</string>
<string name="ProximityAlertSetInfoUser">Te notificaremos cuando %1$s esté a %2$s de ti.</string>
<string name="ProximityAlertSetInfoGroup2">We will notify you once someone is within %1$s from you.</string>
<string name="ProximityAlertSetInfoGroup2">Te notificaremos cuando alguien esté a %1$s de ti.</string>
<string name="ProximityAlertCancelled">Aviso de proximidad cancelado</string>
<!--photo gallery view-->
<string name="ShowAsList">Mostrar como lista</string>
@ -2570,12 +2598,13 @@
<string name="TwoStepVerification">Verificación en dos pasos</string>
<string name="TwoStepVerificationTitle">Verificación en dos pasos</string>
<string name="TwoStepVerificationPasswordSet">¡Contraseña establecida!</string>
<string name="TwoStepVerificationPasswordSetInfo">Esta contraseña será requerida cuando inicies sesión en un nuevo dispositivo, además del código recibido vía SMS.</string>
<string name="TwoStepVerificationPasswordSetInfo">Esta contraseña se te solicitará al iniciar sesión en un nuevo dispositivo, además del código recibido vía SMS.</string>
<string name="TwoStepVerificationPasswordReturnSettings">Volver a Ajustes</string>
<string name="TwoStepVerificationPasswordReturnPassport">Volver a Passport</string>
<string name="TwoStepVerificationSetPassword">Crear contraseña</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">Poner contraseña adicional</string>
<string name="SetAdditionalPasswordInfo">Puedes poner una contraseña, que será requerida cuando inicies sesión en un nuevo dispositivo, además del código que recibes vía SMS.</string>
<string name="SetAdditionalPasswordInfo">Puedes poner una contraseña que se te solicitará al iniciar sesión en un nuevo dispositivo, además del código que recibes vía SMS.</string>
<string name="YourPassword">Tu contraseña</string>
<string name="PasswordOn">Activada</string>
<string name="PasswordOff">Desactivada</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">Código de recuperación</string>
<string name="RestoreEmailSent">Enviamos un código de recuperación al correo que nos diste:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">Por favor, revisa tu correo y pon el código de 6 dígitos que te enviamos.</string>
<string name="RestoreEmailTrouble">¿Tienes problemas para acceder a tu correo %1$s?</string>
<string name="RestoreEmailTrouble">¿No puedes acceder a %1$s?</string>
<string name="RestoreEmailTroubleNoEmail">¿Tienes problemas para acceder a tu correo?</string>
<string name="RestoreEmailTroubleText">Si no puedes acceder a tu correo, las opciones restantes son recordar tu contraseña o restablecer tu cuenta.</string>
<string name="ResetMyAccount">RESTABLECER MI CUENTA</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">Uso de almacenamiento y red</string>
<string name="StorageUsage">Uso de almacenamiento</string>
<string name="NetworkUsage">Uso de datos</string>
<string name="StoragePath">Ruta de almacenamiento</string>
<string name="NetworkUsageMobileTab">Móvil</string>
<string name="NetworkUsageWiFiTab">Wi-Fi</string>
<string name="NetworkUsageRoamingTab">Itinerancia</string>
@ -2676,8 +2706,8 @@
<string name="PrivacySettings">Privacidad y seguridad</string>
<string name="PrivacyTitle">Privacidad</string>
<string name="PrivacyLastSeen">Última vez y en línea</string>
<string name="PrivacyProfilePhoto">Foto de perfil</string>
<string name="PrivacyProfilePhotoTitle">¿Quién puede ver mi foto de perfil?</string>
<string name="PrivacyProfilePhoto">Fotos de perfil</string>
<string name="PrivacyProfilePhotoTitle">¿Quién puede ver mis fotos y videos de perfil?</string>
<string name="PrivacyProfilePhotoInfo">Puedes restringir quién puede ver tu foto de perfil con gran precisión.</string>
<string name="PrivacyProfilePhotoInfo2">Puedes añadir usuarios o grupos como excepciones que anularán los ajustes de arriba.</string>
<string name="PrivacyPhone">Número de teléfono</string>
@ -2852,6 +2882,14 @@
<string name="ActionUserWithinRadius">un1 ahora está a %1$s de ti</string>
<string name="ActionUserWithinYouRadius">Ahora estás a %1$s de un1</string>
<string name="ActionUserWithinOtherRadius">un1 ahora está a %1$s de un2</string>
<string name="ActionUserInvitedToGroup">un1 te añadió a este grupo</string>
<string name="ActionUserInvitedToChannel">un1 te añadió a este canal</string>
<string name="ActionGroupCallStarted">un1 inició el chat de voz</string>
<string name="ActionGroupCallStartedByYou">Iniciaste el chat de voz</string>
<string name="ActionGroupCallEnded">Chat de voz finalizado (%s)</string>
<string name="ActionGroupCallInvited">un1 invitó a un2 al chat de voz</string>
<string name="ActionGroupCallYouInvited">Invitaste a un2 al chat de voz</string>
<string name="ActionGroupCallInvitedYou">un1 te invitó al chat de voz</string>
<string name="ActionBotAllowed">Autorizaste que este bot te envíe mensajes cuando iniciaste sesión en %1$s.</string>
<string name="ActionBotDocuments">%1$s recibió los siguientes documentos: %2$s</string>
<string name="ActionBotDocumentIdentity">Datos personales</string>
@ -2867,7 +2905,7 @@
<string name="ActionBotDocumentRentalAgreement">Contrato de alquiler</string>
<string name="ActionBotDocumentPhone">Número de teléfono</string>
<string name="ActionBotDocumentEmail">Dirección de correo</string>
<string name="UnsupportedMedia">Tu versión de Telegram no es compatible con este mensaje. Por favor, actualiza tu app para verlo: https://telegram.org/update</string>
<string name="UnsupportedMedia">Tu versión de Telegram no es compatible con este mensaje. Actualiza tu app para verlo: https://telegram.org/update</string>
<string name="AttachPhoto">Foto</string>
<string name="AttachVideo">Video</string>
<string name="AttachDestructingPhoto">Foto con autodestrucción</string>
@ -2910,7 +2948,7 @@
<string name="CodeExpired">Código expirado. Por favor, vuelve a iniciar sesión.</string>
<string name="FloodWait">Demasiados intentos. Por favor, reinténtalo más tarde.</string>
<string name="FloodWaitTime">Demasiados intentos. Por favor, reinténtalo en %1$s</string>
<string name="InvalidCode">Código inválido</string>
<string name="InvalidCode">Código inválido. Por favor, reinténtalo.</string>
<string name="PhoneNumberFlood">Has eliminado y vuelto a crear tu cuenta muchas veces recientemente. Por favor, espera algunos días antes de registrarte de nuevo.</string>
<string name="InvalidFirstName">Nombre inválido</string>
<string name="InvalidLastName">Lo sentimos, este apellido no se puede usar</string>
@ -2946,7 +2984,7 @@
<string name="AreYouSureDeleteThisChatWithUser">¿Quieres eliminar el chat con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithBot">¿Quieres eliminar el chat con **%1$s** y bloquearlo?</string>
<string name="AreYouSureDeleteThisChatSavedMessages">¿Quieres eliminar **Mensajes guardados**?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">¿Quieres eliminar el chat secreto con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">¿Quieres eliminar tu chat secreto con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithGroup">¿Quieres eliminar el chat **%1$s**?</string>
<string name="AreYouSureClearDraftsTitle">Eliminar borradores</string>
<string name="AreYouSureClearDrafts">¿Quieres eliminar todos los borradores en la nube?</string>
@ -2991,8 +3029,8 @@
<string name="SendContactToGroupText">¿Quieres enviar este contacto a **%1$s**?</string>
<string name="NoUsernameFound">No hay ninguna cuenta de Telegram con este nombre de usuario.</string>
<string name="BotCantJoinGroups">Este bot no puede unirse a grupos.</string>
<string name="SecretLinkPreviewAlert">¿Quieres permitir las vistas previas ampliadas en chats secretos? Ten en cuenta que son generadas en los servidores de Telegram.</string>
<string name="SecretChatContextBotAlert">Ten en cuenta que los bots integrados son hechos por terceros. Para que funcione, los símbolos escritos después del nombre de usuario del bot son enviados al desarrollador respectivo.</string>
<string name="SecretLinkPreviewAlert">¿Quieres activar las vistas previas de enlaces ampliadas en los chats secretos? Ten en cuenta que son generadas en los servidores de Telegram.</string>
<string name="SecretChatContextBotAlert">Ten en cuenta que los bots integrados son hechos por terceros. Para que el bot funcione, los símbolos escritos después del nombre de usuario del bot son enviados a su respectivo desarrollador.</string>
<string name="EditMessageError">Lo sentimos, no puedes editar este mensaje.</string>
<string name="AllowReadCall">Por favor, permite a Telegram recibir llamadas para que podamos ingresar automáticamente el código por ti.</string>
<string name="AllowReadCallAndLog">Por favor, permite a Telegram recibir llamadas y leer el registro de llamadas para que podamos poner automáticamente el código por ti.</string>
@ -3026,9 +3064,12 @@
<string name="PermissionNoLocation">Telegram necesita acceso a tu ubicación para que puedas compartirla con tus amigos.</string>
<string name="PermissionNoLocationPosition">Telegram necesita acceso a tu ubicación.</string>
<string name="PermissionDrawAboveOtherApps">Telegram necesita acceso a mostrarse sobre otras aplicaciones para usar el modo imagen en imagen.</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">El modo de superposición te permite usar la opción de pulsar para hablar y ver quién está hablando aunque estés fuera de Telegram.</string>
<string name="PermissionOpenSettings">AJUSTES</string>
<string name="PermissionXiaomiLockscreen">Por favor, permite a Telegram aparecer en la pantalla bloqueada para que las llamadas funcionen correctamente.</string>
<string name="PermissionBackgroundLocation">Para compartir tu ubicación en tiempo real en este chat, Telegram necesita acceso a tu ubicación todo el tiempo, incluyendo cuando la app está en segundo plano.\n\nAccederemos a tu ubicación sólo durante el tiempo que elijas, y puedes dejar de compartirla en cualquier momento. No usaremos tu ubicación para ningún otro propósito que no sea el de compartirla en este chat.</string>
<string name="PermissionDrawAboveOtherAppsTitle">Modo imagen en imagen</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">Superposición del chat de voz</string>
<!--charts-->
<string name="GrowthChartTitle">Crecimiento</string>
<string name="FollowersChartTitle">Seguidores</string>
@ -3127,23 +3168,28 @@
<string name="StartMessaging">Empezar a chatear</string>
<!-- VoIP -->
<string name="AccountSettings">Ajustes de la cuenta</string>
<string name="VoipUseLessData">Usar menos datos</string>
<string name="VoipUseLessData">Menos datos en llamadas</string>
<string name="VoipIncoming">Llamada entrante</string>
<string name="VoipConnecting">Conectando</string>
<string name="VoipExchangingKeys">Intercambiando claves de cifrado</string>
<string name="VoipWaiting">Esperando</string>
<string name="VoipRequesting">Solicitando</string>
<string name="VoipHangingUp">Colgando</string>
<string name="VoipCallEnded">Llamada terminada</string>
<string name="VoipCallEnded">Llamada finalizada</string>
<string name="VoipFailed">Conexión fallida</string>
<string name="VoipRinging">Llamando</string>
<string name="VoipBusy">Línea ocupada</string>
<string name="VoipInCallBranding">Llamada de Telegram</string>
<string name="VoipInVideoCallBranding">Videollamada de Telegram</string>
<string name="VoipOutgoingCall">Llamada de Telegram en curso</string>
<string name="VoipVoiceChat">Chat de voz en curso</string>
<string name="VoipEndCall">Finalizar</string>
<string name="VoipOngoingAlertTitle">Otra llamada en curso</string>
<string name="VoipOngoingAlert">Actualmente tienes una llamada en curso con **%1$s**. ¿Quieres colgar y empezar una nueva con **%2$s**?</string>
<string name="VoipOngoingAlert">¿Quieres finalizar la llamada con **%1$s** e iniciar una nueva con **%2$s**?</string>
<string name="VoipOngoingAlert2">¿Quieres finalizar la llamada con **%1$s** e iniciar el chat de voz en **%2$s**?</string>
<string name="VoipOngoingChatAlertTitle">Hay otro chat de voz en curso</string>
<string name="VoipOngoingChatAlert">¿Quieres salir del chat de voz en **%1$s** e iniciar uno nuevo en **%2$s**?</string>
<string name="VoipOngoingChatAlert2">¿Quieres salir del chat de voz en **%1$s** y llamar a **%2$s**?</string>
<string name="VoipNotificationSettings">Llamadas</string>
<string name="VoipSettingsRingtone">Tono de llamada</string>
<string name="VoipRingtoneInfo">Puedes personalizar el tono de llamada desde este contacto en Telegram.</string>
@ -3160,7 +3206,9 @@
<string name="VoipAnswerCall">Contestar</string>
<string name="VoipDeclineCall">Rechazar</string>
<string name="VoipOffline">Estás sin conexión. Por favor, conéctate a internet para realizar llamadas.</string>
<string name="VoipGroupOffline">Estás sin conexión. Conéctate a internet para que puedas unirte a chats de voz.</string>
<string name="VoipOfflineAirplane">Tienes activado el modo avión. Por favor, desactívalo o conéctate a una red Wi-Fi para realizar llamadas.</string>
<string name="VoipGroupOfflineAirplane">Tienes el modo avión activado. Desactívalo o conéctate a una red Wi-Fi para unirte a chats de voz.</string>
<string name="VoipOfflineTitle">Sin conexión</string>
<string name="VoipOfflineAirplaneTitle">Modo avión</string>
<string name="VoipOfflineOpenSettings">Ajustes</string>
@ -3175,7 +3223,7 @@
<string name="CallMessageVideoOutgoingMissed">Videollamada cancelada</string>
<string name="CallMessageVideoIncomingDeclined">Videollamada rechazada</string>
<string name="CallMessageWithDuration">%1$s (%2$s)</string>
<string name="NoCallLog">Aún no has realizado llamadas.</string>
<string name="NoCallLog">Aún no hay llamadas...</string>
<string name="VoipPeerIncompatible">La app de **%1$s** está usando un protocolo incompatible. Necesita actualizar la app para poder llamar.</string>
<string name="VoipPeerOutdated">La app de **%1$s** no es compatible con las llamadas. Necesita actualizar su app para recibir tu llamada.</string>
<string name="VoipPeerVideoOutdated">Lo sentimos, **%1$s** está usando una versión antigua de Telegram que no permite hacer videollamadas.</string>
@ -3204,7 +3252,7 @@
<string name="CallReportLogsExplain">Esto no revela los contenidos de tu chat y nos ayuda a resolver el problema antes.</string>
<string name="CallReportSent">Gracias por ayudarnos a mejorar las llamadas de Telegram.</string>
<string name="VoipAnsweringAsAccount">contestando como %s</string>
<string name="VoipQuickReplies">Responder con mensaje</string>
<string name="VoipQuickReplies">Responder con un mensaje</string>
<string name="VoipQuickRepliesExplain">Estas respuestas rápidas estarán disponibles cuando respondas a una llamada entrante con un mensaje de Telegram. Puedes modificarlas para decir lo que tú quieras.</string>
<string name="QuickReplyDefault1">No puedo hablar ahora. ¿Qué pasa?</string>
<string name="QuickReplyDefault2">Te llamaré enseguida.</string>
@ -3226,6 +3274,11 @@
<string name="RateCallVideoPixelated">El video estaba pixelado</string>
<string name="TapToTurnCamera">Toca aquí para encender tu cámara</string>
<string name="VoipUnmute">No silenciar</string>
<string name="VoipHoldAndTalk">o mantén para hablar</string>
<string name="VoipTapToMute">Estás en directo</string>
<string name="VoipMutedByAdmin">Silenciado por el administrador</string>
<string name="VoipMutedByAdminShort">Silenciado</string>
<string name="VoipMutedByAdminInfo">Estás en modo de sólo escucha</string>
<string name="VoipMute">Silenciar</string>
<string name="VoipStartVideo">Iniciar video</string>
<string name="VoipStopVideo">Detener video</string>
@ -3244,6 +3297,61 @@
<string name="VideoCallAlert">¿Quieres videollamar a **%1$s**?</string>
<string name="VideoCallAlertTitle">Videollamada</string>
<string name="VoipReconnecting">Reconectando</string>
<string name="StartVoipChat">Iniciar chat de voz</string>
<string name="StartVoipChatTitle">Chat de voz</string>
<string name="StartVoipChatAlertText">¿Quieres iniciar el chat de voz?</string>
<string name="StartVoipChatPermission">Gestionar chats de voz</string>
<string name="VoipChatJoin">Unirme</string>
<string name="MembersTalking_zero">%1$s miembros hablando</string>
<string name="MembersTalking_one">%1$s miembro hablando</string>
<string name="MembersTalking_two">%1$s miembros hablando</string>
<string name="MembersTalking_few">%1$s miembros hablando</string>
<string name="MembersTalking_many">%1$s miembros hablando</string>
<string name="MembersTalking_other">%1$s miembros hablando</string>
<string name="Speaking">hablando</string>
<string name="Listening">escuchando</string>
<string name="Invited">invitado</string>
<string name="VoipGroupLeave">Salir</string>
<string name="VoipGroupEnd">Finalizar</string>
<string name="VoipGroupMuteMemberAlertTitle">Silenciar micrófono</string>
<string name="VoipGroupMuteMemberAlertText">¿Quieres silenciar a **%1$s** en este chat de voz?</string>
<string name="VoipGroupRemoveMemberAlertTitle">Eliminar miembro</string>
<string name="VoipGroupRemoveMemberAlertText">¿Quieres eliminar a %1$s del grupo?</string>
<string name="VoipGroupRemovedFromGroup">**%1$s** fue eliminado del grupo.</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** ahora puede hablar.</string>
<string name="VoipGroupUserCantNowSpeak">**%1$s** fue silenciado en este chat.</string>
<string name="VoipGroupMute">Silenciar</string>
<string name="VoipGroupAllCanSpeak">Los nuevos pueden hablar</string>
<string name="VoipGroupOnlyAdminsCanSpeak">Los nuevos son silenciados</string>
<string name="VoipGroupShareInviteLink">Compartir enlace de invitación</string>
<string name="VoipGroupEndChat">Finalizar chat de voz</string>
<string name="VoipGroupConnecting">Conectando…</string>
<string name="VoipGroupLeaveAlertTitle">Salir del chat de voz</string>
<string name="VoipGroupLeaveAlertText">¿Quieres salir de este chat de voz?</string>
<string name="VoipGroupEndAlertTitle">Finalizar chat de voz</string>
<string name="VoipGroupEndAlertText">¿Quieres finalizar este chat de voz?</string>
<string name="VoipGroupLeaveAlertEndChat">Finalizar chat de voz</string>
<string name="VoipGroupViewVoiceChat">VER CHAT DE VOZ</string>
<string name="VoipGroupVoiceChat">Chat de voz</string>
<string name="VoipGroupOpenVoiceChat">Abrir chat de voz</string>
<string name="VoipGroupInviteAlreadyParticipant">El usuario elegido ya está en este chat de voz.</string>
<string name="VoipGroupJoinAnonymousAdmin">Lo sentimos, no puedes unirte a chats de voz como administrador anónimo.</string>
<string name="VoipGroupInvitedToVoiceChat">un1 invitó a un2 al chat de voz</string>
<string name="VoipGroupJoinCall">Unirme al chat de voz</string>
<string name="VoipGroupInviteText">¡Oye! Únete a nuestro chat de voz: %1$s</string>
<string name="VoipGroupInviteMember">Invitar miembros</string>
<string name="VoipGroupUserRemove">Eliminar</string>
<string name="VoipGroupAllowToSpeak">Permitirle hablar</string>
<string name="VoipGroupSearchMembers">Buscar miembros para invitar...</string>
<string name="VoipGroupCopyInviteLink">Copiar enlace de invitación</string>
<string name="VoipGroupCopyInviteLinkCopied">Enlace de invitación copiado al portapapeles.</string>
<string name="VoipGroupUnmute">Toca para activar</string>
<string name="VoipGroupEndedStartNew">Chat de voz finalizado. ¿Quieres iniciar uno nuevo?</string>
<string name="VoipGroupAddMemberTitle">Añadir miembro</string>
<string name="VoipGroupAddMemberText">¿Quieres añadir a **%1$s** a **%2$s**?</string>
<string name="VoipGroupInvitedUser">Invitaste a **%1$s** al chat de voz.</string>
<string name="VoipGroupAdd">Añadir</string>
<string name="MembersTalkingNobody">Toca para unirte</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">Mensaje al %1$s</string>
<string name="ContactShortcutVoiceCall">Llamada de voz al %1$s</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">%1$d miembros</string>
<string name="Members_many">%1$d miembros</string>
<string name="Members_other">%1$d miembros</string>
<string name="Participants_zero">%1$d participantes</string>
<string name="Participants_one">%1$d participante</string>
<string name="Participants_two">%1$d participantes</string>
<string name="Participants_few">%1$d participantes</string>
<string name="Participants_many">%1$d participantes</string>
<string name="Participants_other">%1$d participantes</string>
<string name="AndMoreTyping_zero">y %1$d más están escribiendo</string>
<string name="AndMoreTyping_one">y %1$d más están escribiendo</string>
<string name="AndMoreTyping_two">y %1$d más están escribiendo</string>
@ -3346,7 +3460,7 @@
<string name="NewMessages_many">%1$d mensajes nuevos</string>
<string name="NewMessages_other">%1$d mensajes nuevos</string>
<string name="MessagesUnpinned_zero">%1$d mensajes desfijados</string>
<string name="MessagesUnpinned_one">mensaje desfijado</string>
<string name="MessagesUnpinned_one">Mensaje desfijado</string>
<string name="MessagesUnpinned_two">%1$d mensajes desfijados</string>
<string name="MessagesUnpinned_few">%1$d mensajes desfijados</string>
<string name="MessagesUnpinned_many">%1$d mensajes desfijados</string>
@ -3507,12 +3621,12 @@
<string name="Shares_few">%1$s reenvíos</string>
<string name="Shares_many">%1$s reenvíos</string>
<string name="Shares_other">%1$s reenvíos</string>
<string name="PublicSharesCount_zero">%1$s reenvíos públicos</string>
<string name="PublicSharesCount_one">%1$s reenvío público</string>
<string name="PublicSharesCount_two">%1$s reenvíos públicos</string>
<string name="PublicSharesCount_few">%1$s reenvíos públicos</string>
<string name="PublicSharesCount_many">%1$s reenvíos públicos</string>
<string name="PublicSharesCount_other">%1$s reenvíos públicos</string>
<string name="PublicSharesCount_zero">%1$s reenvíos en público</string>
<string name="PublicSharesCount_one">%1$s reenvío en público</string>
<string name="PublicSharesCount_two">%1$s reenvíos en público</string>
<string name="PublicSharesCount_few">%1$s reenvíos en público</string>
<string name="PublicSharesCount_many">%1$s reenvíos en público</string>
<string name="PublicSharesCount_other">%1$s reenvíos en público</string>
<string name="Shared_zero">%1$s reenvíos</string>
<string name="Shared_one">%1$s reenvío</string>
<string name="Shared_two">%1$s reenvíos</string>
@ -3746,11 +3860,14 @@
<string name="AccDescrGroup">Grupo</string>
<string name="AccDescrChannel">Canal</string>
<string name="AccDescrSecretChat">Chat secreto</string>
<string name="AccDescrSentDate">Enviado el %s</string>
<string name="AccDescrSentDate">Enviado %s</string>
<string name="AccDescrReceivedDate">Recibido el %s</string>
<string name="AccDescrScheduledDate">Programado para el %s</string>
<string name="AccDescrGoBack">Volver atrás</string>
<string name="AccDescrOpenMenu">Abrir menú de navegación</string>
<string name="AccDescrOpenMenu2">Abrir menú</string>
<string name="AccDescrCloseMenu">Cerrar menú</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s por %1$s</string>
<string name="AccDescrMoreOptions">Más opciones</string>
<string name="AccActionPlay">Reproducir</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'Recordar hoy a las\' HH:mm</string>
<string name="RemindDayAt">\'Recordar el\' d \'de\' MMM \'a las\' HH:mm</string>
<string name="RemindDayYearAt">\'Recordar el\' d \'de\' MMM \'de\' yyyy \'a las\' HH:mm</string>
<string name="Enable">Activar</string>
</resources>

View File

@ -39,7 +39,7 @@
<string name="CancelAccountReset">Annulla ripristino account</string>
<string name="CancelAccountResetInfo2">Qualcuno con accesso a **%1$s** ha richiesto l\'eliminazione del tuo account Telegram e il ripristino della password della verifica in due passaggi.\n\nSe non sei stato tu, per favore inserisci il codice che abbiamo appena inviato tramite SMS. Puoi anche annullare *cambiando il tuo numero di telefono*.</string>
<string name="ResetAccount">Ripristino account</string>
<string name="ResetAccountInfo">Dato che l\'account **%1$s** è attivo e protetto da una password, lo elimineremo tra 1 settimana per motivi di sicurezza.\n\nPuoi annullare questo processo in qualsiasi momento.</string>
<string name="ResetAccountInfo">Dato che l\'account **%1$s** è attivo e protetto da una password, sarà eliminato tra 1 settimana. Questo ritardo è richiesto per motivi di sicurezza.\n\nPuoi annullare questo processo in qualsiasi momento.</string>
<string name="ResetAccountStatus">Potrai ripristinare il tuo account tra:</string>
<string name="ResetAccountCancelledAlert">I tuoi tentativi recenti di ripristinare questo account sono stati annullati dal suo utente attivo. Per favore riprova tra 7 giorni.</string>
<string name="ResetAccountButton">RIPRISTINA ACCOUNT</string>
@ -53,8 +53,8 @@
<string name="LastName">Cognome (facoltativo)</string>
<string name="CancelRegistration">Annulla iscrizione</string>
<!--payments view-->
<string name="PaymentSuccessfullyPaid">Hai appena trasferito con successo %1$s a %2$s per %3$s</string>
<string name="PaymentSuccessfullyPaidNoItem">Hai appena trasferito con successo %1$s a %2$s</string>
<string name="PaymentSuccessfullyPaid">Hai trasferito con successo %1$s a %2$s per %3$s</string>
<string name="PaymentSuccessfullyPaidNoItem">Hai trasferito con successo %1$s a %2$s</string>
<string name="PaymentCheckout">Cassa</string>
<string name="PaymentShippingMethod">Metodi di spedizione</string>
<string name="PaymentNoShippingMethod">Spiacenti, non è possibile consegnare al tuo indirizzo.</string>
@ -165,6 +165,7 @@
<string name="DialogPin">Fissa</string>
<string name="DialogUnpin">Togli</string>
<string name="Archive">Archivia</string>
<string name="ArchiveSearchFilter">Archivio</string>
<string name="Unarchive">Estrai</string>
<string name="ArchivedChats">Chat archiviate</string>
<string name="DeleteChatUser">Elimina chat</string>
@ -172,7 +173,7 @@
<string name="SelectChat">Seleziona chat</string>
<string name="ForwardTo">Inoltra a...</string>
<string name="DisappearingPhoto">Foto segreta</string>
<string name="DisappearingVideo">Video segreto</string>
<string name="DisappearingVideo">Video temporaneo</string>
<string name="DisappearingGif">GIF segreta</string>
<string name="CompatibilityChat">%1$s sta usando una versione vecchia di Telegram, quindi le foto segrete saranno visualizzate in modalità di compatibilità.\n\nUna volta che %2$s avrà aggiornato Telegram, le foto con il timer minore di 1 minuto funzioneranno in modalità \'Tieni premuto per vedere\' , e sarai notificato ogni volta che l\'altro esegue uno screenshot.</string>
<string name="SearchMessages">Messaggi</string>
@ -181,7 +182,7 @@
<string name="MuteFor">Silenzia per %1$s</string>
<string name="UnmuteNotifications">Suona</string>
<string name="WillUnmuteIn">Tra %1$s</string>
<string name="MuteDisable">Silenzia per sempre</string>
<string name="MuteDisable">Disattiva</string>
<string name="Hashtags">HASHTAG</string>
<string name="Recent">Recenti</string>
<string name="ChatHints">Persone</string>
@ -267,10 +268,10 @@
<string name="MegaLeaveAlertWithName">Sei sicuro di voler lasciare **%1$s**?</string>
<string name="GroupUserCantAdd">Spiacenti, non puoi aggiungere questo utente ai gruppi.</string>
<string name="GroupUserAddLimit">Spiacenti, questo gruppo è pieno.</string>
<string name="GroupUserLeftError">Spiacenti, se una persona non fa più parte di un gruppo, devi essere nei suoi contatti di Telegram per poterla aggiungere di nuovo.\n\nTieni presente che può comunque partecipare tramite link di invito del gruppo purché non sia nell\'elenco Utenti rimossi.</string>
<string name="GroupUserLeftError">Spiacenti, se una persona non fa più parte di un gruppo, devi essere nei suoi contatti di Telegram per poterla riaggiungere.\n\nTieni presente che può comunque unirsi con il link d\'invito del gruppo purché non sia nell\'elenco Utenti rimossi.</string>
<string name="GroupUserCantAdmin">Spiacenti, troppi amministratori in questo gruppo.</string>
<string name="PublicChannelsTooMuch">Spiacenti, l\'utente in oggetto ha già troppi gruppi o canali pubblici. Per favore chiedigli di rendere privato uno dei suoi gruppi o canali.</string>
<string name="LocatedChannelsTooMuch">Spiacenti, l\'utente in oggetto ha già troppi gruppi basati sulla posizione. Per favore chiedigli di eliminare o trasferire prima uno di quelli.</string>
<string name="PublicChannelsTooMuch">Spiacenti, l\'utente selezionato ha già troppi gruppi o canali pubblici. Per favore chiedigli di rendere privato uno dei suoi gruppi o canali.</string>
<string name="LocatedChannelsTooMuch">Spiacenti, l\'utente selezionato ha già troppi gruppi basati sulla posizione. Per favore chiedigli di eliminarne o trasferirne uno prima.</string>
<string name="YourLocatedChannelsTooMuch">Spiacenti, hai già troppi gruppi basati sulla posizione. Per favore eliminane prima uno dei tuoi.</string>
<string name="GroupUserCantBot">Spiacenti, troppi bot in questo gruppo.</string>
<string name="ActionPinnedText">un1 ha fissato \"%1$s\"</string>
@ -295,7 +296,7 @@
<string name="NoBlockedChannel2">Gli utenti rimossi dal canale dagli amministratori non possono rientrare tramite link d\'invito.</string>
<string name="NewChannel">Nuovo canale</string>
<string name="EnterChannelName">Nome del canale</string>
<string name="AddMutual">Aggiungi contatti al tuo canale</string>
<string name="AddMutual">Aggiungi persone al tuo canale</string>
<string name="ChannelUsernameHelp">Se imposti un link permanente, le altre persone potranno trovare il tuo canale e unirsi.\n\nPuoi usare a-z, 0-9 e underscore.\nLa lunghezza minima è 5 caratteri.</string>
<string name="MegaUsernameHelp">Se imposti un link permanente, le altre persone potranno trovare il tuo gruppo e unirsi.\n\nPuoi usare a-z, 0-9 e underscore.\nLa lunghezza minima è 5 caratteri.</string>
<string name="ChannelVerifiedWarning">Attenzione</string>
@ -371,7 +372,7 @@
<string name="ActionChannelChangedVideo">Video del canale cambiato</string>
<string name="ActionChannelRemovedPhoto">Foto del canale rimossa</string>
<string name="ActionChannelChangedTitle">Nome del canale cambiato in un2</string>
<string name="ChangePublicLimitReached">Spiacenti, hai riservato troppi username pubblici. Puoi revocare il link da uno dei tuoi gruppi o canali più vecchi, o creare invece delle entità private.</string>
<string name="ChangePublicLimitReached">Hai riservato troppi link pubblici. Prova a revocare il link da un gruppo o canale più vecchio, oppure creane uno privato.</string>
<string name="ChannelCreator">Proprietario</string>
<string name="ChannelAdministrator">Amministratore</string>
<string name="ChannelAdmin">Amministratore</string>
@ -380,7 +381,7 @@
<string name="ChannelAddAdmin">Aggiungi amministratore</string>
<string name="ChannelBlockUser">Rimuovi utente</string>
<string name="Unban">Sblocca</string>
<string name="UnbanText">Tieni premuto sull\'utente per sbloccarlo.</string>
<string name="UnbanText">Tieni premuto l\'utente per sbloccarlo.</string>
<string name="ChannelInviteViaLink">Invita tramite link</string>
<string name="ChannelRemoveUserAdmin">Rimuovi amministratore</string>
<string name="ChannelEditPermissions">Modifica permessi</string>
@ -393,11 +394,11 @@
<string name="ChannelCantOpenBanned">Sfortunatamente, non ti è permesso partecipare ai gruppi pubblici.</string>
<string name="ChannelCantOpenNa">Spiacenti, questa chat non è più accessibile.</string>
<string name="ChannelAddTo">Aggiungere %1$s al canale?</string>
<string name="ChannelUserLeftError">Spiacenti, se una persona non fa più parte di un canale, devi essere nei suoi contatti di Telegram per poterla aggiungere di nuovo.\n\nTieni presente che può comunque partecipare tramite link di invito del canale purché non sia nell\'elenco Utenti rimossi.</string>
<string name="ChannelUserLeftError">Spiacenti, se una persona non fa più parte di un canale, devi essere nei suoi contatti di Telegram per poterla riaggiungere.\n\nTieni presente che può comunque unirsi con il link d\'invito del canale purché non sia nell\'elenco Utenti rimossi.</string>
<string name="ChannelUserCantAdd">Spiacenti, non puoi aggiungere questo utente ai canali.</string>
<string name="ChannelUserCantAdmin">Spiacenti, troppi amministratori in questo canale.</string>
<string name="ChannelUserCantBot">Spiacenti, troppi bot in questo canale.</string>
<string name="ChannelUserAddLimit">Spiacenti, puoi aggiungere solo i primi 200 membri a un canale. Ricorda che un numero illimitato di persone potrebbe unirsi tramite il link del canale.</string>
<string name="ChannelUserAddLimit">Spiacenti, puoi aggiungere solo i primi 200 iscritti a un canale. Ricorda che un numero illimitato di persone può unirsi con il link del canale.</string>
<string name="ChannelTooMuchTitle">Troppe community</string>
<string name="ChannelTooMuch">Spiacenti, sei membro di troppi gruppi e canali. Per favore lasciane qualcuno prima di crearne uno nuovo.</string>
<string name="ChannelTooMuchJoin">Spiacenti, sei membro di troppi gruppi e canali. Per favore lasciane qualcuno prima di unirti ad uno.</string>
@ -444,7 +445,7 @@
<string name="EditAdminDeleteMessages">Eliminare messaggi altrui</string>
<string name="EditAdminGroupDeleteMessages">Eliminare messaggi</string>
<string name="EditAdminAddAdmins">Aggiungere amministratori</string>
<string name="EditAdminSendAnonymously">Inviare anonimamente</string>
<string name="EditAdminSendAnonymously">Rimanere anonimo</string>
<string name="EditAdminRemoveAdmin">Rimuovi amministratore</string>
<string name="EditAdminGroupTransfer">Trasferisci proprietà gruppo</string>
<string name="EditAdminChannelTransfer">Trasferisci proprietà canale</string>
@ -457,8 +458,8 @@
<string name="EditAdminTransferSetPassword">Imposta password</string>
<string name="EditAdminTransferReadyAlertText">Questo trasferirà tutti i **diritti di proprietà** per **%1$s** a **%2$s**.</string>
<string name="EditAdminTransferChangeOwner">Cambia proprietario</string>
<string name="EditAdminTransferGroupToast">**%1$s** è ora il proprietario del gruppo.</string>
<string name="EditAdminTransferChannelToast">**%1$s** è ora il proprietario del canale.</string>
<string name="EditAdminTransferGroupToast">**%1$s** ora è il proprietario del gruppo.</string>
<string name="EditAdminTransferChannelToast">**%1$s** ora è il proprietario del canale.</string>
<string name="EditAdminBanUsers">Bloccare utenti</string>
<string name="EditAdminAddUsers">Aggiungere utenti</string>
<string name="EditAdminAddUsersViaLink">Invitare utenti tramite link</string>
@ -475,7 +476,7 @@
<string name="UserRestrictionsSend">Inviare messaggi</string>
<string name="UserRestrictionsSendMedia">Inviare media</string>
<string name="UserRestrictionsSendPolls">Inviare sondaggi</string>
<string name="UserRestrictionsSendStickers">Inviare stickers e GIF</string>
<string name="UserRestrictionsSendStickers">Inviare sticker e GIF</string>
<string name="UserRestrictionsEmbedLinks">Inviare link con anteprima</string>
<string name="UserRestrictionsChangeInfo">Cambiare le info chat</string>
<string name="UserRestrictionsPinMessages">Fissare messaggi</string>
@ -503,7 +504,7 @@
<string name="ChatSetNewPhoto">Imposta nuova foto</string>
<string name="ChatSetPhotoOrVideo">Imposta foto o video</string>
<string name="ChatHistoryVisible">Visibile</string>
<string name="ChatHistoryVisibleInfo">I nuovi membri vedranno i messaggi che sono stati inviati prima che si unissero.</string>
<string name="ChatHistoryVisibleInfo">I nuovi membri vedranno i messaggi inviati prima di unirsi.</string>
<string name="ChatHistoryHidden">Nascosta</string>
<string name="ChatHistoryHiddenInfo">I nuovi membri non vedranno i messaggi precedenti.</string>
<string name="ChatHistoryHiddenInfo2">I nuovi membri non vedranno più di 100 messaggi precedenti.</string>
@ -531,7 +532,7 @@
<string name="ChooseFromSearch">Ricerca web</string>
<string name="Statistics">Statistiche</string>
<string name="AddBotAsAdmin">I bot possono essere aggiunti solo come amministratori</string>
<string name="CantAddBotAsAdmin">Spiacenti, i bot possono essere aggiunti ai canali solo come amministratori.</string>
<string name="CantAddBotAsAdmin">I bot possono essere aggiunti ai canali solo come amministratori.</string>
<string name="MakeAdmin">RENDI AMMINISTRATORE</string>
<string name="AdminWillBeRemoved">%1$s sarà rimosso dagli amministratori se lo limiti.</string>
<string name="Discussion">Discussione</string>
@ -541,7 +542,7 @@
<string name="DiscussionChannelHelp3">Seleziona una chat di gruppo che ospiterà i commenti dal tuo canale.</string>
<string name="DiscussionChannelHelp2">Tutto ciò che pubblichi nel canale verrà inoltrato in questo gruppo.</string>
<string name="DiscussionChannelGroupSetHelp2">**%1$s** è il gruppo che sarà usato per ospitare i commenti per il tuo canale.</string>
<string name="DiscussionGroupHelp">Il gruppo è collegato come chat di discussione di **%1$s**.</string>
<string name="DiscussionGroupHelp">Il gruppo è collegato come chat di discussione di %1$s.</string>
<string name="DiscussionGroupHelp2">Tutti i nuovi messaggi pubblicati in questo canale sono inoltrati nel gruppo.</string>
<string name="DiscussionCreateGroup">Crea un nuovo gruppo</string>
<string name="DiscussionUnlinkGroup">Scollega gruppo</string>
@ -567,6 +568,7 @@
<string name="SlowmodeSelectSendError">La modalità lenta è attiva. Non puoi selezionare più elementi.</string>
<string name="SlowmodeSendErrorTooLong">Spiacenti, questo testo è troppo lungo da inviare come singolo messaggio.\n\nLa modalità lenta è attiva. Non puoi inviare più di un messaggio alla volta.</string>
<string name="UserSetAsAdminHint">**%1$s** promosso ad amministratore</string>
<string name="UserRemovedFromChatHint">**%1$s** rimosso da **%2$s**</string>
<!--polls-->
<string name="NewPoll">Nuovo sondaggio</string>
<string name="NewQuiz">Nuovo quiz</string>
@ -639,14 +641,14 @@
<!--event log-->
<string name="EventLog">Azioni recenti</string>
<string name="EventLogAllEvents">Tutte le azioni</string>
<string name="EventLogSelectedEvents">Azioni selezionate</string>
<string name="EventLogSelectedEvents">azioni selezionate</string>
<string name="EventLogAllAdmins">Tutti gli amministratori</string>
<string name="EventLogEmpty">**Ancora nessuna azione**\n\nI membri e gli amministratori del\ngruppo non hanno eseguito azioni\ndi servizio nelle ultime 48 ore.</string>
<string name="EventLogEmptyChannel">**Ancora nessuna azione**\n\nGli amministratori del canale non\nhanno eseguito azioni di servizio\nnelle ultime 48 ore.</string>
<string name="EventLogEmptySearch">**Nessuna azione trovata**\n\nNon sono state trovate azioni recenti\nche rispondono alla tua richiesta.</string>
<string name="EventLogEmptyTextSearch">Non sono state trovate azioni recenti contenenti \'**%1$s**\'&#160;.</string>
<string name="EventLogInfoTitle">Cosa sono le azioni recenti?</string>
<string name="EventLogInfoDetail">Questa è una lista di tutte le azioni di servizio effettuate dai membri e dagli amministratori del gruppo nelle ultime 48 ore.</string>
<string name="EventLogInfoDetail">Questa è una lista delle azioni importanti da parte di membri e amministratori nelle ultime 48 ore.</string>
<string name="EventLogInfoDetailChannel">Questa è una lista di tutte le azioni di servizio eseguite dagli amministratori del canale nelle ultime 48 ore.</string>
<string name="EventLogEditedGroupTitle">un1 ha rinominato il gruppo in \"%1$s\"</string>
<string name="EventLogEditedChannelTitle">un1 ha rinominato il canale in \"%1$s\"</string>
@ -716,8 +718,9 @@
<string name="EventLogPromotedEditMessages">Modificare messaggi</string>
<string name="EventLogPromotedDeleteMessages">Eliminare messaggi</string>
<string name="EventLogPromotedAddAdmins">Aggiungere amministratori</string>
<string name="EventLogPromotedSendAnonymously">Invia anonimamente</string>
<string name="EventLogPromotedSendAnonymously">Rimani anonimo</string>
<string name="EventLogPromotedBanUsers">Bloccare utenti</string>
<string name="EventLogPromotedManageCall">Gestire chat vocali</string>
<string name="EventLogPromotedAddUsers">Aggiungere utenti</string>
<string name="EventLogPromotedTitle">Titolo: %1$s</string>
<string name="EventLogPromotedRemovedTitle">Titolo</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">Messaggi modificati</string>
<string name="EventLogFilterPinnedMessages">Messaggi fissati</string>
<string name="EventLogFilterLeavingMembers">Membri usciti</string>
<string name="EventLogToggledSlowmodeOn">un1 ha attivato la modalità lenta con timer %1$s</string>
<string name="EventLogFilterCalls">Chat vocali</string>
<string name="EventLogToggledSlowmodeOn">un1 ha impostato la modalità lenta a %1$s</string>
<string name="EventLogToggledSlowmodeOff">un1 ha disattivato la modalità lenta</string>
<string name="EventLogStartedVoiceChat">un1 ha iniziato una chat vocale</string>
<string name="EventLogEndedVoiceChat">un1 ha terminato la chat vocale</string>
<string name="EventLogVoiceChatMuted">un1 ha silenziato un2 in una chat vocale</string>
<string name="EventLogVoiceChatUnmuted">un1 ha riattivato un2 in una chat vocale</string>
<string name="EventLogVoiceChatAllowedToSpeak">un1 ha permesso ai nuovi partecipanti della chat vocale di parlare</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">un1 ha silenziato i nuovi partecipanti della chat vocale</string>
<!--broadcasts-->
<string name="NewBroadcastList">Nuova lista broadcast</string>
<string name="EnterListName">Inserisci il nome della lista</string>
@ -749,7 +759,7 @@
<string name="AttachMusic">Musica</string>
<string name="AudioUnknownArtist">Artista sconosciuto</string>
<string name="AudioUnknownTitle">Titolo sconosciuto</string>
<string name="RepeatSong">Ripeti canzone</string>
<string name="RepeatSong">Ripeti traccia</string>
<string name="RepeatList">Ripeti lista</string>
<string name="ShuffleList">Lista casuale</string>
<string name="ReverseOrder">Inverti ordine</string>
@ -824,7 +834,7 @@
<string name="ChatDocument">File</string>
<string name="ChatCamera">Foto</string>
<string name="NoMessages">Ancora nessun messaggio...</string>
<string name="NoScheduledMessages">Ancora nessun messaggio programmato qui...</string>
<string name="NoScheduledMessages">Ancora nessun messaggio programmato...</string>
<string name="ForwardedMessage">Messaggio inoltrato</string>
<string name="From">Da</string>
<string name="FromFormatted">Da %1$s</string>
@ -852,7 +862,7 @@
<string name="SlideToCancel">SCORRI PER ANNULLARE</string>
<string name="SaveToDownloads">Salva nei download</string>
<string name="SaveToGIFs">Salva nelle GIF</string>
<string name="DeleteGif">Eliminare la GIF?</string>
<string name="DeleteGif">Eliminare la GIF da questa sezione?</string>
<string name="SaveToMusic">Salva nella musica</string>
<string name="ShareFile">Condividi</string>
<string name="ApplyLocalizationFile">Applica traduzione</string>
@ -904,7 +914,7 @@
<string name="PinMessageAlertTitle">Fissa messaggio</string>
<string name="UnpinMessageAlertTitle">Togli messaggio</string>
<string name="PinOldMessageAlert">Vuoi fissare un vecchio messaggio lasciandone fissato uno più recente?</string>
<string name="PinMessageAlert">Vuoi fissare questo messaggio per tutti i membri del gruppo?</string>
<string name="PinMessageAlert">Fissare questo messaggio nel gruppo?</string>
<string name="PinMessageAlertChannel">Vuoi fissare questo messaggio in questo canale?</string>
<string name="PinMessageAlertChat">Vuoi fissare questo messaggio nella parte superiore della chat?</string>
<string name="UnpinMessageAlert">Vuoi togliere questo messaggio?</string>
@ -935,6 +945,13 @@
<string name="EditMessage">Modifica messaggio</string>
<string name="EditCaption">Modifica didascalia</string>
<string name="EditMessageMedia">Tocca per modificare</string>
<string name="EditMessageEditPhoto">Modifica foto</string>
<string name="EditMessageEditVideo">Modifica video</string>
<string name="EditMessageReplacePhoto">Cambia foto</string>
<string name="EditMessageReplaceVideo">Cambia video</string>
<string name="EditMessageReplaceGif">Cambia media</string>
<string name="EditMessageReplaceFile">Cambia file</string>
<string name="EditMessageReplaceAudio">Cambia file audio</string>
<string name="AttachBotsHelp">Scorri in basso per i bot</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">Spiacenti, tempo di modifica scaduto.</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">Tocca per le foto, tieni premuto per i video</string>
<string name="TapToViewAsList">Tocca per vedere come lista.</string>
<string name="SendWithoutSound">Invia senza suono</string>
<string name="SendAsNewPhoto">Invia come nuova foto</string>
<string name="ReplacePhoto">Sostituisci foto</string>
<string name="MessageScheduleSend">Invia ora</string>
<string name="MessageScheduleEditTime">Riprogramma</string>
<string name="MessageScheduleToday">Oggi</string>
@ -1052,13 +1071,13 @@
<string name="BotOwnershipTransfer">Trasferisci proprietà bot</string>
<string name="BotOwnershipTransferReadyAlertText">Questo trasferirà tutti i **diritti di proprietà** per il bot all\'utente selezionato.</string>
<string name="BotOwnershipTransferChangeOwner">Cambia proprietario</string>
<string name="BotOwnershipTransferAlertText">Puoi trasferire il bot solo se hai:</string>
<string name="BotOwnershipTransferAlertText">Puoi trasferire questo bot solo se hai:</string>
<string name="LeaveAComment">Lascia un commento</string>
<string name="CommentsTitle">Commenti</string>
<string name="Comment">Commenta</string>
<string name="RepliesTitle">Risposte</string>
<string name="NoComments">Ancora nessun commento qui...</string>
<string name="NoReplies">Ancora nessuna risposta qui...</string>
<string name="NoComments">Ancora nessun commento...</string>
<string name="NoReplies">Ancora nessuna risposta...</string>
<string name="ViewInChat">Visualizza in chat</string>
<string name="SendAnonymously">Invia anonimamente</string>
<string name="DiscussionStarted">Discussione iniziata</string>
@ -1116,7 +1135,7 @@
<string name="NotificationMessageGroupDocument">%1$s ha inviato un file nel gruppo %2$s</string>
<string name="NotificationMessageGroupGif">%1$s ha inviato una GIF nel gruppo %2$s</string>
<string name="NotificationMessageGroupInvoice">%1$s ha inviato una fattura nel gruppo %2$s per %3$s</string>
<string name="NotificationMessageGroupAudio">%1$s ha inviato un messaggio vocale nel gruppo %2$s</string>
<string name="NotificationMessageGroupAudio">%1$s ha inviato un messaggio vocale a %2$s</string>
<string name="NotificationMessageGroupRound">%1$s ha inviato un videomessaggio nel gruppo %2$s</string>
<string name="NotificationMessageGroupMusic">%1$s ha inviato un file audio nel gruppo %2$s</string>
<string name="NotificationMessageGroupSticker">%1$s ha inviato uno sticker nel gruppo %2$s</string>
@ -1126,13 +1145,17 @@
<string name="NotificationEditedGroupPhoto">%1$s ha modificato la foto del gruppo %2$s</string>
<string name="NotificationEditedGroupVideo">%1$s ha cambiato il video del gruppo per %2$s</string>
<string name="NotificationGroupAddMember">%1$s ha invitato %3$s nel gruppo %2$s</string>
<string name="NotificationGroupInvitedToCall">%1$s ha invitato %3$s in una chat vocale in %2$s</string>
<string name="NotificationGroupInvitedYouToCall">%1$s ti ha invitato in una chat vocale in %2$s</string>
<string name="NotificationGroupCreatedCall">%1$s ha iniziato una chat vocale in %2$s</string>
<string name="NotificationGroupEndedCall">%1$s ha terminato la chat vocale in %2$s</string>
<string name="NotificationGroupAddSelf">%1$s è tornato nel gruppo %2$s</string>
<string name="NotificationGroupAddSelfMega">%1$s si è unito al gruppo %2$s</string>
<string name="NotificationGroupKickMember">%1$s ha rimosso %3$s dal gruppo %2$s</string>
<string name="NotificationGroupKickYou">%1$s ti ha rimosso dal gruppo %2$s</string>
<string name="NotificationGroupLeftMember">%1$s ha lasciato il gruppo %2$s</string>
<string name="NotificationContactJoined">%1$s si è unito a Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo il %2$s\n\nDispositivo: %3$s\nPosizione: %4$s\n\nSe non sei stato tu, puoi andare in Impostazioni - Privacy e sicurezza - Sessioni - Termina tutte le sessioni.\n\nSe pensi che qualcuno si sia collegato al tuo account contro il tuo volere, puoi attivare la verifica in due passaggi nelle impostazioni di Privacy e sicurezza.\n\nCordiali saluti,\nil team di Telegram</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo il %2$s\n\nDispositivo: %3$s\nPosizione: %4$s\n\nSe non sei stato tu, puoi andare in Impostazioni &gt; Dispositivi e terminare quella sessione.\n\nSe pensi che qualcuno si sia collegato al tuo account contro il tuo volere, puoi attivare la Verifica in due passaggi nelle impostazioni di Privacy e sicurezza.\n\nCordiali saluti,\nil team di Telegram</string>
<string name="NotificationContactNewPhoto">%1$s ha aggiornato la foto del profilo</string>
<string name="NotificationInvitedToGroupByLink">%1$s si è unito al gruppo %2$s tramite link d\'invito</string>
<string name="NotificationGroupFew">%1$s ha inviato %3$s nel gruppo %2$s</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">%1$s ha fissato un file nel gruppo %2$s</string>
<string name="NotificationActionPinnedSticker">%1$s ha fissato uno sticker nel gruppo %2$s</string>
<string name="NotificationActionPinnedStickerEmoji">%1$s ha fissato uno %3$s sticker nel gruppo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s ha fissato un messaggio vocale nel gruppo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s ha fissato un messaggio vocale in %2$s</string>
<string name="NotificationActionPinnedRound">%1$s ha fissato un videomessaggio nel gruppo %2$s</string>
<string name="NotificationActionPinnedContact2">%1$s ha fissato un contatto %3$s nel gruppo %2$s</string>
<string name="NotificationActionPinnedGeo">%1$s ha fissato una posizione nel gruppo %2$s</string>
@ -1212,7 +1235,7 @@
<string name="ShareContactTitle">Condividi contatto</string>
<string name="AddContactPhonebookTitle">Aggiungi contatto</string>
<string name="NoContacts">Ancora nessun contatto</string>
<string name="InviteText2">Ehi, sto usando Telegram per messaggiare. Unisciti a me! Scaricalo qui: %1$s</string>
<string name="InviteText2">Ehi, sto usando Telegram per chattare. Unisciti a me! Scaricalo qui: %1$s</string>
<string name="TodayAt">alle</string>
<string name="YesterdayAt">ieri alle</string>
<string name="TodayAtFormatted">alle %1$s</string>
@ -1242,7 +1265,7 @@
<string name="PhoneNumberSearch">Numero di telefono</string>
<string name="NoContactsYet">Non hai ancora contatti su Telegram</string>
<string name="NoContactsYetLine1">Invita gli amici a provare Telegram</string>
<string name="NoContactsYetLine2">Trova persone nelle vicinanze con cui messaggiare</string>
<string name="NoContactsYetLine2">Trova persone nelle vicinanze con cui chattare</string>
<string name="NoContactsYetLine3">Cerca persone tramite username</string>
<string name="NewContactAlertTitle">Nuovo contatto</string>
<string name="NewContactAlertMessage">Il numero di telefono **%1$s** non è tra i tuoi contatti. Vuoi aggiungerlo?</string>
@ -1262,13 +1285,14 @@
<string name="JoinByPeekJoin">UNISCITI</string>
<string name="LinkCopied">Link copiato negli appunti</string>
<string name="LinkCopiedPrivate">Link copiato negli appunti.\nQuesto link funzionerà solo per i membri di questa chat.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">Sfortunatamente, non puoi accedere a questo messaggio. Non sei membro della chat in cui è stato pubblicato.</string>
<string name="PhoneCopied">Numero copiato negli appunti</string>
<string name="EmailCopied">Email copiata negli appunti</string>
<string name="InviteToGroupByLink">Invita nel gruppo tramite link</string>
<string name="InviteLink">Link d\'invito</string>
<string name="RevokeAlert">Sei sicuro di voler revocare questo link? Una volta fatto, nessuno potrà unirsi utilizzandolo.</string>
<string name="RevokeAlertNewLink">Il precedente link d\'invito è ora inattivo. Ne è stato creato uno nuovo.</string>
<string name="RevokeAlertNewLink">Il precedente link d\'invito ora è inattivo. Ne è stato creato uno nuovo.</string>
<string name="RevokeButton">Revoca</string>
<string name="RevokeLink">Revoca link</string>
<string name="RevokeLinkAlert">Sei sicuro di voler revocare il link **%1$s**?\n\nIl gruppo \"**%2$s**\" diventerà privato.</string>
@ -1284,7 +1308,7 @@
<string name="SETTINGS">Impostazioni</string>
<string name="AddSubscriber">Aggiungi iscritto</string>
<string name="AddMember">Aggiungi membro</string>
<string name="SetAdmins">Imposta amministratori</string>
<string name="SetAdmins">Aggiungi amministratori</string>
<string name="BanFromTheGroup">RIMUOVI DAL GRUPPO</string>
<string name="DeleteAndExit">Elimina e lascia il gruppo</string>
<string name="DeleteAndExitButton">Elimina e lascia il gruppo</string>
@ -1296,7 +1320,7 @@
<string name="ConvertGroupMenu">Converti in supergruppo</string>
<string name="ConvertGroupAlertWarning">Attenzione</string>
<string name="ConvertGroupAlert">Questa azione è irreversibile. Non è possibile trasformare un supergruppo in un gruppo normale.</string>
<string name="ConvertGroupInfo">**Limite membri raggiunto.**\n\nPer superare il limite e sbloccare nuove funzioni, aggiorna a supergruppo:\n\n• I supergruppi hanno massimo %1$s\n• I nuovi membri vedono tutta la cronologia\n• I messaggi eliminati scompaiono per tutti\n• Gli admin possono aggiungere una descrizione al gruppo\n• Il creatore può creare un link pubblico per il gruppo</string>
<string name="ConvertGroupInfo">**Limite membri raggiunto.**\n\nPer avere maggiore spazio e funzioni aggiuntive, aggiorna a supergruppo:\n\n• I supergruppi hanno massimo %1$s\n• I nuovi membri possono vedere tutta la cronologia\n• I messaggi eliminati scompaiono per tutti\n• Gli admin possono aggiungere una descrizione al gruppo\n• Il proprietario può creare un link pubblico per il gruppo</string>
<string name="ConvertGroupInfo2">**Nei supergruppi:**\n\n• I nuovi membri vedono tutta la cronologia\n• I messaggi eliminati scompaiono per tutti\n• Gli admin possono aggiungere una descrizione al gruppo\n• Il creatore può creare un link pubblico per il gruppo</string>
<string name="ConvertGroupInfo3">**Nota:** questa azione non può essere annullata.</string>
<!--contact info view-->
@ -1332,7 +1356,7 @@
<string name="UserBioDetail">Aggiungi qualche riga su di te</string>
<string name="UserBioEmpty">Nessuna</string>
<string name="UserBioInfo">Puoi aggiungere qualche riga su di te. Chiunque apra il tuo profilo vedrà questo testo.</string>
<string name="StartEncryptedChat">Inizia chat segreta</string>
<string name="StartEncryptedChat">Avvia chat segreta</string>
<string name="GroupsInCommon">Gruppi in comune</string>
<string name="GroupsInCommonTitle">Gruppi in comune</string>
<string name="NoGroupsInCommon">Nessun gruppo in comune</string>
@ -1350,7 +1374,7 @@
<string name="MobileHiddenExceptionInfo">Il numero di telefono sarà visibile dopo che %1$s ti avrà aggiunto come contatto.</string>
<string name="MobileVisibleInfo">Quando premerai su **FATTO**, il tuo numero di telefono sarà visibile a %1$s.</string>
<string name="SharePhoneNumberWith">Condividi il mio numero con %1$s</string>
<string name="NowInContacts">%1$s è ora nella tua lista contatti</string>
<string name="NowInContacts">%1$s ora è nella tua lista contatti</string>
<string name="Info">Info</string>
<string name="Phone">Telefono</string>
<string name="SharedContent">Contenuto condiviso</string>
@ -1366,8 +1390,8 @@
<string name="UsernameInvalid">Spiacenti, questo username non è valido.</string>
<string name="UsernameInvalidShort">Un username deve avere almeno 5 caratteri.</string>
<string name="UsernameInvalidLong">Il massimo per un username è 32 caratteri.</string>
<string name="UsernameInvalidStartNumber">Spiacenti, un username non può iniziare con un numero.</string>
<string name="UsernameHelp">Puoi scegliere un username su **Telegram**. Se lo fai, le altre persone potranno trovarti tramite questo username e contattarti senza conoscere il tuo numero di telefono.\n\nPuoi usare **az**, **09** e underscore. La lunghezza minima è **5** caratteri.</string>
<string name="UsernameInvalidStartNumber">Gli username non possono iniziare con un numero.</string>
<string name="UsernameHelp">Puoi scegliere un username su **Telegram**. Se lo fai, le persone potranno trovarti tramite questo username e contattarti senza aver bisogno del tuo numero di telefono.\n\nPuoi usare **az**, **09** e underscore. La lunghezza minima è **5** caratteri.</string>
<string name="UsernameHelpLink">Questo link apre una chat con te:\n%1$s</string>
<string name="UsernameChecking">Controllo l\'username...</string>
<string name="UsernameAvailable">%1$s è disponibile.</string>
@ -1392,7 +1416,7 @@
<string name="CurrentGroupStickers">Sticker del gruppo</string>
<string name="OtherStickers">Altri sticker</string>
<string name="DeleteFromFavorites">Elimina dai preferiti</string>
<string name="DeleteFromRecent">Elimina dai recenti</string>
<string name="DeleteFromRecent">Rimuovi dai recenti</string>
<string name="AddToMasks">Aggiungi alle maschere</string>
<string name="AddStickersNotFound">Sticker non trovati</string>
<string name="StickersRemoved">Sticker rimossi</string>
@ -1435,7 +1459,7 @@
<string name="ArchivedMasks">Maschere archiviate</string>
<string name="ArchivedStickersEmpty">Nessuno sticker archiviato</string>
<string name="ArchivedMasksEmpty">Nessuna maschera archiviata</string>
<string name="ArchivedStickersInfo">Puoi aggiungere fino a 200 set di sticker.\nI set non usati saranno archiviati quando ne aggiungerai altri.</string>
<string name="ArchivedStickersInfo">Puoi avere 200 set di sticker attivi.\nI set non usati sono archiviati quando ne aggiungi altri.</string>
<string name="ArchivedMasksInfo">Puoi aggiungere fino a 200 set di maschere.\nI set non usati saranno archiviati quando ne aggiungerai altri.</string>
<string name="SendSticker">INVIA STICKER</string>
<string name="ArchivedStickersAlertTitle">Sticker archiviati</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">Suoni in-chat</string>
<string name="SoundDefault">Default</string>
<string name="VibrationDefault">Default</string>
<string name="NotificationsDefault">Default</string>
<string name="NotificationsInAppDefault">Default in-app</string>
<string name="NotificationsChatInApp">%1$s in-app</string>
<string name="NotificationsSilent">Silenzioso</string>
<string name="SmartNotifications">Notifiche intelligenti</string>
<string name="NotificationsExceptions">Eccezioni</string>
<string name="NotificationsAddAnException">Aggiungi eccezione</string>
@ -1838,7 +1866,7 @@
<string name="LargeEmoji">Emoji grandi</string>
<string name="EmojiUseDefault">Usa emoji di default</string>
<string name="TelegramVersion">Telegram per Android %1$s</string>
<string name="DebugMenu">Menù debug</string>
<string name="DebugMenu">Menu debug</string>
<string name="DebugSendLogs">Invia i log</string>
<string name="DebugClearLogs">\nCancella i log</string>
<string name="DebugMenuEnableLogs">Attiva i log</string>
@ -1876,7 +1904,7 @@
<string name="UseProxyTelegram">Proxy MTProto</string>
<string name="UseProxyTelegramError">Il proxy che stai usando non è configurato correttamente e sarà disattivato. Per favore trovane un altro.</string>
<string name="UseProxySponsor">Sponsor del proxy</string>
<string name="UseProxySponsorInfo">Questo canale è mostrato dal tuo server proxy. Per rimuovere questo canale dalla tua lista chat, disattiva il proxy nelle Impostazioni di Telegram.</string>
<string name="UseProxySponsorInfo">Questo canale è mostrato dal tuo server proxy. Per rimuovere il canale dalla lista chat, disattiva il proxy nelle Impostazioni di Telegram.</string>
<string name="UseProxyInfo">Impostazioni proxy SOCKS5</string>
<string name="UseProxyTelegramInfo">Impostazioni proxy MTProto.</string>
<string name="UseProxyTelegramInfo2">Questo proxy potrebbe mostrare un canale sponsorizzato nella tua lista chat. Questo non rivela nulla del tuo traffico Telegram.</string>
@ -1960,7 +1988,7 @@
<string name="CalculatingSize">Calcolo...</string>
<string name="LocalDocumentCache">Documenti</string>
<string name="LocalPhotoCache">Foto</string>
<string name="LocalAudioCache">Messaggi vocali/video</string>
<string name="LocalAudioCache">Vocali e videomessaggi</string>
<string name="LocalVideoCache">Video</string>
<string name="LocalMusicCache">Musica</string>
<string name="LocalGifCache">GIF</string>
@ -2030,7 +2058,7 @@
<string name="PassportEmailVerifyInfo">Per favore inserisci il codice di conferma che abbiamo appena inviato a %1$s.</string>
<string name="PassportSelfRequest">Per favore inserisci la tua password per accedere ai tuoi dati personali.</string>
<string name="PassportRequest">%1$s richiede l\'accesso ai tuoi dati personali per l\'iscrizione ai suoi servizi.</string>
<string name="PassportRequestPasswordInfo">Per favore inserisci la tua password di Telegram per decifrare i tuoi dati.</string>
<string name="PassportRequestPasswordInfo">Inserisci la tua password di Telegram per decifrare i tuoi dati.</string>
<string name="PassportPolicy">Accetti l\'*Informativa sulla privacy di %1$s* e consenti a @%2$s di inviarti messaggi.</string>
<string name="PassportNoPolicy">Stai inviando i tuoi documenti direttamente a %1$s e autorizzi il loro @%2$s a inviarti messaggi.</string>
<string name="PassportAuthorize">AUTORIZZA</string>
@ -2160,9 +2188,9 @@
<string name="PassportLanguage_VI">Vietnamita</string>
<!--sessions view-->
<string name="SessionsTitle">Sessioni attive</string>
<string name="CurrentSession">Sessione attuale</string>
<string name="CurrentSession">Questo dispositivo</string>
<string name="NoOtherSessions">Nessun\'altra sessione attiva</string>
<string name="NoOtherSessionsInfo">Ti puoi connettere a Telegram da altri dispositivi mobili, tablet e desktop usando lo stesso numero. Tutti i tuoi dati saranno sincronizzati istantaneamente.</string>
<string name="NoOtherSessionsInfo">Puoi accedere a Telegram da altri dispositivi mobile, tablet e desktop usando lo stesso numero. Tutti i tuoi dati saranno sincronizzati istantaneamente.</string>
<string name="OtherSessions">Sessioni attive</string>
<string name="SessionsInfo">Controlla le tue sessioni sugli altri dispositivi.</string>
<string name="TerminateSessionInfo">Tocca su una sessione per terminarla.</string>
@ -2230,7 +2258,7 @@
<string name="FilterBots">Bot</string>
<string name="FilterAddingChats">Aggiungo le chat</string>
<string name="FilterAddingChatsInfo">Per favore attendi qualche momento mentre riempiamo questa cartella per te...</string>
<string name="FilterNoChatsToDisplay">Nessuna chat trovata</string>
<string name="FilterNoChatsToDisplay">La cartella è vuota</string>
<string name="FilterNoChatsToDisplayInfo">Al momento non ci sono chat nella cartella.</string>
<string name="FilterNew">Nuova cartella</string>
<string name="FilterNoChats">Nessuna chat</string>
@ -2411,7 +2439,7 @@
<string name="ChatSetThisLocation">Imposta questa posizione</string>
<string name="ChatSetLocationInfo">Le persone potranno trovare il tuo gruppo nella sezione \"Persone vicine\".</string>
<string name="PlacesInThisArea">Luoghi in quest\'area</string>
<string name="LocationNotifiation">Notifica di prossimità</string>
<string name="LocationNotifiation">Avviso di prossimità</string>
<string name="LocationNotifiationButtonUser">Notifica quando %1$s è a %2$s</string>
<string name="LocationNotifiationButtonGroup">Notifica quando qualcuno è a %1$s</string>
<string name="LocationNotifiationCloser">Sei già più vicino di %1$s</string>
@ -2420,10 +2448,10 @@
<string name="ShareLocationAlertText">Per far funzionare l\'avviso, condividi la posizione in tempo reale in questa chat.</string>
<string name="ProximityTooltioUser">Avvisa quando %1$s è vicino</string>
<string name="ProximityTooltioGroup">Avvisa quando gli altri membri del gruppo sono vicini</string>
<string name="ProximityAlertSet">Notifica di prossimità impostata</string>
<string name="ProximityAlertSet">Avviso di prossimità impostato</string>
<string name="ProximityAlertSetInfoUser">Ti notificheremo quando %1$s sarà a %2$s da te.</string>
<string name="ProximityAlertSetInfoGroup2">Ti notificheremo quando qualcuno sarà a %1$s da te.</string>
<string name="ProximityAlertCancelled">Notifica di prossimità annullata</string>
<string name="ProximityAlertCancelled">Avviso di prossimità annullato</string>
<!--photo gallery view-->
<string name="ShowAsList">Mostra come lista</string>
<string name="ShowAsGrid">Mostra come griglia</string>
@ -2523,12 +2551,12 @@
<string name="ChooseCover">Scegli una copertina per il tuo video del profilo</string>
<string name="SetAsMain">Imposta come principale</string>
<string name="EditPhoto">Apri nell\'editor</string>
<string name="MainProfilePhotoSetHint">Questa è ora la tua foto principale.</string>
<string name="MainProfileVideoSetHint">Questo è ora il tuo video principale.</string>
<string name="MainChannelProfilePhotoSetHint">Questa è ora la foto principale del canale.</string>
<string name="MainChannelProfileVideoSetHint">Questo è ora il video principale del canale.</string>
<string name="MainGroupProfilePhotoSetHint">Questa è ora la foto principale del gruppo.</string>
<string name="MainGroupProfileVideoSetHint">Questo è ora il video principale del gruppo.</string>
<string name="MainProfilePhotoSetHint">Questa ora è la tua foto principale.</string>
<string name="MainProfileVideoSetHint">Questo ora è il tuo video principale.</string>
<string name="MainChannelProfilePhotoSetHint">Questa ora è la foto principale del canale.</string>
<string name="MainChannelProfileVideoSetHint">Questo ora è il video principale del canale.</string>
<string name="MainGroupProfilePhotoSetHint">Questa ora è la foto principale del gruppo.</string>
<string name="MainGroupProfileVideoSetHint">Questo ora è il video principale del gruppo.</string>
<string name="PhotoSavedHint">Foto salvata nella galleria</string>
<string name="VideoSavedHint">Video salvato nella galleria</string>
<string name="PhotoSavedToDownloadsHint">Foto salvata nei download</string>
@ -2574,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">Ritorna alle Impostazioni</string>
<string name="TwoStepVerificationPasswordReturnPassport">Ritorna al Passport</string>
<string name="TwoStepVerificationSetPassword">Imposta password</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">Imposta password aggiuntiva</string>
<string name="SetAdditionalPasswordInfo">Puoi impostare una password che sarà richiesta quando accedi su un nuovo dispositivo oltre al codice che ricevi via SMS.</string>
<string name="YourPassword">La tua password</string>
@ -2597,9 +2626,9 @@
<string name="YourEmailAlmostThere">Ci siamo quasi!</string>
<string name="YourEmailAlmostThereText">Controlla la tua email (non dimenticare lo spam) per completare la configurazione della verifica in due passaggi.</string>
<string name="YourPasswordSuccess">Fatto!</string>
<string name="YourPasswordSuccessText">La password per la verifica in due passaggi è ora attiva.</string>
<string name="YourPasswordSuccessText">La password per la verifica in due passaggi ora è attiva.</string>
<string name="YourPasswordChangedSuccessText">La tua password per la verifica in due passaggi è stata cambiata.</string>
<string name="YourEmailSuccessText">La tua email di recupero per la verifica in due passaggi è ora attiva.</string>
<string name="YourEmailSuccessText">La tua email di recupero per la verifica in due passaggi ora è attiva.</string>
<string name="YourEmailSuccessChangedText">La tua email di recupero per la verifica in due passaggi è stata cambiata.</string>
<string name="ChangePassword">Cambia password</string>
<string name="TurnPasswordOff">Disattiva password</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">Codice di recupero</string>
<string name="RestoreEmailSent">Abbiamo inviato un codice di ripristino all\'email che ci hai fornito:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">Per favore controlla la tua email e inserisci il codice a 6 cifre che ti abbiamo inviato lì.</string>
<string name="RestoreEmailTrouble">Hai problemi ad accedere alla tua email %1$s?</string>
<string name="RestoreEmailTrouble">Impossibile accedere a %1$s?</string>
<string name="RestoreEmailTroubleNoEmail">Hai problemi ad accedere alla tua email?</string>
<string name="RestoreEmailTroubleText">Se non puoi ripristinare l\'accesso alla tua email, non ti resta che ricordare la tua password o ripristinare il tuo account.</string>
<string name="ResetMyAccount">RIPRISTINA IL MIO ACCOUNT</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">Utilizzo disco e rete</string>
<string name="StorageUsage">Utilizzo archivio</string>
<string name="NetworkUsage">Utilizzo dati</string>
<string name="StoragePath">Percorso archiviazione</string>
<string name="NetworkUsageMobileTab">Cellulare</string>
<string name="NetworkUsageWiFiTab">Wi-Fi</string>
<string name="NetworkUsageRoamingTab">Roaming</string>
@ -2677,7 +2707,7 @@
<string name="PrivacyTitle">Privacy</string>
<string name="PrivacyLastSeen">Ultimo accesso e in linea</string>
<string name="PrivacyProfilePhoto">Foto del profilo</string>
<string name="PrivacyProfilePhotoTitle">Chi può vedere la mia foto del profilo?</string>
<string name="PrivacyProfilePhotoTitle">Chi può vedere le foto e i video del mio profilo?</string>
<string name="PrivacyProfilePhotoInfo">Puoi decidere chi può vedere la tua foto del profilo con precisione granulare.</string>
<string name="PrivacyProfilePhotoInfo2">Puoi aggiungere utenti o interi gruppi come eccezioni che annulleranno le impostazioni precedenti.</string>
<string name="PrivacyPhone">Numero di telefono</string>
@ -2734,7 +2764,7 @@
<string name="LastSeenTitle">Chi può vedere il tuo ultimo accesso?</string>
<string name="AddExceptions">Aggiungi eccezioni</string>
<string name="AddToExceptions">"Aggiungi alle eccezioni "</string>
<string name="CustomHelp">Non vedrai l\'ultimo accesso e lo stato in linea delle persone con cui non condividi l\'ultimo accesso. Verrà mostrato un orario approssimativo (di recente, entro una settimana, entro un mese).</string>
<string name="CustomHelp">Non vedrai l\'ultimo accesso o lo stato in linea delle persone con cui non condividi il tuo. Verrà mostrato un orario approssimativo (di recente, entro una settimana, entro un mese).</string>
<string name="PrivacySettingsChangedAlert">Hai modificato alcune impostazioni della privacy. Applicare le modifiche?</string>
<string name="AlwaysShareWith">Condividi con</string>
<string name="NeverShareWith">Non condividere con</string>
@ -2852,6 +2882,14 @@
<string name="ActionUserWithinRadius">un1 ora è a %1$s da te</string>
<string name="ActionUserWithinYouRadius">Ora sei a %1$s da un1</string>
<string name="ActionUserWithinOtherRadius">un1 ora è a %1$s da un2</string>
<string name="ActionUserInvitedToGroup">un1 ti ha invitato in questo gruppo</string>
<string name="ActionUserInvitedToChannel">un1 ti ha invitato in questo canale</string>
<string name="ActionGroupCallStarted">un1 ha iniziato una chat vocale</string>
<string name="ActionGroupCallStartedByYou">Hai iniziato una chat vocale</string>
<string name="ActionGroupCallEnded">Chat vocale terminata (%s)</string>
<string name="ActionGroupCallInvited">un1 ha invitato un2 nella chat vocale</string>
<string name="ActionGroupCallYouInvited">Hai invitato un2 nella chat vocale</string>
<string name="ActionGroupCallInvitedYou">un1 ti ha invitato nella chat vocale</string>
<string name="ActionBotAllowed">Hai permesso a questo bot di scriverti quando ti sei collegato su %1$s.</string>
<string name="ActionBotDocuments">%1$s ha ricevuto i seguenti documenti: %2$s</string>
<string name="ActionBotDocumentIdentity">Dettagli personali</string>
@ -2908,9 +2946,9 @@
<string name="PleaseLoginPassport">Per favore accedi al tuo account Telegram per usare Telegram Passport.</string>
<string name="BannedPhoneNumber">Questo numero è stato bloccato.</string>
<string name="CodeExpired">Codice scaduto, per favore riprova l\'accesso.</string>
<string name="FloodWait">Troppi tentativi, per favore riprova più tardi</string>
<string name="FloodWait">Troppi tentativi, per favore riprova più tardi.</string>
<string name="FloodWaitTime">Troppi tentativi, per favore riprova tra %1$s</string>
<string name="InvalidCode">Codice non valido</string>
<string name="InvalidCode">Codice non valido, per favore riprova.</string>
<string name="PhoneNumberFlood">Spiacenti, hai eliminato e ricreato il tuo account troppe volte di recente. Per favore attendi alcuni giorni prima di iscriverti di nuovo.</string>
<string name="InvalidFirstName">Nome non valido</string>
<string name="InvalidLastName">Spiacenti, questo cognome non può essere usato</string>
@ -2946,7 +2984,7 @@
<string name="AreYouSureDeleteThisChatWithUser">Sei sicuro di voler eliminare la chat con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithBot">Sei sicuro di voler eliminare la chat con **%1$s** e bloccarlo?</string>
<string name="AreYouSureDeleteThisChatSavedMessages">Sei sicuro di voler eliminare i **Messaggi salvati**?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">Sei sicuro di voler eliminare la chat segreta con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithSecretUser">Sei sicuro di voler eliminare la tua chat segreta con **%1$s**?</string>
<string name="AreYouSureDeleteThisChatWithGroup">Sei sicuro di voler eliminare la chat **%1$s**?</string>
<string name="AreYouSureClearDraftsTitle">Elimina le bozze cloud</string>
<string name="AreYouSureClearDrafts">Sei sicuro di voler eliminare tutte le bozze?</string>
@ -2991,8 +3029,8 @@
<string name="SendContactToGroupText">Vuoi inviare questo contatto a **%1$s**?</string>
<string name="NoUsernameFound">Non esiste alcun account Telegram con questo username.</string>
<string name="BotCantJoinGroups">Questo bot non può unirsi ai gruppi.</string>
<string name="SecretLinkPreviewAlert">Vuoi attivare le anteprime estese per i link nelle Chat segrete? Ricorda che le anteprime dei link sono generate sui server di Telegram.</string>
<string name="SecretChatContextBotAlert">Per favore nota che i bot inline sono forniti da sviluppatori di terze parti. Per far funzionare il bot, i caratteri che digiti dopo l\'username del bot sono inviati al rispettivo sviluppatore.</string>
<string name="SecretLinkPreviewAlert">Attivare le anteprime estese per i link nelle Chat segrete? Ricorda che le anteprime dei link sono generate sui server di Telegram.</string>
<string name="SecretChatContextBotAlert">Per favore nota che i bot inline sono forniti da sviluppatori di terze parti. Per far funzionare il bot, i caratteri che digiti dopo l\'username del bot sono inviati al suo sviluppatore.</string>
<string name="EditMessageError">Spiacenti, non puoi modificare questo messaggio.</string>
<string name="AllowReadCall">Per favore consenti a Telegram di ricevere chiamate così potremo inserire in automatico il codice per te.</string>
<string name="AllowReadCallAndLog">Per favore permetti a Telegram di ricevere chiamate e leggere il registro delle chiamate in modo da poter inserire il codice per te automaticamente.</string>
@ -3022,13 +3060,16 @@
<string name="PermissionStorage">Telegram deve accedere alla tua memoria per poter inviare e salvare foto, video, musica e altri media.</string>
<string name="PermissionNoAudio">Telegram deve accedere al microfono affinché tu possa inviare messaggi vocali.</string>
<string name="PermissionNoAudioVideo">Telegram deve accedere al microfono affinché tu possa registrare video.</string>
<string name="PermissionNoCamera">Telegram deve avere accesso alla fotocamera affinché tu possa scattare foto e registrare video. Per favore attivalo nelle Impostazioni.</string>
<string name="PermissionNoCamera">Telegram deve accedere alla fotocamera affinché tu possa scattare foto e registrare video. Per favore attivalo nelle Impostazioni.</string>
<string name="PermissionNoLocation">Telegram deve accedere alla tua posizione affinché tu possa condividerla con i tuoi amici.</string>
<string name="PermissionNoLocationPosition">Telegram deve accedere alla tua posizione.</string>
<string name="PermissionDrawAboveOtherApps">Telegram deve accedere allo spostamento su altre app per riprodurre i video in modalità PiP.</string>
<string name="PermissionDrawAboveOtherApps">Telegram deve accedere allo spostamento su altre app per riprodurre i video in modalità Picture-in-Picture.</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">La modalità overlay ti consente di utilizzare il push-to-talk e vedere chi sta parlando anche quando sei fuori da Telegram.</string>
<string name="PermissionOpenSettings">IMPOSTAZIONI</string>
<string name="PermissionXiaomiLockscreen">Per favore consenti a Telegram di essere visualizzato sulla schermata di blocco in modo che le chiamate possano funzionare correttamente.</string>
<string name="PermissionBackgroundLocation">Per condividere la posizione in tempo reale in questa chat, Telegram ha bisogno di accedere alla tua posizione in qualsiasi momento, anche quando l\'applicazione è in background.\n\nAccederemo alla tua posizione solo per la durata da te scelta, e potrai smettere di condividerla in qualsiasi momento. Non useremo la tua posizione per nessun altro scopo se non quello di condividerla in questa chat.</string>
<string name="PermissionDrawAboveOtherAppsTitle">Picture-in-Picture</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">Overlay chat vocale</string>
<!--charts-->
<string name="GrowthChartTitle">Crescita</string>
<string name="FollowersChartTitle">Follower</string>
@ -3127,7 +3168,7 @@
<string name="StartMessaging">Inizia a messaggiare</string>
<!-- VoIP -->
<string name="AccountSettings">Impostazioni account</string>
<string name="VoipUseLessData">Usa meno dati per chiamare</string>
<string name="VoipUseLessData">Meno dati per le chiamate</string>
<string name="VoipIncoming">Chiamata in entrata</string>
<string name="VoipConnecting">Connetto</string>
<string name="VoipExchangingKeys">Scambio chiavi di crittografia</string>
@ -3141,9 +3182,14 @@
<string name="VoipInCallBranding">Chiamata Telegram</string>
<string name="VoipInVideoCallBranding">Videochiamata Telegram</string>
<string name="VoipOutgoingCall">Chiamata Telegram in corso</string>
<string name="VoipVoiceChat">Chat vocale in corso</string>
<string name="VoipEndCall">Termina</string>
<string name="VoipOngoingAlertTitle">Altra chiamata in corso</string>
<string name="VoipOngoingAlert">Al momento hai una chiamata in corso con **%1$s**. Vuoi riagganciare e iniziarne una nuova con **%2$s**?</string>
<string name="VoipOngoingAlert">Terminare la chiamata con **%1$s** e iniziarne una nuova con **%2$s**?</string>
<string name="VoipOngoingAlert2">Terminare la chiamata con **%1$s** e iniziare una chat vocale in **%2$s**?</string>
<string name="VoipOngoingChatAlertTitle">Un\'altra chat vocale in corso</string>
<string name="VoipOngoingChatAlert">Lasciare la chat vocale in **%1$s** e iniziarne una nuova in **%2$s**?</string>
<string name="VoipOngoingChatAlert2">Lasciare la chat vocale in **%1$s** e chiamare **%2$s**?</string>
<string name="VoipNotificationSettings">Chiamate</string>
<string name="VoipSettingsRingtone">Suoneria</string>
<string name="VoipRingtoneInfo">Puoi personalizzare la suoneria usata quando questo contatto ti chiama su Telegram.</string>
@ -3159,8 +3205,10 @@
<string name="UseLessDataOnRoaming">Solo in roaming</string>
<string name="VoipAnswerCall">Rispondi</string>
<string name="VoipDeclineCall">Rifiuta</string>
<string name="VoipOffline">Al momento non sei in linea. Per favore connettiti a Internet per chiamare.</string>
<string name="VoipOffline">Al momento non sei in linea. Connettiti a Internet per chiamare.</string>
<string name="VoipGroupOffline">Al momento non sei in linea. Connettiti a Internet per partecipare alle chat vocali.</string>
<string name="VoipOfflineAirplane">Al momento hai la modalità aereo attivata. Per favore disattivala o connettiti ad una rete Wi-Fi per chiamare.</string>
<string name="VoipGroupOfflineAirplane">Al momento la modalità aereo è attiva. Disattivala o connettiti al Wi-Fi per partecipare alle chat vocali.</string>
<string name="VoipOfflineTitle">Non in linea</string>
<string name="VoipOfflineAirplaneTitle">Modalità aereo</string>
<string name="VoipOfflineOpenSettings">Impostazioni</string>
@ -3175,7 +3223,7 @@
<string name="CallMessageVideoOutgoingMissed">Videochiamata annullata</string>
<string name="CallMessageVideoIncomingDeclined">Videochiamata rifiutata</string>
<string name="CallMessageWithDuration">%1$s (%2$s)</string>
<string name="NoCallLog">Non hai ancora effettuato alcuna chiamata.</string>
<string name="NoCallLog">Ancora nessuna chiamata...</string>
<string name="VoipPeerIncompatible">L\'app di **%1$s** sta usando un protocollo non compatibile. Deve aggiornare la sua app prima che tu possa chiamarlo.</string>
<string name="VoipPeerOutdated">L\'app di **%1$s** non supporta le chiamate. Deve aggiornare la sua app prima che tu possa chiamarlo.</string>
<string name="VoipPeerVideoOutdated">Spiacenti, **%1$s** sta usando una vecchia versione di Telegram che non supporta le videochiamate.</string>
@ -3226,6 +3274,11 @@
<string name="RateCallVideoPixelated">Il video era pixellato</string>
<string name="TapToTurnCamera">Tocca qui per attivare la tua videocamera</string>
<string name="VoipUnmute">Attiva</string>
<string name="VoipHoldAndTalk">o tieni premuto e parla</string>
<string name="VoipTapToMute">Sei in diretta</string>
<string name="VoipMutedByAdmin">Silenziato dall\'amministratore</string>
<string name="VoipMutedByAdminShort">Silenziato</string>
<string name="VoipMutedByAdminInfo">Sei in modalità solo ascolto</string>
<string name="VoipMute">Muto</string>
<string name="VoipStartVideo">Avvia video</string>
<string name="VoipStopVideo">Ferma video</string>
@ -3239,11 +3292,66 @@
<string name="DeclineCall">Rifiuta</string>
<string name="RetryCall">Riprova</string>
<string name="VoipVideoUnavailable">Video</string>
<string name="CallAlert">Sei sicuro di voler chiamare %1$s?</string>
<string name="CallAlert">Sei sicuro di voler chiamare **%1$s**?</string>
<string name="CallAlertTitle">Chiamata vocale</string>
<string name="VideoCallAlert">Sei sicuro di voler videochiamare **%1$s**?</string>
<string name="VideoCallAlertTitle">Videochiamata</string>
<string name="VoipReconnecting">Riconnetto</string>
<string name="StartVoipChat">Avvia chat vocale</string>
<string name="StartVoipChatTitle">Chat vocale</string>
<string name="StartVoipChatAlertText">Iniziare una chat vocale in questo gruppo?</string>
<string name="StartVoipChatPermission">Gestire le chat vocali</string>
<string name="VoipChatJoin">Unisciti</string>
<string name="MembersTalking_zero">%1$s membri stanno parlando</string>
<string name="MembersTalking_one">%1$s membro sta parlando</string>
<string name="MembersTalking_two">%1$s membri stanno parlando</string>
<string name="MembersTalking_few">%1$s membri stanno parlando</string>
<string name="MembersTalking_many">%1$s membri stanno parlando</string>
<string name="MembersTalking_other">%1$s membri stanno parlando</string>
<string name="Speaking">sta parlando</string>
<string name="Listening">sta ascoltando</string>
<string name="Invited">invitato</string>
<string name="VoipGroupLeave">Lascia</string>
<string name="VoipGroupEnd">Termina</string>
<string name="VoipGroupMuteMemberAlertTitle">Silenzia microfono</string>
<string name="VoipGroupMuteMemberAlertText">Sei sicuro di voler silenziare **%1$s** in questa chat vocale?</string>
<string name="VoipGroupRemoveMemberAlertTitle">Rimuovi membro</string>
<string name="VoipGroupRemoveMemberAlertText">Vuoi rimuovere %1$s dalla chat di gruppo?</string>
<string name="VoipGroupRemovedFromGroup">**%1$s** rimosso dal gruppo.</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** ora può parlare.</string>
<string name="VoipGroupUserCantNowSpeak">**%1$s** ora è silenziato in questa chat.</string>
<string name="VoipGroupMute">Silenzia</string>
<string name="VoipGroupAllCanSpeak">Nuovi partecipanti attivi</string>
<string name="VoipGroupOnlyAdminsCanSpeak">Nuovi partecipanti silenziati</string>
<string name="VoipGroupShareInviteLink">Condividi link d\'invito</string>
<string name="VoipGroupEndChat">Termina chat vocale</string>
<string name="VoipGroupConnecting">Connetto...</string>
<string name="VoipGroupLeaveAlertTitle">Lasciare la chat vocale</string>
<string name="VoipGroupLeaveAlertText">Sei sicuro di voler lasciare questa chat vocale?</string>
<string name="VoipGroupEndAlertTitle">Termina chat vocale</string>
<string name="VoipGroupEndAlertText">Sei sicuro di voler terminare questa chat vocale?</string>
<string name="VoipGroupLeaveAlertEndChat">Termina chat vocale</string>
<string name="VoipGroupViewVoiceChat">CHAT VOCALE</string>
<string name="VoipGroupVoiceChat">Chat vocale</string>
<string name="VoipGroupOpenVoiceChat">Apri chat vocale</string>
<string name="VoipGroupInviteAlreadyParticipant">L\'utente selezionato è già in questa chat vocale.</string>
<string name="VoipGroupJoinAnonymousAdmin">Spiacenti, non puoi unirti alle chat vocali come amministratore anonimo.</string>
<string name="VoipGroupInvitedToVoiceChat">un1 ha invitato un2 nella chat vocale</string>
<string name="VoipGroupJoinCall">Unisciti alla chat vocale</string>
<string name="VoipGroupInviteText">Ehi! Unisciti alla nostra chat vocale: %1$s</string>
<string name="VoipGroupInviteMember">Invita membri</string>
<string name="VoipGroupUserRemove">Rimuovi</string>
<string name="VoipGroupAllowToSpeak">Permetti di parlare</string>
<string name="VoipGroupSearchMembers">Cerca membri da invitare...</string>
<string name="VoipGroupCopyInviteLink">Copia link d\'invito</string>
<string name="VoipGroupCopyInviteLinkCopied">Link d\'invito copiato negli appunti.</string>
<string name="VoipGroupUnmute">Tocca per riattivare</string>
<string name="VoipGroupEndedStartNew">Chat vocale terminata. Iniziarne una nuova?</string>
<string name="VoipGroupAddMemberTitle">Aggiungi membro</string>
<string name="VoipGroupAddMemberText">Vuoi aggiungere **%1$s** a **%2$s**?</string>
<string name="VoipGroupInvitedUser">Hai invitato **%1$s** nella chat vocale.</string>
<string name="VoipGroupAdd">Aggiungi</string>
<string name="MembersTalkingNobody">Tocca per unirti</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">Invia un messaggio a %1$s</string>
<string name="ContactShortcutVoiceCall">Chiama %1$s</string>
@ -3273,12 +3381,12 @@
<string name="TelegramContacts_few">%1$d contatti su Telegram</string>
<string name="TelegramContacts_many">%1$d contatti su Telegram</string>
<string name="TelegramContacts_other">%1$d contatti su Telegram</string>
<string name="InviteTextNum_zero">Ehi, sto usando Telegram per messaggiare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_one">Ehi, sto usando Telegram per messaggiare così come %1$d altro nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_two">Ehi, sto usando Telegram per messaggiare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_few">Ehi, sto usando Telegram per messaggiare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_many">Ehi, sto usando Telegram per messaggiare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_other">Ehi, sto usando Telegram per messaggiare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_zero">Ehi, sto usando Telegram per chattare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_one">Ehi, sto usando Telegram per chattare così come %1$d altro nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_two">Ehi, sto usando Telegram per chattare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_few">Ehi, sto usando Telegram per chattare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_many">Ehi, sto usando Telegram per chattare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="InviteTextNum_other">Ehi, sto usando Telegram per chattare così come altri %1$d dei nostri contatti. Unisciti a noi! Scaricalo qui: %2$s</string>
<string name="Chats_zero">%1$d chat</string>
<string name="Chats_one">%1$d chat</string>
<string name="Chats_two">%1$d chat</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">%1$d membri</string>
<string name="Members_many">%1$d membri</string>
<string name="Members_other">%1$d membri</string>
<string name="Participants_zero">%1$d partecipanti</string>
<string name="Participants_one">%1$d partecipante</string>
<string name="Participants_two">%1$d partecipanti</string>
<string name="Participants_few">%1$d partecipanti</string>
<string name="Participants_many">%1$d partecipanti</string>
<string name="Participants_other">%1$d partecipanti</string>
<string name="AndMoreTyping_zero">e altri %1$d stanno scrivendo</string>
<string name="AndMoreTyping_one">e %1$d altro stanno scrivendo</string>
<string name="AndMoreTyping_two">e altri %1$d stanno scrivendo</string>
@ -3346,7 +3460,7 @@
<string name="NewMessages_many">%1$d nuovi messaggi</string>
<string name="NewMessages_other">%1$d nuovi messaggi</string>
<string name="MessagesUnpinned_zero">%1$d messaggi tolti</string>
<string name="MessagesUnpinned_one">messaggio tolto</string>
<string name="MessagesUnpinned_one">Messaggio tolto</string>
<string name="MessagesUnpinned_two">%1$d messaggi tolti</string>
<string name="MessagesUnpinned_few">%1$d messaggi tolti</string>
<string name="MessagesUnpinned_many">%1$d messaggi tolti</string>
@ -3750,7 +3864,10 @@
<string name="AccDescrReceivedDate">Ricevuto %s</string>
<string name="AccDescrScheduledDate">Programmato per le %s</string>
<string name="AccDescrGoBack">Torna indietro</string>
<string name="AccDescrOpenMenu">Apri menù di navigazione</string>
<string name="AccDescrOpenMenu">Apri menu di navigazione</string>
<string name="AccDescrOpenMenu2">Apri menu</string>
<string name="AccDescrCloseMenu">Chiudi menu</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s di %1$s</string>
<string name="AccDescrMoreOptions">Altre opzioni</string>
<string name="AccActionPlay">Play</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'Ricorda oggi alle\' HH:mm</string>
<string name="RemindDayAt">\'Ricorda il\' d MMM \'alle\' HH:mm</string>
<string name="RemindDayYearAt">\'Ricorda il\' d MMM yyyy \'alle\' HH:mm</string>
<string name="Enable">Attiva</string>
</resources>

View File

@ -37,7 +37,7 @@
<string name="DidNotGetTheCode">코드를 받지 못하셨나요?</string>
<string name="DidNotGetTheCodeSms">코드를 SMS로 보내기</string>
<string name="CancelAccountReset">계정 초기화 취소</string>
<string name="CancelAccountResetInfo2">Somebody with access to **%1$s** has requested to delete your Telegram account and reset your 2-Step Verification password.\n\nIf this wasn\'t you, please enter the code we\'ve just sent you via SMS. You can also cancel this by *changing your phone number*.</string>
<string name="CancelAccountResetInfo2">**%1$s**에 접근이 가능한 누군가가 회원님의 텔레그램 계정삭제 및 2단계 인증 초기화를 요청했습니다.\n\n만약 이것을 요청 하신게 아니라면, 저희가 방금 보낸 SMS 코드를 입력해주세요. 또한 *전화번호를 변경을 하여* 취소를 할 수 있습니다.</string>
<string name="ResetAccount">계정 초기화</string>
<string name="ResetAccountInfo">계정 **%1$s**이 비밀번호로 보호되어 있기에, 보안 목적으로 1주일 뒤에 이 계정을 삭제할 것입니다.\n\n이 작업은 언제든지 취소하실 수 있습니다.</string>
<string name="ResetAccountStatus">아래 시간이 지나야 계정을 초기화하실 수 있습니다:</string>
@ -45,7 +45,7 @@
<string name="ResetAccountButton">초기화</string>
<string name="CancelLinkExpired">링크가 폐기되거나 만료되었습니다.</string>
<string name="CancelLinkSuccess">%1$s 계정 탈퇴 작업이 취소되었습니다. 이제 이 창을 닫으셔도 좋습니다.</string>
<string name="OtherLoginCode">Your login code is **%1$s**. Enter it in the Telegram app where you are trying to log in.\n\nDo not give this code to anyone.</string>
<string name="OtherLoginCode">로그인 코드는 **%1$s**입니다. 로그인하고자 하는 텔레그램 앱에 입력하세요.\n\n아무에게도 이 코드를 주지 마세요.</string>
<!--signup view-->
<string name="YourName">성명</string>
<string name="RegisterText2">이름을 입력하고 프로필 사진을 추가하세요.</string>
@ -165,6 +165,7 @@
<string name="DialogPin">고정</string>
<string name="DialogUnpin">고정 해제</string>
<string name="Archive">보관</string>
<string name="ArchiveSearchFilter">보관함</string>
<string name="Unarchive">보관 해제</string>
<string name="ArchivedChats">보관한 대화방</string>
<string name="DeleteChatUser">대화방 삭제</string>
@ -172,7 +173,7 @@
<string name="SelectChat">대화방 선택</string>
<string name="ForwardTo">대화방 선택</string>
<string name="DisappearingPhoto">비밀 사진</string>
<string name="DisappearingVideo">비밀 동영상</string>
<string name="DisappearingVideo">사라지는 동영상</string>
<string name="DisappearingGif">비밀 GIF</string>
<string name="CompatibilityChat">%1$s님의 텔레그램 버전이 낮아 비밀 사진을 호환성 모드로 표시합니다.\n\n%2$s님이 텔레그램을 업데이트하고 나면, 자동삭제 시간이 1분 이하인 사진은 \"탭하고 누르고 있어야 보임\" 상태가 되며, 상대방이 화면을 캡처할 때 마다 알림을 받습니다.</string>
<string name="SearchMessages">메시지</string>
@ -181,7 +182,7 @@
<string name="MuteFor">%1$s 동안 끄기</string>
<string name="UnmuteNotifications">알림 끄기</string>
<string name="WillUnmuteIn">%1$s 뒤</string>
<string name="MuteDisable">영원히 음소거</string>
<string name="MuteDisable">사용 안 함</string>
<string name="Hashtags">해시태그</string>
<string name="Recent">최근</string>
<string name="ChatHints">사람들</string>
@ -227,30 +228,30 @@
<string name="HideNewChatsAlertText">연락처 목록에 없는 사용자에게서 새로운 메시지를 많이 받고 계십니다. 해당 대화방에 **자동 알림 끄기**와 **보관**을 적용하시겠습니까?</string>
<string name="GoToSettings">설정으로 이동</string>
<string name="OpenProfile">프로필 열기</string>
<string name="OpenChannel2">Open Channel</string>
<string name="OpenChannel2">채널 열기</string>
<string name="OpenGroup2">Open Group</string>
<string name="SendMessage">메시지 보내기</string>
<string name="Mention">언급</string>
<string name="NotificationsMutedHint">Notifications muted</string>
<string name="NotificationsMutedForHint">Notifications muted for %1$s</string>
<string name="NotificationsUnmutedHint">Notifications unmuted</string>
<string name="NotificationsMutedHint">알림 음소거 됨</string>
<string name="NotificationsMutedForHint">%1$s동안 알림 음소거</string>
<string name="NotificationsUnmutedHint">알림 활성화 됨</string>
<string name="MessagesDeletedHint_zero">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="MessagesDeletedHint_one">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="MessagesDeletedHint_two">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="MessagesDeletedHint_few">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="MessagesDeletedHint_many">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="MessagesDeletedHint_other">메시지 %1$d 개가 삭제가 되었습니다.</string>
<string name="SearchEmptyViewTitle">No Results</string>
<string name="SearchEmptyViewTitle">결과 없음</string>
<string name="SearchEmptyViewTitle2">결과 없음</string>
<string name="SearchEmptyViewFilteredSubtitle2">검색을 다시 해보세요.</string>
<string name="SearchEmptyViewFilteredSubtitleMusic">Music from all your chats will be shown here.</string>
<string name="SearchEmptyViewFilteredSubtitleFiles">Files from all your chats will be shown here.</string>
<string name="SearchEmptyViewFilteredSubtitleLinks">Links from all your chats will be shown here.</string>
<string name="SearchEmptyViewFilteredSubtitleVoice">Voice from all your chats will be shown here.</string>
<string name="SearchEmptyViewFilteredSubtitleMedia">Media from all your chats will be shown here.</string>
<string name="SearchEmptyViewFilteredSubtitleMusic">모든 대화에서의 음악이 여기에 표시가 됩니다</string>
<string name="SearchEmptyViewFilteredSubtitleFiles">모든 대화에서의 파일이 여기에 표시가 됩니다</string>
<string name="SearchEmptyViewFilteredSubtitleLinks">회원님의 모든 대화방에 있는 링크가 여기에 보입니다.</string>
<string name="SearchEmptyViewFilteredSubtitleVoice">모든 대화에서의 음성메시지가 여기에 표시가 됩니다</string>
<string name="SearchEmptyViewFilteredSubtitleMedia">회원님의 모든 대화방에 있는 미디어가 여기에 보입니다.</string>
<string name="SearchAllChatsShort">대화방</string>
<string name="MessagePinnedHint">Message pinned</string>
<string name="MessageUnpinnedHint">Message unpinned</string>
<string name="MessagePinnedHint">메시지가 고정되었습니다</string>
<string name="MessageUnpinnedHint">메시지 고정이 해제되었습니다</string>
<!--channels-->
<string name="SetAsAdmin">관리자로 승격</string>
<string name="EditAdminRights">관리자 권한 수정</string>
@ -389,7 +390,7 @@
<string name="ChannelAdminsInfo">채널을 관리하는 데 도움을 줄 만한 관리자를 추가하실 수 있습니다. 관리자를 제명하려면 길게 누르세요.</string>
<string name="ChannelJoinTo">\'%1$s\' 채널에 들어가시겠습니까?</string>
<string name="ChannelCantOpenPrivate">죄송합니다. 이 대화방에는 더 이상 접근하실 수 없습니다.</string>
<string name="ChannelCantOpenBannedByAdmin">Sorry, you can\'t access this chat because you were banned by an admin.</string>
<string name="ChannelCantOpenBannedByAdmin">죄송합니다. 관리자에게 차단되었기에 이 대화방에 접근하실 수 없습니다.</string>
<string name="ChannelCantOpenBanned">안타깝지만, 공개 그룹에 참가하시는 것이 금지되었습니다.</string>
<string name="ChannelCantOpenNa">죄송합니다. 이 대화방에는 더 이상 접근하실 수 없습니다.</string>
<string name="ChannelAddTo">%1$s 님을 채널에 추가할까요?</string>
@ -444,14 +445,14 @@
<string name="EditAdminDeleteMessages">다른 사람의 메시지 삭제</string>
<string name="EditAdminGroupDeleteMessages">메시지 삭제</string>
<string name="EditAdminAddAdmins">새로운 관리자 추가</string>
<string name="EditAdminSendAnonymously">익명으로 보내</string>
<string name="EditAdminSendAnonymously">익명으로 </string>
<string name="EditAdminRemoveAdmin">관리자 권한 회수</string>
<string name="EditAdminGroupTransfer">그룹 소유권 넘기기</string>
<string name="EditAdminChannelTransfer">채널 소유권 넘기기</string>
<string name="EditAdminTransferAlertTitle">보안 확인 사항</string>
<string name="EditAdminTransferAlertText">아래 경우에만 이 그룹을 **%1$s** 님에게 넘기실 수 있습니다:</string>
<string name="EditChannelAdminTransferAlertText">다음 경우에만 이 채널을 **%1$s** 님에게 넘기실 수 있습니다:</string>
<string name="EditAdminTransferAlertText1">**7일** 전에 **2단계 인증**을 켬</string>
<string name="EditAdminTransferAlertText1">지난 **7일**이상동안 **2단계 인증**을 활성화 함.</string>
<string name="EditAdminTransferAlertText2">**24시간** 전에 이 기기에 로그인함</string>
<string name="EditAdminTransferAlertText3">나중에 다시 시도하세요.</string>
<string name="EditAdminTransferSetPassword">비밀번호 설정</string>
@ -538,10 +539,10 @@
<string name="ViewDiscussion">토론 보기</string>
<string name="DiscussionInfo">논평을 나눌 그룹 대화방을 추가하세요.</string>
<string name="LinkedChannel">연결된 채널</string>
<string name="DiscussionChannelHelp3">Select a group chat that will host comments from your channel.</string>
<string name="DiscussionChannelHelp3">채널에서의 코멘트들을 호스트할 그룹 대화를 선택해주세요.</string>
<string name="DiscussionChannelHelp2">채널에 게시하시는 모든 것이 이 그룹으로 전달됩니다.</string>
<string name="DiscussionChannelGroupSetHelp2">**%1$s** is selected as the group that hosts comments for your channel.</string>
<string name="DiscussionGroupHelp">**%1$s** 채널이 그룹을 토론 게시판으로 삼아 잇고 있습니다.</string>
<string name="DiscussionChannelGroupSetHelp2">%1$s 대화방이 채널을 위한 코멘트 주최 그룹으로 선택되었습니다.</string>
<string name="DiscussionGroupHelp">이 그룹은 %1$s의 토론 게시판으로 연결 되어 있습니다.</string>
<string name="DiscussionGroupHelp2">이 채널에 새로 게시되는 메시지가 모두 그룹으로 전달됩니다.</string>
<string name="DiscussionCreateGroup">새로운 그룹 만들기</string>
<string name="DiscussionUnlinkGroup">그룹 끊어내기</string>
@ -566,7 +567,8 @@
<string name="SlowmodeSendError">저속 모드가 켜져 있습니다. 한 번에 메시지를 하나 이상 보내실 수 없습니다.</string>
<string name="SlowmodeSelectSendError">저속 모드가 켜져 있습니다. 항목을 더 선택하실 수 없습니다.</string>
<string name="SlowmodeSendErrorTooLong">죄송합니다. 이 글은 한 메시지로 치기에 너무 깁니다.\n\n저속 모드가 켜져 있습니다. 한 번에 메시지를 하나 이상 보내실 수 없습니다.</string>
<string name="UserSetAsAdminHint">**%1$s** promoted to admin</string>
<string name="UserSetAsAdminHint">%1$s님이 관리자로 승격됨</string>
<string name="UserRemovedFromChatHint">**%1$s** removed from **%2$s**</string>
<!--polls-->
<string name="NewPoll">새로운 설문</string>
<string name="NewQuiz">새로운 퀴즈</string>
@ -671,7 +673,7 @@
<string name="EventLogOriginalCaption">원본 설명</string>
<string name="EventLogOriginalCaptionEmpty">없음</string>
<string name="EventLogPinnedMessages">un1 님이 아래 메시지를 고정했습니다:</string>
<string name="EventLogUnpinnedMessages">un1 님이 메시지 고정했습니다.</string>
<string name="EventLogUnpinnedMessages">un1님이 메시지 고정을 해제했습니다</string>
<string name="EventLogStopPoll">un1 님이 설문을 마감했습니다:</string>
<string name="EventLogStopQuiz">un1 님이 퀴즈를 마감했습니다:</string>
<string name="EventLogDeletedMessages">un1 님이 아래 메시지를 삭제했습니다:</string>
@ -716,8 +718,9 @@
<string name="EventLogPromotedEditMessages">메시지 수정</string>
<string name="EventLogPromotedDeleteMessages">메시지 삭제</string>
<string name="EventLogPromotedAddAdmins">관리자 추가</string>
<string name="EventLogPromotedSendAnonymously">익명으로 보내기</string>
<string name="EventLogPromotedSendAnonymously">익명으로 유지</string>
<string name="EventLogPromotedBanUsers">사용자 차단</string>
<string name="EventLogPromotedManageCall">음성 대화 관리</string>
<string name="EventLogPromotedAddUsers">사용자 추가</string>
<string name="EventLogPromotedTitle">제목: %1$s</string>
<string name="EventLogPromotedRemovedTitle">제목</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">메시지 수정</string>
<string name="EventLogFilterPinnedMessages">메시지 고정</string>
<string name="EventLogFilterLeavingMembers">나간 참가자</string>
<string name="EventLogFilterCalls">음성 대화</string>
<string name="EventLogToggledSlowmodeOn">un1 님이 저속 모드 타이머를 %1$s(으)로 맞췄습니다</string>
<string name="EventLogToggledSlowmodeOff">un1 님이 저속 모드를 껐습니다</string>
<string name="EventLogStartedVoiceChat">un1님이 음성 대화를 시작했습니다</string>
<string name="EventLogEndedVoiceChat">un1님이 음성 대화를 종료했습니다</string>
<string name="EventLogVoiceChatMuted">음성 대화에서 un1님이 un2님을 음소거 했습니다</string>
<string name="EventLogVoiceChatUnmuted">음성 대화에서 un1님이 un2님의 음소거를 해제했습니다</string>
<string name="EventLogVoiceChatAllowedToSpeak">un1님이 새 참가자들에 대한 음소거를 해제했습니다</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">un1님이 새 참가자들을 음소거 했습니다</string>
<!--broadcasts-->
<string name="NewBroadcastList">새 단체 메시지 리스트</string>
<string name="EnterListName">리스트 이름을 입력하세요</string>
@ -886,7 +896,7 @@
<string name="AddContactFullChat">%1$s 님을 연락처에 추가하기</string>
<string name="ViewContact">연락처 보기</string>
<string name="BlockUserAlert">텔레그램 메시지와 전화 수신에서 **%1$s** 님을 차단하시겠습니까?</string>
<string name="BlockUserReplyAlert">Do you want to block messages from **%1$s**?</string>
<string name="BlockUserReplyAlert">**%1$s**님의 메시지를 차단하겠습니까?</string>
<string name="ReportSpamAlert">정말 이 사용자가 보낸 스팸을 신고하시겠습니까?</string>
<string name="ReportSpamAlertGroup">정말 이 그룹의 스팸 메시지를 신고하시겠습니까?</string>
<string name="ReportSpamAlertChannel">정말 이 채널에 게시된 스팸 메시지를 신고하시겠습니까?</string>
@ -899,12 +909,12 @@
<string name="TapHereGifs">저장한 GIF 파일을 보려면 탭하세요.</string>
<string name="PinMessage">고정</string>
<string name="PinNotify">모든 참가자에게 알리기</string>
<string name="PinAlsoFor">Also pin for %1$s</string>
<string name="PinAlsoFor">%1$s에도 메시지 고정</string>
<string name="UnpinMessage">고정 해제</string>
<string name="PinMessageAlertTitle">메시지 고정</string>
<string name="UnpinMessageAlertTitle">메시지 고정 해제</string>
<string name="PinOldMessageAlert">Do you want to pin an older message while leaving a more recent one pinned?</string>
<string name="PinMessageAlert">그룹에 있는 모든 참가자들에게 이 메시지를 고정하겠습니까?</string>
<string name="PinOldMessageAlert">최근 메시지의 고정을 유지하면서, 기존 메시지를 고정하시겠습니까?</string>
<string name="PinMessageAlert">그룹에 메시지를 고정하겠습니까?</string>
<string name="PinMessageAlertChannel">채널에 이 메시지를 고정하시겠습니까?</string>
<string name="PinMessageAlertChat">이 메시지를 대화방 위쪽에 고정하시겠습니까?</string>
<string name="UnpinMessageAlert">메시지를 고정 해제하시겠습니까?</string>
@ -929,12 +939,19 @@
<string name="ReportChatOther">기타</string>
<string name="ReportChatDescription">안내</string>
<string name="PinnedMessage">고정된 메시지</string>
<string name="PreviousPinnedMessage">Previous Message</string>
<string name="PreviousPinnedMessage">이전 메시지</string>
<string name="PinnedPoll">고정된 설문</string>
<string name="EditedMessage">수정됨</string>
<string name="EditMessage">메시지 수정</string>
<string name="EditCaption">설명 수정</string>
<string name="EditMessageMedia">미디어를 수정하려면 누르세요</string>
<string name="EditMessageEditPhoto">사진 편집하기</string>
<string name="EditMessageEditVideo">비디오 편집하기</string>
<string name="EditMessageReplacePhoto">사진 교체하기</string>
<string name="EditMessageReplaceVideo">비디오 교체하기</string>
<string name="EditMessageReplaceGif">미디어 교체하기</string>
<string name="EditMessageReplaceFile">파일 교체하기</string>
<string name="EditMessageReplaceAudio">오디오 파일 교체하기</string>
<string name="AttachBotsHelp">봇을 보려면 끌어 올리세요</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">죄송합니다. 수정 시간이 만료되었습니다.</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">사진은 짧게, 동영상은 길게 누르세요</string>
<string name="TapToViewAsList">목록으로 보려면 누르세요.</string>
<string name="SendWithoutSound">소리 없이 보내기</string>
<string name="SendAsNewPhoto">Send as a new photo</string>
<string name="ReplacePhoto">사진 교체</string>
<string name="MessageScheduleSend">지금 보내기</string>
<string name="MessageScheduleEditTime">시간 조정하기</string>
<string name="MessageScheduleToday">오늘</string>
@ -1039,37 +1058,37 @@
<string name="PsaHideChatAlertTitle">대화방 가리기</string>
<string name="PsaHideChatAlertText">정말 이 대화방을 가리시겠습니까?</string>
<string name="PsaHide">가리기</string>
<string name="NearbyPeopleGreetingsDescription">Send a message or tap on the greeting below to show that you are ready to chat.</string>
<string name="NearbyPeopleGreetingsMessage">%1$s is %2$s</string>
<string name="ChatDistanceToPeer">%1$s is %2$s</string>
<string name="NearbyPeopleGreetingsDescription">메시지를 보내거나 아래의 인삿말을 눌러 회원님이 대화할 준비가 되었음을 보여 주세요.</string>
<string name="NearbyPeopleGreetingsMessage">%1$s 님이 %2$s 밖에 있음</string>
<string name="ChatDistanceToPeer">%1$s님이 %2$s에 있음</string>
<string name="ChatWasMovedToMainList">대화방을 메인 목록으로 옮겼습니다.</string>
<string name="SecretChatTimerDays">d</string>
<string name="SecretChatTimerSeconds">s</string>
<string name="SecretChatTimerMinutes">m</string>
<string name="SecretChatTimerHours">h</string>
<string name="SecretChatTimerWeeks">w</string>
<string name="SharedToPrivateMessagesAndGroups">to private messages and groups</string>
<string name="SharedToPrivateMessagesAndGroups">개인 메시지 및 그룹</string>
<string name="BotOwnershipTransfer">Transfer Bot Ownership</string>
<string name="BotOwnershipTransferReadyAlertText">This will transfer the **full owner** rights for the bot to the selected user.</string>
<string name="BotOwnershipTransferChangeOwner">Change Owner</string>
<string name="BotOwnershipTransferAlertText">You can transfer bot only if you have:</string>
<string name="LeaveAComment">코멘트 남기기</string>
<string name="BotOwnershipTransferAlertText">You can transfer this bot only if you have:</string>
<string name="LeaveAComment">댓글 남기기</string>
<string name="CommentsTitle">코멘트</string>
<string name="Comment">코멘트 보내기</string>
<string name="RepliesTitle">답변</string>
<string name="NoComments">아직 코멘트가 없습니다...</string>
<string name="NoComments">코멘트가 없습니다...</string>
<string name="NoReplies">No replies here yet...</string>
<string name="ViewInChat">대화에서 보기</string>
<string name="SendAnonymously">익명으로 보내기</string>
<string name="DiscussionStarted">토론이 시작되었습니다</string>
<string name="ViewThread">레드 보기</string>
<string name="ChooseDate">Choose date</string>
<string name="RepliesChatInfo">This chat helps you keep track of replies to your comments in Channels.</string>
<string name="ChannelPostDeleted">Sorry, this post has been removed from the discussion group.</string>
<string name="UnpinAllMessages">UNPIN ALL MESSAGES</string>
<string name="HidePinnedMessages">HIDE PINNED MESSAGES</string>
<string name="PinnedMessagesHidden">Pinned messages hidden</string>
<string name="PinnedMessagesHiddenInfo">Pinned messages will be shown again if a new message is pinned.</string>
<string name="ViewThread">레드 보기</string>
<string name="ChooseDate">날자 선택</string>
<string name="RepliesChatInfo">이 대화방에서 채널 속 회원님의 코멘트에 남겨진 답변들을 모아 보실 수 있습니다.</string>
<string name="ChannelPostDeleted">죄송합니다. 이 게시물은 토론 그룹에서 제거되었습니다.</string>
<string name="UnpinAllMessages">모든 메시지 고정해제</string>
<string name="HidePinnedMessages">고정된 메시지 숨기기</string>
<string name="PinnedMessagesHidden">고정된 메시지 숨김</string>
<string name="PinnedMessagesHiddenInfo">새로운 메시지가 고정되었을 때 고정된 메시지가 다시 보입니다.</string>
<!--notification-->
<string name="MessageLifetimeChanged">%1$s 님이 자동 삭제 타이머를 %2$s(으)로 맞췄습니다</string>
<string name="MessageLifetimeChangedOutgoing">자동 삭제 타이머를 %1$s(으)로 맞추셨습니다</string>
@ -1126,6 +1145,10 @@
<string name="NotificationEditedGroupPhoto">%1$s 님이 %2$s 그룹 사진을 바꿨습니다</string>
<string name="NotificationEditedGroupVideo">%1$s changed the group video for %2$s</string>
<string name="NotificationGroupAddMember">%1$s 님이 %3$s 님을 %2$s 그룹에 초대했습니다</string>
<string name="NotificationGroupInvitedToCall">%1$s invited %3$s to a voice chat in %2$s</string>
<string name="NotificationGroupInvitedYouToCall">%1$s 님이 나를 %2$s의 음성 대화에 초대했습니다</string>
<string name="NotificationGroupCreatedCall">%1$s started a voice chat in %2$s</string>
<string name="NotificationGroupEndedCall">%2$s 그룹에서 %1$s님이 음성 대화를 종료했습니다</string>
<string name="NotificationGroupAddSelf">%1$s 님이 %2$s 그룹에 돌아왔습니다</string>
<string name="NotificationGroupAddSelfMega">%1$s 님이 %2$s 그룹에 들어왔습니다</string>
<string name="NotificationGroupKickMember">%1$s 님이 %3$s 님을 %2$s 그룹에서 추방했습니다</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">%1$s 님이 %2$s 그룹에 파일을 고정했습니다</string>
<string name="NotificationActionPinnedSticker">%1$s 님이 %2$s 그룹에 스티커를 고정했습니다</string>
<string name="NotificationActionPinnedStickerEmoji">%1$s 님이 %2$s 그룹에 %3$s 스티커를 고정했습니다</string>
<string name="NotificationActionPinnedVoice">%1$s 님이 %2$s 그룹에 음성 메시지를 고정했습니다</string>
<string name="NotificationActionPinnedVoice">%1$s님이 %2$s에 음성 메시지를 고정했습니다</string>
<string name="NotificationActionPinnedRound">%1$s 님이 %2$s 그룹에 동영상 메시지를 고정했습니다</string>
<string name="NotificationActionPinnedContact2">%1$s 님이 %3$s 연락처를 %2$s 그룹에 고정했습니다</string>
<string name="NotificationActionPinnedGeo">%1$s 님이 %2$s 그룹에 지도를 고정했습니다</string>
@ -1185,25 +1208,25 @@
<string name="NotificationActionPinnedGeoLiveChannel">%1$s 님이 실시간 위치를 고정했습니다</string>
<string name="NotificationActionPinnedGifChannel">%1$s 님이 GIF를 고정했습니다</string>
<string name="NotificationActionPinnedMusicChannel">%1$s 님이 오디오 파일을 고정했습니다</string>
<string name="NotificationActionPinnedTextUser">%1$s pinned \"%2$s\"</string>
<string name="NotificationActionPinnedTextUser">%1$s님이 %2$s을(를) 고정했습니다</string>
<string name="NotificationActionPinnedNoTextUser">%1$s pinned a message</string>
<string name="NotificationActionPinnedPollUser">%1$s pinned a poll %2$s</string>
<string name="NotificationActionPinnedQuizUser">%1$s pinned a quiz %2$s</string>
<string name="NotificationActionPinnedPhotoUser">%1$s pinned a photo</string>
<string name="NotificationActionPinnedGameUser">%1$s pinned a game</string>
<string name="NotificationActionPinnedPollUser">%1$s님이 설문 %2$s을(를) 고정했습니다</string>
<string name="NotificationActionPinnedQuizUser">%1$s님이 퀴즈 %2$s를 고정했습니다</string>
<string name="NotificationActionPinnedPhotoUser">%1$s님이 사진을 고정했습니다</string>
<string name="NotificationActionPinnedGameUser">%1$s님이 게임을 고정했습니다</string>
<string name="NotificationActionPinnedGameScoreUser">%1$s pinned a game score</string>
<string name="NotificationActionPinnedVideoUser">%1$s pinned a video</string>
<string name="NotificationActionPinnedFileUser">%1$s pinned a file</string>
<string name="NotificationActionPinnedVideoUser">%1$s님이 동영상을 고정했습니다</string>
<string name="NotificationActionPinnedFileUser">%1$s님이 파일을 고정했습니다</string>
<string name="NotificationActionPinnedInvoiceUser">%1$s pinned an invoice</string>
<string name="NotificationActionPinnedStickerUser">%1$s pinned a sticker</string>
<string name="NotificationActionPinnedStickerUser">%1$s님이 스티커를 고정했습니다</string>
<string name="NotificationActionPinnedStickerEmojiUser">%1$s pinned a %2$s sticker</string>
<string name="NotificationActionPinnedVoiceUser">%1$s pinned a voice message</string>
<string name="NotificationActionPinnedRoundUser">%1$s pinned a video message</string>
<string name="NotificationActionPinnedContactUser">%1$s pinned a contact %2$s</string>
<string name="NotificationActionPinnedGeoUser">%1$s pinned a map</string>
<string name="NotificationActionPinnedGeoLiveUser">%1$s pinned a live location</string>
<string name="NotificationActionPinnedGifUser">%1$s pinned a GIF</string>
<string name="NotificationActionPinnedMusicUser">%1$s pinned an audio file</string>
<string name="NotificationActionPinnedVoiceUser">%1$s님이 음성 메시지를 고정했습니다</string>
<string name="NotificationActionPinnedRoundUser">%1$s님이 동영상 메시지를 고정했습니다</string>
<string name="NotificationActionPinnedContactUser">%1$s님이 연락처 %2$s님을 고정했습니다</string>
<string name="NotificationActionPinnedGeoUser">%1$s님이 지도를 고정했습니다</string>
<string name="NotificationActionPinnedGeoLiveUser">%1$s님이 실시간 위치를 고정했습니다</string>
<string name="NotificationActionPinnedGifUser">%1$s님이 GIF를 고정했습니다</string>
<string name="NotificationActionPinnedMusicUser">%1$s님이 오디오 파일을 고정했습니다</string>
<string name="SecretChatName">텔레그램</string>
<!--contacts view-->
<string name="SelectContact">연락처 선택</string>
@ -1240,12 +1263,12 @@
<string name="SortedByLastSeen">마지막 접속순으로 정렬</string>
<string name="AddContactByPhone">%1$s 추가</string>
<string name="PhoneNumberSearch">전화번호</string>
<string name="NoContactsYet">You have no contacts on Telegram yet</string>
<string name="NoContactsYetLine1">Invite friends to try Telegram</string>
<string name="NoContactsYetLine2">Find people nearby to chat with</string>
<string name="NoContactsYetLine3">Search people by username</string>
<string name="NoContactsYet">아직 텔레그램에 연락처가 없습니다</string>
<string name="NoContactsYetLine1">친구를 텔레그램으로 초대해보세요</string>
<string name="NoContactsYetLine2">주위에 대화할 사람들을 찾아보세요</string>
<string name="NoContactsYetLine3">아이디를 통해 사람들을 찾아보세요</string>
<string name="NewContactAlertTitle">New contact</string>
<string name="NewContactAlertMessage">The phone number **%1$s** is not in your contact list. Do you want to add it?</string>
<string name="NewContactAlertMessage">The phone number **%1$s** is not in your contacts. Do you want to add it?</string>
<string name="NewContactAlertButton">Add contact</string>
<!--group create view-->
<string name="SendMessageTo">사람들을 추가하세요...</string>
@ -1262,6 +1285,7 @@
<string name="JoinByPeekJoin">들어가기</string>
<string name="LinkCopied">링크를 클립보드에 복사했습니다</string>
<string name="LinkCopiedPrivate">링크가 클립보드에 복사되었습니다.\n이 링크는 이 대화방의 참가자에게만 작동합니다.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">안타깝게도 이 메시지에 접근하실 수 없습니다. 회원님은 메시지가 게시된 대화방의 참가자가 아닙니다.</string>
<string name="PhoneCopied">전화번호를 클립보드에 복사했습니다</string>
<string name="EmailCopied">이메일을 클립보드에 복사했습니다</string>
@ -1284,7 +1308,7 @@
<string name="SETTINGS">설정</string>
<string name="AddSubscriber">구독자 추가</string>
<string name="AddMember">참가자 추가</string>
<string name="SetAdmins">관리자 설정</string>
<string name="SetAdmins">관리자 추가</string>
<string name="BanFromTheGroup">그룹에서 차단</string>
<string name="DeleteAndExit">그룹 삭제하고 나가기</string>
<string name="DeleteAndExitButton">그룹 삭제 및 나가기</string>
@ -1296,7 +1320,7 @@
<string name="ConvertGroupMenu">슈퍼그룹으로 변환</string>
<string name="ConvertGroupAlertWarning">경고</string>
<string name="ConvertGroupAlert">이 작업은 되돌릴 수 없습니다. 슈퍼그룹에서 일반 그룹으로는 내리실 수 없습니다.</string>
<string name="ConvertGroupInfo">**참가자 수 한계에 다다랐습니다.**\n\n더 많은 참가자를 추가하고 추가 기능을 사용하려면, 슈퍼그룹으로 업그레이드하세요.\n\n• 슈퍼그룹은 %1$s명까지 수용할 수 있습니다\n• 새로운 참가자가 대화 기록 전체를 볼 수 있습니다\n• 한 사람이 메시지를 삭제하면 모두에게서 사라집니다\n• 생성자가 그룹에 공개 링크를 둘 수 있습니다</string>
<string name="ConvertGroupInfo">**참가자 수 한계에 다다랐습니다.**\n\n더 많은 참가자를 추가하고 추가 기능을 사용하려면, 슈퍼그룹으로 업그레이드하세요.\n\n• 슈퍼그룹은 %1$s명까지 수용할 수 있습니다\n• 새로운 참가자가 대화 기록 전체를 볼 수 있습니다\n• 메시지 삭제시 모두에게 삭제됩니다\n• 관리자는 그룹에 설명을 추가 할 수 있습니다\n• 생성자가 그룹에 공개 링크를 설정 할 수 있습니다</string>
<string name="ConvertGroupInfo2">**슈퍼그룹에서는**\n\n• 새로운 참가자가 대화 내용 전체를 볼 수 있습니다\n• 한 사람이 메시지를 삭제하면 모두에게서도 사라집니다\n• 생성자가 그룹에 공개 링크를 둘 수 있습니다</string>
<string name="ConvertGroupInfo3">**주의:** 이 작업은 되돌릴 수 없습니다.</string>
<!--contact info view-->
@ -1307,7 +1331,7 @@
<string name="ContactNotRegistered">%1$s 님은 아직 텔레그램에 가입하지 않았습니다. 초대하시겠습니까?</string>
<string name="Invite">초대</string>
<string name="Block">BLOCK</string>
<string name="BlockAndDeleteReplies">BLOCK AND DELETE REPLIES</string>
<string name="BlockAndDeleteReplies">차단 및 답글 삭제</string>
<string name="BlockContact">사용자 차단</string>
<string name="BlockUser">사용자 차단</string>
<string name="BlockUsers">사용자 차단</string>
@ -1366,7 +1390,7 @@
<string name="UsernameInvalid">올바른 사용자명을 입력하세요.</string>
<string name="UsernameInvalidShort">사용자명은 5자 이상이어야 합니다.</string>
<string name="UsernameInvalidLong">사용자명은 32자를 넘길 수 없습니다.</string>
<string name="UsernameInvalidStartNumber">죄송합니다. 사용자명은 숫자로 시작할 수 없습니다.</string>
<string name="UsernameInvalidStartNumber">사용자명은 숫자로 시작할 수 없습니다.</string>
<string name="UsernameHelp">**텔레그램** 사용자명을 정하실 수 있습니다. 회원님의 전화번호를 모르는 사람도 이 사용자명으로 회원님을 찾아 연락할 수 있습니다.\n\n**a부터 z 사이 글자**, **0부터 9 사이 숫자**와 밑줄을 사용하실 수 있습니다. 최소 길이는 **다섯** 자입니다.</string>
<string name="UsernameHelpLink">아래 링크로 회원님과의 대화방이 열립니다:\n%1$s</string>
<string name="UsernameChecking">사용자명을 확인하고 있습니다...</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">대화 중 소리</string>
<string name="SoundDefault">기본</string>
<string name="VibrationDefault">기본값</string>
<string name="NotificationsDefault">기본값</string>
<string name="NotificationsInAppDefault">앱내 기본값</string>
<string name="NotificationsChatInApp">%1$s In-App</string>
<string name="NotificationsSilent">음소거</string>
<string name="SmartNotifications">스마트 알림</string>
<string name="NotificationsExceptions">예외</string>
<string name="NotificationsAddAnException">예외 추가</string>
@ -1960,7 +1988,7 @@
<string name="CalculatingSize">계산 중...</string>
<string name="LocalDocumentCache">문서</string>
<string name="LocalPhotoCache">사진</string>
<string name="LocalAudioCache">음성/동영상 메시지</string>
<string name="LocalAudioCache">음성영상 메시지</string>
<string name="LocalVideoCache">동영상</string>
<string name="LocalMusicCache">음악</string>
<string name="LocalGifCache">GIF</string>
@ -2316,8 +2344,8 @@
<string name="SharedMediaTabFull2">공유한 미디어</string>
<string name="SharedGroupsTab2">그룹</string>
<string name="SharedLinksTab2">링크</string>
<string name="SharedMusicTab2">오디오</string>
<string name="SharedVoiceTab2">음성 메시지</string>
<string name="SharedMusicTab2">음악</string>
<string name="SharedVoiceTab2">음성</string>
<string name="SharedGIFsTab2">GIF</string>
<string name="DocumentsTitle">공유한 파일</string>
<string name="SharedContentTitle">공유하는 콘텐츠</string>
@ -2381,8 +2409,8 @@
<string name="LocationUpdatedJustNow">방금 업데이트됨</string>
<string name="SharingYouAndOtherName">나와 %1$s 님</string>
<string name="AttachLiveLocationIsSharing">%1$s를 %2$s와 공유 중</string>
<string name="AttachLiveLocationIsSharingChat">%1$s sharing with %2$s</string>
<string name="AttachLiveLocationIsSharingChats">%1$s sharing with %2$s</string>
<string name="AttachLiveLocationIsSharingChat">%2$s에서 %1$s 공유 중</string>
<string name="AttachLiveLocationIsSharingChats">%2$s에서 %1$s를 공유 중</string>
<string name="StopAllLocationSharings">모두 중단</string>
<string name="SharingLiveLocationTitle">실시간 위치를 %1$s와 공유하고 있습니다</string>
<string name="LiveLocationAlertPrivate">%1$s 님에게 회원님의 정확한 위치를 얼마 동안 보일지 선택하세요.</string>
@ -2411,19 +2439,19 @@
<string name="ChatSetThisLocation">이 위치로 설정하기</string>
<string name="ChatSetLocationInfo">사람들이 회원님의 그룹을 \"주변 사람\" 섹션에서 찾을 수 있습니다.</string>
<string name="PlacesInThisArea">지역에 있는 장소</string>
<string name="LocationNotifiation">Proximity alert</string>
<string name="LocationNotifiationButtonUser">Notify when %1$s is within %2$s</string>
<string name="LocationNotifiationButtonGroup">Notify when someone is within %1$s</string>
<string name="LocationNotifiationCloser">You are already closer than %1$s</string>
<string name="ShareLocationAlertTitle">Share Location</string>
<string name="ShareLocationAlertButton">Share</string>
<string name="ShareLocationAlertText">For the alert to work, please share your live location in this chat.</string>
<string name="ProximityTooltioUser">Alert when %1$s is close</string>
<string name="ProximityTooltioGroup">Alert when other members of the group are close</string>
<string name="ProximityAlertSet">Proximity alert set</string>
<string name="ProximityAlertSetInfoUser">We will notify you once %1$s is within %2$s from you.</string>
<string name="ProximityAlertSetInfoGroup2">We will notify you once someone is within %1$s from you.</string>
<string name="ProximityAlertCancelled">Proximity alert cancelled</string>
<string name="LocationNotifiation">근접 경고</string>
<string name="LocationNotifiationButtonUser">%1$s님이 %2$s내 있을때 알림</string>
<string name="LocationNotifiationButtonGroup">%1$s내에 누가 근접시 알림</string>
<string name="LocationNotifiationCloser">이미 %1$s 보다 더 가까이 있습니다.</string>
<string name="ShareLocationAlertTitle">위치 공유</string>
<string name="ShareLocationAlertButton">공유</string>
<string name="ShareLocationAlertText">알림을 작동시키려면, 이 대화방에 회원님의 실시간 위치를 공유해주세요.</string>
<string name="ProximityTooltioUser">%1$s님이 가까워졌을때 알림</string>
<string name="ProximityTooltioGroup">그룹 내 다른 사용자가 근접 했을때 알리기</string>
<string name="ProximityAlertSet">근접 알림 설정됨</string>
<string name="ProximityAlertSetInfoUser">%1$s님이 %2$s내 접근시 알림을 드리겠습니다</string>
<string name="ProximityAlertSetInfoGroup2">누군가가 %1$s내에 접근시 알림을 드리겠습니다</string>
<string name="ProximityAlertCancelled">근접 알림 취소됨</string>
<!--photo gallery view-->
<string name="ShowAsList">목록으로 보기</string>
<string name="ShowAsGrid">그리드로 보기</string>
@ -2485,9 +2513,9 @@
<string name="AreYouSureDeleteVideo">이 동영상을 정말 삭제하시겠습니까?</string>
<string name="AreYouSureDeleteGIFTitle">GIF 삭제</string>
<string name="AreYouSureDeleteGIF">정말 이 GIF를 삭제하시겠습니까?</string>
<string name="AreYouSureDeletePhotoEveryone">Are you sure you want to delete this photo for everyone?</string>
<string name="AreYouSureDeletePhotoEveryone">모두에게 이 사진을 삭제하겠습니까?</string>
<string name="AreYouSureDeleteVideoEveryone">Are you sure you want to delete this video for everyone?</string>
<string name="AreYouSureDeleteGIFEveryone">Are you sure you want to delete this GIF for everyone?</string>
<string name="AreYouSureDeleteGIFEveryone">모두에게 이 GIF를 삭제하겠습니까?</string>
<string name="DiscardChanges">변경 사항을 삭제할까요?</string>
<string name="PhotoEditorDiscardAlert">Are you sure you want to discard all changes?</string>
<string name="ClearSearch">검색 기록을 비울까요?</string>
@ -2505,10 +2533,10 @@
<string name="Caption">설명</string>
<string name="PaintDelete">삭제</string>
<string name="PaintEdit">수정</string>
<string name="PaintPen">Pen</string>
<string name="PaintMarker">Marker</string>
<string name="PaintNeon">Neon</string>
<string name="PaintArrow">Arrow</string>
<string name="PaintPen"></string>
<string name="PaintMarker">마커</string>
<string name="PaintNeon">네온</string>
<string name="PaintArrow">화살표</string>
<string name="PaintDuplicate">복제</string>
<string name="PaintOutlined">외곽선</string>
<string name="PaintRegular">일반</string>
@ -2520,52 +2548,52 @@
<string name="GroupPhotosHelp">미디어를 하나의 메시지로 묶기</string>
<string name="SendWithoutGrouping">묶지 않고 보내기</string>
<string name="SendWithoutCompression">압축 없이 보내기</string>
<string name="ChooseCover">Choose a cover for your profile video</string>
<string name="ChooseCover">프로필 동영상의 커버를 정하세요</string>
<string name="SetAsMain">메인으로 설정하기</string>
<string name="EditPhoto">Open in editor</string>
<string name="MainProfilePhotoSetHint">앞으로 이것이 회원님의 메인 프로필 사진입니다.</string>
<string name="MainProfileVideoSetHint">앞으로 이것이 회원님의 메인 프로필 동영상입니다.</string>
<string name="MainChannelProfilePhotoSetHint">This is the main channel photo now.</string>
<string name="MainChannelProfileVideoSetHint">This is the main channel video now.</string>
<string name="MainChannelProfilePhotoSetHint">채널에 대표로 설정된 사진입니다.</string>
<string name="MainChannelProfileVideoSetHint">채널에 대표로 설정된 비디오입니다.</string>
<string name="MainGroupProfilePhotoSetHint">현재 그룹 대표 사진입니다.</string>
<string name="MainGroupProfileVideoSetHint">현재 그룹 대표 영상입니다.</string>
<string name="PhotoSavedHint">Photo saved to gallery</string>
<string name="VideoSavedHint">Video saved to gallery</string>
<string name="PhotoSavedToDownloadsHint">Photo saved to downloads</string>
<string name="VideoSavedToDownloadsHint">Video saved to downloads</string>
<string name="GifSavedToDownloadsHint">GIF saved to downloads</string>
<string name="AudioSavedHint">File saved to music</string>
<string name="FileSavedHint">File saved to downloads</string>
<string name="FilesSavedHint_zero">%1$d files saved to downloads</string>
<string name="FilesSavedHint_one">File saved to downloads</string>
<string name="FilesSavedHint_two">%1$d files saved to downloads</string>
<string name="FilesSavedHint_few">%1$d files saved to downloads</string>
<string name="FilesSavedHint_many">%1$d files saved to downloads</string>
<string name="FilesSavedHint_other">%1$d files saved to downloads</string>
<string name="PhotosSavedHint_zero">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_one">Photo saved to gallery</string>
<string name="PhotosSavedHint_two">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_few">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_many">%1$d photos saved to gallery</string>
<string name="PhotosSavedHint_other">%1$d photos saved to gallery</string>
<string name="VideosSavedHint_zero">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_one">Video saved to gallery</string>
<string name="VideosSavedHint_two">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_few">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_many">%1$d videos saved to gallery</string>
<string name="VideosSavedHint_other">%1$d videos saved to gallery</string>
<string name="AudiosSavedHint_zero">%1$d files saved to music</string>
<string name="AudiosSavedHint_one">File saved to music</string>
<string name="AudiosSavedHint_two">%1$d files saved to music</string>
<string name="AudiosSavedHint_few">%1$d files saved to music</string>
<string name="AudiosSavedHint_many">%1$d files saved to music</string>
<string name="AudiosSavedHint_other">%1$d files saved to music</string>
<string name="MediaSavedHint_zero">%1$d items saved to gallery</string>
<string name="MediaSavedHint_one">One item saved to gallery</string>
<string name="MediaSavedHint_two">%1$d items saved to gallery</string>
<string name="MediaSavedHint_few">%1$d items saved to gallery</string>
<string name="MediaSavedHint_many">%1$d items saved to gallery</string>
<string name="MediaSavedHint_other">%1$d items saved to gallery</string>
<string name="PhotoSavedHint">갤러리로 사진이 저장됬습니다</string>
<string name="VideoSavedHint">갤러리로 영상이 저장됬습니다</string>
<string name="PhotoSavedToDownloadsHint">다운로드로 사진이 저장됬습니다</string>
<string name="VideoSavedToDownloadsHint">다운로드로 동영상이 저장됬습니다</string>
<string name="GifSavedToDownloadsHint">다운로드로 GIF가 저장됬습니다</string>
<string name="AudioSavedHint">음악에 파일이 저장됬습니다</string>
<string name="FileSavedHint">다운로드로 파일이 저장됬습니다</string>
<string name="FilesSavedHint_zero">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="FilesSavedHint_one">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="FilesSavedHint_two">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="FilesSavedHint_few">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="FilesSavedHint_many">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="FilesSavedHint_other">다운로드에 %1$d개의 파일이 저장됬습니다</string>
<string name="PhotosSavedHint_zero">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="PhotosSavedHint_one">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="PhotosSavedHint_two">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="PhotosSavedHint_few">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="PhotosSavedHint_many">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="PhotosSavedHint_other">갤러리에 %1$d개의 사진이 저장됬습니다</string>
<string name="VideosSavedHint_zero">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="VideosSavedHint_one">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="VideosSavedHint_two">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="VideosSavedHint_few">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="VideosSavedHint_many">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="VideosSavedHint_other">갤러리로 %1$d개의 비디오가 저장됬습니다</string>
<string name="AudiosSavedHint_zero">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="AudiosSavedHint_one">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="AudiosSavedHint_two">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="AudiosSavedHint_few">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="AudiosSavedHint_many">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="AudiosSavedHint_other">음악에 %1$d개 파일이 저장됬습니다</string>
<string name="MediaSavedHint_zero">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<string name="MediaSavedHint_one">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<string name="MediaSavedHint_two">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<string name="MediaSavedHint_few">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<string name="MediaSavedHint_many">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<string name="MediaSavedHint_other">갤러리로 %1$d개의 아이템이 저장됬습니다</string>
<!--password view-->
<string name="TwoStepVerification">2단계 인증</string>
<string name="TwoStepVerificationTitle">2단계 인증</string>
@ -2574,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">Return to Settings</string>
<string name="TwoStepVerificationPasswordReturnPassport">Return to Passport</string>
<string name="TwoStepVerificationSetPassword">Set Password</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">추가 비밀번호 설정</string>
<string name="SetAdditionalPasswordInfo">새로운 기기에 로그인할 때 SMS로 받는 코드와 별개로 입력해야 하는 비밀번호를 설정하실 수 있습니다.</string>
<string name="YourPassword">비밀번호</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">복구 코드</string>
<string name="RestoreEmailSent">제공하신 이메일로 복구 코드를 보냈습니다:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">이메일을 확인하여 보내 드린 6자리 코드를 입력해 주세요.</string>
<string name="RestoreEmailTrouble">%1$s 이메일에 접근하는 데 문제가 있으신가요?</string>
<string name="RestoreEmailTrouble">%1$s 접근에 어려움이 있으신가요?</string>
<string name="RestoreEmailTroubleNoEmail">Having trouble accessing your email?</string>
<string name="RestoreEmailTroubleText">이메일에 접근하지 못한다면, 비밀번호를 기억해 내거나 계정을 초기화하시는 수밖에 없습니다.</string>
<string name="ResetMyAccount">계정 초기화</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">디스크 및 네트워크 사용량</string>
<string name="StorageUsage">저장 공간 사용량</string>
<string name="NetworkUsage">데이터 사용량</string>
<string name="StoragePath">저장 경로</string>
<string name="NetworkUsageMobileTab">모바일</string>
<string name="NetworkUsageWiFiTab">Wi-Fi</string>
<string name="NetworkUsageRoamingTab">로밍</string>
@ -2663,7 +2693,7 @@
<string name="BytesSent">보낸 바이트</string>
<string name="BytesReceived">받은 바이트</string>
<string name="FilesDataUsage">파일</string>
<string name="CallsDataUsage">전화 설정</string>
<string name="CallsDataUsage">통화</string>
<string name="OutgoingCalls">발신 전화</string>
<string name="IncomingCalls">수신 전화</string>
<string name="CallsTotalTime">전체 시간</string>
@ -2677,7 +2707,7 @@
<string name="PrivacyTitle">개인 정보</string>
<string name="PrivacyLastSeen">마지막 접속 및 온라인</string>
<string name="PrivacyProfilePhoto">프로필 사진</string>
<string name="PrivacyProfilePhotoTitle">내 프로필 사진을 볼 수 있는 사람</string>
<string name="PrivacyProfilePhotoTitle">누가 내 프로필 사진과 영상을 볼 수 있나요?</string>
<string name="PrivacyProfilePhotoInfo">회원님의 프로필 사진을 볼 수 있는 사람을 세세하게 제한하실 수 있습니다.</string>
<string name="PrivacyProfilePhotoInfo2">사용자나 그룹 전체를 예외로 추가하여 앞선 설정을 무시하실 수 있습니다.</string>
<string name="PrivacyPhone">전화번호</string>
@ -2724,12 +2754,12 @@
<string name="P2PNobodyPlus">없음 (+%1$d)</string>
<string name="SecurityTitle">보안</string>
<string name="DeleteAccountTitle">계정 자동 탈퇴</string>
<string name="NewChatsFromNonContacts">New chats from unknown users</string>
<string name="ArchiveAndMute">Archive and Mute</string>
<string name="ArchiveAndMuteInfo">Automatically archive and mute new chats, groups and channels from non-contacts.</string>
<string name="DeleteMyAccount">Delete my account</string>
<string name="NewChatsFromNonContacts">알 수 없는 사용자가 만든 새로운 대화방</string>
<string name="ArchiveAndMute">보관하고 알림 끄기</string>
<string name="ArchiveAndMuteInfo">연락처에 등록되지 않은 사람들이 만든 새로운 대화방과 그룹, 채널들을 자동으로 보관하고 알림을 끕니다.</string>
<string name="DeleteMyAccount">계정 삭제하기</string>
<string name="DeleteAccountIfAwayFor2">다음 기간 내 미접속 시 계정 탈퇴</string>
<string name="DeleteAccountIfAwayFor3">If away for</string>
<string name="DeleteAccountIfAwayFor3">다음 기간동안 비활성화 시</string>
<string name="DeleteAccountHelp">이 기간 안에 한 번이라도 접속하지 않으시면, 모든 그룹, 메시지, 연락처와 더불어 회원님의 계정이 사라집니다.</string>
<string name="LastSeenTitle">내 마지막 접속 시간을 볼 수 있는 사람</string>
<string name="AddExceptions">예외 추가</string>
@ -2754,7 +2784,7 @@
<string name="InviteToGroupError">죄송합니다. 사용자의 개인 정보 설정으로 인해 이 사용자를 그룹에 추가하실 수 없습니다.</string>
<string name="InviteToChannelError">죄송합니다. 사용자의 개인 정보 설정으로 인해 이 사용자를 채널에 추가하실 수 없습니다.</string>
<string name="CreateGroupError">죄송합니다. 이 사용자의 개인 정보 설정으로 인해 함께 그룹을 만드실 수 없습니다.</string>
<string name="PrivacyCallsP2PHelp">단대단을 끄시면, 회원님의 IP 주소를 노출시키지 않도록 모든 화가 텔레그램 서버를 통해 전달됩니다. 다만 음성 품질이 약간 저하될 수 있습니다.</string>
<string name="PrivacyCallsP2PHelp">단대단을 끄시면, 회원님의 IP 주소를 노출시키지 않도록 모든 화가 텔레그램 서버를 통해 전달됩니다. 다만 음성 및 영상 품질이 저하될 수 있습니다.</string>
<string name="SyncContactsDelete">동기화된 연락처 삭제</string>
<string name="SuggestContacts">자주 이용하는 연락처 추천</string>
<string name="SuggestContactsInfo">신속한 연락을 위해 검색 구역 위쪽에 자주 대화하는 사람을 표시합니다.</string>
@ -2849,9 +2879,17 @@
<string name="ActionAddUserSelf">un1 님이 그룹에 돌아왔습니다</string>
<string name="ActionAddUserSelfMega">un1 님이 그룹에 들어왔습니다</string>
<string name="ActionAddUserSelfYou">그룹에 돌아오셨습니다</string>
<string name="ActionUserWithinRadius">un1 is now within %1$s from you</string>
<string name="ActionUserWithinYouRadius">You are now within %1$s from un1</string>
<string name="ActionUserWithinOtherRadius">un1 is now within %1$s from un2</string>
<string name="ActionUserWithinRadius">un1님이 회원님으로 부터 %1$s내 있습니다</string>
<string name="ActionUserWithinYouRadius">회원님이 un1님으로부터 %1$s내 있습니다.</string>
<string name="ActionUserWithinOtherRadius">un1 님이 현재 un2 님으로부터 %1$s 안에 있습니다</string>
<string name="ActionUserInvitedToGroup">un1님이 그룹에 초대했습니다</string>
<string name="ActionUserInvitedToChannel">un1님이 채널에 초대했습니다</string>
<string name="ActionGroupCallStarted">un1님이 음성 대화를 시작했습니다</string>
<string name="ActionGroupCallStartedByYou">음성 대화를 시작했습니다</string>
<string name="ActionGroupCallEnded">음성 대화 종료됨 (%s)</string>
<string name="ActionGroupCallInvited">un1님이 un2님을 음성 대화에 초대했습니다</string>
<string name="ActionGroupCallYouInvited">un2 님을 음성 대화에 초대하셨습니다</string>
<string name="ActionGroupCallInvitedYou">un1님이 음성 대화에 초대했습니다</string>
<string name="ActionBotAllowed">%1$s에 로그인할 때 이 봇이 회원님에게 메시지를 보내도록 허용하셨습니다.</string>
<string name="ActionBotDocuments">%1$s 님이 다음 서류를 받았습니다: %2$s</string>
<string name="ActionBotDocumentIdentity">개인 신상 명세</string>
@ -2910,7 +2948,7 @@
<string name="CodeExpired">코드가 만료되었습니다. 다시 로그인하세요.</string>
<string name="FloodWait">너무 많이 시도하셨습니다. 나중에 다시 시도하세요.</string>
<string name="FloodWaitTime">너무 많이 시도하셨습니다. %1$s초 뒤에 다시 시도하세요.</string>
<string name="InvalidCode">올바른 코드를 입력해 주세요</string>
<string name="InvalidCode">올바르지 않은 코드입니다. 다시 시도해주세요.</string>
<string name="PhoneNumberFlood">죄송합니다. 최근 들어 계정을 너무 많이 삭제한 뒤 재생성하셨습니다. 며칠 기다렸다 다시 가입해 주세요.</string>
<string name="InvalidFirstName">올바른 이름을 입력해 주세요</string>
<string name="InvalidLastName">죄송합니다. 본 성을 사용하실 수 없습니다</string>
@ -3026,9 +3064,12 @@
<string name="PermissionNoLocation">회원님의 위치를 친구들과 공유하려면 텔레그램에게 위치 접근 권한이 필요합니다.</string>
<string name="PermissionNoLocationPosition">텔레그램에게 위치 접근 권한이 필요합니다.</string>
<string name="PermissionDrawAboveOtherApps">화면속화면 모드로 동영상을 재생하려면 텔레그램에게 다른 앱 위에 그릴 수 있는 권한을 부여하셔야 합니다.</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">오버레이 모드는 푸시-투-토크시, 텔레그램을 나가더라도 누가 대화를 하는지 알 수 있게 됩니다.</string>
<string name="PermissionOpenSettings">설정</string>
<string name="PermissionXiaomiLockscreen">통화가 제대로 실행되도록 텔레그램이 잠금 화면에 나타나는 것을 허용해 주세요.</string>
<string name="PermissionBackgroundLocation">To share your live location in this chat, Telegram needs access to your location all the time, including while the app is in the background.\n\nWe will access your location only for the duration you choose, and you can stop sharing it any time. We won\'t use your location for any purpose other than sharing it in this chat.</string>
<string name="PermissionDrawAboveOtherAppsTitle">화면-속-화면</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">음성 대화 오버레이</string>
<!--charts-->
<string name="GrowthChartTitle">성장</string>
<string name="FollowersChartTitle">팔로워</string>
@ -3102,14 +3143,14 @@
<string name="TopDaysOfWeekChartTitle">Top days of week</string>
<string name="StatisticSearchUserHistory">메시지 보기</string>
<string name="StatisticOpenProfile">프로필 열기</string>
<string name="SearchTipToday">Today</string>
<string name="SearchTipYesterday">Yesterday</string>
<string name="SearchTipToday">오늘</string>
<string name="SearchTipYesterday">어제</string>
<string name="StatisticViews">Views</string>
<string name="PublicShares">Public Shares</string>
<string name="PrivateShares">Private Shares</string>
<string name="PublicShares">공개 공유</string>
<string name="PrivateShares">비공개 공유</string>
<string name="ViewStats">View Stats</string>
<string name="ViewChannelStats">View Channel Stats</string>
<string name="ViewMessageStatistic">Message Statistics</string>
<string name="ViewMessageStatistic">메시지 통계</string>
<string name="ViewMessage">Open Message</string>
<!--Intro view-->
<string name="Page1Title">텔레그램</string>
@ -3141,10 +3182,15 @@
<string name="VoipInCallBranding">텔레그램 전화</string>
<string name="VoipInVideoCallBranding">텔레그램 영상 통화</string>
<string name="VoipOutgoingCall">텔레그램으로 통화 중</string>
<string name="VoipVoiceChat">참여중인 음성 대화</string>
<string name="VoipEndCall">통화 종료</string>
<string name="VoipOngoingAlertTitle">이미 통화하고 계십니다</string>
<string name="VoipOngoingAlert">현재 **%1$s** 님과 통화하고 계십니다. 전화를 끊고 **%2$s** 님과 새로 통화하시겠습니까?</string>
<string name="VoipNotificationSettings">음성 전화</string>
<string name="VoipOngoingAlert">**%1$s**님과 통화를 종료하고 **%2$s**님과 새로 통화하겠습니까?</string>
<string name="VoipOngoingAlert2">**%1$s**님과 전화를 종료하고 **%2$s**의 음성 대화를 시작하시겠습니까?</string>
<string name="VoipOngoingChatAlertTitle">다른 음성 대화가 진행중입니다</string>
<string name="VoipOngoingChatAlert">**%1$s**의 음성 대화를 나가고, **%2$s**에서 새로운 음성 대화를 시작하겠습니까?</string>
<string name="VoipOngoingChatAlert2">**%1$s**의 음성 대화를 나가고 **%2$s**에게 전화를 거시겠습니까?</string>
<string name="VoipNotificationSettings">전화</string>
<string name="VoipSettingsRingtone">벨소리</string>
<string name="VoipRingtoneInfo">이 연락처에서 전화가 걸려올 때 울리는 벨소리를 맞춤하실 수 있습니다.</string>
<string name="Calls">전화</string>
@ -3160,7 +3206,9 @@
<string name="VoipAnswerCall">받기</string>
<string name="VoipDeclineCall">거부</string>
<string name="VoipOffline">회원님은 현재 오프라인이십니다. 전화를 걸려면 인터넷에 연결해 주세요.</string>
<string name="VoipGroupOffline">현재 오프라인입니다. 음성 대화에 참여하려면 인터넷에 연결 해주세요.</string>
<string name="VoipOfflineAirplane">비행기 모드가 현재 켜져 있습니다. 전화를 걸려면 비행기 모드를 끄거나 Wi-Fi에 연결하세요.</string>
<string name="VoipGroupOfflineAirplane">현재 비행기 모드입니다. 음성 대화에 참여하려면, 비행기 모드를 종료하거나 와이파이에 연결 해주세요.</string>
<string name="VoipOfflineTitle">오프라인</string>
<string name="VoipOfflineAirplaneTitle">비행기 모드</string>
<string name="VoipOfflineOpenSettings">설정</string>
@ -3178,11 +3226,11 @@
<string name="NoCallLog">전화를 걸거나 받으신 적이 없습니다.</string>
<string name="VoipPeerIncompatible">**%1$s** 님의 앱은 호환되지 않는 프로토콜을 사용하고 있습니다. 상대가 앱을 업데이트한 뒤에서야 전화하실 수 있습니다.</string>
<string name="VoipPeerOutdated">**%1$s** 님의 텔레그램은 전화를 지원하지 않습니다. 이 사용자의 앱을 업데이트한 뒤에 전화할 수 있습니다.</string>
<string name="VoipPeerVideoOutdated">Sorry, **%1$s** is using an old version of Telegram that doesn\'t support video calls.</string>
<string name="VoipPeerVideoOutdatedMakeVoice">Make a voice call</string>
<string name="VoipPeerVideoOutdated">%1$s 님의 앱이 영상 통화를 지원하지 않습니다. 전화를 거시기 전에 이 사용자가 앱을 업데이트해야 합니다.</string>
<string name="VoipPeerVideoOutdatedMakeVoice">음성 통화 걸기</string>
<string name="VoipRateCallAlert">텔레그램 전화의 품질을 평가해주세요.</string>
<string name="VoipNeedMicPermission">전화를 걸려면 텔레그램에게 마이크 접근 권한을 부여하셔야 합니다.</string>
<string name="VoipNeedMicCameraPermission">Telegram needs access to your microphone and camera so that you can make video calls.</string>
<string name="VoipNeedMicCameraPermission">텔레그램이 영상 통화를 하기 위하여 기기의 마이크와 카메라에 접근이 필요합니다.</string>
<string name="VoipFeedbackCommentHint">코멘트를 입력하실 수 있습니다</string>
<string name="CallBack">답신 전화</string>
<string name="CallAgain">다시 전화 걸기</string>
@ -3213,7 +3261,7 @@
<string name="QuickReplyCustom">맞춤 메시지...</string>
<string name="AllowCustomQuickReply">맞춤 허용</string>
<string name="VoipInCallBrandingWithName">%s님에게 텔레그램으로 전화</string>
<string name="VoipInVideoCallBrandingWithName">Telegram Video Call to %s</string>
<string name="VoipInVideoCallBrandingWithName">%s님으로 부터의 영상 통화</string>
<string name="VoipErrorUnknown">지금은 텔레그램으로 전화하실 수 없습니다.</string>
<string name="RateCallEcho">제 목소리가 울렸습니다</string>
<string name="RateCallNoise">잡음이 들렸습니다</string>
@ -3222,15 +3270,20 @@
<string name="RateCallSilentLocal">상대의 목소리가 들리지 않았습니다</string>
<string name="RateCallSilentRemote">제 목소리가 상대에게 들리지 않았습니다</string>
<string name="RateCallDropped">통화가 예기치 않게 종료되었습니다</string>
<string name="RateCallVideoDistorted">Video was distorted</string>
<string name="RateCallVideoPixelated">Video was pixelated</string>
<string name="RateCallVideoDistorted">동영상이 왜곡됨</string>
<string name="RateCallVideoPixelated">동영상이 깨져 보임</string>
<string name="TapToTurnCamera">여기를 눌러 카메라를 켜세요</string>
<string name="VoipUnmute">음소거 해제</string>
<string name="VoipHoldAndTalk">또는 길게 눌러 말하기</string>
<string name="VoipTapToMute">실시간 참여중</string>
<string name="VoipMutedByAdmin">관리자가 음소거함</string>
<string name="VoipMutedByAdminShort">음소거됨</string>
<string name="VoipMutedByAdminInfo">듣기 전용 모드입니다</string>
<string name="VoipMute">음소거</string>
<string name="VoipStartVideo">영상 시작</string>
<string name="VoipStopVideo">영상 중단</string>
<string name="VoipSpeaker">스피커</string>
<string name="VoipFlip">Flip</string>
<string name="VoipFlip">전환</string>
<string name="VoipSwitchToVideoCall">영상 통화로 전환할까요?</string>
<string name="VoipSwitch">전환</string>
<string name="VoipUserMicrophoneIsOff">%s 님의 마이크가 꺼져 있습니다</string>
@ -3244,10 +3297,65 @@
<string name="VideoCallAlert">Are you sure you want to video call **%1$s**?</string>
<string name="VideoCallAlertTitle">Video Call</string>
<string name="VoipReconnecting">Reconnecting</string>
<string name="StartVoipChat">음성 대화 시작</string>
<string name="StartVoipChatTitle">음성 대화</string>
<string name="StartVoipChatAlertText">이 그룹에서 음성 대화를 시작하겠습니까?</string>
<string name="StartVoipChatPermission">음성 대화 관리</string>
<string name="VoipChatJoin">들어가기</string>
<string name="MembersTalking_zero">참가자 %1$s명 말하는 중</string>
<string name="MembersTalking_one">참가자 %1$s명 말하는 중</string>
<string name="MembersTalking_two">참가자 %1$s명 말하는 중</string>
<string name="MembersTalking_few">참가자 %1$s명 말하는 중</string>
<string name="MembersTalking_many">참가자 %1$s명 말하는 중</string>
<string name="MembersTalking_other">참가자 %1$s명 말하는 중</string>
<string name="Speaking">말하는 중</string>
<string name="Listening">듣는 중</string>
<string name="Invited">초대됨</string>
<string name="VoipGroupLeave">나가기</string>
<string name="VoipGroupEnd">종료</string>
<string name="VoipGroupMuteMemberAlertTitle">마이크 음소거</string>
<string name="VoipGroupMuteMemberAlertText">정말 **%1$s**님을 음성 대화에서 음소거 하겠습니까?</string>
<string name="VoipGroupRemoveMemberAlertTitle">참가자 내보내기</string>
<string name="VoipGroupRemoveMemberAlertText">%1$s님을 그룹 대화에서 내보내시겠습니까?</string>
<string name="VoipGroupRemovedFromGroup">**%1$s**님이 그룹에서 내보내졌습니다</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** 님이 발언 할 수 있습니다</string>
<string name="VoipGroupUserCantNowSpeak">**%1$s** 님은 대화에서 음소거 되었습니다</string>
<string name="VoipGroupMute">마이크 끄기</string>
<string name="VoipGroupAllCanSpeak">새 참가자 대화 가능</string>
<string name="VoipGroupOnlyAdminsCanSpeak">새 참가자 음소거</string>
<string name="VoipGroupShareInviteLink">초대 링크 공유</string>
<string name="VoipGroupEndChat">음성 대화 종료</string>
<string name="VoipGroupConnecting">연결 중...</string>
<string name="VoipGroupLeaveAlertTitle">음성 대화 나가기</string>
<string name="VoipGroupLeaveAlertText">정말 음성 대화를 나가시겠습니까?</string>
<string name="VoipGroupEndAlertTitle">음성 대화 종료</string>
<string name="VoipGroupEndAlertText">정말 이 음성 대화를 종료하시겠습니까?</string>
<string name="VoipGroupLeaveAlertEndChat">음성 대화 종료</string>
<string name="VoipGroupViewVoiceChat">음성 대화 보기</string>
<string name="VoipGroupVoiceChat">음성 대화</string>
<string name="VoipGroupOpenVoiceChat">음성 대화 참여</string>
<string name="VoipGroupInviteAlreadyParticipant">선택한 사용자는 이미 음성 대화에 참여 중입니다.</string>
<string name="VoipGroupJoinAnonymousAdmin">죄송하지만, 익명 관리자로 음성 대화에 참여할 수 없습니다.</string>
<string name="VoipGroupInvitedToVoiceChat">음성 대화에 un1님이 un2님을 초대했습니다</string>
<string name="VoipGroupJoinCall">음성 대화 참여</string>
<string name="VoipGroupInviteText">안녕하세요! 음성 대화에 참여해보세요: %1$s</string>
<string name="VoipGroupInviteMember">참가자 초대</string>
<string name="VoipGroupUserRemove">추방</string>
<string name="VoipGroupAllowToSpeak">말하기 허용</string>
<string name="VoipGroupSearchMembers">초대할 참가자 검색...</string>
<string name="VoipGroupCopyInviteLink">초대 링크 복사</string>
<string name="VoipGroupCopyInviteLinkCopied">초대 링크가 클립보드에 복사되었습니다.</string>
<string name="VoipGroupUnmute">마이크 켜기</string>
<string name="VoipGroupEndedStartNew">Voice chat ended. Start a new one?</string>
<string name="VoipGroupAddMemberTitle">참가자 추가</string>
<string name="VoipGroupAddMemberText">**%1$s**님을 **%2$s**에 추가하시겠습니까?</string>
<string name="VoipGroupInvitedUser">**%1$s**님을 음성 대화에 초대했습니다</string>
<string name="VoipGroupAdd">추가</string>
<string name="MembersTalkingNobody">눌러서 들어가기</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">Message %1$s</string>
<string name="ContactShortcutVoiceCall">Voice call %1$s</string>
<string name="ContactShortcutVideoCall">Video call %1$s</string>
<string name="ContactShortcutMessage">메시지 보내기 %1$s</string>
<string name="ContactShortcutVoiceCall">음성 통화 걸기 %1$s</string>
<string name="ContactShortcutVideoCall">영상 통화 걸기 %1$s</string>
<!--plural-->
<string name="DeleteBackground_zero">배경 %1$d개 삭제</string>
<string name="DeleteBackground_one">배경 %1$d개 삭제</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">참가자 %1$d명</string>
<string name="Members_many">참가자 %1$d명</string>
<string name="Members_other">참가자 %1$d명</string>
<string name="Participants_zero">참가자 %1$d명</string>
<string name="Participants_one">참가자 %1$d명</string>
<string name="Participants_two">참가자 %1$d명</string>
<string name="Participants_few">참가자 %1$d명</string>
<string name="Participants_many">참가자 %1$d명</string>
<string name="Participants_other">참가자 %1$d명</string>
<string name="AndMoreTyping_zero">외 %1$d명이 입력 중</string>
<string name="AndMoreTyping_one">외 %1$d명이 입력 중</string>
<string name="AndMoreTyping_two">외 %1$d명이 입력 중</string>
@ -3345,12 +3459,12 @@
<string name="NewMessages_few">새로운 메시지 %1$d개</string>
<string name="NewMessages_many">새로운 메시지 %1$d개</string>
<string name="NewMessages_other">새로운 메시지 %1$d개</string>
<string name="MessagesUnpinned_zero">%1$d messages unpinned</string>
<string name="MessagesUnpinned_one">message unpinned</string>
<string name="MessagesUnpinned_two">%1$d messages unpinned</string>
<string name="MessagesUnpinned_few">%1$d messages unpinned</string>
<string name="MessagesUnpinned_many">%1$d messages unpinned</string>
<string name="MessagesUnpinned_other">%1$d messages unpinned</string>
<string name="MessagesUnpinned_zero">메시지 %1$d개를 고정 해제했습니다</string>
<string name="MessagesUnpinned_one">메시지 %1$d개를 고정 해제했습니다</string>
<string name="MessagesUnpinned_two">메시지 %1$d개를 고정 해제했습니다</string>
<string name="MessagesUnpinned_few">메시지 %1$d개를 고정 해제했습니다</string>
<string name="MessagesUnpinned_many">메시지 %1$d개를 고정 해제했습니다</string>
<string name="MessagesUnpinned_other">메시지 %1$d개를 고정 해제했습니다</string>
<string name="messages_zero">메시지 %1$d개</string>
<string name="messages_one">메시지 %1$d개</string>
<string name="messages_two">메시지 %1$d개</string>
@ -3507,18 +3621,18 @@
<string name="Shares_few">%1$s회 공유</string>
<string name="Shares_many">%1$s회 공유</string>
<string name="Shares_other">%1$s회 공유</string>
<string name="PublicSharesCount_zero">%1$s public shares</string>
<string name="PublicSharesCount_one">%1$s public share</string>
<string name="PublicSharesCount_two">%1$s public shares</string>
<string name="PublicSharesCount_few">%1$s public shares</string>
<string name="PublicSharesCount_many">%1$s public shares</string>
<string name="PublicSharesCount_other">%1$s public shares</string>
<string name="Shared_zero">%1$s shared</string>
<string name="Shared_one">%1$s shared</string>
<string name="Shared_two">%1$s shared</string>
<string name="Shared_few">%1$s shared</string>
<string name="Shared_many">%1$s shared</string>
<string name="Shared_other">%1$s shared</string>
<string name="PublicSharesCount_zero">%1$s 공개 공유</string>
<string name="PublicSharesCount_one">%1$s 공개 공유</string>
<string name="PublicSharesCount_two">%1$s 공개 공유</string>
<string name="PublicSharesCount_few">%1$s 공개 공유</string>
<string name="PublicSharesCount_many">%1$s 공개 공유</string>
<string name="PublicSharesCount_other">%1$s 공개 공유</string>
<string name="Shared_zero">%1$s개 공유</string>
<string name="Shared_one">%1$s개 공유</string>
<string name="Shared_two">%1$s개 공유</string>
<string name="Shared_few">%1$s개 공유</string>
<string name="Shared_many">%1$s개 공유</string>
<string name="Shared_other">%1$s개 공유</string>
<string name="StickerSets_zero">스티커 묶음 %1$s개</string>
<string name="StickerSets_one">스티커 묶음 %1$s개</string>
<string name="StickerSets_two">스티커 묶음 %1$s개</string>
@ -3712,36 +3826,36 @@
<string name="ViewReplies_few">답글 %1$d 개 보기</string>
<string name="ViewReplies_many">답글 %1$d 개 보기</string>
<string name="ViewReplies_other">답글 %1$d 개 보기</string>
<string name="Replies_zero">답글 %1$d </string>
<string name="Replies_one">답글 %1$d </string>
<string name="Replies_two">답글 %1$d </string>
<string name="Replies_few">답글 %1$d </string>
<string name="Replies_many">답글 %1$d </string>
<string name="Replies_other">답글 %1$d </string>
<string name="Replies_zero">답글 %1$d개</string>
<string name="Replies_one">답글 %1$d개</string>
<string name="Replies_two">답글 %1$d개</string>
<string name="Replies_few">답글 %1$d개</string>
<string name="Replies_many">답글 %1$d개</string>
<string name="Replies_other">답글 %1$d개</string>
<string name="Comments_zero">코멘트 %1$d 개</string>
<string name="Comments_one">코멘트 %1$d 개</string>
<string name="Comments_two">코멘트 %1$d 개</string>
<string name="Comments_few">코멘트 %1$d 개</string>
<string name="Comments_many">코멘트 %1$d 개</string>
<string name="Comments_other">코멘트 %1$d 개</string>
<string name="CommentsCount_zero">%1$d comments</string>
<string name="CommentsCount_one">%1$d comment</string>
<string name="CommentsCount_two">%1$d comments</string>
<string name="CommentsCount_few">%1$d comments</string>
<string name="CommentsCount_many">%1$d comments</string>
<string name="CommentsCount_other">%1$d comments</string>
<string name="CommentsNoNumber_zero">comments</string>
<string name="CommentsNoNumber_one">comment</string>
<string name="CommentsNoNumber_two">comments</string>
<string name="CommentsNoNumber_few">comments</string>
<string name="CommentsNoNumber_many">comments</string>
<string name="CommentsNoNumber_other">comments</string>
<string name="PinnedMessagesCount_zero">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_one">Pinned Message</string>
<string name="PinnedMessagesCount_two">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_few">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_many">%1$d Pinned Messages</string>
<string name="PinnedMessagesCount_other">%1$d Pinned Messages</string>
<string name="CommentsCount_zero">%1$d 코멘트</string>
<string name="CommentsCount_one">%1$d 코멘트</string>
<string name="CommentsCount_two">%1$d 코멘트</string>
<string name="CommentsCount_few">%1$d 코멘트</string>
<string name="CommentsCount_many">%1$d 코멘트</string>
<string name="CommentsCount_other">%1$d 코멘트</string>
<string name="CommentsNoNumber_zero">코멘트</string>
<string name="CommentsNoNumber_one">코멘트</string>
<string name="CommentsNoNumber_two">코멘트</string>
<string name="CommentsNoNumber_few">코멘트</string>
<string name="CommentsNoNumber_many">코멘트</string>
<string name="CommentsNoNumber_other">코멘트</string>
<string name="PinnedMessagesCount_zero">%1$d개의 고정된 메시지</string>
<string name="PinnedMessagesCount_one">%1$d개의 고정된 메시지</string>
<string name="PinnedMessagesCount_two">%1$d개의 고정된 메시지</string>
<string name="PinnedMessagesCount_few">%1$d개의 고정된 메시지</string>
<string name="PinnedMessagesCount_many">%1$d개의 고정된 메시지</string>
<string name="PinnedMessagesCount_other">%1$d개의 고정된 메시지</string>
<!--accessibility descriptions-->
<string name="AccDescrGroup">그룹</string>
<string name="AccDescrChannel">채널</string>
@ -3751,6 +3865,9 @@
<string name="AccDescrScheduledDate">Scheduled for %s</string>
<string name="AccDescrGoBack">돌아가기</string>
<string name="AccDescrOpenMenu">네비게이션 메뉴 열기</string>
<string name="AccDescrOpenMenu2">메뉴 열기</string>
<string name="AccDescrCloseMenu">메뉴 닫기</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s로 %1$s</string>
<string name="AccDescrMoreOptions">옵션 더 보기</string>
<string name="AccActionPlay">재생</string>
@ -3869,7 +3986,7 @@
<string name="AccDescrVoipCamSwitchedToBack">후면 카메라로 전환되었습니다</string>
<string name="AccDescrVoipCamOn">카메라가 켜져 있습니다</string>
<string name="AccDescrVoipCamOff">카메라가 꺼져 있습니다</string>
<string name="AccPinnedMessagesList">Pinned message list</string>
<string name="AccPinnedMessagesList">고정된 메시지 목록</string>
<!--date formatters-->
<string name="formatterMonthYear">yyyy년 MMMM</string>
<string name="formatterStats12H">yyyy년 MMM dd일 h:mm a</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'오늘\' HH:mm\'에 알리기\'</string>
<string name="RemindDayAt">MMM d HH:mm\'에 알리기\'</string>
<string name="RemindDayYearAt">yyyy\'년\' M\'월\' d\'일\' HH:mm\'에 알림\'</string>
<string name="Enable">활성화</string>
</resources>

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,7 @@
<string name="ContinueOnThisLanguage">Continuar em Português</string>
<!--signin view-->
<string name="YourPhone">Seu Número</string>
<string name="StartText">Por favor, confirme o código de seu país e digite seu número de telefone.</string>
<string name="StartText">Por favor, confirme o código do seu país e digite o seu número de telefone.</string>
<string name="ChooseCountry">Escolha um país</string>
<string name="WrongCountry">Código do país inválido</string>
<string name="AccountAlreadyLoggedIn">Esta conta já está conectada a partir deste aplicativo.</string>
@ -39,7 +39,7 @@
<string name="CancelAccountReset">Cancelar Exclusão da Conta</string>
<string name="CancelAccountResetInfo2">Alguém com acesso ao número **%1$s** solicitou excluir a sua conta do Telegram e redefinir a sua senha de Verificação em Duas Etapas.\n\nSe não foi você, digite o código que acabamos de enviar via SMS. Você também pode cancelar isso *alterando o seu número de telefone*.</string>
<string name="ResetAccount">Apagar conta</string>
<string name="ResetAccountInfo">Como a conta %1$s está ativa e protegida por uma senha, iremos apagá-la em 1 semana por questões de segurança.\n\nVocê pode cancelar esse processo a qualquer momento.</string>
<string name="ResetAccountInfo">Como a conta %1$s está ativa e protegida por uma senha, ela será apagada em 1 semana. Esse tempo é necessário por questões de segurança.\n\nVocê pode cancelar esse processo a qualquer momento.</string>
<string name="ResetAccountStatus">Você poderá redefinir a sua conta em:</string>
<string name="ResetAccountCancelledAlert">As suas tentativas recentes de redefinir esta conta foram canceladas pelo usuário ativo. Por favor, tente novamente em 7 dias.</string>
<string name="ResetAccountButton">APAGAR CONTA</string>
@ -47,7 +47,7 @@
<string name="CancelLinkSuccess">O processo de exclusão da sua conta %1$s foi cancelado. Você pode fechar esta janela agora.</string>
<string name="OtherLoginCode">Seu código de login é **%1$s**. Digite ele no app do Telegram no qual você está tentando fazer o login.\n\nNão informe esse código para ninguém.</string>
<!--signup view-->
<string name="YourName">Seu nome</string>
<string name="YourName">Seu Nome</string>
<string name="RegisterText2">Digite seu nome e coloque uma foto de perfil.</string>
<string name="FirstName">Nome (obrigatório)</string>
<string name="LastName">Sobrenome (opcional)</string>
@ -165,6 +165,7 @@
<string name="DialogPin">Fixar</string>
<string name="DialogUnpin">Desafixar</string>
<string name="Archive">Arquivar</string>
<string name="ArchiveSearchFilter">Arquivo</string>
<string name="Unarchive">Desarquivar</string>
<string name="ArchivedChats">Chats Arquivados</string>
<string name="DeleteChatUser">Apagar chat</string>
@ -181,7 +182,7 @@
<string name="MuteFor">Silenciar por %1$s</string>
<string name="UnmuteNotifications">Restaurar Som</string>
<string name="WillUnmuteIn">Em %1$s</string>
<string name="MuteDisable">Silenciar para sempre</string>
<string name="MuteDisable">Desativar</string>
<string name="Hashtags">HASHTAGS</string>
<string name="Recent">Recente</string>
<string name="ChatHints">Pessoas</string>
@ -295,7 +296,7 @@
<string name="NoBlockedChannel2">Os usuários removidos do canal pelos admins não podem entrar novamente usando links de convite.</string>
<string name="NewChannel">Novo Canal</string>
<string name="EnterChannelName">Nome do canal</string>
<string name="AddMutual">Adicionar contatos no canal</string>
<string name="AddMutual">Adicionar pessoas ao canal</string>
<string name="ChannelUsernameHelp">Se você definir um link permanente, outras pessoas poderão encontrar e participar do seu canal.\n\nVocê pode usar a-z, 0-9 e underline.\nO tamanho mínimo é de 5 caracteres.</string>
<string name="MegaUsernameHelp">Se você definir um link permanente, outras pessoas poderão encontrar e participar do seu grupo.\n\nVocê pode usar a-z, 0-9 e underline.\nO tamanho mínimo é de 5 caracteres.</string>
<string name="ChannelVerifiedWarning">Atenção</string>
@ -371,20 +372,20 @@
<string name="ActionChannelChangedVideo">Vídeo do canal alterado</string>
<string name="ActionChannelRemovedPhoto">Foto do canal removida</string>
<string name="ActionChannelChangedTitle">Nome do canal alterado para un2</string>
<string name="ChangePublicLimitReached">Desculpe, você reservou muitos nomes públicos. Você pode remover o link público de um dos seus grupos ou canais, ou criar de forma privada.</string>
<string name="ChangePublicLimitReached">Você reservou muitos links públicos. Experimente remover o link público de um dos seus grupos ou canais antigos, ou criar de forma privada.</string>
<string name="ChannelCreator">Dono</string>
<string name="ChannelAdministrator">Administrador</string>
<string name="ChannelAdministrator">Admin</string>
<string name="ChannelAdmin">Admin</string>
<string name="ChannelMute">SILENCIAR</string>
<string name="ChannelUnmute">RESTAURAR SOM</string>
<string name="ChannelAddAdmin">Adicionar Admin</string>
<string name="ChannelBlockUser">Remover Usuário</string>
<string name="Unban">Desbanir</string>
<string name="UnbanText">Toque e segure no usuário para desbanir</string>
<string name="UnbanText">Toque e segure no usuário para remover o banimento.</string>
<string name="ChannelInviteViaLink">Convidar via Link</string>
<string name="ChannelRemoveUserAdmin">Dispensar admin</string>
<string name="ChannelEditPermissions">Editar permissões</string>
<string name="ChannelMembersInfo">Somente os administradores do canal podem ver esta lista.</string>
<string name="ChannelMembersInfo">Somente admins do canal podem ver esta lista.</string>
<string name="ChannelLinkInfo">Qualquer pessoa que tenha o Telegram instalado poderá participar do seu canal seguindo esse link.</string>
<string name="ChannelAdminsInfo">Você pode adicionar administradores para ajudar você a gerenciar o seu canal. Aperte e segure para removê-los.</string>
<string name="ChannelJoinTo">Deseja entrar no canal \'%1$s\'?</string>
@ -397,7 +398,7 @@
<string name="ChannelUserCantAdd">Desculpe, você não pode adicionar esse usuário em canais.</string>
<string name="ChannelUserCantAdmin">Desculpe, há muitos administradores neste canal.</string>
<string name="ChannelUserCantBot">Desculpe, há bots demais neste canal.</string>
<string name="ChannelUserAddLimit">Desculpe, você só pode adicionar os primeiros 200 membros ao canal. Note que um número ilimitado de pessoas podem entrar via link do canal.</string>
<string name="ChannelUserAddLimit">Desculpe, você só pode adicionar os primeiros 200 inscritos ao canal. Note que um número ilimitado de pessoas podem entrar via link do canal.</string>
<string name="ChannelTooMuchTitle">Muitos grupos e canais</string>
<string name="ChannelTooMuch">Desculpe, você faz parte de muitos grupos e canais. Por favor, saia de alguns antes de criar outro.</string>
<string name="ChannelTooMuchJoin">Desculpe, você faz parte de muitos grupos e canais. Por favor, saia de alguns antes de entrar em outro.</string>
@ -444,7 +445,7 @@
<string name="EditAdminDeleteMessages">Apagar Mensagens de Outros</string>
<string name="EditAdminGroupDeleteMessages">Apagar Mensagens</string>
<string name="EditAdminAddAdmins">Adicionar Novos Admins</string>
<string name="EditAdminSendAnonymously">Enviar Anonimamente</string>
<string name="EditAdminSendAnonymously">Permanecer Anônimo</string>
<string name="EditAdminRemoveAdmin">Dispensar admin</string>
<string name="EditAdminGroupTransfer">Transferir Posse do Grupo</string>
<string name="EditAdminChannelTransfer">Transferir Posse do Canal</string>
@ -475,7 +476,7 @@
<string name="UserRestrictionsSend">Enviar Mensagens</string>
<string name="UserRestrictionsSendMedia">Enviar Mídias</string>
<string name="UserRestrictionsSendPolls">Enviar Enquetes</string>
<string name="UserRestrictionsSendStickers">Enviar Stickers &amp; GIFs</string>
<string name="UserRestrictionsSendStickers">Enviar Stickers e GIFs</string>
<string name="UserRestrictionsEmbedLinks">Prévia de Links</string>
<string name="UserRestrictionsChangeInfo">Mudar Info do Chat</string>
<string name="UserRestrictionsPinMessages">Fixar Mensagens</string>
@ -531,7 +532,7 @@
<string name="ChooseFromSearch">Buscar na Internet</string>
<string name="Statistics">Estatísticas</string>
<string name="AddBotAsAdmin">Bots só podem ser adicionados como admins.</string>
<string name="CantAddBotAsAdmin">Desculpe, bots só podem ser adicionados a canais como admins.</string>
<string name="CantAddBotAsAdmin">Bots só podem ser adicionados aos canais como admins.</string>
<string name="MakeAdmin">TORNAR ADMIN</string>
<string name="AdminWillBeRemoved">%1$s será removido dos admins se você restringir.</string>
<string name="Discussion">Conversa</string>
@ -541,7 +542,7 @@
<string name="DiscussionChannelHelp3">Selecione um grupo para armazenar os comentários do seu canal.</string>
<string name="DiscussionChannelHelp2">Tudo que você postar no canal será encaminhado para este grupo.</string>
<string name="DiscussionChannelGroupSetHelp2">**%1$s** foi selecionado como o grupo usado para armazenar os comentários do seu canal.</string>
<string name="DiscussionGroupHelp">O canal **%1$s** está vinculado a este grupo de conversa.</string>
<string name="DiscussionGroupHelp">Este grupo está vinculado como o grupo de conversa para %1$s.</string>
<string name="DiscussionGroupHelp2">Todas as novas mensagens postadas neste canal serão encaminhadas ao grupo.</string>
<string name="DiscussionCreateGroup">Criar Grupo</string>
<string name="DiscussionUnlinkGroup">Desvincular Grupo</string>
@ -567,6 +568,7 @@
<string name="SlowmodeSelectSendError">O Modo Lento está ativado. Você não pode selecionar mais itens.</string>
<string name="SlowmodeSendErrorTooLong">Desculpe, este texto é muito longo para ser enviado em uma só mensagem.\n\nO Modo Lento está ativado. Você não pode enviar mais de uma mensagem por vez.</string>
<string name="UserSetAsAdminHint">**%1$s** promovido a admin</string>
<string name="UserRemovedFromChatHint">**%1$s** removido de **%2$s**</string>
<!--polls-->
<string name="NewPoll">Nova Enquete</string>
<string name="NewQuiz">Novo Quiz</string>
@ -639,14 +641,14 @@
<!--event log-->
<string name="EventLog">Ações Recentes</string>
<string name="EventLogAllEvents">Todas as ações</string>
<string name="EventLogSelectedEvents">Ações selecionadas</string>
<string name="EventLogSelectedEvents">ações selecionadas</string>
<string name="EventLogAllAdmins">Todos os admins</string>
<string name="EventLogEmpty">**Nenhuma ação ainda**\n\nOs membros e admins do grupo\nainda não tomaram nenhuma ação\nnas últimas 48 horas.</string>
<string name="EventLogEmptyChannel">**Nenhuma ação ainda**\n\nOs membros e admins do canal\nainda não tomaram nenhuma ação\nnas últimas 48 horas.</string>
<string name="EventLogEmptySearch">**Nenhuma ação encontrada**\n\nNenhuma ação recente corresponde à sua busca.</string>
<string name="EventLogEmptyTextSearch">Nenhuma ação recente que contenha \"**%1$s**\" foi encontrada.</string>
<string name="EventLogInfoTitle">O que são as Ações Recentes?</string>
<string name="EventLogInfoDetail">Essa é uma lista de todas as ações de serviço tomadas pelos membros e admins do grupo nas últimas 48 horas.</string>
<string name="EventLogInfoDetail">Essa é uma lista das ações de serviço notáveis tomadas pelos membros e admins do grupo nas últimas 48 horas.</string>
<string name="EventLogInfoDetailChannel">Essa é uma lista de todas as ações de serviço tomadas pelos admins do canal nas últimas 48 horas.</string>
<string name="EventLogEditedGroupTitle">un1 renomeou o grupo para \"%1$s\"</string>
<string name="EventLogEditedChannelTitle">un1 renomeou o canal para \"%1$s\"</string>
@ -711,13 +713,14 @@
<string name="EventLogRestrictedReadMessages">Ler Mensagens</string>
<string name="EventLogPromoted">alterou os privilégios de %1$s</string>
<string name="EventLogPromotedChangeChannelInfo">Alterar Info. do Canal</string>
<string name="EventLogPromotedChangeGroupInfo">Alterar Info. do grupo</string>
<string name="EventLogPromotedChangeGroupInfo">Editar Info. do grupo</string>
<string name="EventLogPromotedPostMessages">Postar mensagens</string>
<string name="EventLogPromotedEditMessages">Editar mensagens</string>
<string name="EventLogPromotedDeleteMessages">Apagar mensagens</string>
<string name="EventLogPromotedAddAdmins">Adicionar admins</string>
<string name="EventLogPromotedSendAnonymously">Enviar anonimamente</string>
<string name="EventLogPromotedSendAnonymously">Permanecer Anônimo</string>
<string name="EventLogPromotedBanUsers">Banir usuários</string>
<string name="EventLogPromotedManageCall">Gerenciar chats de voz</string>
<string name="EventLogPromotedAddUsers">Adicionar usuários</string>
<string name="EventLogPromotedTitle">Título: %1$s</string>
<string name="EventLogPromotedRemovedTitle">Título</string>
@ -732,8 +735,15 @@
<string name="EventLogFilterEditedMessages">Mensagens editadas</string>
<string name="EventLogFilterPinnedMessages">Mensagens fixadas</string>
<string name="EventLogFilterLeavingMembers">Pessoas que saíram</string>
<string name="EventLogFilterCalls">Chats de voz</string>
<string name="EventLogToggledSlowmodeOn">un1 definiu o timer do modo lento para %1$s</string>
<string name="EventLogToggledSlowmodeOff">un1 desativou o modo lento</string>
<string name="EventLogStartedVoiceChat">un1 iniciou um chat de voz</string>
<string name="EventLogEndedVoiceChat">un1 encerrou o chat de voz</string>
<string name="EventLogVoiceChatMuted">un1 silenciou un2 no chat de voz</string>
<string name="EventLogVoiceChatUnmuted">un1 tirou o silêncio de un2 no chat de voz</string>
<string name="EventLogVoiceChatAllowedToSpeak">un1 permitiu que novos participantes do chat de voz falem</string>
<string name="EventLogVoiceChatNotAllowedToSpeak">un1 silenciou novos participantes do chat de voz</string>
<!--broadcasts-->
<string name="NewBroadcastList">Nova Lista de Transmissão</string>
<string name="EnterListName">Digite o nome da lista</string>
@ -749,7 +759,7 @@
<string name="AttachMusic">Música</string>
<string name="AudioUnknownArtist">Artista desconhecido</string>
<string name="AudioUnknownTitle">Título desconhecido</string>
<string name="RepeatSong">Repetir música</string>
<string name="RepeatSong">Repetir faixa</string>
<string name="RepeatList">Repetir lista</string>
<string name="ShuffleList">Misturar lista</string>
<string name="ReverseOrder">Ordem reversa</string>
@ -770,7 +780,7 @@
<string name="RecentFiles">Arquivos recentes</string>
<string name="RecentFilesAZ">Arquivos A-Z</string>
<string name="NoFilesFound">Nenhum resultado</string>
<string name="NoFilesFoundInfo">Nada que corresponda com ** %1$s** na pasta de arquivos atual.</string>
<string name="NoFilesFoundInfo">Nada que corresponda com **%1$s** na pasta de arquivos atual.</string>
<string name="NoFilesInfo">Esta pasta está vazia.</string>
<string name="GalleryInfo">Para enviar imagens sem compressão</string>
<string name="MusicInfo">Para enviar músicas</string>
@ -852,7 +862,7 @@
<string name="SlideToCancel">DESLIZE PARA CANCELAR</string>
<string name="SaveToDownloads">Salvar em downloads</string>
<string name="SaveToGIFs">Salvar em GIFs</string>
<string name="DeleteGif">Apagar GIF?</string>
<string name="DeleteGif">Apagar GIF desta seção?</string>
<string name="SaveToMusic">Salvar em músicas</string>
<string name="ShareFile">Compartilhar</string>
<string name="ApplyLocalizationFile">Aplicar arquivo de localização</string>
@ -904,7 +914,7 @@
<string name="PinMessageAlertTitle">Fixar mensagem</string>
<string name="UnpinMessageAlertTitle">Desafixar mensagem</string>
<string name="PinOldMessageAlert">Deseja fixar uma mensagem mais antiga enquanto deixa a mais recente fixada?</string>
<string name="PinMessageAlert">Deseja fixar a mensagem para todos os membros do grupo?</string>
<string name="PinMessageAlert">Fixar a mensagem no grupo?</string>
<string name="PinMessageAlertChannel">Deseja fixar essa mensagem no canal?</string>
<string name="PinMessageAlertChat">Deseja fixar essa mensagem no topo do chat?</string>
<string name="UnpinMessageAlert">Deseja desafixar essa mensagem?</string>
@ -929,12 +939,19 @@
<string name="ReportChatOther">Outro</string>
<string name="ReportChatDescription">Descrição</string>
<string name="PinnedMessage">Mensagem fixada</string>
<string name="PreviousPinnedMessage">Mensagem Anterior</string>
<string name="PreviousPinnedMessage">Mensagem anterior</string>
<string name="PinnedPoll">Enquete fixada</string>
<string name="EditedMessage">editada</string>
<string name="EditMessage">Editar Mensagem</string>
<string name="EditCaption">Editar Legenda</string>
<string name="EditMessageMedia">Toque para editar a mídia</string>
<string name="EditMessageEditPhoto">Editar a foto</string>
<string name="EditMessageEditVideo">Editar o vídeo</string>
<string name="EditMessageReplacePhoto">Trocar foto</string>
<string name="EditMessageReplaceVideo">Trocar vídeo</string>
<string name="EditMessageReplaceGif">Trocar mídia</string>
<string name="EditMessageReplaceFile">Trocar arquivo</string>
<string name="EditMessageReplaceAudio">Substituir arquivo de áudio</string>
<string name="AttachBotsHelp">Desça para ver os bots</string>
<string name="TimeToEdit">%1$s</string>
<string name="TimeToEditExpired">Desculpe, o tempo para editar expirou.</string>
@ -963,7 +980,7 @@
<string name="HoldToAudio">Segure para gravar áudio. Toque para vídeo.</string>
<string name="HoldToVideo">Segure para gravar vídeo. Toque para áudio.</string>
<string name="DiscardVoiceMessageTitle">Descartar Mensagem de Voz</string>
<string name="DiscardVoiceMessageDescription">Tem certeza de que deseja parar de gravar e descartar sua mensagem de voz?</string>
<string name="DiscardVoiceMessageDescription">Deseja mesmo parar de gravar e descartar a sua mensagem de voz?</string>
<string name="DiscardVideoMessageTitle">Descartar Mensagem de Vídeo</string>
<string name="DiscardVideoMessageDescription">Tem certeza de que deseja parar de gravar e descartar sua mensagem de vídeo?</string>
<string name="DiscardVoiceMessageAction">Descartar</string>
@ -1003,6 +1020,8 @@
<string name="TapForVideo">Toque para foto, segure para vídeo</string>
<string name="TapToViewAsList">Toque para ver em lista.</string>
<string name="SendWithoutSound">Enviar sem som</string>
<string name="SendAsNewPhoto">Enviar como nova foto</string>
<string name="ReplacePhoto">Trocar foto</string>
<string name="MessageScheduleSend">Enviar Agora</string>
<string name="MessageScheduleEditTime">Reagendar</string>
<string name="MessageScheduleToday">Hoje</string>
@ -1116,7 +1135,7 @@
<string name="NotificationMessageGroupDocument">%1$s enviou um arquivo para o grupo %2$s</string>
<string name="NotificationMessageGroupGif">%1$s enviou um GIF para o grupo %2$s</string>
<string name="NotificationMessageGroupInvoice">%1$s enviou um recibo ao grupo %2$s por %3$s</string>
<string name="NotificationMessageGroupAudio">%1$s enviou uma mensagem de voz para o grupo %2$s</string>
<string name="NotificationMessageGroupAudio">%1$s enviou uma mensagem de voz para %2$s</string>
<string name="NotificationMessageGroupRound">%1$s enviou uma mensagem de vídeo para o grupo %2$s</string>
<string name="NotificationMessageGroupMusic">%1$s enviou um arquivo de áudio ao grupo %2$s</string>
<string name="NotificationMessageGroupSticker">%1$s enviou um sticker ao grupo %2$s</string>
@ -1126,13 +1145,17 @@
<string name="NotificationEditedGroupPhoto">%1$s alterou a foto do grupo para %2$s</string>
<string name="NotificationEditedGroupVideo">%1$s alterou o vídeo do grupo para %2$s</string>
<string name="NotificationGroupAddMember">%1$s convidou %3$s para o grupo %2$s</string>
<string name="NotificationGroupInvitedToCall">%1$s convidou %3$s para um chat de voz em %2$s</string>
<string name="NotificationGroupInvitedYouToCall">%1$s convidou você para um chat de voz em %2$s</string>
<string name="NotificationGroupCreatedCall">%1$s iniciou um chat de voz em %2$s</string>
<string name="NotificationGroupEndedCall">%1$s encerrou um chat de voz em %2$s</string>
<string name="NotificationGroupAddSelf">%1$s retornou ao grupo %2$s</string>
<string name="NotificationGroupAddSelfMega">%1$s entrou no grupo %2$s</string>
<string name="NotificationGroupKickMember">%1$s removeu %3$s do grupo %2$s</string>
<string name="NotificationGroupKickYou">%1$s removeu você do grupo %2$s</string>
<string name="NotificationGroupLeftMember">%1$s saiu do grupo %2$s</string>
<string name="NotificationContactJoined">%1$s entrou para o Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nDetectamos que alguém acessou a sua conta a partir de um novo dispositivo em %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\n\nSe não foi você, vá em Configurações &gt; Privacidade e Segurança &gt; Sessões Ativas, e termine essa sessão.\n\nSe você acha que alguém acessou a sua conta sem a sua permissão, você pode habilitar a Verificação em Duas Etapas nas configurações de Privacidade e Segurança.\n\nAtenciosamente,\nEquipe do Telegram.</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nDetectamos que alguém acessou a sua conta a partir de um novo dispositivo em %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\n\nSe não foi você, vá em Configurações &gt; Dispositivos e termine essa sessão.\n\nSe você acha que alguém acessou a sua conta sem a sua permissão, você pode habilitar a Verificação em Duas Etapas nas configurações de Privacidade e Segurança.\n\nAtenciosamente,\nEquipe do Telegram.</string>
<string name="NotificationContactNewPhoto">%1$s atualizou a foto do perfil</string>
<string name="NotificationInvitedToGroupByLink">%1$s entrou para o grupo %2$s via link de convite</string>
<string name="NotificationGroupFew">%1$s enviou %3$s ao grupo %2$s</string>
@ -1158,7 +1181,7 @@
<string name="NotificationActionPinnedFile">%1$s fixou um arquivo no grupo %2$s</string>
<string name="NotificationActionPinnedSticker">%1$s fixou um sticker no grupo %2$s</string>
<string name="NotificationActionPinnedStickerEmoji">%1$s fixou um %3$s sticker no grupo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s fixou uma mensagem de voz no grupo %2$s</string>
<string name="NotificationActionPinnedVoice">%1$s fixou uma mensagem de voz em %2$s</string>
<string name="NotificationActionPinnedRound">%1$s fixou uma mensagem de vídeo no grupo %2$s</string>
<string name="NotificationActionPinnedContact2">%1$s fixou um contato %3$s no grupo %2$s</string>
<string name="NotificationActionPinnedGeo">%1$s fixou um mapa no grupo %2$s</string>
@ -1245,7 +1268,7 @@
<string name="NoContactsYetLine2">Encontre pessoas próximas</string>
<string name="NoContactsYetLine3">Busque pessoas por nome de usuário</string>
<string name="NewContactAlertTitle">Novo contato</string>
<string name="NewContactAlertMessage">O número de **%1$s** não está nos seus contatos. Deseja adicionar?</string>
<string name="NewContactAlertMessage">O número de telefone **%1$s** não está nos seus contatos. Deseja adicionar?</string>
<string name="NewContactAlertButton">Adicionar contato</string>
<!--group create view-->
<string name="SendMessageTo">Adicionar pessoas...</string>
@ -1262,12 +1285,13 @@
<string name="JoinByPeekJoin">ENTRAR</string>
<string name="LinkCopied">Link copiado.</string>
<string name="LinkCopiedPrivate">Link copiado.\nEle só funciona para membros deste chat.</string>
<string name="LinkCopiedPrivateInfo">This link will only work for members of this chat.</string>
<string name="LinkNotFound">Desculpe, você não faz parte da conversa em que essa mensagem foi postada e infelizmente não pode acessá-la.</string>
<string name="PhoneCopied">Telefone copiado.</string>
<string name="EmailCopied">Email copiado.</string>
<string name="InviteToGroupByLink">Convidar para o Grupo via Link</string>
<string name="InviteLink">Link de Convite</string>
<string name="RevokeAlert">Tem certeza de que deseja desativar o link de convite? Se fizer isso, ninguém conseguirá usá-lo.</string>
<string name="RevokeAlert">Deseja mesmo desativar o link de convite? Se fizer isso, ninguém conseguirá usá-lo.</string>
<string name="RevokeAlertNewLink">O link de convite anterior foi desativado. Um novo link foi gerado.</string>
<string name="RevokeButton">Desativar</string>
<string name="RevokeLink">Revogar Link</string>
@ -1284,7 +1308,7 @@
<string name="SETTINGS">Configurações</string>
<string name="AddSubscriber">Adicionar Inscrito</string>
<string name="AddMember">Adicionar Membro</string>
<string name="SetAdmins">Definir administradores</string>
<string name="SetAdmins">Adicionar admins</string>
<string name="BanFromTheGroup">BANIR DO GRUPO</string>
<string name="DeleteAndExit">Apagar e sair do grupo</string>
<string name="DeleteAndExitButton">Apagar e Sair do Grupo</string>
@ -1296,7 +1320,7 @@
<string name="ConvertGroupMenu">Converter em supergrupo</string>
<string name="ConvertGroupAlertWarning">Atenção</string>
<string name="ConvertGroupAlert">Essa ação é irreversível. Não é possível voltar de um supergrupo para um grupo normal.</string>
<string name="ConvertGroupInfo">**Limite de membros atingido.**\n\nPara ir além do limite e ter funções adicionais, converta em supergrupo:\n\n• Supergrupos podem ter até %1$s\n• Novos membros podem ver todo o histórico do chat\n• Mensagens apagadas somem para todos os membros\n• Admins podem adicionar uma descrição no grupo\n• O criador pode definir um link público para o grupo</string>
<string name="ConvertGroupInfo">**Limite de membros atingido.**\n\nPara mais espaço e funções adicionais, converta em supergrupo:\n\n• Supergrupos podem ter até %1$s\n• Novos membros podem ver todo o histórico do chat\n• Mensagens apagadas somem para todos os membros\n• Admins podem adicionar uma descrição no grupo\n• O criador pode definir um link público para o grupo</string>
<string name="ConvertGroupInfo2">**Em supergrupos:**\n\n• Novos membros podem ver todo o histórico do chat\n• Mensagens apagadas somem para todos os membros\n• Admins podem adicionar uma descrição no grupo\n• O criador pode definir um link público para o grupo</string>
<string name="ConvertGroupInfo3">**Nota:** essa ação não pode ser desfeita.</string>
<!--contact info view-->
@ -1307,7 +1331,7 @@
<string name="ContactNotRegistered">%1$s ainda não está no Telegram. Gostaria de fazer um convite?</string>
<string name="Invite">Convidar</string>
<string name="Block">BLOQUEAR</string>
<string name="BlockAndDeleteReplies">BLOQUEAR E APAGAR RESPOSTAS</string>
<string name="BlockAndDeleteReplies">SIM E APAGAR RESPOSTAS</string>
<string name="BlockContact">Bloquear usuário</string>
<string name="BlockUser">Bloquear usuário</string>
<string name="BlockUsers">Bloquear</string>
@ -1366,8 +1390,8 @@
<string name="UsernameInvalid">Desculpe, esse usuário é inválido.</string>
<string name="UsernameInvalidShort">O nome de usuário deve ter pelo menos 5 caracteres.</string>
<string name="UsernameInvalidLong">O nome de usuário não pode exceder 32 caracteres.</string>
<string name="UsernameInvalidStartNumber">Desculpe, o nome de usuário não pode começar com um número.</string>
<string name="UsernameHelp">Você pode escolher um nome de usuário no **Telegram**. Assim, outras pessoas poderão te encontrar pelo nome de usuário e entrar em contato sem precisar saber seu número de telefone.\n\nVocê pode usar **az**, **09** e underline.\nO tamanho mínimo é de **5** caracteres.</string>
<string name="UsernameInvalidStartNumber">Nomes de usuário não podem começar com um número.</string>
<string name="UsernameHelp">Você pode escolher um nome de usuário no **Telegram**. Se escolher, as pessoas poderão te encontrar pelo nome de usuário e entrar em contato sem precisar do seu número de telefone.\n\nVocê pode usar **az**, **09** e underline.\nO tamanho mínimo é de **5** caracteres.</string>
<string name="UsernameHelpLink">Este link abre um chat com você:\n%1$s</string>
<string name="UsernameChecking">Verificando nome de usuário...</string>
<string name="UsernameAvailable">%1$s está disponível.</string>
@ -1377,7 +1401,7 @@
<string name="StickersName">Stickers e Máscaras</string>
<string name="LoopAnimatedStickers">Stickers Animados em Loop</string>
<string name="LoopAnimatedStickersInfo">Stickers animados serão reproduzidos em chats de forma contínua.</string>
<string name="AnimatedStickers">Stickers Animados</string>
<string name="AnimatedStickers">Stickers animados</string>
<string name="AddStickers">Adicionar Stickers</string>
<string name="AddStickersCount">ADICIONAR %1$s</string>
<string name="RemoveStickersCount">REMOVER %1$s</string>
@ -1392,7 +1416,7 @@
<string name="CurrentGroupStickers">Stickers do Grupo</string>
<string name="OtherStickers">Mais Stickers</string>
<string name="DeleteFromFavorites">Apagar dos Favoritos</string>
<string name="DeleteFromRecent">Apagar dos Recentes</string>
<string name="DeleteFromRecent">Remover dos Recentes</string>
<string name="AddToMasks">Adicionar Máscaras</string>
<string name="AddStickersNotFound">Stickers não encontrados</string>
<string name="StickersRemoved">Stickers removidos</string>
@ -1435,7 +1459,7 @@
<string name="ArchivedMasks">Máscaras Arquivadas</string>
<string name="ArchivedStickersEmpty">Nenhum sticker arquivado</string>
<string name="ArchivedMasksEmpty">Nenhuma máscara arquivada</string>
<string name="ArchivedStickersInfo">Você pode ter até 200 pacotes de sticker. Pacotes não usados são arquivados quando você adiciona mais.</string>
<string name="ArchivedStickersInfo">Você pode ter 200 pacotes de sticker. Pacotes não usados são arquivados quando você adiciona mais.</string>
<string name="ArchivedMasksInfo">Você pode ter até 200 pacotes de máscaras. Pacotes não usados são arquivados quando você adiciona mais.</string>
<string name="SendSticker">ENVIAR STICKER</string>
<string name="ArchivedStickersAlertTitle">Stickers arquivados</string>
@ -1814,6 +1838,10 @@
<string name="InChatSound">Sons no Chat</string>
<string name="SoundDefault">Padrão</string>
<string name="VibrationDefault">Padrão</string>
<string name="NotificationsDefault">Padrão</string>
<string name="NotificationsInAppDefault">Padrão no App</string>
<string name="NotificationsChatInApp">%1$s No App</string>
<string name="NotificationsSilent">Silenciosas</string>
<string name="SmartNotifications">Notificações Inteligentes</string>
<string name="NotificationsExceptions">Exceções</string>
<string name="NotificationsAddAnException">Adicionar Exceção</string>
@ -1960,9 +1988,9 @@
<string name="CalculatingSize">Calculando...</string>
<string name="LocalDocumentCache">Documentos</string>
<string name="LocalPhotoCache">Fotos</string>
<string name="LocalAudioCache">Mensagens de vídeo/voz</string>
<string name="LocalAudioCache">Mensagens voz e vídeo</string>
<string name="LocalVideoCache">Vídeos</string>
<string name="LocalMusicCache">Música</string>
<string name="LocalMusicCache">Músicas</string>
<string name="LocalGifCache">GIFs</string>
<string name="LocalCache">Outros arquivos</string>
<string name="CacheEmpty">Vazio</string>
@ -2030,7 +2058,7 @@
<string name="PassportEmailVerifyInfo">Digite o código de confirmação que acabamos de enviar para %1$s.</string>
<string name="PassportSelfRequest">Por favor, digite sua senha para acessar seus dados pessoais.</string>
<string name="PassportRequest">%1$s solicita acesso aos seus dados pessoais para que você assine os serviços deles.</string>
<string name="PassportRequestPasswordInfo">Por favor, digite a senha do Telegram para descriptografar seus dados.</string>
<string name="PassportRequestPasswordInfo">Digite a senha do Telegram para descriptografar seus dados.</string>
<string name="PassportPolicy">Você aceita a *Política de Privacidade de %1$s* e permite que @%2$s te envie mensagens.</string>
<string name="PassportNoPolicy">Você está enviando seus documentos diretamente para %1$s e permitindo que %2$s envie mensagens para você.</string>
<string name="PassportAuthorize">AUTORIZAR</string>
@ -2160,7 +2188,7 @@
<string name="PassportLanguage_VI">Vietnamita</string>
<!--sessions view-->
<string name="SessionsTitle">Sessões Ativas</string>
<string name="CurrentSession">Sessão atual</string>
<string name="CurrentSession">Este dispositivo</string>
<string name="NoOtherSessions">Nenhuma outra sessão ativa</string>
<string name="NoOtherSessionsInfo">Você pode entrar no Telegram em outros celulares, tablets e computadores usando o mesmo número de telefone. Todos os seus dados serão sincronizados.</string>
<string name="OtherSessions">Sessões ativas</string>
@ -2230,7 +2258,7 @@
<string name="FilterBots">Bots</string>
<string name="FilterAddingChats">Adicionando chats</string>
<string name="FilterAddingChatsInfo">Aguarde um momento enquanto preenchemos esta pasta para você...</string>
<string name="FilterNoChatsToDisplay">Nenhum chat encontrado</string>
<string name="FilterNoChatsToDisplay">Pasta vazia</string>
<string name="FilterNoChatsToDisplayInfo">Não há nenhum chat nesta\npasta no momento.</string>
<string name="FilterNew">Nova Pasta</string>
<string name="FilterNoChats">Sem Chats</string>
@ -2312,11 +2340,11 @@
<string name="November">novembro</string>
<string name="December">dezembro</string>
<string name="SharedFilesTab2">Arquivos</string>
<string name="SharedMediaTab2">Mídia</string>
<string name="SharedMediaTab2">Mídias</string>
<string name="SharedMediaTabFull2">Mídia Compartilhada</string>
<string name="SharedGroupsTab2">Grupos</string>
<string name="SharedLinksTab2">Links</string>
<string name="SharedMusicTab2">Música</string>
<string name="SharedMusicTab2">Músicas</string>
<string name="SharedVoiceTab2">Voz</string>
<string name="SharedGIFsTab2">GIFs</string>
<string name="DocumentsTitle">Arquivos Compartilhados</string>
@ -2355,7 +2383,7 @@
<string name="Directions">Direções</string>
<string name="NoPlacesFound">Nenhum lugar encontrado.</string>
<string name="NoPlacesFoundInfo">Não há nada relacionado com **%1$s** perto de você.</string>
<string name="SendLocation">Enviar minha localização atual</string>
<string name="SendLocation">Enviar Minha Localização Atual</string>
<string name="SendLiveLocation">Compartilhar em Tempo Real...</string>
<string name="SendLiveLocationMenu">Enviar Localização em Tempo Real</string>
<string name="StopLiveLocation">Parar Compartilhamento</string>
@ -2422,7 +2450,7 @@
<string name="ProximityTooltioGroup">Alertar quando outros participantes estiverem perto</string>
<string name="ProximityAlertSet">Alerta de proximidade ativado</string>
<string name="ProximityAlertSetInfoUser">Vamos te notificar quando %1$s estiver a %2$s de você.</string>
<string name="ProximityAlertSetInfoGroup2">We will notify you once someone is within %1$s from you.</string>
<string name="ProximityAlertSetInfoGroup2">Vamos te notificar quando alguém estiver a %1$s de você.</string>
<string name="ProximityAlertCancelled">Alerta de proximidade cancelado</string>
<!--photo gallery view-->
<string name="ShowAsList">Exibir em lista</string>
@ -2574,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">Voltar às Configurações</string>
<string name="TwoStepVerificationPasswordReturnPassport">Voltar ao Passport</string>
<string name="TwoStepVerificationSetPassword">Configurar Senha</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">Configurar senha adicional</string>
<string name="SetAdditionalPasswordInfo">Você pode configurar uma senha que será solicitada quando você entrar em um novo dispositivo, após o código SMS.</string>
<string name="YourPassword">Sua senha</string>
@ -2630,7 +2659,7 @@
<string name="RestoreEmailSentTitle">Código de recuperação</string>
<string name="RestoreEmailSent">O código de recuperação foi enviado para o email fornecido:\n\n%1$s</string>
<string name="RestoreEmailSentInfo">Por favor, verifique o seu email e digite o código de 6 dígitos que te enviamos.</string>
<string name="RestoreEmailTrouble">Está tendo problemas para acessar seu email %1$s?</string>
<string name="RestoreEmailTrouble">Problemas ao acessar %1$s?</string>
<string name="RestoreEmailTroubleNoEmail">Problemas ao acessar o seu email?</string>
<string name="RestoreEmailTroubleText">Se você não puder acessar o seu email, as suas únicas opções são lembrar a senha ou apagar a sua conta.</string>
<string name="ResetMyAccount">APAGAR MINHA CONTA</string>
@ -2641,7 +2670,7 @@
<string name="LoginPassword">Senha</string>
<string name="LoginPasswordText">Você ativou a Verificação em Duas Etapas e a sua conta está protegida com uma senha adicional.</string>
<string name="ForgotPassword">Esqueceu a senha?</string>
<string name="PasswordRecovery">Recuperação de senha</string>
<string name="PasswordRecovery">Recuperação de Senha</string>
<string name="PasswordCode">Código</string>
<string name="PasswordReset">Senha desativada</string>
<string name="ResendCode">Reenviar código</string>
@ -2654,6 +2683,7 @@
<string name="DataUsage">Uso de disco e de rede</string>
<string name="StorageUsage">Uso do Armazenamento</string>
<string name="NetworkUsage">Uso de Dados</string>
<string name="StoragePath">Caminho de Armazenamento</string>
<string name="NetworkUsageMobileTab">Móvel</string>
<string name="NetworkUsageWiFiTab">Wi-Fi</string>
<string name="NetworkUsageRoamingTab">Roaming</string>
@ -2676,8 +2706,8 @@
<string name="PrivacySettings">Privacidade e Segurança</string>
<string name="PrivacyTitle">Privacidade</string>
<string name="PrivacyLastSeen">Último Acesso e Online</string>
<string name="PrivacyProfilePhoto">Foto de Perfil</string>
<string name="PrivacyProfilePhotoTitle">Quem pode ver minha foto de perfil?</string>
<string name="PrivacyProfilePhoto">Fotos de Perfil</string>
<string name="PrivacyProfilePhotoTitle">Quem pode ver minhas fotos e vídeos de perfil?</string>
<string name="PrivacyProfilePhotoInfo">Você pode restringir quem pode ver sua foto de perfil com precisão granular.</string>
<string name="PrivacyProfilePhotoInfo2">Você pode adicionar usuários ou grupos inteiros como exceções que substituirão as configurações acima.</string>
<string name="PrivacyPhone">Número de Telefone</string>
@ -2734,7 +2764,7 @@
<string name="LastSeenTitle">Quem pode ver o seu Último Acesso?</string>
<string name="AddExceptions">Definir exceções</string>
<string name="AddToExceptions">Adicionar às exceções</string>
<string name="CustomHelp">Você não poderá ver o Último Acesso e status online das pessoas com quem você não compartilha o seu. Em vez disso, você verá o último acesso aproximado (recentemente; há uma semana; há um mês).</string>
<string name="CustomHelp">Você não poderá ver o Último Acesso ou status online das pessoas com quem você não compartilha o seu. Em vez disso, você verá horários aproximados (recentemente; há uma semana; há um mês).</string>
<string name="PrivacySettingsChangedAlert">Você alterou algumas configurações de privacidade. Gostaria de aplicar?</string>
<string name="AlwaysShareWith">Sempre Mostrar Para</string>
<string name="NeverShareWith">Nunca Mostrar Para</string>
@ -2852,6 +2882,14 @@
<string name="ActionUserWithinRadius">un1 está a %1$s de você</string>
<string name="ActionUserWithinYouRadius">Você está a %1$s de un1</string>
<string name="ActionUserWithinOtherRadius">un1 está agora a %1$s de un2</string>
<string name="ActionUserInvitedToGroup">un1 convidou você para este grupo</string>
<string name="ActionUserInvitedToChannel">un1 convidou você para este canal</string>
<string name="ActionGroupCallStarted">un1 iniciou um chat de voz</string>
<string name="ActionGroupCallStartedByYou">Você iniciou um chat de voz</string>
<string name="ActionGroupCallEnded">Chat de voz encerrado (%s)</string>
<string name="ActionGroupCallInvited">un1 convidou un2 para o chat de voz</string>
<string name="ActionGroupCallYouInvited">Você convidou un2 para o chat de voz</string>
<string name="ActionGroupCallInvitedYou">un1 convidou você para o chat de voz</string>
<string name="ActionBotAllowed">Você permitiu que o bot te envie mensagens ao fazer o login em %1$s.</string>
<string name="ActionBotDocuments">%1$s recebeu os seguintes documentos: %2$s</string>
<string name="ActionBotDocumentIdentity">Dados pessoais</string>
@ -2910,7 +2948,7 @@
<string name="CodeExpired">Código expirado. Por favor, tente entrar novamente.</string>
<string name="FloodWait">Muitas tentativas. Por favor, tente depois.</string>
<string name="FloodWaitTime">Muitas tentativas. Por favor, tente novamente em %1$s.</string>
<string name="InvalidCode">Código inválido</string>
<string name="InvalidCode">Código inválido. Por favor, tente de novo.</string>
<string name="PhoneNumberFlood">Desculpe, você apagou e recriou a sua conta muitas vezes recentemente. Aguarde alguns dias antes de tentar novamente.</string>
<string name="InvalidFirstName">Nome inválido</string>
<string name="InvalidLastName">Desculpe, este sobrenome não pode ser usado</string>
@ -2991,7 +3029,7 @@
<string name="SendContactToGroupText">Deseja enviar esse contato para **%1$s**?</string>
<string name="NoUsernameFound">Não existe conta no Telegram com esse nome de usuário.</string>
<string name="BotCantJoinGroups">Esse bot não pode entrar em grupos.</string>
<string name="SecretLinkPreviewAlert">Deseja ativar a prévia de links estendida em Chats Secretos? Note que a pré-visualização é gerada nos servidores do Telegram.</string>
<string name="SecretLinkPreviewAlert">Ativar a prévia estendida de links em Chats Secretos? Note que a prévia é gerada nos servidores do Telegram.</string>
<string name="SecretChatContextBotAlert">Os bots inline são fornecidos por desenvolvedores terceiros. Para o bot funcionar, os símbolos que você digita depois do nome de usuário do bot são enviados para o respectivo desenvolvedor.</string>
<string name="EditMessageError">Desculpe, você não pode editar essa mensagem.</string>
<string name="AllowReadCall">Permita o acesso às ligações ao Telegram, assim podemos automaticamente adicionar o código para você.</string>
@ -3020,15 +3058,18 @@
<!--permissions-->
<string name="PermissionContacts">Para que você se conecte aos seus amigos em todos os dispositivos, seus contatos serão sincronizados continuamente com os servidores fortemente criptografados do Telegram.</string>
<string name="PermissionStorage">O Telegram precisa de acesso ao armazenamento para que você possa enviar e salvar fotos, vídeos, músicas e outras mídias.</string>
<string name="PermissionNoAudio">Telegram precisa acessar seu microfone para que você possa enviar mensagens de voz.</string>
<string name="PermissionNoAudio">O Telegram precisa de acesso ao microfone para que você possa enviar mensagens de voz.</string>
<string name="PermissionNoAudioVideo">Telegram precisa acessar seu microfone para que você possa gravar vídeos.</string>
<string name="PermissionNoCamera">O Telegram precisa de acesso à câmera para que você possa tirar fotos e vídeos. Por favor, ative a permissão nas Configurações.</string>
<string name="PermissionNoLocation">Telegram precisa acessar sua localização para que você possa compartilhar com seus amigos.</string>
<string name="PermissionNoLocationPosition">O Telegram precisa acessar sua localização</string>
<string name="PermissionDrawAboveOtherApps">Para reproduzir vídeos no modo PiP, o Telegram precisa de acesso para aparecer sobre outros apps.</string>
<string name="PermissionDrawAboveOtherAppsGroupCall">O modo flutuante permite usar o recurso \"Aperte para Falar\" e também ver quem está falando até mesmo quando você estiver fora do Telegram.</string>
<string name="PermissionOpenSettings">CONFIGURAÇÕES</string>
<string name="PermissionXiaomiLockscreen">Por favor, permita que o Telegram seja mostrado na tela de bloqueio para que as chamadas possam funcionar corretamente.</string>
<string name="PermissionBackgroundLocation">Para enviar a sua localização em tempo real neste chat, o Telegram precisa de acesso contínuo à sua localização, inclusive enquanto o app estiver em segundo plano.\n\nO Telegram acessará a sua localização somente pela duração que você escolher e você pode parar de compartilhar a qualquer momento. Não usaremos a sua localização para nenhum outro motivo além de compartilhar neste chat.</string>
<string name="PermissionDrawAboveOtherAppsTitle">Picture-in-Picture</string>
<string name="PermissionDrawAboveOtherAppsGroupCallTitle">Chat de voz flutuante</string>
<!--charts-->
<string name="GrowthChartTitle">Crescimento</string>
<string name="FollowersChartTitle">Inscritos</string>
@ -3105,8 +3146,8 @@
<string name="SearchTipToday">Hoje</string>
<string name="SearchTipYesterday">Ontem</string>
<string name="StatisticViews">Visualizações</string>
<string name="PublicShares">Compartilhamentos Públicos</string>
<string name="PrivateShares">Compartilhamentos Privados</string>
<string name="PublicShares">Compartil. Públicos</string>
<string name="PrivateShares">Compartil. Privados</string>
<string name="ViewStats">Ver Estatísticas</string>
<string name="ViewChannelStats">Ver Estatísticas do Canal</string>
<string name="ViewMessageStatistic">Estatísticas da Mensagem</string>
@ -3122,7 +3163,7 @@
<string name="Page2Message">O **Telegram** envia mensagens mais rápido que qualquer outro aplicativo.</string>
<string name="Page3Message">O **Telegram** será grátis para sempre.\nSem anúncios. Sem tarifas.</string>
<string name="Page4Message">O **Telegram** mantém suas mensagens\nseguras contra ataques de hackers.</string>
<string name="Page5Message">O **Telegram** não tem limites no tamanho de suas mídias e chats.</string>
<string name="Page5Message">O **Telegram** não tem limites no tamanho das suas mídias e chats.</string>
<string name="Page6Message">O **Telegram** permite que você acesse suas mensagens\nem vários dispositivos.</string>
<string name="StartMessaging">Comece a Conversar</string>
<!-- VoIP -->
@ -3141,9 +3182,14 @@
<string name="VoipInCallBranding">Chamada via Telegram</string>
<string name="VoipInVideoCallBranding">Videochamada via Telegram</string>
<string name="VoipOutgoingCall">Chamada via Telegram em andamento</string>
<string name="VoipVoiceChat">Chat de Voz Acontecendo</string>
<string name="VoipEndCall">Encerrar</string>
<string name="VoipOngoingAlertTitle">Outra chamada em andamento</string>
<string name="VoipOngoingAlert">Você está em uma chamada com **%1$s**. Gostaria de desligar e iniciar uma nova com **%2$s**?</string>
<string name="VoipOngoingAlert">Encerrar chamada com **%1$s** e começar outra com **%2$s**?</string>
<string name="VoipOngoingAlert2">Encerrar a chamada com **%1$s** e iniciar um chat de voz em **%2$s**?</string>
<string name="VoipOngoingChatAlertTitle">Outro chat de voz acontecendo</string>
<string name="VoipOngoingChatAlert">Sair do chat de voz em **%1$s** e começar outro em **%2$s**?</string>
<string name="VoipOngoingChatAlert2">Sair do chat de voz em **%1$s** e ligar para **%2$s**?</string>
<string name="VoipNotificationSettings">Chamadas</string>
<string name="VoipSettingsRingtone">Toque</string>
<string name="VoipRingtoneInfo">Você pode personalizar o toque usado quando esse contato te ligar no Telegram.</string>
@ -3160,7 +3206,9 @@
<string name="VoipAnswerCall">Atender</string>
<string name="VoipDeclineCall">Rejeitar</string>
<string name="VoipOffline">Você está offline. Por favor, conecte-se à Internet para poder realizar chamadas.</string>
<string name="VoipGroupOffline">Você está offline no momento. Por favor, conecte-se à Internet para participar de chats de voz.</string>
<string name="VoipOfflineAirplane">Você está com o modo avião ativado. Desative-o ou conecte-se ao Wi-Fi para realizar chamadas.</string>
<string name="VoipGroupOfflineAirplane">O modo avião está ativado. Por favor, desative o modo ou conecte-se à rede Wi-Fi para participar de chats de voz.</string>
<string name="VoipOfflineTitle">Desconectado</string>
<string name="VoipOfflineAirplaneTitle">Modo Avião</string>
<string name="VoipOfflineOpenSettings">Configurações</string>
@ -3175,7 +3223,7 @@
<string name="CallMessageVideoOutgoingMissed">Videochamada cancelada</string>
<string name="CallMessageVideoIncomingDeclined">Videochamada recusada</string>
<string name="CallMessageWithDuration">%1$s (%2$s)</string>
<string name="NoCallLog">Você ainda não realizou chamadas.</string>
<string name="NoCallLog">Ainda sem chamadas aqui...</string>
<string name="VoipPeerIncompatible">O aplicativo de **%1$s** está usando um protocolo incompatível. O aplicativo desse usuário precisa ser atualizado para que você possa chamá-lo.</string>
<string name="VoipPeerOutdated">O aplicativo de **%1$s** não faz chamadas e precisa ser atualizado para isso.</string>
<string name="VoipPeerVideoOutdated">Desculpe, a versão do Telegram de **%1$s** é antiga e não faz videochamadas.</string>
@ -3192,10 +3240,10 @@
<string name="VideoCallViaTelegram">Videochamada via Telegram</string>
<string name="VoipAudioRoutingEarpiece">Auricular</string>
<string name="VoipAudioRoutingHeadset">Headset</string>
<string name="VoipAudioRoutingSpeaker">Alto-falante</string>
<string name="VoipAudioRoutingSpeaker">Viva-voz</string>
<string name="VoipAudioRoutingBluetooth">Bluetooth</string>
<string name="VoipOutputDevices">Dispositivos de Saída</string>
<string name="ReturnToCall">RETORNAR À LIGAÇÃO</string>
<string name="ReturnToCall">VOLTAR À CHAMADA</string>
<string name="CallNotAvailable">Desculpe, você não pode realizar essa chamada por conta das configurações de privacidade de %1$s.</string>
<string name="CallEmojiKeyTooltip">Se os emojis na tela de %1$s são os mesmos, esta chamada é 100%% segura.</string>
<string name="CallMessageReportProblem">Avaliar Chamada</string>
@ -3205,7 +3253,7 @@
<string name="CallReportSent">Agradecemos por ajudar a tornar as chamadas do Telegram melhores.</string>
<string name="VoipAnsweringAsAccount">respondendo como %s</string>
<string name="VoipQuickReplies">Responder com Texto</string>
<string name="VoipQuickRepliesExplain">Essas respostas rápidas estarão disponíveis quando você responder a uma ligação com uma mensagem. Altere-as para dizer o que você quiser.</string>
<string name="VoipQuickRepliesExplain">Essas respostas rápidas estarão disponíveis quando você responder a uma chamada com uma mensagem. Altere-as para dizer o que você quiser.</string>
<string name="QuickReplyDefault1">Não posso falar agora, está tudo certo?</string>
<string name="QuickReplyDefault2">Já te ligo de volta</string>
<string name="QuickReplyDefault3">Vou te ligar mais tarde</string>
@ -3226,10 +3274,15 @@
<string name="RateCallVideoPixelated">Vídeo quadriculado</string>
<string name="TapToTurnCamera">Toque aqui para ligar a sua câmera</string>
<string name="VoipUnmute">Ativar Som</string>
<string name="VoipHoldAndTalk">ou segure e fale</string>
<string name="VoipTapToMute">Você está Ao Vivo</string>
<string name="VoipMutedByAdmin">Silenciado por admin</string>
<string name="VoipMutedByAdminShort">Silenciado</string>
<string name="VoipMutedByAdminInfo">Você está no Modo Ouvinte</string>
<string name="VoipMute">Silenciar</string>
<string name="VoipStartVideo">Iniciar Vídeo</string>
<string name="VoipStopVideo">Parar Vídeo</string>
<string name="VoipSpeaker">Alto-falante</string>
<string name="VoipSpeaker">Viva-voz</string>
<string name="VoipFlip">Virar</string>
<string name="VoipSwitchToVideoCall">Alternar para videochamada?</string>
<string name="VoipSwitch">ALTERNAR</string>
@ -3244,6 +3297,61 @@
<string name="VideoCallAlert">Fazer videochamada para **%1$s**?</string>
<string name="VideoCallAlertTitle">Videochamada</string>
<string name="VoipReconnecting">Reconectando</string>
<string name="StartVoipChat">Iniciar Chat de Voz</string>
<string name="StartVoipChatTitle">Chat de Voz</string>
<string name="StartVoipChatAlertText">Iniciar um chat de voz neste grupo?</string>
<string name="StartVoipChatPermission">Gerenciar Chats de Voz</string>
<string name="VoipChatJoin">Entrar</string>
<string name="MembersTalking_zero">%1$s pessoas conversando</string>
<string name="MembersTalking_one">%1$s pessoa falando</string>
<string name="MembersTalking_two">%1$s pessoas conversando</string>
<string name="MembersTalking_few">%1$s pessoas conversando</string>
<string name="MembersTalking_many">%1$s pessoas conversando</string>
<string name="MembersTalking_other">%1$s pessoas conversando</string>
<string name="Speaking">falando</string>
<string name="Listening">escutando</string>
<string name="Invited">convidado</string>
<string name="VoipGroupLeave">Sair</string>
<string name="VoipGroupEnd">Encerrar</string>
<string name="VoipGroupMuteMemberAlertTitle">Silenciar microfone</string>
<string name="VoipGroupMuteMemberAlertText">Deseja mesmo silenciar **%1$s** neste chat de voz?</string>
<string name="VoipGroupRemoveMemberAlertTitle">Remover membro</string>
<string name="VoipGroupRemoveMemberAlertText">Deseja remover %1$s do grupo?</string>
<string name="VoipGroupRemovedFromGroup">**%1$s** foi removido do grupo.</string>
<string name="VoipGroupUserCanNowSpeak">**%1$s** agora pode falar.</string>
<string name="VoipGroupUserCantNowSpeak">**%1$s** está silenciado neste chat.</string>
<string name="VoipGroupMute">Silenciar</string>
<string name="VoipGroupAllCanSpeak">Novos membros podem falar</string>
<string name="VoipGroupOnlyAdminsCanSpeak">Silenciar novos membros</string>
<string name="VoipGroupShareInviteLink">Convidar via link</string>
<string name="VoipGroupEndChat">Encerrar chat de voz</string>
<string name="VoipGroupConnecting">Conectando...</string>
<string name="VoipGroupLeaveAlertTitle">Sair do chat de voz</string>
<string name="VoipGroupLeaveAlertText">Deseja mesmo sair deste chat de voz?</string>
<string name="VoipGroupEndAlertTitle">Encerrar chat de voz</string>
<string name="VoipGroupEndAlertText">Deseja mesmo encerrar este chat de voz?</string>
<string name="VoipGroupLeaveAlertEndChat">Encerrar chat de voz</string>
<string name="VoipGroupViewVoiceChat">VER CHAT DE VOZ</string>
<string name="VoipGroupVoiceChat">Chat de Voz</string>
<string name="VoipGroupOpenVoiceChat">Abrir chat de voz</string>
<string name="VoipGroupInviteAlreadyParticipant">O usuário selecionado já está no chat de voz.</string>
<string name="VoipGroupJoinAnonymousAdmin">Desculpe, admins anônimos não podem participar de chats de voz.</string>
<string name="VoipGroupInvitedToVoiceChat">un1 convidou un2 para o chat de voz</string>
<string name="VoipGroupJoinCall">Entrar no chat de voz</string>
<string name="VoipGroupInviteText">Olá! Junte-se ao nosso chat de voz: %1$s</string>
<string name="VoipGroupInviteMember">Convidar Membros</string>
<string name="VoipGroupUserRemove">Remover</string>
<string name="VoipGroupAllowToSpeak">Permitir falar</string>
<string name="VoipGroupSearchMembers">Buscar membros para convidar...</string>
<string name="VoipGroupCopyInviteLink">Copiar Link de Convite</string>
<string name="VoipGroupCopyInviteLinkCopied">O link de convite foi copiado.</string>
<string name="VoipGroupUnmute">Ativar Som</string>
<string name="VoipGroupEndedStartNew">Chat de voz encerrado. Começar um novo?</string>
<string name="VoipGroupAddMemberTitle">Adicionar Membro</string>
<string name="VoipGroupAddMemberText">Deseja adicionar **%1$s** a **%2$s**?</string>
<string name="VoipGroupInvitedUser">Você convidou **%1$s** para o chat de voz.</string>
<string name="VoipGroupAdd">Adicionar</string>
<string name="MembersTalkingNobody">Toque para entrar</string>
<!--contacts shortcuts-->
<string name="ContactShortcutMessage">Mensagem para %1$s</string>
<string name="ContactShortcutVoiceCall">Chamar %1$s por voz</string>
@ -3327,6 +3435,12 @@
<string name="Members_few">%1$d membros</string>
<string name="Members_many">%1$d membros</string>
<string name="Members_other">%1$d membros</string>
<string name="Participants_zero">%1$d participantes</string>
<string name="Participants_one">%1$d participante</string>
<string name="Participants_two">%1$d participantes</string>
<string name="Participants_few">%1$d participantes</string>
<string name="Participants_many">%1$d participantes</string>
<string name="Participants_other">%1$d participantes</string>
<string name="AndMoreTyping_zero">e mais %1$d escrevendo</string>
<string name="AndMoreTyping_one">e mais %1$d escrevendo</string>
<string name="AndMoreTyping_two">e mais %1$d escrevendo</string>
@ -3346,7 +3460,7 @@
<string name="NewMessages_many">%1$d novas mensagens</string>
<string name="NewMessages_other">%1$d novas mensagens</string>
<string name="MessagesUnpinned_zero">%1$d mensagens desafixadas</string>
<string name="MessagesUnpinned_one">mensagem desafixada</string>
<string name="MessagesUnpinned_one">Mensagem desafixada</string>
<string name="MessagesUnpinned_two">%1$d mensagens desafixadas</string>
<string name="MessagesUnpinned_few">%1$d mensagens desafixadas</string>
<string name="MessagesUnpinned_many">%1$d mensagens desafixadas</string>
@ -3751,6 +3865,9 @@
<string name="AccDescrScheduledDate">Agendado para %s</string>
<string name="AccDescrGoBack">Voltar</string>
<string name="AccDescrOpenMenu">Abrir menu de navegação</string>
<string name="AccDescrOpenMenu2">Abrir menu</string>
<string name="AccDescrCloseMenu">Fechar menu</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s por %1$s</string>
<string name="AccDescrMoreOptions">Mais opções</string>
<string name="AccActionPlay">Reproduzir</string>
@ -3898,4 +4015,5 @@
<string name="RemindTodayAt">\'Lembrar hoje às\' HH:mm</string>
<string name="RemindDayAt">\'Lembrar em\' d \'de\' MMM \'às\' HH:mm</string>
<string name="RemindDayYearAt">\'Lembrar em\' d \'de\' MMM \'de\' yyyy \'às\' HH:mm</string>
<string name="Enable">Ativar</string>
</resources>

View File

@ -2602,6 +2602,7 @@
<string name="TwoStepVerificationPasswordReturnSettings">Return to Settings</string>
<string name="TwoStepVerificationPasswordReturnPassport">Return to Passport</string>
<string name="TwoStepVerificationSetPassword">Set Password</string>
<string name="TwoStepVerificationShowPassword">Show password</string>
<string name="SetAdditionalPassword">Set Additional Password</string>
<string name="SetAdditionalPasswordInfo">You can set a password that will be required when you log in on a new device in addition to the code you get in the SMS.</string>
<string name="YourPassword">Your Password</string>
@ -3866,6 +3867,7 @@
<string name="AccDescrOpenMenu">Open navigation menu</string>
<string name="AccDescrOpenMenu2">Open menu</string>
<string name="AccDescrCloseMenu">Close menu</string>
<string name="AccDescrOpenInPhotoViewer">Open in photo viewer</string>
<string name="AccDescrMusicInfo">%2$s by %1$s</string>
<string name="AccDescrMoreOptions">More options</string>
<string name="AccActionPlay">Play</string>