Bug fixes

This commit is contained in:
DrKLO 2014-07-31 01:50:12 +01:00
parent e27094b963
commit f7e0225f48
10 changed files with 270 additions and 157 deletions

View file

@ -83,7 +83,7 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 8 minSdkVersion 8
targetSdkVersion 19 targetSdkVersion 19
versionCode 296 versionCode 297
versionName "1.7.0" versionName "1.7.0"
} }
} }

View file

@ -719,6 +719,11 @@ public class MessagesStorage {
} }
} }
} else { } else {
for (TLRPC.TL_chatParticipant part : info.participants) {
if (part.user_id == user_id) {
return;
}
}
TLRPC.TL_chatParticipant participant = new TLRPC.TL_chatParticipant(); TLRPC.TL_chatParticipant participant = new TLRPC.TL_chatParticipant();
participant.user_id = user_id; participant.user_id = user_id;
participant.inviter_id = invited_id; participant.inviter_id = invited_id;
@ -769,13 +774,23 @@ public class MessagesStorage {
cursor.dispose(); cursor.dispose();
if (info != null) { if (info != null) {
boolean modified = false;
ArrayList<Integer> usersArr = new ArrayList<Integer>();
String usersToLoad = ""; String usersToLoad = "";
for (TLRPC.TL_chatParticipant c : info.participants) { for (int a = 0; a < info.participants.size(); a++) {
TLRPC.TL_chatParticipant c = info.participants.get(a);
if (usersArr.contains(c.user_id)) {
info.participants.remove(a);
modified = true;
a--;
} else {
if (usersToLoad.length() != 0) { if (usersToLoad.length() != 0) {
usersToLoad += ","; usersToLoad += ",";
} }
usersArr.add(c.user_id);
usersToLoad += c.user_id; usersToLoad += c.user_id;
} }
}
if (usersToLoad.length() != 0) { if (usersToLoad.length() != 0) {
cursor = database.queryFinalized(String.format(Locale.US, "SELECT data, status FROM users WHERE uid IN(%s)", usersToLoad)); cursor = database.queryFinalized(String.format(Locale.US, "SELECT data, status FROM users WHERE uid IN(%s)", usersToLoad));
while (cursor.next()) { while (cursor.next()) {
@ -791,6 +806,9 @@ public class MessagesStorage {
} }
cursor.dispose(); cursor.dispose();
} }
if (modified) {
updateChatInfo(chat_id, info, false);
}
} }
MessagesController.getInstance().processChatInfo(chat_id, info, loadedUsers, true); MessagesController.getInstance().processChatInfo(chat_id, info, loadedUsers, true);
} catch (Exception e) { } catch (Exception e) {
@ -920,7 +938,7 @@ public class MessagesStorage {
cursor.dispose(); cursor.dispose();
} }
cursor = database.queryFinalized("SELECT c.data, c.name FROM chats as c INNER JOIN dialogs as d ON c.uid = -d.did"); cursor = database.queryFinalized("SELECT data, name FROM chats");
while (cursor.next()) { while (cursor.next()) {
String name = cursor.stringValue(1); String name = cursor.stringValue(1);
String[] args = name.split(" "); String[] args = name.split(" ");
@ -938,6 +956,7 @@ public class MessagesStorage {
} }
} }
cursor.dispose(); cursor.dispose();
NotificationCenter.getInstance().postNotificationName(MessagesController.reloadSearchResults, token, resultArray, resultArrayNames, encUsers); NotificationCenter.getInstance().postNotificationName(MessagesController.reloadSearchResults, token, resultArray, resultArrayNames, encUsers);
} catch (Exception e) { } catch (Exception e) {
FileLog.e("tmessages", e); FileLog.e("tmessages", e);

View file

@ -10,6 +10,7 @@ package org.telegram.messenger;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.provider.MediaStore; import android.provider.MediaStore;
import org.telegram.android.AndroidUtilities; import org.telegram.android.AndroidUtilities;
@ -57,9 +58,8 @@ public class FileLoadOperation {
private String ext; private String ext;
private String httpUrl; private String httpUrl;
private URLConnection httpConnection; private DownloadImageTask httpTask = null;
public boolean needBitmapCreate = true; public boolean needBitmapCreate = true;
private InputStream httpConnectionStream;
private RandomAccessFile fileOutputStream; private RandomAccessFile fileOutputStream;
private RandomAccessFile fiv; private RandomAccessFile fiv;
@ -69,6 +69,103 @@ public class FileLoadOperation {
public abstract void didChangedLoadProgress(FileLoadOperation operation, float progress); public abstract void didChangedLoadProgress(FileLoadOperation operation, float progress);
} }
private class DownloadImageTask extends AsyncTask<String, Void, Boolean> {
protected Boolean doInBackground(String... urls) {
String url = urls[0];
InputStream httpConnectionStream = null;
try {
URL downloadUrl = new URL(url);
URLConnection httpConnection = downloadUrl.openConnection();
httpConnection.setConnectTimeout(5000);
httpConnection.setReadTimeout(5000);
httpConnection.connect();
httpConnectionStream = httpConnection.getInputStream();
} catch (Exception e) {
FileLog.e("tmessages", e);
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
return false;
}
byte[] data = new byte[1024 * 2];
while (true) {
if (isCancelled()) {
break;
}
try {
int readed = httpConnectionStream.read(data);
if (readed > 0) {
fileOutputStream.write(data, 0, readed);
} else if (readed == -1) {
FileLoader.fileLoaderQueue.postRunnable(new Runnable() {
@Override
public void run() {
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
try {
onFinishLoadingFile();
} catch (Exception e) {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
}
});
}
});
break;
} else {
FileLoader.fileLoaderQueue.postRunnable(new Runnable() {
@Override
public void run() {
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
}
});
break;
}
} catch (Exception e) {
FileLog.e("tmessages", e);
FileLoader.fileLoaderQueue.postRunnable(new Runnable() {
@Override
public void run() {
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
}
});
}
}
try {
if (httpConnectionStream != null) {
httpConnectionStream.close();
}
httpConnectionStream = null;
} catch (Exception e) {
FileLog.e("tmessages", e);
}
return true;
}
}
public FileLoadOperation(TLRPC.FileLocation fileLocation) { public FileLoadOperation(TLRPC.FileLocation fileLocation) {
if (fileLocation instanceof TLRPC.TL_fileEncryptedLocation) { if (fileLocation instanceof TLRPC.TL_fileEncryptedLocation) {
location = new TLRPC.TL_inputEncryptedFileLocation(); location = new TLRPC.TL_inputEncryptedFileLocation();
@ -434,14 +531,8 @@ public class FileLoadOperation {
private void cleanup() { private void cleanup() {
if (httpUrl != null) { if (httpUrl != null) {
try { if (httpTask != null) {
if (httpConnectionStream != null) { httpTask.cancel(true);
httpConnectionStream.close();
}
httpConnection = null;
httpConnectionStream = null;
} catch (Exception e) {
FileLog.e("tmessages", e);
} }
} else { } else {
try { try {
@ -577,69 +668,8 @@ public class FileLoadOperation {
if (state != 1) { if (state != 1) {
return; return;
} }
if (httpConnection == null) { httpTask = new DownloadImageTask();
try { httpTask.doInBackground(httpUrl);
URL downloadUrl = new URL(httpUrl);
httpConnection = downloadUrl.openConnection();
httpConnection.setConnectTimeout(5000);
httpConnection.setReadTimeout(5000);
httpConnection.connect();
httpConnectionStream = httpConnection.getInputStream();
} catch (Exception e) {
FileLog.e("tmessages", e);
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
return;
}
}
try {
byte[] data = new byte[1024 * 2];
int readed = httpConnectionStream.read(data);
if (readed > 0) {
fileOutputStream.write(data, 0, readed);
FileLoader.fileLoaderQueue.postRunnable(new Runnable() {
@Override
public void run() {
startDownloadHTTPRequest();
}
});
} else if (readed == -1) {
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
try {
onFinishLoadingFile();
} catch (Exception e) {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
}
});
} else {
cleanup();
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
}
} catch (Exception e) {
cleanup();
FileLog.e("tmessages", e);
Utilities.stageQueue.postRunnable(new Runnable() {
@Override
public void run() {
delegate.didFailedLoadingFile(FileLoadOperation.this);
}
});
}
} }
private void processRequestResult(RequestInfo requestInfo, TLRPC.TL_error error) { private void processRequestResult(RequestInfo requestInfo, TLRPC.TL_error error) {

View file

@ -35,6 +35,8 @@ public class ChatOrUserCell extends BaseCell {
private static TextPaint offlinePaint; private static TextPaint offlinePaint;
private static Drawable lockDrawable; private static Drawable lockDrawable;
private static Drawable broadcastDrawable;
private static Drawable groupDrawable;
private static Paint linePaint; private static Paint linePaint;
private CharSequence currentName; private CharSequence currentName;
@ -93,6 +95,14 @@ public class ChatOrUserCell extends BaseCell {
linePaint.setColor(0xffdcdcdc); linePaint.setColor(0xffdcdcdc);
} }
if (broadcastDrawable == null) {
broadcastDrawable = getResources().getDrawable(R.drawable.broadcast);
}
if (groupDrawable == null) {
groupDrawable = getResources().getDrawable(R.drawable.grouplist);
}
if (avatarImage == null) { if (avatarImage == null) {
avatarImage = new ImageReceiver(); avatarImage = new ImageReceiver();
avatarImage.parentView = this; avatarImage.parentView = this;
@ -230,6 +240,12 @@ public class ChatOrUserCell extends BaseCell {
if (cellLayout.drawNameLock) { if (cellLayout.drawNameLock) {
setDrawableBounds(lockDrawable, cellLayout.nameLockLeft, cellLayout.nameLockTop); setDrawableBounds(lockDrawable, cellLayout.nameLockLeft, cellLayout.nameLockTop);
lockDrawable.draw(canvas); lockDrawable.draw(canvas);
} else if (cellLayout.drawNameGroup) {
setDrawableBounds(groupDrawable, cellLayout.nameLockLeft, cellLayout.nameLockTop);
groupDrawable.draw(canvas);
} else if (cellLayout.drawNameBroadcast) {
setDrawableBounds(broadcastDrawable, cellLayout.nameLockLeft, cellLayout.nameLockTop);
broadcastDrawable.draw(canvas);
} }
canvas.save(); canvas.save();
@ -262,8 +278,10 @@ public class ChatOrUserCell extends BaseCell {
private int nameWidth; private int nameWidth;
private StaticLayout nameLayout; private StaticLayout nameLayout;
private boolean drawNameLock; private boolean drawNameLock;
private boolean drawNameBroadcast;
private boolean drawNameGroup;
private int nameLockLeft; private int nameLockLeft;
private int nameLockTop = AndroidUtilities.dp(15); private int nameLockTop;
private int onlineLeft; private int onlineLeft;
private int onlineTop = AndroidUtilities.dp(36); private int onlineTop = AndroidUtilities.dp(36);
@ -277,6 +295,10 @@ public class ChatOrUserCell extends BaseCell {
CharSequence nameString = ""; CharSequence nameString = "";
TextPaint currentNamePaint; TextPaint currentNamePaint;
drawNameBroadcast = false;
drawNameLock = false;
drawNameGroup = false;
if (encryptedChat != null) { if (encryptedChat != null) {
drawNameLock = true; drawNameLock = true;
if (!LocaleController.isRTL) { if (!LocaleController.isRTL) {
@ -286,14 +308,30 @@ public class ChatOrUserCell extends BaseCell {
nameLockLeft = width - AndroidUtilities.dp(63 + (usePadding ? 11 : 0)) - lockDrawable.getIntrinsicWidth(); nameLockLeft = width - AndroidUtilities.dp(63 + (usePadding ? 11 : 0)) - lockDrawable.getIntrinsicWidth();
nameLeft = usePadding ? AndroidUtilities.dp(11) : 0; nameLeft = usePadding ? AndroidUtilities.dp(11) : 0;
} }
nameLockTop = AndroidUtilities.dp(15);
} else {
if (chat != null) {
nameLockTop = AndroidUtilities.dp(26);
if (chat.id < 0) {
drawNameBroadcast = true;
} else {
drawNameGroup = true;
}
if (!LocaleController.isRTL) {
nameLockLeft = AndroidUtilities.dp(61 + (usePadding ? 11 : 0));
nameLeft = AndroidUtilities.dp(65 + (usePadding ? 11 : 0)) + (drawNameGroup ? groupDrawable.getIntrinsicWidth() : broadcastDrawable.getIntrinsicWidth());
} else {
nameLockLeft = width - AndroidUtilities.dp(63 + (usePadding ? 11 : 0)) - (drawNameGroup ? groupDrawable.getIntrinsicWidth() : broadcastDrawable.getIntrinsicWidth());
nameLeft = usePadding ? AndroidUtilities.dp(11) : 0;
}
} else { } else {
drawNameLock = false;
if (!LocaleController.isRTL) { if (!LocaleController.isRTL) {
nameLeft = AndroidUtilities.dp(61 + (usePadding ? 11 : 0)); nameLeft = AndroidUtilities.dp(61 + (usePadding ? 11 : 0));
} else { } else {
nameLeft = usePadding ? AndroidUtilities.dp(11) : 0; nameLeft = usePadding ? AndroidUtilities.dp(11) : 0;
} }
} }
}
if (currentName != null) { if (currentName != null) {
nameString = currentName; nameString = currentName;
@ -326,6 +364,8 @@ public class ChatOrUserCell extends BaseCell {
} }
if (drawNameLock) { if (drawNameLock) {
nameWidth -= AndroidUtilities.dp(6) + lockDrawable.getIntrinsicWidth(); nameWidth -= AndroidUtilities.dp(6) + lockDrawable.getIntrinsicWidth();
} else if (drawNameBroadcast) {
nameWidth -= AndroidUtilities.dp(6) + broadcastDrawable.getIntrinsicWidth();
} }
CharSequence nameStringFinal = TextUtils.ellipsize(nameString, currentNamePaint, nameWidth - AndroidUtilities.dp(12), TextUtils.TruncateAt.END); CharSequence nameStringFinal = TextUtils.ellipsize(nameString, currentNamePaint, nameWidth - AndroidUtilities.dp(12), TextUtils.TruncateAt.END);

View file

@ -463,7 +463,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (info != null && info instanceof TLRPC.TL_chatParticipantsForbidden) { if (info != null && info instanceof TLRPC.TL_chatParticipantsForbidden) {
return; return;
} }
if (currentChat.participants_count == 0 || currentChat.left || currentChat instanceof TLRPC.TL_chatForbidden) { int count = currentChat.participants_count;
if (info != null) {
count = info.participants.size();
}
if (count == 0 || currentChat.left || currentChat instanceof TLRPC.TL_chatForbidden) {
return; return;
} }
Bundle args = new Bundle(); Bundle args = new Bundle();
@ -1248,10 +1252,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
} else if (currentChat.left) { } else if (currentChat.left) {
actionBarLayer.setSubtitle(LocaleController.getString("YouLeft", R.string.YouLeft)); actionBarLayer.setSubtitle(LocaleController.getString("YouLeft", R.string.YouLeft));
} else { } else {
if (onlineCount > 0 && currentChat.participants_count != 0) { int count = currentChat.participants_count;
actionBarLayer.setSubtitle(String.format("%s, %d %s", LocaleController.formatPluralString("Members", currentChat.participants_count), onlineCount, LocaleController.getString("Online", R.string.Online))); if (info != null) {
count = info.participants.size();
}
if (onlineCount > 0 && count != 0) {
actionBarLayer.setSubtitle(String.format("%s, %d %s", LocaleController.formatPluralString("Members", count), onlineCount, LocaleController.getString("Online", R.string.Online)));
} else { } else {
actionBarLayer.setSubtitle(LocaleController.formatPluralString("Members", currentChat.participants_count)); actionBarLayer.setSubtitle(LocaleController.formatPluralString("Members", count));
} }
} }
} else if (currentUser != null) { } else if (currentUser != null) {
@ -2962,9 +2970,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
} else if (lower_part < 0) { } else if (lower_part < 0) {
args.putInt("chat_id", -lower_part); args.putInt("chat_id", -lower_part);
} }
forwardSelectedMessages(did, param);
presentFragment(new ChatActivity(args), true); presentFragment(new ChatActivity(args), true);
removeSelfFromStack(); removeSelfFromStack();
forwardSelectedMessages(did, param);
} else { } else {
activity.finishFragment(); activity.finishFragment();
} }

View file

@ -623,10 +623,15 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
textView.setText(chat.title); textView.setText(chat.title);
if (chat.participants_count != 0 && onlineCount > 0) { int count = chat.participants_count;
onlineText.setText(Html.fromHtml(String.format("%s, <font color='#357aa8'>%d %s</font>", LocaleController.formatPluralString("Members", chat.participants_count), onlineCount, LocaleController.getString("Online", R.string.Online)))); if (info != null) {
count = info.participants.size();
}
if (count != 0 && onlineCount > 0) {
onlineText.setText(Html.fromHtml(String.format("%s, <font color='#357aa8'>%d %s</font>", LocaleController.formatPluralString("Members", count), onlineCount, LocaleController.getString("Online", R.string.Online))));
} else { } else {
onlineText.setText(LocaleController.formatPluralString("Members", chat.participants_count)); onlineText.setText(LocaleController.formatPluralString("Members", count));
} }
TLRPC.FileLocation photo = null; TLRPC.FileLocation photo = null;
@ -650,7 +655,11 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
textView.setText(LocaleController.getString("SHAREDMEDIA", R.string.SHAREDMEDIA)); textView.setText(LocaleController.getString("SHAREDMEDIA", R.string.SHAREDMEDIA));
} else if (i == membersSectionRow) { } else if (i == membersSectionRow) {
TLRPC.Chat chat = MessagesController.getInstance().chats.get(chat_id); TLRPC.Chat chat = MessagesController.getInstance().chats.get(chat_id);
textView.setText(LocaleController.formatPluralString("Members", chat.participants_count).toUpperCase()); int count = chat.participants_count;
if (info != null) {
count = info.participants.size();
}
textView.setText(LocaleController.formatPluralString("Members", count).toUpperCase());
} }
} else if (type == 2) { } else if (type == 2) {
if (view == null) { if (view == null) {

View file

@ -264,7 +264,11 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
if (obj instanceof TLRPC.User) { if (obj instanceof TLRPC.User) {
dialog_id = ((TLRPC.User) obj).id; dialog_id = ((TLRPC.User) obj).id;
} else if (obj instanceof TLRPC.Chat) { } else if (obj instanceof TLRPC.Chat) {
if (((TLRPC.Chat) obj).id > 0) {
dialog_id = -((TLRPC.Chat) obj).id; dialog_id = -((TLRPC.Chat) obj).id;
} else {
dialog_id = AndroidUtilities.makeBroadcastId(((TLRPC.Chat) obj).id);
}
} else if (obj instanceof TLRPC.EncryptedChat) { } else if (obj instanceof TLRPC.EncryptedChat) {
dialog_id = ((long)((TLRPC.EncryptedChat) obj).id) << 32; dialog_id = ((long)((TLRPC.EncryptedChat) obj).id) << 32;
} }
@ -330,7 +334,10 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName)); builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
if ((int)selectedDialog < 0) { int lower_id = (int)selectedDialog;
int high_id = (int)(selectedDialog >> 32);
if (lower_id < 0 && high_id != 1) {
builder.setItems(new CharSequence[]{LocaleController.getString("ClearHistory", R.string.ClearHistory), LocaleController.getString("DeleteChat", R.string.DeleteChat)}, new DialogInterface.OnClickListener() { builder.setItems(new CharSequence[]{LocaleController.getString("ClearHistory", R.string.ClearHistory), LocaleController.getString("DeleteChat", R.string.DeleteChat)}, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {

View file

@ -58,12 +58,12 @@
<string name="SelectChat">Seleziona chat</string> <string name="SelectChat">Seleziona chat</string>
<!--broadcasts--> <!--broadcasts-->
<string name="BroadcastList">Broadcast List</string> <string name="BroadcastList">Lista Broadcast</string>
<string name="NewBroadcastList">New Broadcast List</string> <string name="NewBroadcastList">Nuova Lista Broadcast</string>
<string name="EnterListName">Enter list name</string> <string name="EnterListName">Immetti il nome della lista</string>
<string name="YouCreatedBroadcastList">You created a broadcast list</string> <string name="YouCreatedBroadcastList">Hai creato una lista broadcast</string>
<string name="AddRecipient">Add Recipient</string> <string name="AddRecipient">Aggiungi Destinatario</string>
<string name="KickFromBroadcast">Remove from broadcast list</string> <string name="KickFromBroadcast">Rimuovi dalla lista broadcast</string>
<!--documents view--> <!--documents view-->
<string name="SelectFile">Seleziona file</string> <string name="SelectFile">Seleziona file</string>
@ -158,7 +158,7 @@
<string name="NotificationGroupKickYou">%1$s ti ha rimosso 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="NotificationGroupLeftMember">%1$s ha lasciato il gruppo %2$s</string>
<string name="NotificationContactJoined">%1$s ha iniziato a usare Telegram!</string> <string name="NotificationContactJoined">%1$s ha iniziato a usare Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo %2$s\n\nDispositivo: %3$s\nPosizione: %4$s\n\nSe non sei stato tu, puoi andare su Impostazioni - Termina tutte le sessioni.\n\nGrazie,\nla squadra di Telegram</string> <string name="NotificationUnrecognizedDevice">%1$s,\nAbbiamo rilevato un accesso al tuo account da un nuovo dispositivo %2$s\n\nDispositivo: %3$s\nPosizione: %4$s\n\nSe non sei stato tu, puoi andare su Impostazioni - Termina tutte le sessioni.\n\nGrazie,\nIl Team di Telegram</string>
<string name="NotificationContactNewPhoto">%1$s ha aggiornato la foto del profilo</string> <string name="NotificationContactNewPhoto">%1$s ha aggiornato la foto del profilo</string>
<!--contacts view--> <!--contacts view-->
@ -271,19 +271,19 @@
<string name="Enabled">Abilitato</string> <string name="Enabled">Abilitato</string>
<string name="Disabled">Disabilitato</string> <string name="Disabled">Disabilitato</string>
<string name="NotificationsService">Servizio notifiche</string> <string name="NotificationsService">Servizio notifiche</string>
<string name="NotificationsServiceDisableInfo">Se i servizi di Google Play ti bastano per ricevere le notifiche, puoi disabilitare il Servizio notifiche. Tuttavia sarebbe meglio lasciarlo abilitato al fine di mantenere l\'applicazione attiva in background e ricevere notifiche istantanee.</string> <string name="NotificationsServiceDisableInfo">Se i servizi di Google Play sono sufficienti per ricevere le notifiche, è possibile disabilitare il Servizio Notifiche. Ti raccomandiamo comunque di lasciarlo abilitato per lasciare l\'app attiva in background e ricevere le notifiche istantanee.</string>
<string name="SortBy">Ordina per</string> <string name="SortBy">Ordina per</string>
<string name="ImportContacts">Importa contatti</string> <string name="ImportContacts">Importa contatti</string>
<string name="WiFiOnly">Solo tramite WiFi</string> <string name="WiFiOnly">Solo tramite WiFi</string>
<string name="SortFirstName">Nome</string> <string name="SortFirstName">Nome</string>
<string name="SortLastName">Cognome</string> <string name="SortLastName">Cognome</string>
<string name="LedColor">Colore LED</string> <string name="LedColor">Colore LED</string>
<string name="PopupNotification">Notifica popup</string> <string name="PopupNotification">Notifiche Popup</string>
<string name="NoPopup">Nessun popup</string> <string name="NoPopup">Nessun popup</string>
<string name="OnlyWhenScreenOn">Solo con schermo acceso</string> <string name="OnlyWhenScreenOn">Solo con schermo acceso</string>
<string name="OnlyWhenScreenOff">Solo con schermo spento</string> <string name="OnlyWhenScreenOff">Solo con schermo spento</string>
<string name="AlwaysShowPopup">Mostra sempre i popup</string> <string name="AlwaysShowPopup">Mostra sempre i popup</string>
<string name="BadgeNumber">Badge Number</string> <string name="BadgeNumber">Contatore Badge</string>
<!--media view--> <!--media view-->
<string name="NoMedia">Nessun media condiviso</string> <string name="NoMedia">Nessun media condiviso</string>
@ -308,9 +308,9 @@
<string name="NoPhotos">Ancora nessuna foto</string> <string name="NoPhotos">Ancora nessuna foto</string>
<!--edit video view--> <!--edit video view-->
<string name="EditVideo">Edit Video</string> <string name="EditVideo">Modifica Video</string>
<string name="OriginalVideo">Original Video</string> <string name="OriginalVideo">Video Originale</string>
<string name="EditedVideo">Edited Video</string> <string name="EditedVideo">Video Modificato</string>
<!--button titles--> <!--button titles-->
<string name="Next">Avanti</string> <string name="Next">Avanti</string>
@ -370,8 +370,8 @@
<string name="InvalidLastName">Cognome non valido</string> <string name="InvalidLastName">Cognome non valido</string>
<string name="Loading">Caricamento…</string> <string name="Loading">Caricamento…</string>
<string name="NoPlayerInstalled">Non hai un lettore video, per favore installane uno per continuare</string> <string name="NoPlayerInstalled">Non hai un lettore video, per favore installane uno per continuare</string>
<string name="NoMailInstalled">Invia unemail a sms@telegram.org spiegandoci il problema.</string> <string name="NoMailInstalled">Invia unemail a sms@telegram.org e parlaci del tuo problema.</string>
<string name="NoHandleAppInstalled">Non hai nessuna applicazione che può gestire il tipo mime \'%1$s\', installane una per continuare</string> <string name="NoHandleAppInstalled">Nessuna applicazione può gestire il tipo di file \'%1$s\', per favore installane una per proseguire</string>
<string name="InviteUser">Questo utente non ha ancora Telegram, vuoi invitarlo?</string> <string name="InviteUser">Questo utente non ha ancora Telegram, vuoi invitarlo?</string>
<string name="AreYouSure">Sei sicuro?</string> <string name="AreYouSure">Sei sicuro?</string>
<string name="AddContactQ">Vuoi aggiungere il contatto?</string> <string name="AddContactQ">Vuoi aggiungere il contatto?</string>
@ -383,7 +383,7 @@
<string name="AreYouSureSessions">Chiudere tutte le altre sessioni?</string> <string name="AreYouSureSessions">Chiudere tutte le altre sessioni?</string>
<string name="AreYouSureDeleteAndExit">Eliminare il gruppo e uscire da esso?</string> <string name="AreYouSureDeleteAndExit">Eliminare il gruppo e uscire da esso?</string>
<string name="AreYouSureDeleteThisChat">Eliminare questa chat?</string> <string name="AreYouSureDeleteThisChat">Eliminare questa chat?</string>
<string name="AreYouSureShareMyContactInfo">Condividere le proprie informazioni di contatto?</string> <string name="AreYouSureShareMyContactInfo">Condividere le informazioni del proprio contatto?</string>
<string name="AreYouSureBlockContact">Bloccare questo contatto?</string> <string name="AreYouSureBlockContact">Bloccare questo contatto?</string>
<string name="AreYouSureUnblockContact">Sbloccare questo contatto?</string> <string name="AreYouSureUnblockContact">Sbloccare questo contatto?</string>
<string name="AreYouSureDeleteContact">Eliminare questo contatto?</string> <string name="AreYouSureDeleteContact">Eliminare questo contatto?</string>

View file

@ -58,12 +58,12 @@
<string name="SelectChat">Kies een gesprek</string> <string name="SelectChat">Kies een gesprek</string>
<!--broadcasts--> <!--broadcasts-->
<string name="BroadcastList">Broadcast List</string> <string name="BroadcastList">Verzendlijst</string>
<string name="NewBroadcastList">New Broadcast List</string> <string name="NewBroadcastList">Nieuwe verzendlijst</string>
<string name="EnterListName">Enter list name</string> <string name="EnterListName">Naam van lijst</string>
<string name="YouCreatedBroadcastList">You created a broadcast list</string> <string name="YouCreatedBroadcastList">Je hebt een verzendlijst gemaakt</string>
<string name="AddRecipient">Add Recipient</string> <string name="AddRecipient">Ontvanger toevoegen</string>
<string name="KickFromBroadcast">Remove from broadcast list</string> <string name="KickFromBroadcast">Verwijder van verzendlijst</string>
<!--documents view--> <!--documents view-->
<string name="SelectFile">Kies een bestand</string> <string name="SelectFile">Kies een bestand</string>
@ -118,7 +118,7 @@
<string name="SlideToCancel">SLEEP OM TE ANNULEREN</string> <string name="SlideToCancel">SLEEP OM TE ANNULEREN</string>
<string name="SaveToDownloads">Opslaan in Downloads</string> <string name="SaveToDownloads">Opslaan in Downloads</string>
<string name="ApplyLocalizationFile">Vertaling toepassen</string> <string name="ApplyLocalizationFile">Vertaling toepassen</string>
<string name="UnsupportedAttachment">Bijlageformaat niet ondersteund</string> <string name="UnsupportedAttachment">Bestandstype niet ondersteund</string>
<!--notification--> <!--notification-->
<string name="EncryptedChatRequested">Privégesprek aangevraagd</string> <string name="EncryptedChatRequested">Privégesprek aangevraagd</string>
@ -158,7 +158,7 @@
<string name="NotificationGroupKickYou">%1$s heeft je verwijderd uit de groep %2$s</string> <string name="NotificationGroupKickYou">%1$s heeft je verwijderd uit de groep %2$s</string>
<string name="NotificationGroupLeftMember">%1$s heeft de groep %2$s verlaten</string> <string name="NotificationGroupLeftMember">%1$s heeft de groep %2$s verlaten</string>
<string name="NotificationContactJoined">%1$s heeft nu Telegram!</string> <string name="NotificationContactJoined">%1$s heeft nu Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nEr is op je account ingelogd vanaf een nieuw apparaat op %2$s\n\nApparaat: %3$s\nLocatie: %4$s\n\nAls jij dit niet was, kun je alle sessies beëindigen via Instellingen Alle andere sessies beëindigen.\n\nHet Telegram-team</string> <string name="NotificationUnrecognizedDevice">%1$s,\nEr is op je account ingelogd vanaf een nieuw apparaat op %2$s\n\nApparaat: %3$s\nLocatie: %4$s\n\nAls jij dit niet was, kun je alle sessies beëindigen via Instellingen Beëindig alle andere sessies.\n\nBedankt,\nHet Telegram-team</string>
<string name="NotificationContactNewPhoto">%1$s heeft zijn/haar profielfoto gewijzigd</string> <string name="NotificationContactNewPhoto">%1$s heeft zijn/haar profielfoto gewijzigd</string>
<!--contacts view--> <!--contacts view-->
@ -253,7 +253,7 @@
<string name="ChatBackground">Achtergrond gesprekken</string> <string name="ChatBackground">Achtergrond gesprekken</string>
<string name="MessagesSettings">BERICHTEN</string> <string name="MessagesSettings">BERICHTEN</string>
<string name="SendByEnter">Verzenden met Enter</string> <string name="SendByEnter">Verzenden met Enter</string>
<string name="TerminateAllSessions">Alle andere sessies beëindigen</string> <string name="TerminateAllSessions">Beëindig alle andere sessies</string>
<string name="AutomaticPhotoDownload">FOTO\'S AUTOMATISCH DOWNLOADEN</string> <string name="AutomaticPhotoDownload">FOTO\'S AUTOMATISCH DOWNLOADEN</string>
<string name="AutomaticAudioDownload">GELUIDSBESTANDEN AUTOMATISCH DOWNLOADEN</string> <string name="AutomaticAudioDownload">GELUIDSBESTANDEN AUTOMATISCH DOWNLOADEN</string>
<string name="AutomaticPhotoDownloadGroups">Groepen</string> <string name="AutomaticPhotoDownloadGroups">Groepen</string>
@ -271,19 +271,19 @@
<string name="Enabled">Inschakelen</string> <string name="Enabled">Inschakelen</string>
<string name="Disabled">Uitschakelen</string> <string name="Disabled">Uitschakelen</string>
<string name="NotificationsService">Meldingenservice</string> <string name="NotificationsService">Meldingenservice</string>
<string name="NotificationsServiceDisableInfo">Als google play services genoeg is om notificaties te ontvangen, kan de meldingenservice worden uitgeschakeld. Echter, we adviseren de service ingeschakeld te laten zodat de app in de achtergrond blijft draaien en meldingen direct worden ontvangen.</string> <string name="NotificationsServiceDisableInfo">Als Google Play Services genoeg voor je is om meldingen te ontvangen kun je de Meldingenservice uitschakelen. We raden echter aan dit ingeschakeld te laten om de app in de achtergrond te laten draaien en directe meldingen te ontvangen.</string>
<string name="SortBy">Sorteren op</string> <string name="SortBy">Sorteren op</string>
<string name="ImportContacts">Importeer contacten</string> <string name="ImportContacts">Importeer contacten</string>
<string name="WiFiOnly">Alleen via WiFi</string> <string name="WiFiOnly">Alleen via WiFi</string>
<string name="SortFirstName">Voornaam</string> <string name="SortFirstName">Voornaam</string>
<string name="SortLastName">Achternaam</string> <string name="SortLastName">Achternaam</string>
<string name="LedColor">LED kleur</string> <string name="LedColor">LED kleur</string>
<string name="PopupNotification">Popup melding</string> <string name="PopupNotification">Popup meldingen</string>
<string name="NoPopup">Geen popup</string> <string name="NoPopup">Geen popup</string>
<string name="OnlyWhenScreenOn">Alleen wanneer scherm \"aan\" staat</string> <string name="OnlyWhenScreenOn">Alleen wanneer scherm \"aan\" staat</string>
<string name="OnlyWhenScreenOff">Alleen wanneer scherm \"uit\" staat</string> <string name="OnlyWhenScreenOff">Alleen wanneer scherm \"uit\" staat</string>
<string name="AlwaysShowPopup">Altijd popup tonen</string> <string name="AlwaysShowPopup">Altijd popup tonen</string>
<string name="BadgeNumber">Badge Number</string> <string name="BadgeNumber">Badgenummer</string>
<!--media view--> <!--media view-->
<string name="NoMedia">Nog geen media gedeeld</string> <string name="NoMedia">Nog geen media gedeeld</string>
@ -308,9 +308,9 @@
<string name="NoPhotos">Nog geen foto\'s</string> <string name="NoPhotos">Nog geen foto\'s</string>
<!--edit video view--> <!--edit video view-->
<string name="EditVideo">Edit Video</string> <string name="EditVideo">Video bewerken</string>
<string name="OriginalVideo">Original Video</string> <string name="OriginalVideo">Originele video</string>
<string name="EditedVideo">Edited Video</string> <string name="EditedVideo">Bewerkte video</string>
<!--button titles--> <!--button titles-->
<string name="Next">Volgende</string> <string name="Next">Volgende</string>
@ -370,8 +370,8 @@
<string name="InvalidLastName">Ongeldige achternaam</string> <string name="InvalidLastName">Ongeldige achternaam</string>
<string name="Loading">Bezig met laden…</string> <string name="Loading">Bezig met laden…</string>
<string name="NoPlayerInstalled">Je hebt geen mediaspeler. Installeer een mediaspeler om door te gaan.</string> <string name="NoPlayerInstalled">Je hebt geen mediaspeler. Installeer een mediaspeler om door te gaan.</string>
<string name="NoMailInstalled">Stuur aub een emailbericht naar sms@telegram.org en beschrijf uw probleem</string> <string name="NoMailInstalled">Mail ons op sms@telegram.org en vertel ons over je probleem.</string>
<string name="NoHandleAppInstalled">Je hebt geen applicaties die het MIME-type \'%1$s\' ondersteunen. Installeer een geschikte applicatie om door te gaan.</string> <string name="NoHandleAppInstalled">Je hebt geen apps die bestandstype \'%1$s\' kunnen verwerken, gelieve een compitabele app te installeren</string>
<string name="InviteUser">Deze gebruiker heeft nog geen Telegram. Wil je een uitnodiging sturen?</string> <string name="InviteUser">Deze gebruiker heeft nog geen Telegram. Wil je een uitnodiging sturen?</string>
<string name="AreYouSure">Weet je het zeker?</string> <string name="AreYouSure">Weet je het zeker?</string>
<string name="AddContactQ">Contact toevoegen?</string> <string name="AddContactQ">Contact toevoegen?</string>
@ -379,15 +379,15 @@
<string name="ForwardMessagesTo">Berichten doorsturen naar %1$s?</string> <string name="ForwardMessagesTo">Berichten doorsturen naar %1$s?</string>
<string name="DeleteChatQuestion">Dit gesprek verwijderen?</string> <string name="DeleteChatQuestion">Dit gesprek verwijderen?</string>
<string name="SendMessagesTo">Berichten naar %1$s verzenden?</string> <string name="SendMessagesTo">Berichten naar %1$s verzenden?</string>
<string name="AreYouSureLogout">Weet u zeker dat u wil uitloggen?</string> <string name="AreYouSureLogout">Weet je zeker dat je wilt uitloggen?</string>
<string name="AreYouSureSessions">Alle andere apparaten afmelden?</string> <string name="AreYouSureSessions">Weet je zeker dat je alle andere sessies wilt beëindigen?</string>
<string name="AreYouSureDeleteAndExit">Deze groep verlaten en groep verwijderen?</string> <string name="AreYouSureDeleteAndExit">Weet je zeker dat je alles wilt verwijderen en de groep wilt verlaten?</string>
<string name="AreYouSureDeleteThisChat">Dit gesprek verwijderen?</string> <string name="AreYouSureDeleteThisChat">Weet je zeker dat je dit gesprek wilt verwijderen?</string>
<string name="AreYouSureShareMyContactInfo">Deze contact-informatie delen?</string> <string name="AreYouSureShareMyContactInfo">Weet je zeker dat je je contactinformatie wilt delen?</string>
<string name="AreYouSureBlockContact">Deze persoon blokkeren?</string> <string name="AreYouSureBlockContact">Weet je zeker dat je deze persoon wilt blokkeren?</string>
<string name="AreYouSureUnblockContact">Deze persoon deblokkeren?</string> <string name="AreYouSureUnblockContact">Weet je zeker dat je deze persoon wilt deblokkeren?</string>
<string name="AreYouSureDeleteContact">Deze contactpersoon verwijderen?</string> <string name="AreYouSureDeleteContact">Weet je zeker dat je deze contactpersoon wilt verwijderen?</string>
<string name="AreYouSureSecretChat">Een privégesprek starten?</string> <string name="AreYouSureSecretChat">Weet je zeker dat je een privégesprek wilt starten?</string>
<string name="ForwardFromMyName">doorsturen via mijn eigen naam</string> <string name="ForwardFromMyName">doorsturen via mijn eigen naam</string>
<!--Intro view--> <!--Intro view-->
@ -404,7 +404,7 @@
<string name="Page4Message"><![CDATA[<b>Telegram</b>]]> beveiligt je berichten tegen hackers</string> <string name="Page4Message"><![CDATA[<b>Telegram</b>]]> beveiligt je berichten tegen hackers</string>
<string name="Page5Message"><![CDATA[<b>Telegram</b>]]> heeft geen beperkingen op de grootte van je media en gesprekken</string> <string name="Page5Message"><![CDATA[<b>Telegram</b>]]> heeft geen beperkingen op de grootte van je media en gesprekken</string>
<string name="Page6Message"><![CDATA[<b>Telegram</b>]]> biedt toegang tot je berichten vanaf meerdere apparaten</string> <string name="Page6Message"><![CDATA[<b>Telegram</b>]]> biedt toegang tot je berichten vanaf meerdere apparaten</string>
<string name="Page7Message"><![CDATA[<b>Telegram</b>]]> berichten zijn sterk versleuteld en kunnen zichzelf vernietigen</string> <string name="Page7Message"><![CDATA[<b>Telegram</b>]]> berichten zijn sterk versleuteld<![CDATA[<br/>]]>en kunnen zichzelf vernietigen</string>
<string name="StartMessaging">Begin nu met chatten</string> <string name="StartMessaging">Begin nu met chatten</string>
<!--plurals--> <!--plurals-->

View file

@ -58,12 +58,12 @@
<string name="SelectChat">Selecione uma Conversa</string> <string name="SelectChat">Selecione uma Conversa</string>
<!--broadcasts--> <!--broadcasts-->
<string name="BroadcastList">Broadcast List</string> <string name="BroadcastList">Lista de Broadcast</string>
<string name="NewBroadcastList">New Broadcast List</string> <string name="NewBroadcastList">Nova lista de Broadcast</string>
<string name="EnterListName">Enter list name</string> <string name="EnterListName">Digite o nome da lista</string>
<string name="YouCreatedBroadcastList">You created a broadcast list</string> <string name="YouCreatedBroadcastList">Você criou uma lista de broadcast</string>
<string name="AddRecipient">Add Recipient</string> <string name="AddRecipient">Adicionar Recipiente</string>
<string name="KickFromBroadcast">Remove from broadcast list</string> <string name="KickFromBroadcast">Remover da lista de broadcast</string>
<!--documents view--> <!--documents view-->
<string name="SelectFile">Selecione um Arquivo</string> <string name="SelectFile">Selecione um Arquivo</string>
@ -158,7 +158,7 @@
<string name="NotificationGroupKickYou">%1$s removeu você 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="NotificationGroupLeftMember">%1$s saiu do grupo %2$s</string>
<string name="NotificationContactJoined">%1$s entrou para o Telegram!</string> <string name="NotificationContactJoined">%1$s entrou para o Telegram!</string>
<string name="NotificationUnrecognizedDevice">%1$s,\nNós detectamos um acesso à sua conta de um novo dispositivo em %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\n\nCaso não tenha sido você, vá para Configurações Encerrar todas as sessões.\n\nObrigado,\nA equipe do Telegram</string> <string name="NotificationUnrecognizedDevice">%1$s,\nNós detectamos um login na sua conta de um novo dispositivo %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\n\nSe não foi você, você pode ir para Configurações - Terminar todas as sessões.\n\nAtenciosamente,\nTime do Telegram</string>
<string name="NotificationContactNewPhoto">%1$s atualizou a foto do perfil</string> <string name="NotificationContactNewPhoto">%1$s atualizou a foto do perfil</string>
<!--contacts view--> <!--contacts view-->
@ -271,19 +271,19 @@
<string name="Enabled">Ativado</string> <string name="Enabled">Ativado</string>
<string name="Disabled">Desativado</string> <string name="Disabled">Desativado</string>
<string name="NotificationsService">Serviço de Notificações</string> <string name="NotificationsService">Serviço de Notificações</string>
<string name="NotificationsServiceDisableInfo">Se os serviços do Google Play forem suficientes para você receber as notificações, você pode desabilitar o \"Serviço de Notificações\". Porém, nós recomendamos deixá-lo ativo para que o aplicativo continue rodando em segundo plano e recebendo notificações instantâneas.</string> <string name="NotificationsServiceDisableInfo">Se o serviço de notificação do Google Play é o suficiente para você, você pode desativar as Notificações de Serviço. No entanto, recomendamos que você deixá-lo habilitado para manter o aplicativo em execução em segundo plano e receber notificações instantâneas.</string>
<string name="SortBy">Ordenar Por</string> <string name="SortBy">Ordenar Por</string>
<string name="ImportContacts">Importar Contatos</string> <string name="ImportContacts">Importar Contatos</string>
<string name="WiFiOnly">Apenas por WiFi</string> <string name="WiFiOnly">Apenas por WiFi</string>
<string name="SortFirstName">Primeiro nome</string> <string name="SortFirstName">Primeiro nome</string>
<string name="SortLastName">Sobrenome</string> <string name="SortLastName">Sobrenome</string>
<string name="LedColor">Cor do LED</string> <string name="LedColor">Cor do LED</string>
<string name="PopupNotification">Notificação Popup</string> <string name="PopupNotification">Notificações Popup</string>
<string name="NoPopup">Sem popup</string> <string name="NoPopup">Sem popup</string>
<string name="OnlyWhenScreenOn">Somente com a tela ligada</string> <string name="OnlyWhenScreenOn">Somente com a tela ligada</string>
<string name="OnlyWhenScreenOff">Somente com a tela desligada</string> <string name="OnlyWhenScreenOff">Somente com a tela desligada</string>
<string name="AlwaysShowPopup">Sempre mostrar popup</string> <string name="AlwaysShowPopup">Sempre mostrar popup</string>
<string name="BadgeNumber">Badge Number</string> <string name="BadgeNumber">Contador de medalhas</string>
<!--media view--> <!--media view-->
<string name="NoMedia">Ainda não há mídia compartilhada</string> <string name="NoMedia">Ainda não há mídia compartilhada</string>
@ -308,9 +308,9 @@
<string name="NoPhotos">Ainda não há fotos</string> <string name="NoPhotos">Ainda não há fotos</string>
<!--edit video view--> <!--edit video view-->
<string name="EditVideo">Edit Video</string> <string name="EditVideo">Editar Vídeo</string>
<string name="OriginalVideo">Original Video</string> <string name="OriginalVideo">Vídeo Original</string>
<string name="EditedVideo">Edited Video</string> <string name="EditedVideo">Vídeo Editado</string>
<!--button titles--> <!--button titles-->
<string name="Next">Próximo</string> <string name="Next">Próximo</string>
@ -370,8 +370,8 @@
<string name="InvalidLastName">Sobrenome inválido</string> <string name="InvalidLastName">Sobrenome inválido</string>
<string name="Loading">Carregando...</string> <string name="Loading">Carregando...</string>
<string name="NoPlayerInstalled">Você não possui um reprodutor de vídeo, instale um para continuar</string> <string name="NoPlayerInstalled">Você não possui um reprodutor de vídeo, instale um para continuar</string>
<string name="NoMailInstalled">Por favor, envie um email para sms@telegram.org e explique seu problema.</string> <string name="NoMailInstalled">Por favor, envie um email para sms@telegram.org e conte-nos sobre seu problema.</string>
<string name="NoHandleAppInstalled">Você não possui algum aplicativo que pode lidar com o tipo MIME \'%1$s\'. Por favor, instale um para continuar</string> <string name="NoHandleAppInstalled">Você não possui uma aplicação que suporte o tipo de arquivo \'%1$s\', por favor instale uma e continue</string>
<string name="InviteUser">Este usuário ainda não possui Telegram, deseja enviar um convite?</string> <string name="InviteUser">Este usuário ainda não possui Telegram, deseja enviar um convite?</string>
<string name="AreYouSure">Você tem certeza?</string> <string name="AreYouSure">Você tem certeza?</string>
<string name="AddContactQ">Adicionar contato?</string> <string name="AddContactQ">Adicionar contato?</string>
@ -379,15 +379,15 @@
<string name="ForwardMessagesTo">Encaminhar mensagem para %1$s?</string> <string name="ForwardMessagesTo">Encaminhar mensagem para %1$s?</string>
<string name="DeleteChatQuestion">Apagar esta conversa?</string> <string name="DeleteChatQuestion">Apagar esta conversa?</string>
<string name="SendMessagesTo">Enviar mensagens para %1$s?</string> <string name="SendMessagesTo">Enviar mensagens para %1$s?</string>
<string name="AreYouSureLogout">Você tem certeza que deseja sair dessa sessão?</string> <string name="AreYouSureLogout">Você tem certeza que deseja sair?</string>
<string name="AreYouSureSessions">Você tem certeza que deseja terminar todas as outras sessões?</string> <string name="AreYouSureSessions">Você tem certeza que deseja terminar todas as outras sessões?</string>
<string name="AreYouSureDeleteAndExit">Você tem certeza que deseja deletar e sair do grupo?</string> <string name="AreYouSureDeleteAndExit">Você tem certeza que deseja deletar e sair do grupo?</string>
<string name="AreYouSureDeleteThisChat">Você tem certeza que deseja deletar esta conversa?</string> <string name="AreYouSureDeleteThisChat">Você tem certeza que deseja deletar esta conversa?</string>
<string name="AreYouSureShareMyContactInfo">Você tem certeza que deseja compartilhar as informações do seu contato?</string> <string name="AreYouSureShareMyContactInfo">Você tem certesa que deseja compartilhar suas informações de contato?</string>
<string name="AreYouSureBlockContact">Você tem certeza que deseja bloquear este contato?</string> <string name="AreYouSureBlockContact">Você tem certeza que deseja bloquear este contato?</string>
<string name="AreYouSureUnblockContact">Você tem certeza que deseja desbloquear este contato?</string> <string name="AreYouSureUnblockContact">Você tem certeza que deseja desbloquear este contato?</string>
<string name="AreYouSureDeleteContact">Você tem certeza que deseja deletar este contato?</string> <string name="AreYouSureDeleteContact">Você tem certeza que deseja deletar este contato?</string>
<string name="AreYouSureSecretChat">Você tem certeza que deseja iniciar uma conversa secreta?</string> <string name="AreYouSureSecretChat">Você tem certeza que deseja começar uma conversa secreta?</string>
<string name="ForwardFromMyName">encaminhar pelo meu nome</string> <string name="ForwardFromMyName">encaminhar pelo meu nome</string>
<!--Intro view--> <!--Intro view-->
@ -404,7 +404,7 @@
<string name="Page4Message"><![CDATA[<b>Telegram</b>]]> mantém suas mensagens seguras contra ataques de hackers</string> <string name="Page4Message"><![CDATA[<b>Telegram</b>]]> mantém suas mensagens seguras contra ataques de hackers</string>
<string name="Page5Message"><![CDATA[<b>Telegram</b>]]> não tem limites para o tamanho de suas mídias e conversas</string> <string name="Page5Message"><![CDATA[<b>Telegram</b>]]> não tem limites para o tamanho de suas mídias e conversas</string>
<string name="Page6Message"><![CDATA[<b>Telegram</b>]]> permite que você acesse suas mensagens a partir de vários dispositivos</string> <string name="Page6Message"><![CDATA[<b>Telegram</b>]]> permite que você acesse suas mensagens a partir de vários dispositivos</string>
<string name="Page7Message">As mensagens do <![CDATA[<b>Telegram</b>]]> são fortemente criptografadas e podem se autodestruir</string> <string name="Page7Message">As mensagens do <![CDATA[<b>Telegram</b>]]> são fortemente criptografadas<![CDATA[<br/>]]>e podem se autodestruir</string>
<string name="StartMessaging">Comece a conversar</string> <string name="StartMessaging">Comece a conversar</string>
<!--plurals--> <!--plurals-->