Commit 27972c8e authored by DrKLO's avatar DrKLO

Update locales, bug fixes

parent ab44b870
...@@ -80,7 +80,7 @@ android { ...@@ -80,7 +80,7 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 8 minSdkVersion 8
targetSdkVersion 19 targetSdkVersion 19
versionCode 329 versionCode 330
versionName "1.9.0" versionName "1.9.0"
} }
} }
...@@ -585,7 +585,14 @@ public class ImageLoader { ...@@ -585,7 +585,14 @@ public class ImageLoader {
private HashMap<Integer, File> createMediaPaths() { private HashMap<Integer, File> createMediaPaths() {
HashMap<Integer, File> mediaDirs = new HashMap<Integer, File>(); HashMap<Integer, File> mediaDirs = new HashMap<Integer, File>();
mediaDirs.put(FileLoader.MEDIA_DIR_CACHE, AndroidUtilities.getCacheDir()); File cachePath = AndroidUtilities.getCacheDir();
try {
cachePath.mkdirs();
new File(cachePath, ".nomedia").createNewFile();
} catch (Exception e) {
FileLog.e("tmessages", e);
}
mediaDirs.put(FileLoader.MEDIA_DIR_CACHE, cachePath);
try { try {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
File telegramPath = new File(Environment.getExternalStorageDirectory(), LocaleController.getString("AppName", R.string.AppName)); File telegramPath = new File(Environment.getExternalStorageDirectory(), LocaleController.getString("AppName", R.string.AppName));
...@@ -780,7 +787,7 @@ public class ImageLoader { ...@@ -780,7 +787,7 @@ public class ImageLoader {
if (!added) { if (!added) {
boolean onlyCache = false; boolean onlyCache = false;
File cacheFile = null; File cacheFile = null;
if (size == 0 || httpUrl != null || fileLocation != null && fileLocation.key != null) { if (size == 0 || httpUrl != null || fileLocation != null && (fileLocation.key != null || fileLocation.volume_id == Integer.MIN_VALUE && fileLocation.local_id < 0)) {
cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), url); cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), url);
} else { } else {
cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_IMAGE), url); cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_IMAGE), url);
......
...@@ -1654,11 +1654,6 @@ public class MessagesController implements NotificationCenter.NotificationCenter ...@@ -1654,11 +1654,6 @@ public class MessagesController implements NotificationCenter.NotificationCenter
size.type = "s"; size.type = "s";
sizes.add(size); sizes.add(size);
} }
size = ImageLoader.scaleAndSaveImage(bitmap, 320, 320, 80, false);
if (size != null) {
size.type = "m";
sizes.add(size);
}
size = ImageLoader.scaleAndSaveImage(bitmap, 800, 800, 80, false); size = ImageLoader.scaleAndSaveImage(bitmap, 800, 800, 80, false);
if (size != null) { if (size != null) {
size.type = "x"; size.type = "x";
......
...@@ -1064,7 +1064,12 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter ...@@ -1064,7 +1064,12 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
break; break;
} }
File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg"); File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg");
File cacheFile2 = FileLoader.getPathToAttach(size); File cacheFile2 = null;
if (sentMessage.media.photo.sizes.size() == 1 || size.w > 80 || size.h > 80) {
cacheFile2 = FileLoader.getPathToAttach(size);
} else {
cacheFile2 = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName2 + ".jpg");
}
cacheFile.renameTo(cacheFile2); cacheFile.renameTo(cacheFile2);
ImageLoader.getInstance().replaceImageInCache(fileName, fileName2); ImageLoader.getInstance().replaceImageInCache(fileName, fileName2);
size2.location = size.location; size2.location = size.location;
...@@ -1086,7 +1091,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter ...@@ -1086,7 +1091,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
String fileName2 = size.location.volume_id + "_" + size.location.local_id; String fileName2 = size.location.volume_id + "_" + size.location.local_id;
if (!fileName.equals(fileName2)) { if (!fileName.equals(fileName2)) {
File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg"); File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg");
File cacheFile2 = FileLoader.getPathToAttach(size); File cacheFile2 = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName2 + ".jpg");
cacheFile.renameTo(cacheFile2); cacheFile.renameTo(cacheFile2);
ImageLoader.getInstance().replaceImageInCache(fileName, fileName2); ImageLoader.getInstance().replaceImageInCache(fileName, fileName2);
size2.location = size.location; size2.location = size.location;
...@@ -1107,7 +1112,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter ...@@ -1107,7 +1112,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
String fileName2 = size.location.volume_id + "_" + size.location.local_id; String fileName2 = size.location.volume_id + "_" + size.location.local_id;
if (!fileName.equals(fileName2)) { if (!fileName.equals(fileName2)) {
File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg"); File cacheFile = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName + ".jpg");
File cacheFile2 = FileLoader.getPathToAttach(size); File cacheFile2 = new File(FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE), fileName2 + ".jpg");
cacheFile.renameTo(cacheFile2); cacheFile.renameTo(cacheFile2);
ImageLoader.getInstance().replaceImageInCache(fileName, fileName2); ImageLoader.getInstance().replaceImageInCache(fileName, fileName2);
size2.location = size.location; size2.location = size.location;
......
...@@ -606,7 +606,7 @@ public class FileLoader { ...@@ -606,7 +606,7 @@ public class FileLoader {
} }
} else if (attach instanceof TLRPC.PhotoSize) { } else if (attach instanceof TLRPC.PhotoSize) {
TLRPC.PhotoSize photoSize = (TLRPC.PhotoSize)attach; TLRPC.PhotoSize photoSize = (TLRPC.PhotoSize)attach;
if (photoSize.location == null || photoSize.location.key != null) { if (photoSize.location == null || photoSize.location.key != null || photoSize.location.volume_id == Integer.MIN_VALUE && photoSize.location.local_id < 0) {
dir = getInstance().getDirectory(MEDIA_DIR_CACHE); dir = getInstance().getDirectory(MEDIA_DIR_CACHE);
} else { } else {
dir = getInstance().getDirectory(MEDIA_DIR_IMAGE); dir = getInstance().getDirectory(MEDIA_DIR_IMAGE);
...@@ -620,7 +620,7 @@ public class FileLoader { ...@@ -620,7 +620,7 @@ public class FileLoader {
} }
} else if (attach instanceof TLRPC.FileLocation) { } else if (attach instanceof TLRPC.FileLocation) {
TLRPC.FileLocation fileLocation = (TLRPC.FileLocation)attach; TLRPC.FileLocation fileLocation = (TLRPC.FileLocation)attach;
if (fileLocation.key != null) { if (fileLocation.key != null || fileLocation.volume_id == Integer.MIN_VALUE && fileLocation.local_id < 0) {
dir = getInstance().getDirectory(MEDIA_DIR_CACHE); dir = getInstance().getDirectory(MEDIA_DIR_CACHE);
} else { } else {
dir = getInstance().getDirectory(MEDIA_DIR_IMAGE); dir = getInstance().getDirectory(MEDIA_DIR_IMAGE);
......
...@@ -42,6 +42,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -42,6 +42,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
public static interface ChatMediaCellDelegate { public static interface ChatMediaCellDelegate {
public abstract void didPressedImage(ChatMediaCell cell); public abstract void didPressedImage(ChatMediaCell cell);
public abstract void didPressedOther(ChatMediaCell cell);
} }
private static Drawable placeholderInDrawable; private static Drawable placeholderInDrawable;
...@@ -77,6 +78,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -77,6 +78,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
private int buttonState = 0; private int buttonState = 0;
private int buttonPressed = 0; private int buttonPressed = 0;
private boolean imagePressed = false; private boolean imagePressed = false;
private boolean otherPressed = false;
private int buttonX; private int buttonX;
private int buttonY; private int buttonY;
...@@ -182,6 +184,9 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -182,6 +184,9 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
if (x >= photoImage.getImageX() && x <= photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(50) && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight()) { if (x >= photoImage.getImageX() && x <= photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(50) && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight()) {
imagePressed = true; imagePressed = true;
result = true; result = true;
} else if (x >= photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(50) && x <= photoImage.getImageX() + backgroundWidth && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight()) {
otherPressed = true;
result = true;
} }
} else { } else {
if (x >= photoImage.getImageX() && x <= photoImage.getImageX() + backgroundWidth && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight()) { if (x >= photoImage.getImageX() && x <= photoImage.getImageX() + backgroundWidth && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight()) {
...@@ -223,12 +228,35 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -223,12 +228,35 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
imagePressed = false; imagePressed = false;
invalidate(); invalidate();
} else if (event.getAction() == MotionEvent.ACTION_MOVE) { } else if (event.getAction() == MotionEvent.ACTION_MOVE) {
if (currentMessageObject.type == 9) {
if (!(x >= photoImage.getImageX() && x <= photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(50) && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight())) {
imagePressed = false;
invalidate();
}
} else {
if (!photoImage.isInsideImage(x, y)) { if (!photoImage.isInsideImage(x, y)) {
imagePressed = false; imagePressed = false;
invalidate(); invalidate();
} }
} }
} }
} else if (otherPressed) {
if (event.getAction() == MotionEvent.ACTION_UP) {
otherPressed = false;
playSoundEffect(SoundEffectConstants.CLICK);
if (mediaDelegate != null) {
mediaDelegate.didPressedOther(this);
}
} else if (event.getAction() == MotionEvent.ACTION_CANCEL) {
otherPressed = false;
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
if (currentMessageObject.type == 9) {
if (!(x >= photoImage.getImageX() + backgroundWidth - AndroidUtilities.dp(50) && x <= photoImage.getImageX() + backgroundWidth && y >= photoImage.getImageY() && y <= photoImage.getImageY() + photoImage.getImageHeight())) {
otherPressed = false;
}
}
}
}
} }
if (!result) { if (!result) {
result = super.onTouchEvent(event); result = super.onTouchEvent(event);
......
...@@ -3375,6 +3375,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ...@@ -3375,6 +3375,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
} }
} }
} }
@Override
public void didPressedOther(ChatMediaCell cell) {
createMenu(cell, true);
}
}; };
} }
...@@ -3477,11 +3482,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ...@@ -3477,11 +3482,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (type == 11 || type == 10) { if (type == 11 || type == 10) {
int width = 0; int width = 0;
if (AndroidUtilities.isTablet()) { if (AndroidUtilities.isTablet()) {
int leftWidth = AndroidUtilities.displaySize.x / 100 * 35; width = AndroidUtilities.getMinTabletSide() - AndroidUtilities.dp(30);
if (leftWidth < AndroidUtilities.dp(320)) {
leftWidth = AndroidUtilities.dp(320);
}
width = AndroidUtilities.displaySize.x - leftWidth - AndroidUtilities.dp(30);
} else { } else {
width = AndroidUtilities.displaySize.x - AndroidUtilities.dp(30); width = AndroidUtilities.displaySize.x - AndroidUtilities.dp(30);
} }
......
...@@ -412,7 +412,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -412,7 +412,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
} }
int width = rotationValue == 90 || rotationValue == 270 ? resultHeight : resultWidth; int width = rotationValue == 90 || rotationValue == 270 ? resultHeight : resultWidth;
int height = rotationValue == 90 || rotationValue == 270 ? resultWidth : resultHeight; int height = rotationValue == 90 || rotationValue == 270 ? resultWidth : resultHeight;
String videoDimension = String.format("%dx%d", resultWidth, resultHeight); String videoDimension = String.format("%dx%d", width, height);
esimatedDuration = (long)Math.max(1000, (videoTimelineView.getRightProgress() - videoTimelineView.getLeftProgress()) * videoDuration); esimatedDuration = (long)Math.max(1000, (videoTimelineView.getRightProgress() - videoTimelineView.getLeftProgress()) * videoDuration);
estimatedSize = calculateEstimatedSize((float)esimatedDuration / videoDuration); estimatedSize = calculateEstimatedSize((float)esimatedDuration / videoDuration);
...@@ -638,7 +638,9 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -638,7 +638,9 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
@Override @Override
public void run() { public void run() {
if (firstWrite) { if (firstWrite) {
delegate.didStartVideoConverting(videoPath, VideoEditorActivity.this.videoPath, estimatedSize, (int)esimatedDuration, resultWidth, resultHeight); int width = rotationValue == 90 || rotationValue == 270 ? resultHeight : resultWidth;
int height = rotationValue == 90 || rotationValue == 270 ? resultWidth : resultHeight;
delegate.didStartVideoConverting(videoPath, VideoEditorActivity.this.videoPath, estimatedSize, (int)esimatedDuration, width, height);
firstWrite = false; firstWrite = false;
finishFragment(); finishFragment();
} else { } else {
...@@ -880,7 +882,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -880,7 +882,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
colorFormat = selectColorFormat(codecInfo, MIME_TYPE); colorFormat = selectColorFormat(codecInfo, MIME_TYPE);
if (codecInfo.getName().contains("OMX.qcom.")) { if (codecInfo.getName().contains("OMX.qcom.")) {
processorType = PROCESSOR_TYPE_QCOM; processorType = PROCESSOR_TYPE_QCOM;
if (Build.MANUFACTURER.toLowerCase().equals("nokia")) { if (Build.VERSION.SDK_INT == 16) { //nokia, lge
swapUV = 1; swapUV = 1;
} }
} }
...@@ -900,10 +902,12 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -900,10 +902,12 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
bufferSize += padding * 5 / 4; bufferSize += padding * 5 / 4;
} }
} else if (processorType == PROCESSOR_TYPE_QCOM) { } else if (processorType == PROCESSOR_TYPE_QCOM) {
if (!Build.MANUFACTURER.toLowerCase().equals("lge")) {
int uvoffset = (resultWidth * resultHeight + 2047) & ~2047; int uvoffset = (resultWidth * resultHeight + 2047) & ~2047;
padding = uvoffset - (resultWidth * resultHeight); padding = uvoffset - (resultWidth * resultHeight);
bufferSize += padding; bufferSize += padding;
} }
}
extractor.selectTrack(videoIndex); extractor.selectTrack(videoIndex);
if (startTime > 0) { if (startTime > 0) {
......
TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png

1.4 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png

1.32 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png

464 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png

1.19 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-hdpi/msg_clock_photo.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png

1.24 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png

1.15 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png

329 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png

1.08 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-mdpi/msg_clock_photo.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png

1.58 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png

1.51 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png

561 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png

1.33 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xhdpi/msg_clock_photo.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png

1.91 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png

1.67 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png

862 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png

1.56 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png
TMessagesProj/src/main/res/drawable-xxhdpi/msg_clock_photo.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
<string name="ContactJoined">اشترك صديق في تيليجرام</string> <string name="ContactJoined">اشترك صديق في تيليجرام</string>
<string name="Pebble">PEBBLE</string> <string name="Pebble">PEBBLE</string>
<string name="Language">اللغة</string> <string name="Language">اللغة</string>
<string name="AskAQuestionInfo">نرجو الأخذ بالعلم أن الدعم الفني في تيليجرام يقوم به مجموعة من المتطوعين. نحاول الرد بسرعة قدر المستطاع، لكن ربما نستغرق القليل من الوقت.<![CDATA[<br><br>]]>يرجى الإطلاع على <![CDATA[<a href="http://telegram.org/faq/ar">الأسئلة الشائعة عن تيليجرام</a>]]>: يوجد بها حلول للمشاكل وإجابات لمعظم الأسئلة.</string> <string name="AskAQuestionInfo">نرجو الأخذ بالعلم أن الدعم الفني في تيليجرام يقوم به مجموعة من المتطوعين. نحاول الرد بسرعة قدر المستطاع، لكن ربما نستغرق القليل من الوقت.<![CDATA[<br><br>]]>يرجى الإطلاع على <![CDATA[<a href=\"http://telegram.org/faq/ar\">الأسئلة الشائعة عن تيليجرام</a>]]>: يوجد بها حلول للمشاكل وإجابات لمعظم الأسئلة.</string>
<string name="AskButton">اسأل أحد المتطوعين</string> <string name="AskButton">اسأل أحد المتطوعين</string>
<string name="TelegramFaq">الأسئلة الشائعة عن تيليجرام</string> <string name="TelegramFaq">الأسئلة الشائعة عن تيليجرام</string>
<string name="TelegramFaqUrl">https://telegram.org/faq/ar</string> <string name="TelegramFaqUrl">https://telegram.org/faq/ar</string>
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<string name="RegisterText">Ingresa tu nombre y apellidos</string> <string name="RegisterText">Ingresa tu nombre y apellidos</string>
<!--<string name="RegisterText">Set up your name and picture</string>--> <!--<string name="RegisterText">Set up your name and picture</string>-->
<string name="FirstName">Nombre (requerido)</string> <string name="FirstName">Nombre (requerido)</string>
<string name="LastName">Apellido(s) (opcional)</string> <string name="LastName">Apellido (opcional)</string>
<string name="CancelRegistration">Cancelar registro</string> <string name="CancelRegistration">Cancelar registro</string>
<!--chats view--> <!--chats view-->
...@@ -107,11 +107,11 @@ ...@@ -107,11 +107,11 @@
<string name="EncryptedPlaceholderTitleIncoming">%s te ha invitado a un chat secreto.</string> <string name="EncryptedPlaceholderTitleIncoming">%s te ha invitado a un chat secreto.</string>
<string name="EncryptedPlaceholderTitleOutgoing">Has invitado a %s a un chat secreto.</string> <string name="EncryptedPlaceholderTitleOutgoing">Has invitado a %s a un chat secreto.</string>
<string name="EncryptedDescriptionTitle">Los chats secretos:</string> <string name="EncryptedDescriptionTitle">Los chats secretos:</string>
<string name="EncryptedDescription1">Usan cifrado de móvil-a-móvil</string> <string name="EncryptedDescription1">Usan cifrado end-to-end</string>
<string name="EncryptedDescription2">No dejan rastro en nuestros servidores</string> <string name="EncryptedDescription2">No dejan rastro en el servidor</string>
<string name="EncryptedDescription3">Tienen autodestrucción de mensajes</string> <string name="EncryptedDescription3">Tienen autodestrucción de mensajes</string>
<string name="EncryptedDescription4">No permiten reenvíos de mensajes</string> <string name="EncryptedDescription4">No permiten reenvíos de mensajes</string>
<string name="YouWereKicked">Has sido expulsado de este grupo</string> <string name="YouWereKicked">Te han expulsado de este grupo</string>
<string name="YouLeft">Has abandonado este grupo</string> <string name="YouLeft">Has abandonado este grupo</string>
<string name="DeleteThisGroup">Eliminar este grupo</string> <string name="DeleteThisGroup">Eliminar este grupo</string>
<string name="DeleteThisChat">Eliminar esta conversación</string> <string name="DeleteThisChat">Eliminar esta conversación</string>
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
<string name="YesterdayAt">ayer a las</string> <string name="YesterdayAt">ayer a las</string>
<string name="OtherAt">a las</string> <string name="OtherAt">a las</string>
<string name="Online">en línea</string> <string name="Online">en línea</string>
<string name="Offline">desconectado</string> <string name="Offline">fuera de línea</string>
<string name="LastSeen">últ. vez</string> <string name="LastSeen">últ. vez</string>
<string name="LastSeenDate">últ. vez el</string> <string name="LastSeenDate">últ. vez el</string>
<string name="InviteFriends">Invitar a amigos</string> <string name="InviteFriends">Invitar a amigos</string>
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
<!--group info view--> <!--group info view-->
<string name="EnterGroupNameTitle">INGRESA EL NOMBRE DEL GRUPO</string> <string name="EnterGroupNameTitle">INGRESA EL NOMBRE DEL GRUPO</string>
<string name="SharedMedia">Fotos y vídeos</string> <string name="SharedMedia">Fotos y vídeos</string>
<string name="GroupInfo">Información del grupo</string> <string name="GroupInfo">Información </string>
<string name="SHAREDMEDIA">FOTOS Y VÍDEOS</string> <string name="SHAREDMEDIA">FOTOS Y VÍDEOS</string>
<string name="SETTINGS">AJUSTES</string> <string name="SETTINGS">AJUSTES</string>
<string name="AddMember">Añadir miembro</string> <string name="AddMember">Añadir miembro</string>
...@@ -227,7 +227,7 @@ ...@@ -227,7 +227,7 @@
<string name="AskAQuestion">Hacer una pregunta</string> <string name="AskAQuestion">Hacer una pregunta</string>
<string name="EnableAnimations">Activar animaciones</string> <string name="EnableAnimations">Activar animaciones</string>
<string name="Unblock">Desbloquear</string> <string name="Unblock">Desbloquear</string>
<string name="UnblockText">Mantén pulsado un usuario para desbloquearlo</string> <string name="UnblockText">Mantén pulsado un usuario para desbloquearlo.</string>
<string name="NoBlocked">No hay usuarios bloqueados</string> <string name="NoBlocked">No hay usuarios bloqueados</string>
<string name="YourPhoneNumber">TU NÚMERO DE TELÉFONO</string> <string name="YourPhoneNumber">TU NÚMERO DE TELÉFONO</string>
<string name="MessageNotifications">NOTIFICACIONES DE MENSAJES</string> <string name="MessageNotifications">NOTIFICACIONES DE MENSAJES</string>
...@@ -242,7 +242,7 @@ ...@@ -242,7 +242,7 @@
<string name="InAppPreview">Vista previa en la app</string> <string name="InAppPreview">Vista previa en la app</string>
<string name="Reset">RESTABLECER</string> <string name="Reset">RESTABLECER</string>
<string name="ResetAllNotifications">Restablecer todas las notificaciones</string> <string name="ResetAllNotifications">Restablecer todas las notificaciones</string>
<string name="UndoAllCustom">Deshacer todas las notificaciones personalizadas para todos tus usuarios y grupos</string> <string name="UndoAllCustom">Deshacer las notificaciones personalizadas para todos tus usuarios y grupos</string>
<string name="NotificationsAndSounds">Notificaciones y sonidos</string> <string name="NotificationsAndSounds">Notificaciones y sonidos</string>
<string name="BlockedUsers">Usuarios bloqueados</string> <string name="BlockedUsers">Usuarios bloqueados</string>
<string name="SaveIncomingPhotos">Guardar fotos entrantes</string> <string name="SaveIncomingPhotos">Guardar fotos entrantes</string>
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
<string name="NotificationsServiceDisableInfo">Si los Servicios de Google Play son suficientes para que recibas las notificaciones, puedes desactivar el Servicio de notificaciones. Sin embargo, te recomendamos que lo dejes activo para mantener funcionando la aplicación en segundo plano y recibir las notificaciones al instante.</string> <string name="NotificationsServiceDisableInfo">Si los Servicios de Google Play son suficientes para que recibas las notificaciones, puedes desactivar el Servicio de notificaciones. Sin embargo, te recomendamos que lo dejes activo para mantener funcionando la aplicación en segundo plano y recibir las notificaciones al instante.</string>
<string name="SortBy">Ordenar por</string> <string name="SortBy">Ordenar por</string>
<string name="ImportContacts">Importar contactos</string> <string name="ImportContacts">Importar contactos</string>
<string name="WiFiOnly">Solo vía Wifi</string> <string name="WiFiOnly">Sólo vía Wi-Fi</string>
<string name="SortFirstName">Nombre</string> <string name="SortFirstName">Nombre</string>
<string name="SortLastName">Apellido</string> <string name="SortLastName">Apellido</string>
<string name="LedColor">Color del LED</string> <string name="LedColor">Color del LED</string>
...@@ -373,27 +373,27 @@ ...@@ -373,27 +373,27 @@
<string name="FloodWait">Demasiados intentos. Por favor, prueba de nuevo más tarde.</string> <string name="FloodWait">Demasiados intentos. Por favor, prueba de nuevo más tarde.</string>
<string name="InvalidCode">Código inválido</string> <string name="InvalidCode">Código inválido</string>
<string name="InvalidFirstName">Nombre inválido</string> <string name="InvalidFirstName">Nombre inválido</string>
<string name="InvalidLastName">Apellido/s inválido/s</string> <string name="InvalidLastName">Apellido inválido</string>
<string name="Loading">Cargando...</string> <string name="Loading">Cargando...</string>
<string name="NoPlayerInstalled">No tienes reproductor de vídeo. Por favor, instala uno para continuar.</string> <string name="NoPlayerInstalled">No tienes reproductor de vídeo. Por favor, instala uno para continuar.</string>
<string name="NoMailInstalled">Por favor, envíanos un correo electrónico a sms@telegram.org y cuéntanos tu problema.</string> <string name="NoMailInstalled">Por favor, envíanos un correo electrónico a sms@telegram.org y cuéntanos tu problema.</string>
<string name="NoHandleAppInstalled">No tienes aplicaciones que puedan manejar el tipo de archivo \'%1$s\'. Por favor, instala una para continuar.</string> <string name="NoHandleAppInstalled">No tienes aplicaciones que puedan manejar el tipo de archivo \'%1$s\'. Por favor, instala una para continuar.</string>
<string name="InviteUser">Este usuario no tiene Telegram aún. ¿Enviarle una invitación?</string> <string name="InviteUser">Este usuario no tiene Telegram aún. ¿Enviarle una invitación?</string>
<string name="AreYouSure">¿Estás seguro?</string> <string name="AreYouSure">¿Quieres hacerlo?</string>
<string name="AddContactQ">¿Añadir contacto?</string> <string name="AddContactQ">¿Añadir contacto?</string>
<string name="AddToTheGroup">¿Añadir a %1$s al grupo?\n\nNúmero de los últimos mensajes para reenviar:</string> <string name="AddToTheGroup">¿Añadir a %1$s al grupo?\n\nNúmero de los últimos mensajes para reenviar:</string>
<string name="ForwardMessagesTo">¿Reenviar mensajes a %1$s?</string> <string name="ForwardMessagesTo">¿Reenviar mensajes a %1$s?</string>
<string name="DeleteChatQuestion">¿Eliminar este chat?</string> <string name="DeleteChatQuestion">¿Eliminar este chat?</string>
<string name="SendMessagesTo">¿Enviar mensajes a %1$s?</string> <string name="SendMessagesTo">¿Enviar mensajes a %1$s?</string>
<string name="AreYouSureLogout">¿Estás seguro/a que quieres cerrar sesión?</string> <string name="AreYouSureLogout">¿Quieres cerrar sesión?</string>
<string name="AreYouSureSessions">¿Estás seguro/a que quieres terminar todas las otras sesiones?</string> <string name="AreYouSureSessions">¿Quieres terminar todas las otras sesiones?</string>
<string name="AreYouSureDeleteAndExit">¿Estás seguro/a que quieres eliminar y dejar el grupo?</string> <string name="AreYouSureDeleteAndExit">¿Quieres eliminar y dejar el grupo?</string>
<string name="AreYouSureDeleteThisChat">¿Estás seguro/a que quieres eliminar este chat?</string> <string name="AreYouSureDeleteThisChat">¿Quieres eliminar este chat?</string>
<string name="AreYouSureShareMyContactInfo">¿Estás seguro/a que quieres compartir tu información de contacto?</string> <string name="AreYouSureShareMyContactInfo">¿Quieres compartir tu información de contacto?</string>
<string name="AreYouSureBlockContact">¿Estás seguro/a que quieres bloquear este contacto?</string> <string name="AreYouSureBlockContact">¿Quieres bloquear este contacto?</string>
<string name="AreYouSureUnblockContact">¿Estás seguro/a que quieres desbloquear este contacto?</string> <string name="AreYouSureUnblockContact">¿Quieres desbloquear este contacto?</string>
<string name="AreYouSureDeleteContact">¿Estás seguro/a que quieres eliminar este contacto?</string> <string name="AreYouSureDeleteContact">¿Quieres eliminar este contacto?</string>
<string name="AreYouSureSecretChat">¿Estás seguro/a que quieres iniciar un chat secreto?</string> <string name="AreYouSureSecretChat">¿Quieres iniciar un chat secreto?</string>
<string name="ForwardFromMyName">reenviar desde mi nombre</string> <string name="ForwardFromMyName">reenviar desde mi nombre</string>
<!--Intro view--> <!--Intro view-->
......
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
<string name="ContactJoined">Un contatto si è collegato a Telegram</string> <string name="ContactJoined">Un contatto si è collegato a Telegram</string>
<string name="Pebble">PEBBLE</string> <string name="Pebble">PEBBLE</string>
<string name="Language">Lingua</string> <string name="Language">Lingua</string>
<string name="AskAQuestionInfo">Nota che il supporto di Telegram è fornito da volontari. Proviamo a rispondere non appena possibile, ma potrebbe richiedere del tempo.<![CDATA[<br><br>]]>Dai un\'occhiata alle <![CDATA[<a href="https://telegram.org/faq/it#domande-generali">Domande frequenti</a>]]>: troverai risposte alla maggior parte delle domande e suggerimenti importanti per <![CDATA[<a href="https://telegram.org/faq/it#risoluzione-dei-problemi">l\'individuazione del problema</a>]]>.</string> <string name="AskAQuestionInfo">Nota che il supporto di Telegram è fornito da volontari. Proviamo a rispondere non appena possibile, ma potrebbe richiedere del tempo.<![CDATA[<br><br>]]>Dai un\'occhiata alle <![CDATA[<a href=\"https://telegram.org/faq/it#domande-generali\">Domande frequenti</a>]]>: troverai risposte alla maggior parte delle domande e suggerimenti importanti per <![CDATA[<a href=\"https://telegram.org/faq/it#risoluzione-dei-problemi\">l\'individuazione del problema</a>]]>.</string>
<string name="AskButton">Chiedi a un volontario</string> <string name="AskButton">Chiedi a un volontario</string>
<string name="TelegramFaq">Domande frequenti</string> <string name="TelegramFaq">Domande frequenti</string>
<string name="TelegramFaqUrl">https://telegram.org/faq/it</string> <string name="TelegramFaqUrl">https://telegram.org/faq/it</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment