diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle index ca6704008..21e63ba64 100644 --- a/TMessagesProj/build.gradle +++ b/TMessagesProj/build.gradle @@ -80,7 +80,7 @@ android { defaultConfig { minSdkVersion 8 targetSdkVersion 19 - versionCode 335 - versionName "1.9.0" + versionCode 343 + versionName "1.9.1" } } diff --git a/TMessagesProj/src/main/java/org/telegram/android/ImageLoader.java b/TMessagesProj/src/main/java/org/telegram/android/ImageLoader.java index d1e2b1b99..1592076e3 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/ImageLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/android/ImageLoader.java @@ -551,7 +551,7 @@ public class ImageLoader { @Override public void run() { if (location != null) { - if (telegramPath != null && finalFile != null && finalFile.exists() && location.endsWith(".mp4") || location.endsWith(".jpg")) { + if (MediaController.getInstance().canSaveToGallery() && telegramPath != null && finalFile != null && finalFile.exists() && (location.endsWith(".mp4") || location.endsWith(".jpg"))) { if (finalFile.toString().startsWith(telegramPath.toString())) { Utilities.addMediaToGallery(finalFile.toString()); } @@ -624,7 +624,6 @@ public class ImageLoader { File videoPath = new File(telegramPath, LocaleController.getString("AppName", R.string.AppName) + " Video"); videoPath.mkdir(); if (videoPath.isDirectory()) { - //new File(videoPath, ".nomedia").delete(); mediaDirs.put(FileLoader.MEDIA_DIR_VIDEO, videoPath); } } catch (Exception e) { diff --git a/TMessagesProj/src/main/java/org/telegram/android/MediaController.java b/TMessagesProj/src/main/java/org/telegram/android/MediaController.java index 3202d64ab..64e8c6c8a 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/MediaController.java +++ b/TMessagesProj/src/main/java/org/telegram/android/MediaController.java @@ -172,6 +172,8 @@ public class MediaController implements NotificationCenter.NotificationCenterDel private ArrayList videoDownloadQueue = new ArrayList(); private HashMap downloadQueueKeys = new HashMap(); + private boolean saveToGallery = true; + private HashMap>> loadingFileObservers = new HashMap>>(); private HashMap observersByTag = new HashMap(); private boolean listenerInProgress = false; @@ -392,6 +394,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel mobileDataDownloadMask = preferences.getInt("mobileDataDownloadMask", AUTODOWNLOAD_MASK_PHOTO | AUTODOWNLOAD_MASK_AUDIO); wifiDownloadMask = preferences.getInt("wifiDownloadMask", AUTODOWNLOAD_MASK_PHOTO | AUTODOWNLOAD_MASK_AUDIO); roamingDownloadMask = preferences.getInt("roamingDownloadMask", 0); + saveToGallery = preferences.getBoolean("save_gallery", false); NotificationCenter.getInstance().addObserver(this, NotificationCenter.FileDidFailedLoad); NotificationCenter.getInstance().addObserver(this, NotificationCenter.FileDidLoaded); @@ -1785,6 +1788,43 @@ public class MediaController implements NotificationCenter.NotificationCenterDel return null; } + public void toggleSaveToGallery() { + saveToGallery = !saveToGallery; + SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig", Activity.MODE_PRIVATE); + SharedPreferences.Editor editor = preferences.edit(); + editor.putBoolean("save_gallery", saveToGallery); + editor.commit(); + try { + File telegramPath = new File(Environment.getExternalStorageDirectory(), LocaleController.getString("AppName", R.string.AppName)); + File imagePath = new File(telegramPath, LocaleController.getString("AppName", R.string.AppName) + " Images"); + imagePath.mkdir(); + File videoPath = new File(telegramPath, LocaleController.getString("AppName", R.string.AppName) + " Video"); + videoPath.mkdir(); + + if (saveToGallery) { + if (imagePath.isDirectory()) { + new File(imagePath, ".nomedia").delete(); + } + if (videoPath.isDirectory()) { + new File(videoPath, ".nomedia").delete(); + } + } else { + if (imagePath.isDirectory()) { + new File(imagePath, ".nomedia").createNewFile(); + } + if (videoPath.isDirectory()) { + new File(videoPath, ".nomedia").createNewFile(); + } + } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } + + public boolean canSaveToGallery() { + return saveToGallery; + } + public static void loadGalleryPhotosAlbums(final int guid) { new Thread(new Runnable() { @Override @@ -1972,7 +2012,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel return -5; } - private void didWriteData(final MessageObject messageObject, final File file, final long finalSize, final boolean error) { + private void didWriteData(final MessageObject messageObject, final File file, final boolean last, final boolean error) { final boolean firstWrite = videoConvertFirstWrite; if (firstWrite) { videoConvertFirstWrite = false; @@ -1986,9 +2026,9 @@ public class MediaController implements NotificationCenter.NotificationCenterDel if (firstWrite) { NotificationCenter.getInstance().postNotificationName(NotificationCenter.FilePreparingStarted, messageObject, file.toString()); } - NotificationCenter.getInstance().postNotificationName(NotificationCenter.FileNewChunkAvailable, messageObject, file.toString(), finalSize); + NotificationCenter.getInstance().postNotificationName(NotificationCenter.FileNewChunkAvailable, messageObject, file.toString(), last ? file.length() : 0); } - if (error || finalSize != 0) { + if (error || last) { synchronized (videoConvertSync) { cancelCurrentVideoConversion = false; } @@ -2043,7 +2083,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel buffer.putInt(info.size - 4); } if (mediaMuxer.writeSampleData(muxerTrackIndex, buffer, info)) { - didWriteData(messageObject, file, 0, false); + didWriteData(messageObject, file, false, false); } extractor.advance(); } else { @@ -2172,13 +2212,13 @@ public class MediaController implements NotificationCenter.NotificationCenterDel int colorFormat = 0; int processorType = PROCESSOR_TYPE_OTHER; + String manufacturer = Build.MANUFACTURER.toLowerCase(); if (Build.VERSION.SDK_INT < 18) { MediaCodecInfo codecInfo = selectCodec(MIME_TYPE); colorFormat = selectColorFormat(codecInfo, MIME_TYPE); if (colorFormat == 0) { throw new RuntimeException("no supported color format"); } - String manufacturer = Build.MANUFACTURER.toLowerCase(); String codecName = codecInfo.getName(); if (codecName.contains("OMX.qcom.")) { processorType = PROCESSOR_TYPE_QCOM; @@ -2213,7 +2253,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel bufferSize += padding * 5 / 4; } } else if (processorType == PROCESSOR_TYPE_QCOM) { - if (!Build.MANUFACTURER.toLowerCase().equals("lge")) { + if (!manufacturer.toLowerCase().equals("lge")) { int uvoffset = (resultWidth * resultHeight + 2047) & ~2047; padding = uvoffset - (resultWidth * resultHeight); bufferSize += padding; @@ -2224,6 +2264,12 @@ public class MediaController implements NotificationCenter.NotificationCenterDel //resultHeightAligned += (16 - (resultHeight % 16)); //padding = resultWidth * (resultHeightAligned - resultHeight); //bufferSize += padding * 5 / 4; + } else if (processorType == PROCESSOR_TYPE_MTK) { + if (manufacturer.equals("baidu")) { + resultHeightAligned += (16 - (resultHeight % 16)); + padding = resultWidth * (resultHeightAligned - resultHeight); + bufferSize += padding * 5 / 4; + } } extractor.selectTrack(videoIndex); @@ -2328,7 +2374,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel encodedData.position(info.offset); encodedData.putInt(Integer.reverseBytes(info.size - 4)); if (mediaMuxer.writeSampleData(videoTrackIndex, encodedData, info)) { - didWriteData(messageObject, cacheFile, 0, false); + didWriteData(messageObject, cacheFile, false, false); } } else if (videoTrackIndex == -5) { byte[] csd = new byte[info.size]; @@ -2504,7 +2550,7 @@ public class MediaController implements NotificationCenter.NotificationCenterDel } else { return false; } - didWriteData(messageObject, cacheFile, cacheFile.length(), error); + didWriteData(messageObject, cacheFile, true, error); return true; } } diff --git a/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java b/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java index adedc4e9e..b65e69944 100644 --- a/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java +++ b/TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java @@ -105,7 +105,11 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter } else if (message.type == 1) { if (media.file == null) { media.file = file; - performSendDelayedMessage(message); + if (media.thumb == null && message.location != null) { + performSendDelayedMessage(message); + } else { + performSendMessageRequest(message.sendRequest, message.obj, message.originalPath); + } } else { media.thumb = file; performSendMessageRequest(message.sendRequest, message.obj, message.originalPath); @@ -261,6 +265,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter } if (keyToRemvoe != null) { FileLoader.getInstance().cancelUploadFile(keyToRemvoe, enc); + stopVideoService(keyToRemvoe); } ArrayList messages = new ArrayList(); messages.add(object.messageOwner.id); @@ -610,7 +615,11 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter } } else if (type == 3) { if (video.access_hash == 0) { - inputMedia = new TLRPC.TL_inputMediaUploadedThumbVideo(); + if (video.thumb.location != null) { + inputMedia = new TLRPC.TL_inputMediaUploadedThumbVideo(); + } else { + inputMedia = new TLRPC.TL_inputMediaUploadedVideo(); + } inputMedia.duration = video.duration; inputMedia.w = video.w; inputMedia.h = video.h; @@ -910,7 +919,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter location = FileLoader.getInstance().getDirectory(FileLoader.MEDIA_DIR_CACHE) + "/" + message.videoLocation.id + ".mp4"; } putToDelayedMessages(location, message); - if (message.videoLocation.videoEditedInfo != null) { + if (message.obj.messageOwner.videoEditedInfo != null) { FileLoader.getInstance().uploadFile(location, true, false, message.videoLocation.size); } else { FileLoader.getInstance().uploadFile(location, true, false); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java b/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java index 93b4eb4d3..96e6c7d68 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FileUploadOperation.java @@ -45,6 +45,7 @@ public class FileUploadOperation { private int uploadStartTime = 0; private FileInputStream stream; private MessageDigest mdEnc = null; + private boolean started = false; public static interface FileUploadOperationDelegate { public abstract void didFinishUploadingFile(FileUploadOperation operation, TLRPC.InputFile inputFile, TLRPC.InputEncryptedFile inputEncryptedFile); @@ -102,8 +103,10 @@ public class FileUploadOperation { estimatedSize = 0; totalFileSize = finalSize; totalPartsCount = (int) Math.ceil((float) totalFileSize / (float) uploadChunkSize); - SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("uploadinfo", Activity.MODE_PRIVATE); - storeFileUploadInfo(preferences); + if (started) { + SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("uploadinfo", Activity.MODE_PRIVATE); + storeFileUploadInfo(preferences); + } } if (requestToken == 0) { startUploadRequest(); @@ -134,6 +137,7 @@ public class FileUploadOperation { TLObject finalRequest; try { + started = true; if (stream == null) { File cacheFile = new File(uploadingFilePath); stream = new FileInputStream(cacheFile); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java index eb617f9c1..6da8225e8 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java @@ -169,6 +169,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not private long chatEnterTime = 0; private long chatLeaveTime = 0; + private String startVideoEdit = null; + private final static int copy = 1; private final static int forward = 2; private final static int delete = 3; @@ -424,7 +426,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image)); currentPicturePath = image.getAbsolutePath(); } - getParentActivity().startActivityForResult(takePictureIntent, 0); + startActivityForResult(takePictureIntent, 0); } catch (Exception e) { FileLog.e("tmessages", e); } @@ -441,7 +443,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); File video = Utilities.generateVideoPath(); if (video != null) { - if (android.os.Build.VERSION.SDK_INT >= 18) { + if (Build.VERSION.SDK_INT >= 18) { takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(video)); } takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long) (1024 * 1024 * 1000)); @@ -450,7 +452,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not Intent chooserIntent = Intent.createChooser(pickIntent, ""); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{takeVideoIntent}); - getParentActivity().startActivityForResult(chooserIntent, 2); + startActivityForResult(chooserIntent, 2); } catch (Exception e) { FileLog.e("tmessages", e); } @@ -510,7 +512,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } if (str.length() != 0) { - if (android.os.Build.VERSION.SDK_INT < 11) { + if (Build.VERSION.SDK_INT < 11) { android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ApplicationLoader.applicationContext.getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setText(str); } else { @@ -897,7 +899,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } if (show) { if (pagedownButton.getVisibility() == View.GONE) { - if (android.os.Build.VERSION.SDK_INT > 13 && animated) { + if (Build.VERSION.SDK_INT > 13 && animated) { pagedownButton.setVisibility(View.VISIBLE); pagedownButton.setAlpha(0); pagedownButton.animate().alpha(1).setDuration(200).setListener(null).start(); @@ -907,7 +909,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } } else { if (pagedownButton.getVisibility() == View.VISIBLE) { - if (android.os.Build.VERSION.SDK_INT > 13 && animated) { + if (Build.VERSION.SDK_INT > 13 && animated) { pagedownButton.animate().alpha(0).setDuration(200).setListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { @@ -1366,12 +1368,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not } currentPicturePath = null; } - if(android.os.Build.VERSION.SDK_INT >= 16) { - Bundle args = new Bundle(); - args.putString("videoPath", videoPath); - VideoEditorActivity fragment = new VideoEditorActivity(args); - fragment.setDelegate(this); - presentFragment(fragment, false, true); + if(Build.VERSION.SDK_INT >= 16) { + if (paused) { + startVideoEdit = videoPath; + } else { + Bundle args = new Bundle(); + args.putString("videoPath", videoPath); + VideoEditorActivity fragment = new VideoEditorActivity(args); + fragment.setDelegate(this); + if (!presentFragment(fragment, false, true)) { + processSendingVideo(videoPath, 0, 0, 0, 0, null); + } + } } else { processSendingVideo(videoPath, 0, 0, 0, 0, null); } @@ -1662,12 +1670,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (video == null) { Bitmap thumb = ThumbnailUtils.createVideoThumbnail(videoPath, MediaStore.Video.Thumbnails.MINI_KIND); TLRPC.PhotoSize size = ImageLoader.scaleAndSaveImage(thumb, 90, 90, 55, currentEncryptedChat != null); - if (size == null) { - return; - } - size.type = "s"; video = new TLRPC.TL_video(); video.thumb = size; + if (video.thumb == null) { + video.thumb = new TLRPC.TL_photoSizeEmpty(); + } else { + video.thumb.type = "s"; + } video.caption = ""; video.mime_type = "video/mp4"; video.id = 0; @@ -1693,7 +1702,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not if (temp != null && temp.exists()) { video.size = (int) temp.length(); } - if (Build.VERSION.SDK_INT >= 10) { + if (Build.VERSION.SDK_INT >= 14) { MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); mediaMetadataRetriever.setDataSource(videoPath); String width = mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH); @@ -2519,6 +2528,22 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not chatEnterTime = System.currentTimeMillis(); chatLeaveTime = 0; } + + if (startVideoEdit != null) { + AndroidUtilities.RunOnUIThread(new Runnable() { + @Override + public void run() { + Bundle args = new Bundle(); + args.putString("videoPath", startVideoEdit); + VideoEditorActivity fragment = new VideoEditorActivity(args); + fragment.setDelegate(ChatActivity.this); + if (!presentFragment(fragment, false, true)) { + processSendingVideo(startVideoEdit, 0, 0, 0, 0, null); + } + startVideoEdit = null; + } + }); + } } @Override @@ -2542,7 +2567,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not try { Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); - getParentActivity().startActivityForResult(photoPickerIntent, 1); + startActivityForResult(photoPickerIntent, 1); } catch (Exception e) { FileLog.e("tmessages", e); } @@ -2874,7 +2899,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not fragment.setDelegate(this); presentFragment(fragment); } else if (option == 3) { - if(android.os.Build.VERSION.SDK_INT < 11) { + if(Build.VERSION.SDK_INT < 11) { android.text.ClipboardManager clipboard = (android.text.ClipboardManager)ApplicationLoader.applicationContext.getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setText(selectedObject.messageText); } else { @@ -2938,7 +2963,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not try { Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("*/*"); - getParentActivity().startActivityForResult(photoPickerIntent, 21); + startActivityForResult(photoPickerIntent, 21); } catch (Exception e) { FileLog.e("tmessages", e); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileNotificationsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileNotificationsActivity.java index a635e53b1..2a6ff7931 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileNotificationsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileNotificationsActivity.java @@ -183,7 +183,7 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi } tmpIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentSound); - getParentActivity().startActivityForResult(tmpIntent, 12); + startActivityForResult(tmpIntent, 12); } catch (Exception e) { FileLog.e("tmessages", e); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java index 7c7b10c8b..950d3552d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.java @@ -91,6 +91,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter private int mobileDownloadRow; private int wifiDownloadRow; private int roamingDownloadRow; + private int saveToGalleryRow; private int telegramFaqRow; private int languageRow; private int versionRow; @@ -188,6 +189,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter mobileDownloadRow = rowCount++; wifiDownloadRow = rowCount++; roamingDownloadRow = rowCount++; + saveToGalleryRow = rowCount++; messagesSectionRow = rowCount++; textSizeRow = rowCount++; sendByEnterRow = rowCount++; @@ -325,6 +327,11 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter if (listView != null) { listView.invalidateViews(); } + } else if (i == saveToGalleryRow) { + MediaController.getInstance().toggleSaveToGallery(); + if (listView != null) { + listView.invalidateViews(); + } } else if (i == terminateSessionsRow) { if (getParentActivity() == null) { return; @@ -717,7 +724,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter return i == textSizeRow || i == enableAnimationsRow || i == blockedRow || i == notificationRow || i == backgroundRow || i == askQuestionRow || i == sendLogsRow || i == sendByEnterRow || i == terminateSessionsRow || i == wifiDownloadRow || i == mobileDownloadRow || i == clearLogsRow || i == roamingDownloadRow || i == languageRow || - i == switchBackendButtonRow || i == telegramFaqRow || i == contactsSortRow || i == contactsReimportRow; + i == switchBackendButtonRow || i == telegramFaqRow || i == contactsSortRow || i == contactsReimportRow || i == saveToGalleryRow; } @Override @@ -921,18 +928,15 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter } else { checkButton.setImageResource(R.drawable.btn_check_off); } + } else if (i == saveToGalleryRow) { + textView.setText(LocaleController.getString("SaveToGallerySettings", R.string.SaveToGallerySettings)); + divider.setVisibility(View.INVISIBLE); + if (MediaController.getInstance().canSaveToGallery()) { + checkButton.setImageResource(R.drawable.btn_check_on); + } else { + checkButton.setImageResource(R.drawable.btn_check_off); + } } -// if (i == 7) { -// textView.setText(LocaleController.getString(R.string.SaveIncomingPhotos)); -// divider.setVisibility(View.INVISIBLE); -// -// ImageView checkButton = (ImageView)view.findViewById(R.id.settings_row_check_button); -// if (UserConfig.saveIncomingPhotos) { -// checkButton.setImageResource(R.drawable.btn_check_on); -// } else { -// checkButton.setImageResource(R.drawable.btn_check_off); -// } -// } } else if (type == 4) { if (view == null) { LayoutInflater li = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); @@ -1032,7 +1036,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter mask = MediaController.getInstance().wifiDownloadMask; } else if (i == roamingDownloadRow) { textView.setText(LocaleController.getString("WhenRoaming", R.string.WhenRoaming)); - divider.setVisibility(View.GONE); + divider.setVisibility(View.VISIBLE); mask = MediaController.getInstance().roamingDownloadMask; } String text = ""; @@ -1073,7 +1077,7 @@ public class SettingsActivity extends BaseFragment implements NotificationCenter return 1; } else if (i == textSizeRow || i == languageRow || i == contactsSortRow) { return 5; - } else if (i == enableAnimationsRow || i == sendByEnterRow) { + } else if (i == enableAnimationsRow || i == sendByEnterRow || i == saveToGalleryRow) { return 3; } else if (i == numberRow || i == notificationRow || i == blockedRow || i == backgroundRow || i == askQuestionRow || i == sendLogsRow || i == terminateSessionsRow || i == clearLogsRow || i == switchBackendButtonRow || i == telegramFaqRow || i == contactsReimportRow) { return 2; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsNotificationsActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsNotificationsActivity.java index 1cdeaac83..7d7c41aec 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsNotificationsActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsNotificationsActivity.java @@ -200,7 +200,7 @@ public class SettingsNotificationsActivity extends BaseFragment implements Notif } } tmpIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentSound); - getParentActivity().startActivityForResult(tmpIntent, i); + startActivityForResult(tmpIntent, i); } catch (Exception e) { FileLog.e("tmessages", e); } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/SettingsWallpapersActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/SettingsWallpapersActivity.java index 56a426b92..4ea34064e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/SettingsWallpapersActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/SettingsWallpapersActivity.java @@ -184,11 +184,11 @@ public class SettingsWallpapersActivity extends BaseFragment implements Notifica takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image)); currentPicturePath = image.getAbsolutePath(); } - getParentActivity().startActivityForResult(takePictureIntent, 10); + startActivityForResult(takePictureIntent, 10); } else if (i == 1) { Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); - getParentActivity().startActivityForResult(photoPickerIntent, 11); + startActivityForResult(photoPickerIntent, 11); } } catch (Exception e) { FileLog.e("tmessages", e); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/VideoEditorActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/VideoEditorActivity.java index 539e6646d..dd536e5a9 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/VideoEditorActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/VideoEditorActivity.java @@ -14,6 +14,7 @@ import android.content.SharedPreferences; import android.content.res.Configuration; import android.graphics.SurfaceTexture; import android.media.MediaPlayer; +import android.os.Build; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; @@ -99,10 +100,19 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur @Override public void run() { boolean playerCheck = false; - synchronized (sync) { - playerCheck = videoPlayer != null && videoPlayer.isPlaying(); - } - while (playerCheck) { + + while (true) { + synchronized (sync) { + try { + playerCheck = videoPlayer != null && videoPlayer.isPlaying(); + } catch (Exception e) { + playerCheck = false; + FileLog.e("tmessages", e); + } + } + if (!playerCheck) { + break; + } AndroidUtilities.RunOnUIThread(new Runnable() { @Override public void run() { @@ -176,6 +186,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur videoPlayer.prepareAsync(); } catch (Exception e) { FileLog.e("tmessages", e); + return false; } return super.onFragmentCreate(); @@ -357,10 +368,24 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur parent.removeView(fragmentView); } } - fixLayoutInternal(); return fragmentView; } + private void setPlayerSurface() { + if (textureView == null || !textureView.isAvailable() || videoPlayer == null) { + return; + } + try { + Surface s = new Surface(textureView.getSurfaceTexture()); + videoPlayer.setSurface(s); + if (playerPrepared) { + videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoDuration)); + } + } catch (Exception e) { + FileLog.e("tmessages", e); + } + } + @Override public void onResume() { super.onResume(); @@ -375,18 +400,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur @Override public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { - if (videoPlayer == null) { - return; - } - try { - Surface s = new Surface(surface); - videoPlayer.setSurface(s); - if (playerPrepared) { - videoPlayer.seekTo((int) (videoTimelineView.getLeftProgress() * videoDuration)); - } - } catch (Exception e) { - FileLog.e("tmessages", e); - } + setPlayerSurface(); } @Override @@ -515,12 +529,14 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur height = (int) (width / ar); } - FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams)textureView.getLayoutParams(); - layoutParams.width = width; - layoutParams.height = height; - layoutParams.leftMargin = 0; - layoutParams.topMargin = 0; - textureView.setLayoutParams(layoutParams); + if (textureView != null) { + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) textureView.getLayoutParams(); + layoutParams.width = width; + layoutParams.height = height; + layoutParams.leftMargin = 0; + layoutParams.topMargin = 0; + textureView.setLayoutParams(layoutParams); + } } private void fixLayoutInternal() { @@ -574,17 +590,20 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur } private void fixLayout() { - if (originalSizeTextView == null) { + if (fragmentView == null) { return; } - fragmentView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + fragmentView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override - public boolean onPreDraw() { + public void onGlobalLayout() { fixLayoutInternal(); if (fragmentView != null) { - fragmentView.getViewTreeObserver().removeOnPreDrawListener(this); + if (Build.VERSION.SDK_INT < 16) { + fragmentView.getViewTreeObserver().removeGlobalOnLayoutListener(this); + } else { + fragmentView.getViewTreeObserver().removeOnGlobalLayoutListener(this); + } } - return true; } }); } @@ -644,9 +663,19 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur List boxes = Path.getPaths(isoFile, "/moov/trak/"); TrackHeaderBox trackHeaderBox = null; boolean isAvc = true; + boolean isMp4A = true; - Box avc = Path.getPath(isoFile, "/moov/trak/mdia/minf/stbl/stsd/avc1/"); - if (avc == null) { + Box boxTest = Path.getPath(isoFile, "/moov/trak/mdia/minf/stbl/stsd/mp4a/"); + if (boxTest == null) { + isMp4A = false; + } + + if (!isMp4A) { + return false; + } + + boxTest = Path.getPath(isoFile, "/moov/trak/mdia/minf/stbl/stsd/avc1/"); + if (boxTest == null) { isAvc = false; } diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarLayout.java b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarLayout.java index 7885959b8..e4ce88d0c 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarLayout.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarLayout.java @@ -418,8 +418,7 @@ public class ActionBarLayout extends FrameLayout { } private void fixLayout() { - ViewTreeObserver obs = getViewTreeObserver(); - obs.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { needLayout(); @@ -790,6 +789,9 @@ public class ActionBarLayout extends FrameLayout { } public void startActivityForResult(final Intent intent, final int requestCode) { + if (parentActivity == null) { + return; + } if (transitionAnimationInProgress) { if (onCloseAnimationEndRunnable != null) { closeAnimation.cancel(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarMenuItem.java b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarMenuItem.java index 579b11161..e5e68912d 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarMenuItem.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/ActionBarMenuItem.java @@ -31,6 +31,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import org.telegram.android.AndroidUtilities; +import org.telegram.android.LocaleController; import org.telegram.messenger.R; import java.lang.reflect.Field; @@ -155,7 +156,7 @@ public class ActionBarMenuItem extends ImageView { delimeter.setBackgroundColor(0xffdcdcdc); popupLayout.addView(delimeter); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)delimeter.getLayoutParams(); - layoutParams.width = AndroidUtilities.dp(196); + layoutParams.width = LinearLayout.LayoutParams.MATCH_PARENT; layoutParams.height = AndroidUtilities.density >= 3 ? 2 : 1; delimeter.setLayoutParams(layoutParams); delimeter.setTag(100 + id); @@ -163,7 +164,11 @@ public class ActionBarMenuItem extends ImageView { TextView textView = new TextView(getContext()); textView.setTextColor(0xff000000); textView.setBackgroundResource(R.drawable.list_selector); - textView.setGravity(Gravity.CENTER_VERTICAL); + if (!LocaleController.isRTL) { + textView.setGravity(Gravity.CENTER_VERTICAL); + } else { + textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT); + } textView.setPadding(AndroidUtilities.dp(16), 0, AndroidUtilities.dp(16), 0); textView.setTextSize(18); textView.setMinWidth(AndroidUtilities.dp(196)); @@ -171,10 +176,17 @@ public class ActionBarMenuItem extends ImageView { textView.setText(text); if (icon != 0) { textView.setCompoundDrawablePadding(AndroidUtilities.dp(12)); - textView.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(icon), null, null, null); + if (!LocaleController.isRTL) { + textView.setCompoundDrawablesWithIntrinsicBounds(getResources().getDrawable(icon), null, null, null); + } else { + textView.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(icon), null); + } } popupLayout.addView(textView); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)textView.getLayoutParams(); + if (LocaleController.isRTL) { + layoutParams.gravity = Gravity.RIGHT; + } layoutParams.width = LinearLayout.LayoutParams.WRAP_CONTENT; layoutParams.height = AndroidUtilities.dp(48); textView.setLayoutParams(layoutParams); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/BaseFragment.java b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/BaseFragment.java index 8d7c565fa..c18ca4f9f 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/BaseFragment.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Views/ActionBar/BaseFragment.java @@ -139,25 +139,16 @@ public class BaseFragment { } - public void presentFragment(BaseFragment fragment) { - if (parentLayout == null) { - return; - } - parentLayout.presentFragment(fragment); + public boolean presentFragment(BaseFragment fragment) { + return parentLayout != null && parentLayout.presentFragment(fragment); } - public void presentFragment(BaseFragment fragment, boolean removeLast) { - if (parentLayout == null) { - return; - } - parentLayout.presentFragment(fragment, removeLast); + public boolean presentFragment(BaseFragment fragment, boolean removeLast) { + return parentLayout != null && parentLayout.presentFragment(fragment, removeLast); } - public void presentFragment(BaseFragment fragment, boolean removeLast, boolean forceWithoutAnimation) { - if (parentLayout == null) { - return; - } - parentLayout.presentFragment(fragment, removeLast, forceWithoutAnimation, true); + public boolean presentFragment(BaseFragment fragment, boolean removeLast, boolean forceWithoutAnimation) { + return parentLayout != null && parentLayout.presentFragment(fragment, removeLast, forceWithoutAnimation, true); } public Activity getParentActivity() { @@ -167,6 +158,12 @@ public class BaseFragment { return null; } + public void startActivityForResult(final Intent intent, final int requestCode) { + if (parentLayout != null) { + parentLayout.startActivityForResult(intent, requestCode); + } + } + public void showActionBar() { if (parentLayout != null) { parentLayout.showActionBar(); diff --git a/TMessagesProj/src/main/java/org/telegram/ui/Views/AvatarUpdater.java b/TMessagesProj/src/main/java/org/telegram/ui/Views/AvatarUpdater.java index fafff6eca..1fe286753 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/Views/AvatarUpdater.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/Views/AvatarUpdater.java @@ -61,7 +61,7 @@ public class AvatarUpdater implements NotificationCenter.NotificationCenterDeleg takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image)); currentPicturePath = image.getAbsolutePath(); } - parentFragment.getParentActivity().startActivityForResult(takePictureIntent, 13); + parentFragment.startActivityForResult(takePictureIntent, 13); } catch (Exception e) { FileLog.e("tmessages", e); } @@ -71,7 +71,7 @@ public class AvatarUpdater implements NotificationCenter.NotificationCenterDeleg try { Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT); photoPickerIntent.setType("image/*"); - parentFragment.getParentActivity().startActivityForResult(photoPickerIntent, 14); + parentFragment.startActivityForResult(photoPickerIntent, 14); } catch (Exception e) { FileLog.e("tmessages", e); } diff --git a/TMessagesProj/src/main/res/drawable/bar_selector_style.xml b/TMessagesProj/src/main/res/drawable/bar_selector_style.xml new file mode 100644 index 000000000..236178c0e --- /dev/null +++ b/TMessagesProj/src/main/res/drawable/bar_selector_style.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TMessagesProj/src/main/res/layout-ar/launch_layout_tablet.xml b/TMessagesProj/src/main/res/layout-ar/launch_layout_tablet.xml new file mode 100644 index 000000000..a86e2e185 --- /dev/null +++ b/TMessagesProj/src/main/res/layout-ar/launch_layout_tablet.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TMessagesProj/src/main/res/layout/launch_layout_tablet.xml b/TMessagesProj/src/main/res/layout/launch_layout_tablet.xml index 47c514403..740ed46a2 100644 --- a/TMessagesProj/src/main/res/layout/launch_layout_tablet.xml +++ b/TMessagesProj/src/main/res/layout/launch_layout_tablet.xml @@ -33,8 +33,6 @@ android:gravity="center_vertical" android:textSize="20dp" android:paddingLeft="17dp" - android:paddingStart="17dp" - android:paddingEnd="17dp" android:background="@drawable/launch_button_states"/> @@ -89,8 +83,6 @@ android:gravity="center_vertical" android:textSize="20dp" android:paddingLeft="17dp" - android:paddingStart="17dp" - android:paddingEnd="17dp" android:background="@drawable/launch_button_states"/> diff --git a/TMessagesProj/src/main/res/layout/video_editor_layout.xml b/TMessagesProj/src/main/res/layout/video_editor_layout.xml index 89515f4df..0eacd6abd 100644 --- a/TMessagesProj/src/main/res/layout/video_editor_layout.xml +++ b/TMessagesProj/src/main/res/layout/video_editor_layout.xml @@ -68,6 +68,7 @@ android:textColor="#f0f0f0" android:textSize="15dp" android:layout_marginLeft="13dp" + android:layout_marginRight="13dp" android:id="@+id/original_title"/> Telegram - العربية Arabic ar - رقم هاتفك المحمول يرجى التحقق من صحة رمز بلدك وإدخال رقم هاتفك المحمول اختر دولة رمز البلد خاطئ - رمز التفعيل تم إرسال رسالة قصيرة تحتوي على رمز التفعيل الخاص بك @@ -23,7 +20,6 @@ رمز التفعيل الرقم خاطئ؟ هل استقبلت الرمز؟ - اسمك اختر الاسم الأول واسم العائلة @@ -31,7 +27,6 @@ الاسم الأول اسم العائلة إلغاء التسجيل - الدردشات بحث @@ -42,7 +37,7 @@ أمس لا توجد نتائج ...لا توجد محادثات بعد - إبدأ المراسلة بالضغط على\nأيقونة النقاط في أعلى يمين الشاشة\nأو اذهب لقسم جهات الاتصال. + إبدأ المراسلة بالضغط على\nأيقونة النقاط في أعلى يمين الشاشة\nأو اضغط على زر القائمة الرئيسية لخيارات أكثر. في إنتظار الشبكة... جاري الاتصال... جاري التحديث... @@ -56,7 +51,6 @@ حذف وخروج الاسم مخفي اختر محادثة - قائمة الرسالة الجماعية قائمة رسالة جماعية جديدة @@ -64,7 +58,6 @@ أنت قمت بإنشاء قائمة رسالة جماعية إضافة مستلم إزالة من قائمة الرسالة الجماعية - اختر ملف متاح %1$s من %2$s @@ -78,7 +71,6 @@ الذاكرة الخارجية جذر النظام بطاقة الذاكرة - مخفي جاري الكتابة… @@ -119,7 +111,6 @@ حفظ في الجهاز تطبيق ملف التعريب المرفق غير مدعوم - تم طلب محادثة سرية تم بدء المحادثة السرية @@ -161,7 +152,6 @@ %1$s,\nتم تسجيل الدخول لحسابك من جهاز جديد يوم %2$s\n\nالجهاز: %3$s\nالموقع: %4$s\n\nإذا لم يكن أنت من سجل الدخول، يمكنك الذهاب للإعدادات ثم تسجيل الخروج من كافة الأجهزة الأخرى.\n\nشكرًا,\nفريق عمل تيليجرام %1$s قام بتغيير صورته الشخصية الرد - اختر جهة اتصال لا توجد جهات اتصال بعد @@ -174,14 +164,12 @@ آخر ظهور آخر ظهور قم بدعوة صديق - إرسال الرسالة إلى... أدخل اسم للمجموعة اسم المجموعة جميع جهات الاتصال %1$d/%2$d عضو - أدخل سم للمجموعة عدد الوسائط المشتركة @@ -192,7 +180,6 @@ مغادرة المجموعة وحذفها الإشعارات إخراج من المجموعة - مشاركة إضافة @@ -220,7 +207,6 @@ يوم أسبوع هذه الصورة هي تصور لمفتاح التشفير لهذه المحادثة السرية مع ]]>%1$s]]>.
]]>إذا كانت مطابقة للصورة التي في جهاز ]]>%2$s]]>, فمحادثتكم آمنة ٢٠٠٪.
]]>للمزيد نرجو الذهاب إلى telegram.org
- تم تعيين كافة الإشعارات افتراضيا حجم نص الرسائل @@ -290,11 +276,10 @@ عند الاتصال بالشبكة اللاسلكية عند تواجدك خارج البلاد لا يوجد وسائط - + حفظ في الجهاز لا توجد وسائط بعد إلغاء التنزيل - موقعي الخريطة @@ -304,7 +289,6 @@ كيلومتر يبعد أرسل موقعك مشاركة الموقع - عرض كافة الوسائط حفظ في الجهاز @@ -312,14 +296,12 @@ الألبوم جميع الصور لا توجد صور حتى الآن - تحرير الفيديو الفيديو الأصلي تم تحرير الفيديو - Sending video... - Compress Video - + جاري إرسال المقطع المرئي... + اضغط المقطع المرئي التالي رجوع @@ -340,7 +322,6 @@ فتح الصورة تعيين موافق - un1 أزال un2 غادر المجموعة العضو un1 @@ -358,7 +339,7 @@ لقد قمت بإنشاء المجموعة un1 قام بإخراجك un1 قام بإضافتك - نسخة تيليجرام الموجودة لديك لا تدعم هذه الرسالة. الرجاء التحديث لأحدث نسخة:\nhttp://telegram.org/update + نسخة تيليجرام الموجودة لديك لا تدعم هذه الرسالة. الرجاء التحديث لأحدث نسخة: http://telegram.org/update صورة مقطع مرئي موقع @@ -368,7 +349,6 @@ أنت أنت أخذت لقطة للشاشة ! un1 أخذ لقطة للشاشة ! - رقم الهاتف غير صحيح انتهت صلاحية الرمز الخاص بك، يرجى تسجيل الدخول مرة أخرى @@ -397,7 +377,6 @@ هل أنت متأكد من رغبتك في حذف جهة الاتصال هذه؟ هل أنت متأكد من أنك تريد بدء محادثة سرية؟ أعد الإرسال باستخدام اسمي - تيليجرام سريع @@ -406,15 +385,14 @@ قوي مرتبط بالسحاب خصوصي - مرحبًا بك في عصر جديد من المراسلة - تيليجرام]]> يوصل الرسائل بسرعة أفضل من أي تطبيق آخر. + أسرع تطبيق مراسلة في العالم.]]>كما أنه مجاني و آمن. + تيليجرام]]> يوصل الرسائل أسرع من أي تطبيق آخر. تيليجرام]]> مجاني للأبد. بدون أية إعلانات. وبدون رسوم إشتراك. تيليجرام]]> يحمي الرسائل الخاصة بك من هجمات المخترقين. تيليجرام]]> لا يفرض عليك حدود لحجم الوسائط والمحادثات. تيليجرام]]> يمكنك الوصول إلى الرسائل الخاصة بك من أجهزة متعددة. تيليجرام]]> الرسائل مشفرة بشكل قوي وتستطيع تدمير ذاتها إبدأ المراسلة - لا يوجد أعضاء %1$d عضو @@ -446,7 +424,6 @@ من %1$d جهات اتصال من %1$d جهة اتصال من %1$d جهة اتصال - CACHE_TAG \ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-de/strings.xml b/TMessagesProj/src/main/res/values-de/strings.xml index 9d90c64b7..19d79b04d 100644 --- a/TMessagesProj/src/main/res/values-de/strings.xml +++ b/TMessagesProj/src/main/res/values-de/strings.xml @@ -4,17 +4,14 @@ Telegram - Deutsch German de - Dein Telefon Bitte Landeskennzahl und\nTelefonnummer bestätigen. Wähle ein Land Falsche Landesvorwahl - Dein Code Wir haben dir eine SMS mit einem Aktivierungscode zugeschickt @@ -23,7 +20,6 @@ Code Falsche Nummer? Code nicht erhalten? - Dein Name Gib deinen Vor- und Nachnamen ein @@ -31,7 +27,6 @@ Vorname (erforderlich) Nachname (optional) Registrierung abbrechen - Chats Suche @@ -56,7 +51,6 @@ Löschen und beenden Versteckter Name Chat auswählen - Broadcast Liste Neue Broadcast Liste @@ -64,7 +58,6 @@ Du hast eine Broadcast Liste erstellt Empfänger hinzufügen Aus Broadcast Liste entfernen - Datei auswählen Freier Speicher: %1$s von %2$s @@ -78,7 +71,6 @@ Externer Speicher Systemverzeichnis SD-Karte - unsichtbar schreibt… @@ -102,7 +94,7 @@ Nachricht verfassen Download Ausgewählt: %d - MEINE KONTAKTDATEN TEILEN + MEINE TELEFONNUMMER TEILEN ZU KONTAKTEN HINZUFÜGEN %s hat dich zu einem geheimen Chat eingeladen. Du hast %s zu einem geheimen Chat eingeladen. @@ -119,7 +111,6 @@ In Downloads speichern Sprachdatei benutzen Nicht unterstützte Datei - Geheimen Chat angefordert Geheimen Chat angenommen @@ -161,7 +152,6 @@ %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 alle anderen Sitzungen in den Telegram Einstellungen unverzüglich ab.\n\nMit freundlichen Grüßen,\nDas Telegram Team %1$s hat das Profilbild geändert Beantworten - Kontakt auswählen Noch keine Kontakte @@ -174,14 +164,12 @@ zul. online zul. online Freunde einladen - Sende Nachricht an… Gruppenname Gruppenname ALLE KONTAKTE %1$d/%2$d Mitglieder - GRUPPENNAMEN EINGEBEN Geteilte Medien @@ -192,7 +180,6 @@ Gruppe löschen und verlassen Mitteilungen Aus der Gruppe entfernen - Teilen Hinzufügen @@ -208,7 +195,7 @@ TELEFON Geheimen Chat starten Es ist ein Fehler aufgetreten. - Konnte keinen geheimen Chat mit %1$s starten.\n\n%2$s benutzt eine ältere Version von Telegram und muss diese erst aktualisieren. + Geheimer Chat konnte mit %1$s nicht gestartet werden.\n\n%2$s benutzt eine ältere Version von Telegram und muss diese erst aktualisieren. Geheimer Chat Geheimer Schlüssel Selbstzerstörungs-Timer @@ -220,14 +207,13 @@ 1 Tag 1 Woche Das ist eine Darstellung des Schlüssels für den Geheimen Chat mit ]]>%1$s]]>.
]]>Wenn dieses Bild auf ]]>%2$s\s]]>s Telefon genau so aussieht, ist euer Chat zu 200%% sicher.
]]>Erfahre mehr auf telegram.org
- Alle Einstellungen für Mitteilungen zurücksetzen Textgröße für Nachrichten Eine Frage stellen Animationen aktivieren Freigeben - Tippe und halte einen Benutzer, um ihn freizugeben. + Gedrückt halten um freizugeben. Keine blockierten Benutzer DEINE TELEFONNUMMER NACHRICHTEN @@ -283,18 +269,17 @@ Kennzeichensymbol Kurz Lang - Systemstandard - Standardeinstellungen - AUTOMATISCHER DOWNLOAD VON MEDIEN + Systemvorgabe + Telegramvorgabe + AUTOMATISCHER MEDIENDOWNLOAD über Mobilfunk über W-LAN bei Roaming kein automatischer Download - + In der Galerie speichern Noch keine geteilten Medien vorhanden Download abbrechen - Mein Standort Karte @@ -304,7 +289,6 @@ km entfernt Standort senden Teile Standort - Zeige alle Medien In der Galerie speichern @@ -312,14 +296,12 @@ Galerie Alle Fotos Noch keine Fotos - Video bearbeiten Originalvideo Bearbeitetes Video Sende Video... Video komprimieren - Weiter Zurück @@ -340,7 +322,6 @@ Foto öffnen Wählen OK - un1 hat un2 aus der Gruppe entfernt un1 hat die Gruppe verlassen @@ -368,7 +349,6 @@ Du Du hast ein Bildschirmfoto gemacht! un1 hat ein Bildschirmfoto gemacht! - Ungültige Telefonnummer Code ist abgelaufen, bitte melde dich erneut an @@ -395,9 +375,8 @@ Diesen Kontakt wirklich blockieren? Blockierung für diesen Kontakt wirklich aufheben? Diesen Kontakt wirklich löschen? - Wirklich einen geheimen Chat starten? + Geheimen Chat starten? mit meinem Namen weiterleiten - Telegram Schnell @@ -406,15 +385,14 @@ Leistungsstark Cloud-Basiert Vertraulich - Die schnellste]]> Messaging App der Welt. Kostenlos]]> und sicher]]>. - Telegram]]> stellt Nachrichten schneller zu als alle andere Anwendungen - Telegram]]> ist für immer kostenlos. Keine Werbung. ]]>Keine Abo-Gebühr. - Telegram]]> schützt deine Nachrichten vor Hacker-Angriffen - Telegram]]> unterstützt unbegrenzt große Chats und Mediendateien - Telegram]]> kannst du vom Handy, Tablet oder auch Computer syncronisiert benutzen - Telegram]]>-Nachrichten sind stark verschlüsselt und können sich selbst zerstören + Die schnellste]]> Messaging App der Welt.Kostenlos]]> und sicher]]>. + Telegram]]> stellt Nachrichten schneller]]>zu als andere Anwendungen. + Telegram]]> ist für immer kostenlos.]]>Keine Werbung. Keine Abo-Gebühr. + Telegram]]> schützt deine Nachrichten ]]>vor Hacker-Angriffen. + Telegram]]> unterstützt unbegrenzt große ]]>Chats und Mediendateien. + Telegram]]> lässt sich von verschiedenen Geräten]]>gleichzeitig nutzen. + Telegram]]>-Nachrichten sind stark verschlüsselt]]>und können sich selbst zerstören. Jetzt beginnen - keine Mitglieder %1$d Mitglied @@ -446,7 +424,6 @@ von %1$d Kontakten von %1$d Kontakten von %1$d Kontakten - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-es/strings.xml b/TMessagesProj/src/main/res/values-es/strings.xml index d4f4ed15d..66d490e89 100644 --- a/TMessagesProj/src/main/res/values-es/strings.xml +++ b/TMessagesProj/src/main/res/values-es/strings.xml @@ -4,17 +4,14 @@ Telegram - Español Spanish es - Tu teléfono Por favor, confirma tu código de país\ny pon tu número de teléfono. Elige un país Código de país incorrecto - Tu código Enviamos un SMS con el código de activación al número @@ -23,7 +20,6 @@ Código ¿Número incorrecto? ¿No recibiste el código? - Tu nombre Ingresa tu nombre y apellido @@ -31,7 +27,6 @@ Nombre (requerido) Apellido (opcional) Cancelar registro - Chats Buscar @@ -41,7 +36,7 @@ Nuevo grupo ayer Sin resultados - Aún sin conversaciones... + Aún sin chats... Envía mensajes pulsando el botón para\nredactar, en la parte superior derecha,\no pulsa el botón menú para más opciones. Esperando red... Conectando... @@ -52,11 +47,10 @@ Intercambiando claves de cifrado... %s se unió a tu chat secreto. Te uniste al chat secreto. - Limpiar historial + Borrar historial Eliminar y salir Nombre oculto Elige el chat - Lista de difusión Nueva difusión @@ -64,7 +58,6 @@ Creaste una lista de difusión Añadir destinatario Quitar de la lista de difusión - Elegir archivo %1$s de %2$s libres @@ -78,10 +71,9 @@ Almacenamiento Externo Raíz del Sistema Tarjeta SD - invisible - escribiendo... + escribe... Adjuntar escribe... escriben... @@ -114,12 +106,11 @@ Te expulsaron de este grupo Dejaste este grupo Eliminar este grupo - Eliminar esta conversación + Eliminar este chat DESLIZA PARA CANCELAR Guardar en descargas Aplicar traducción Adjunto no soportado - Chat secreto solicitado Chat secreto iniciado @@ -161,7 +152,6 @@ %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 - Cerrar todas las otras sesiones.\n\nAtentamente,\nEl equipo de Telegram %1$s actualizó su foto de perfil Responder - Elegir contacto Aún sin contactos @@ -174,14 +164,12 @@ últ. vez últ. vez el Invitar a amigos - Enviar mensaje a... Nombre del grupo Nombre del grupo TODOS LOS CONTACTOS %1$d/%2$d miembros - PON EL NOMBRE DEL GRUPO Fotos y vídeos @@ -189,10 +177,9 @@ FOTOS Y VÍDEOS AJUSTES Añadir miembro - Eliminar y salir del grupo + Eliminar y dejar el grupo Notificaciones Expulsar del grupo - Compartir Añadir @@ -220,9 +207,8 @@ 1d 1S Esta imagen es una visualización de la clave de cifrado para el chat secreto con ]]>%1$s]]>.
]]>Si esta imagen se ve igual en el teléfono de ]]>%2$s]]>, tu chat es seguro en un 200%%.
]]>Aprende más en telegram.org
- - Restablecer todas las notificaciones + Restablecer las notificaciones Tamaño del texto Hacer una pregunta Activar animaciones @@ -241,7 +227,7 @@ Vibraciones Vista previa en la app RESTABLECER - Restablecer todas las notificaciones + Restablecer las notificaciones Deshacer las notificaciones personalizadas para todos tus usuarios y grupos Notificaciones y sonidos Usuarios bloqueados @@ -290,11 +276,10 @@ Con conexión a Wi-Fi Con itinerancia de datos Ningún contenido multimedia - + Guardar en galería Aún no hay fotos ni vídeos Cancelar descarga - Mi ubicación Mapa @@ -304,7 +289,6 @@ km de distancia Enviar ubicación Compartir ubicación - Mostrar todas las fotos y vídeos Guardar en galería @@ -312,14 +296,12 @@ Galería Todas las fotos Sin fotos aún - Editar vídeo Vídeo original Vídeo editado Enviando vídeo... Comprimir Vídeo - Siguiente Atrás @@ -340,7 +322,6 @@ Abrir foto Establecer OK - un1 expulsó a un2 un1 dejó el grupo @@ -368,7 +349,6 @@ ¡Hiciste una captura de pantalla! ¡un1 hizo una captura de pantalla! - Número de teléfono inválido Código expirado. Por favor, vuelve a iniciar sesión. @@ -397,7 +377,6 @@ ¿Quieres eliminar este contacto? ¿Quieres iniciar un chat secreto? reenviar desde mi nombre - Telegram Rápida @@ -406,15 +385,14 @@ Poderosa Basada en la nube Privada - La aplicación de mensajería más\nveloz]]> del mundo. Es gratis]]> y segura]]>. - Telegram]]> entrega mensajes más rápido que]]>cualquier otra aplicación. - Telegram]]> es gratis para siempre. Sin publicidad.]]>Sin cuotas de suscripción. + La aplicación de mensajería másveloz]]> del mundo. Es gratis]]> y segura]]>. + Telegram]]> entrega mensajes más]]>rápido que cualquier otra aplicación. + Telegram]]> es gratis para siempre.]]>Sin publicidad ni suscripciones. Telegram]]> mantiene tus mensajes]]>a salvo del ataque de hackers. - Telegram]]> no tiene límites en el tamaño de tus]]>chats y archivos. - Telegram]]> te permite acceder a tus mensajes]]>desde múltiples dispositivos. - Los mensajes de Telegram]]> están fuertemente]]>cifrados y se pueden autodestruir. + Telegram]]> no tiene límites en]]>el tamaño de tus chats y archivos. + Telegram]]> te permite acceder a tus]]>mensajes desde múltiples dispositivos. + Telegram]]> posee mensajes fuertemente]]>cifrados y se pueden autodestruir. Empieza a conversar - sin miembros %1$d miembro @@ -446,7 +424,6 @@ de %1$d contactos de %1$d contactos de %1$d contactos - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-it/strings.xml b/TMessagesProj/src/main/res/values-it/strings.xml index 3801d14b4..954886b66 100644 --- a/TMessagesProj/src/main/res/values-it/strings.xml +++ b/TMessagesProj/src/main/res/values-it/strings.xml @@ -4,17 +4,14 @@ Telegram - Italiano Italian it - Il tuo telefono Conferma il prefisso della tua nazione\ne inserisci il tuo numero di telefono. Scegli una nazione Prefisso errato - Il tuo codice Abbiamo inviato un SMS al tuo telefono con il codice di attivazione @@ -23,7 +20,6 @@ Codice Numero errato? Non hai ricevuto il codice? - Il tuo nome Inserisci il tuo nome e cognome @@ -31,7 +27,6 @@ Nome (richiesto) Cognome (facoltativo) Annulla registrazione - Chat Cerca @@ -42,7 +37,7 @@ ieri Nessun risultato Ancora nessuna chat… - Inizia a inviare messaggi premendo il\npulsante di composizione nell\'angolo in alto\na destra o vai nella sezione contatti. + Inizia a messaggiare premendo il tasto\ncomponi nell\'angolo in alto a destra\no premi il tasto menu per più opzioni. In attesa della rete... Connessione in corso… Aggiornamento in corso… @@ -56,7 +51,6 @@ Elimina ed esci Nome nascosto Seleziona chat - Lista broadcast Nuova lista broadcast @@ -64,7 +58,6 @@ Hai creato una lista broadcast Aggiungi destinatario Rimuovi dalla lista broadcast - Seleziona file Liberi %1$s di %2$s @@ -78,7 +71,6 @@ Archiviazione esterna Root di sistema Scheda SD - invisibile sta scrivendo… @@ -102,14 +94,14 @@ Scrivi il messaggio Scarica Selezionati: %d - CONDIVIDI LE MIE INFORMAZIONI DI CONTATTO + CONDIVIDI INFORMAZIONI CONTATTO AGGIUNGI AI CONTATTI %s ti ha mandato un invito a una chat segreta. Hai invitato %s a entrare in una chat segreta. Chat segrete: Utilizzano la crittografia end-to-end Non lasciano traccia sui nostri server - Hanno un contatore di autodistruzione + Hanno un timer di autodistruzione Non permettono l’inoltro Sei stato espulso da questo gruppo Hai lasciato il gruppo @@ -119,7 +111,6 @@ Salva in download Applica file di localizzazione Allegato non supportato - Chat segreta richiesta Chat segreta iniziata @@ -161,7 +152,6 @@ %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 %1$s ha aggiornato la foto del profilo Rispondi - Seleziona contatto Ancora nessun contatto @@ -174,14 +164,12 @@ ultimo accesso ultimo accesso Invita amici - Invia messaggio a... Immetti il nome del gruppo Nome gruppo TUTTI I CONTATTI %1$d/%2$d membri - INSERISCI IL NOME DEL GRUPPO Media condivisi @@ -192,7 +180,6 @@ Elimina e lascia il gruppo Notifiche Rimuovi dal gruppo - Condividi Aggiungi @@ -220,7 +207,6 @@ 1g 1sett Questa immagine è una visualizzazione della chiave di cifratura per questa chat segreta con ]]>%1$s]]>.
]]>Se questa immagine è uguale sul telefono di ]]>%2$s]]>, la chat è sicura al 200%%.
]]>Per saperne di più, visita Telegram.org
- Ripristina tutte le impostazioni di notifica predefinite Dimensione testo messaggi @@ -290,11 +276,10 @@ Quando si utilizza il Wi-Fi In roaming Nessun media - + Salva nella galleria Nessun media condiviso Annulla scaricamento - La mia posizione Mappa @@ -304,7 +289,6 @@ km di distanza Invia posizione Condividi posizione - Mostra tutti i file media Salva nella galleria @@ -312,14 +296,12 @@ Galleria Tutte le foto Ancora nessuna foto - Modifica video Video originale Video modificato - Sending video... - Compress Video - + Inviando il video... + Comprimi Video Avanti Indietro @@ -340,7 +322,6 @@ Apri foto Imposta OK - un1 ha rimosso un2 un1 ha lasciato il gruppo @@ -358,7 +339,7 @@ Hai creato il gruppo un1 ti ha rimosso un1 ti ha aggiunto - Questo messaggio non è supportato sulla tua versione di Telegram. Aggiorna l\'applicazione per\nvisualizzarlo: http://telegram.org/update + Questo messaggio non è supportato sulla tua versione di Telegram. Aggiorna l\'applicazione per visualizzarlo: http://telegram.org/update Foto Video Posizione @@ -368,7 +349,6 @@ Tu Hai catturato la schermata! un1 ha catturato la schermata! - Numero di telefono non valido Codice scaduto, effettua di nuovo l\'accesso @@ -397,7 +377,6 @@ Eliminare questo contatto? Iniziare una chat segreta? inoltra dal mio nome - Telegram Veloce @@ -406,15 +385,14 @@ Potente Basato sul cloud Privato - Benvenuto nell\'era della messaggistica veloce e sicura - Telegram]]> consegna i messaggi più velocemente di qualsiasi altra applicazione - Telegram]]> è gratuita per sempre. Nessuna pubblicità. Nessun costo di abbonamento - Telegram]]> tiene al sicuro i tuoi messaggi dagli attacchi degli hacker - Telegram]]> non ha limiti sulle dimensioni dei tuoi file multimediali e delle chat - Telegram]]> ti consente di accedere ai messaggi da più dispositivi - Telegram]]> cifra in maniera sicura i messaggi e può far sì che si autodistruggano + L\'app di messaggi più veloce]]>al mondo.]]>È gratuita]]> e sicura]]>. + Telegram]]> consegna i messaggi più]]>velocemente di qualsiasi altra app. + Telegram]]> sarà sempre gratuito.]]>Nessuna pubblicità. Nessun abbonamento. + Telegram]]> protegge i tuoi messaggi]]>dagli attacchi degli hacker. + Telegram]]> non ha limiti sulle dimensioni]]>dei tuoi file multimediali e delle chat. + Telegram]]> ti consente di accedere]]>ai messaggi da più dispositivi. + Telegram]]> cifra in maniera sicura i messaggi]]>e può far sì che si autodistruggano. Inizia a inviare messaggi - nessun membro %1$d membro @@ -446,7 +424,6 @@ da %1$d contatti da %1$d contatti da %1$d contatti - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-nl/strings.xml b/TMessagesProj/src/main/res/values-nl/strings.xml index 6d2cbf965..0699e32b2 100644 --- a/TMessagesProj/src/main/res/values-nl/strings.xml +++ b/TMessagesProj/src/main/res/values-nl/strings.xml @@ -4,17 +4,14 @@ Telegram - Nederlands Dutch nl - Je telefoon Bevestig je landcode\nen voer je telefoonnummer in. Kies een land Onjuist landcode - Je code We hebben een sms met een activatiecode verzonden naar je telefoon @@ -23,7 +20,6 @@ Code Verkeerd nummer? Geen code ontvangen? - Je naam Voer je voor- en achternaam in @@ -31,7 +27,6 @@ Voornaam (verplicht) Achternaam (optioneel) Registratie annuleren - Gesprekken Zoeken @@ -56,7 +51,6 @@ Verwijderen en verlaten Verborgen naam Kies een gesprek - Verzendlijst Nieuwe verzendlijst @@ -64,7 +58,6 @@ Je hebt een verzendlijst gemaakt Ontvanger toevoegen Verwijder van verzendlijst - Kies een bestand Vrij: %1$s van %2$s @@ -78,7 +71,6 @@ Externe opslag Systeemmap SD-kaart - onzichtbaar aan het typen… @@ -119,7 +111,6 @@ Opslaan in Downloads Vertaling toepassen Bestandstype niet ondersteund - Geheime chat aangevraagd Geheime chat gestart @@ -161,7 +152,6 @@ %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 %1$s heeft zijn/haar profielfoto gewijzigd Antwoord - Kies een contact Nog geen contacten @@ -174,14 +164,12 @@ gezien gezien Vrienden uitnodigen - Bericht verzenden naar… Groepsnaam... Groepsnaam ALLE CONTACTEN %1$d/%2$d deelnemers - GROEPSNAAM INSTELLEN Gedeelde media @@ -192,7 +180,6 @@ Groep verwijderen en verlaten Meldingen Verwijderen uit groep - Delen Toevoegen @@ -219,8 +206,7 @@ 1u 1d 1w - Dit is een weergave van de encryptiesleutel voor deze geheime chat met ]]>%1$s]]>.\n\nAls deze afbeelding er bij ]]>%2$s]]> hetzelfde uitziet, is jullie gesprek 200%% beveiligd.\n\nLees meer op telegram.org. - + Dit is een weergave van de encryptiesleutel voor deze geheime chat met ]]>%1$s]]>.
]]>Als deze afbeelding er bij ]]>%2$s]]> hetzelfde uitziet, is jullie gesprek 200%% beveiligd.
]]>Lees meer op telegram.org.
Alle meldingsinstellingen herstellen Tekstgrootte berichten @@ -259,7 +245,7 @@ Contact lid van Telegram PEBBLE Taal - Houd er rekening mee dat de ondersteuning van Telegram door vrijwilligers wordt gedaan. We doen ons best om zo snel mogelijk te antwoorden, maar het kan even even duren.\n\nBekijk ook de veelgestelde vragen]]>: hier staan de antwoorden op de meeste vragen en belangrijke tips voor het oplossen van problemen]]>. + De ondersteuning van Telegram wordt gedaan door vrijwilligers.]]>We doen ons best om zo snel mogelijk te antwoorden.
]]>Bekijk ook de veelgestelde vragen]]>. Hier staan de antwoorden op de meeste vragen en belangrijke tips voor het oplossen van problemen]]>.
Vraag een vrijwilliger Veelgestelde vragen https://telegram.org/faq @@ -290,11 +276,10 @@ Bij Wi-Fi-verbinding Bij roaming Geen media - + Opslaan in galerij Nog geen media gedeeld Downloaden annuleren - Mijn locatie Kaart @@ -304,7 +289,6 @@ km hiervandaan Locatie verzenden Locatie delen - Alle media weergeven Opslaan in galerij @@ -312,14 +296,12 @@ Galerij Alle foto\'s Nog geen foto\'s - Video bewerken Originele video Bewerkte video Video versturen... Video comprimeren - Volgende Vorige @@ -340,7 +322,6 @@ Foto openen Instellen OK - un1 heeft un2 verwijderd un1 heeft de groep verlaten @@ -368,7 +349,6 @@ Jij Je hebt een schermafbeelding gemaakt! un1 maakte een schermafbeeling! - Ongeldig telefoonnummer Code verlopen. Log opnieuw in. @@ -397,7 +377,6 @@ Weet je zeker dat je deze contactpersoon wilt verwijderen? Weet je zeker dat je een geheime chat wilt starten? doorsturen via mijn eigen naam - Telegram Snel @@ -406,15 +385,14 @@ Krachtig In de cloud Privé - \'s Werelds snelste]]> berichtendienst.\nHet is veilig]]> en gratis]]>. - Telegram]]> bezorgt berichten\nsneller dan elke andere applicatie. - Telegram]]> is altijd gratis. \nGeen advertenties.\nGeen abonnementskosten. - Telegram]]> beveiligt je berichten\ntegen aanvallen van hackers. - Telegram]]> beperkt je niet\nin de grootte van je media of gesprekken. - Telegram]]> biedt toegang tot je berichten\nvanaf meerdere apparaten. - Telegram]]> berichten zijn sterk versleuteld\nen kunnen zichzelf vernietigen. + \'s Werelds snelste]]> berichtendienst.]]>Het is gratis]]> en veilig]]>. + Telegram]]> bezorgt berichten sneller dan]]>elke andere applicatie. + Telegram]]> is altijd gratis. Geen advertenties.]]>Geen abonnementskosten. + Telegram]]> beveiligd je berichten]]>tegen aanvallen van hackers. + Telegram]]> beperkt je niet in de grootte van]]>je media of gesprekken. + Telegram]]> biedt toegang tot je berichten]]>vanaf meerdere apparaten. + Telegram]]> berichten zijn sterk versleuteld]]>en kunnen zichzelf vernietigen. Begin met chatten - geen deelnemers %1$d deelnemer @@ -446,7 +424,6 @@ van %1$d contactpersonen van %1$d contactpersonen van %1$d contactpersonen - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml index fa176ac01..52e2cc57d 100644 --- a/TMessagesProj/src/main/res/values-pt-rBR/strings.xml +++ b/TMessagesProj/src/main/res/values-pt-rBR/strings.xml @@ -4,17 +4,14 @@ Telegram - Português (Brasil) Portuguese (Brazil) pt_BR - Seu número Por favor confirme o código do seu país\ne digite o número do seu telefone. Escolha um país Código do país incorreto - Seu código Enviamos uma SMS com um código de ativação para o seu telefone @@ -23,7 +20,6 @@ Código Número incorreto? Não recebeu o código? - Seu nome Configure seu nome e sobrenome @@ -31,7 +27,6 @@ Nome (obrigatório) Sobrenome (opcional) Cancelar registro - Conversas Busca @@ -56,7 +51,6 @@ Apagar e sair Nome oculto Selecione uma Conversa - Lista de Broadcast Nova Lista de Broadcast @@ -64,7 +58,6 @@ Você criou uma lista de broadcast Adicionar destinatário Remover da lista de broadcast - Selecione um Arquivo Disponível %1$s de %2$s @@ -78,7 +71,6 @@ Armazenamento Externo Administrador do Sistema Cartão SD - invisível escrevendo... @@ -119,7 +111,6 @@ Salvar em downloads Aplicar arquivo de localização Anexo não suportado - Conversa secreta solicitada Conversa secreta iniciada @@ -161,7 +152,6 @@ %1$s,\nNós detectamos um login na sua conta de um novo dispositivo %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\nSe não foi você, você pode ir em Configurações - Terminar todas as sessões.\n\nAtenciosamente,\nTime do Telegram %1$s atualizou a foto do perfil Responder - Selecionar Contato Ainda não há contatos @@ -171,17 +161,15 @@ às online offline - visto por último - visto por último + visto + visto Convidar Amigos - Enviar mensagem para... Digite o nome do grupo Nome do grupo TODOS OS CONTATOS %1$d/%2$d membros - DIGITE O NOME DO GRUPO Mídia compartilhada @@ -192,7 +180,6 @@ Apagar e sair do grupo Notificações Remover do grupo - Compartilhar Adicionar @@ -219,8 +206,7 @@ 1h 1d 1 sem. - Esta imagem é uma visualização da chave criptográfica para esta conversa secreta com ]]>%1$s.]]>.
]]>Se esta imagem aparecer da mesma forma no telefone de ]]>%2$s\'s]]>, sua conversa é 200%% segura.
]]>Saiba mais em telegram.org
- + Esta imagem é uma visualização da chave criptográfica para esta conversa secreta com ]]>%1$s]]>.
]]>Se esta imagem aparecer da mesma forma no telefone de ]]>%2$s\'s]]>, sua conversa é 200%% segura.
]]>Saiba mais em telegram.org
Restaurar todas as configurações de notificação Tamanho do texto nas mensagens @@ -290,11 +276,10 @@ Quando conectado em Wi-Fi Quando em roaming Sem mídia - + Salvar na galeria Ainda não há mídia compartilhada Cancelar Download - Minha localização Mapa @@ -304,7 +289,6 @@ km de distância Enviar Localização Compartilhar Localização - Mostrar todas as mídias Salvar na galeria @@ -312,14 +296,12 @@ Galeria Todas as Fotos Ainda não há fotos - Editar Vídeo Vídeo Original Vídeo Editado - Sending video... - Compress video - + Enviando vídeo... + Compactar Vídeo Próximo Voltar @@ -340,7 +322,6 @@ Abrir foto Aplicar OK - un1 removeu un2 un1 saiu do grupo @@ -368,7 +349,6 @@ Você Você realizou uma captura da tela! un1 realizou uma captura da tela! - Número de telefone inválido O código expirou. Por favor, identifique-se novamente. @@ -397,7 +377,6 @@ Você tem certeza que deseja deletar este contato? Você tem certeza que deseja começar uma conversa secreta? encaminhar pelo meu nome - Telegram Rápido @@ -406,15 +385,14 @@ Poderoso Baseado na nuvem Privado - O Mais rápido]]> aplicativo de mensagens\ndo mundo. É grátis]]> e seguro]]>. - Telegram]]> envia mensagens mais rapidamente do que qualquer outro aplicativo - Telegram]]> será gratuito para sempre. Sem propagandas. Sem mensalidades - Telegram]]> mantém suas mensagens seguras contra ataques de hackers - Telegram]]> não tem limites para o tamanho de suas mídias e conversas - Telegram]]> permite que você acesse suas mensagens a partir de vários dispositivos - As mensagens do Telegram]]> são fortemente criptografadase podem se autodestruir + O mais rápido]]> aplicativo de mensagem do]]>mundo. É gratuito]]> e seguro]]>. + Telegram]]> envia mensagens mais rápido que]]>qualquer outro aplicativo. + Telegram]]> é grátis para sempre. ]]>Sem propagandas. Sem taxas. + Telegram]]> mantém suas mensagens seguras]]>contra ataques de hackers. + Telegram]]> não possui limites no tamanho]]>de seus arquivos e conversas. + Telegram]]> permite você acessar suas]]> mensagens de múltiplos dispositivos. + Telegram]]> possui mensagens fortemente]]>encriptadas e podem se auto-destruir. Comece a conversar - sem membros %1$d membro @@ -446,7 +424,6 @@ de %1$d contatos de %1$d contatos de %1$d contatos - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values-pt-rPT/strings.xml b/TMessagesProj/src/main/res/values-pt-rPT/strings.xml index 8f4ff0c4d..6c6ffea9d 100644 --- a/TMessagesProj/src/main/res/values-pt-rPT/strings.xml +++ b/TMessagesProj/src/main/res/values-pt-rPT/strings.xml @@ -4,325 +4,307 @@ Telegram - Português (Portugal) Portuguese (Portugal) pt_PT - - O seu telefone - Confirme o código do seu país\ne introduza o seu número de telefone. + Seu número + Por favor confirme o código do seu país\ne digite o número do seu telefone. Escolha um país - Código de país incorreto - + Código do país incorreto - O seu código - Acabamos de enviar ao seu telefone uma SMS com um código de ativação - Vamos ligar para você em - A ligar... + Seu código + Enviamos uma SMS com um código de ativação para o seu telefone + Vamos te ligar em + Estamos te ligando... Código Número incorreto? - Didn\'t get the code? - + Não recebeu o código? - O seu nome - Indique o seu nome e apelidos + Seu nome + Configure seu nome e sobrenome Nome (obrigatório) - Apelidos (opcional) - Cancelar o registo - + Sobrenome (opcional) + Cancelar registro - Chats - Pesquisar + Conversas + Busca Novas mensagens - Definições - Contactos - Novo grupo + Configurações + Contatos + Novo Grupo ontem - Sem resultados - Ainda não há chats... - Comece a enviar mensagens premindo\no botão Novas mensagens do canto superior direito\nou vá para a secção de Contactos. - À espera da rede... - A conectar... - A atualizar... - Novo chat secreto - À espera de que %s se conecte... - Chat secreto cancelado - A trocar chaves de encriptação... - %s entrou no seu chat secreto. - Acaba de entrar no chat secreto. + Nenhum resultado + Ainda não há conversas... + Comece a conversar pressionando o\nbotão \'Nova Mensagem\' no canto superior direito\nou vá para a seção \'Contatos\'. + Aguardando rede... + Conectando... + Atualizando... + Nova Conversa Secreta + Esperando %s se conectar... + Conversa secreta cancelada + Trocando chaves de criptografia... + %s entrou na conversa secreta + Você entrou na conversa secreta Limpar histórico - Eliminar e sair + Apagar e sair Nome oculto - Selecionar chat - + Selecione uma Conversa - Broadcast List - New Broadcast List - Enter list name - You created a broadcast list - Add Recipient - Remove from broadcast list - + Lista de Broadcast + Nova Lista de Broadcast + Digite o nome da lista + Você criou uma lista de broadcast + Adicionar destinatário + Remover da lista de broadcast - Selecionar ficheiro - %1$s de %2$s livres + Selecione um Arquivo + Disponível %1$s de %2$s Erro desconhecido Erro de acesso - Ainda não há ficheiros... - O tamanho do ficheiro não pode ser maior de %1$s - Armazenamento sem montar + Ainda não há arquivos + Tamanho do arquivo não deve ser maior que %1$s + Armazenamento não está montado Transferência USB ativa - Armazenamento interno - Armazenamento externo - Raiz do sistema + Armazenamento Interno + Armazenamento Externo + Administrador do Sistema Cartão SD - invisível - a escrever... + escrevendo... Anexar - está a escrever... - estão a escrever... - Tem alguma pergunta\nacerca do Telegram? - Tirar uma foto + está escrevendo... + estão escrevendo... + Tem alguma dúvida\nsobre o Telegram? + Tirar foto Galeria Localização Vídeo Documento - Ainda não há mensagens... - Ver foto - Ver localização - Reproduzir vídeo - Mensagem reencaminhada + Ainda não há mensagens aqui... + Ver Foto + Ver Localização + Tocar Vídeo + Mensagem encaminhada De - Não há recentes + Nada recente Mensagem Escrever mensagem - Transferir + Baixar %d selecionado - PARTILHAR A MINHA INFORMAÇÃO DE CONTACTO - ADICIONAR AOS CONTACTOS - %s convidou-o a um chat secreto. - Convidou %s para um chat secreto. - Os chats secretos: - Utilizam encriptação ponto a ponto - Não deixam rasto nos nossos servidores - Têm temporizador para a autodestruição das mensagens - Não permitem o reencaminhamento - Foi removido do grupo - Deixou este grupo - Eliminar este grupo - Eliminar este chat - DESLIZAR PARA CANCELAR - Guardar nas transferências - Aplicar o ficheiro de localização - Unsupported attachment - + COMPARTILHAR MINHAS INFORMAÇÕES DE CONTATO + ADICIONAR AOS CONTATOS + %s convidou você para uma conversa secreta. + Você convidou %s para uma conversa secreta. + Diferenças dos Chats Secretos: + Criptografia de ponta-a-ponta + Sem rastros nos servidores + Timer de autodestruição + Encaminhamento desativado + Você foi removido deste grupo + Você saiu deste grupo + Apagar este grupo + Apagar esta conversa + DESLIZE PARA CANCELAR + Salvar em downloads + Aplicar arquivo de localização + Anexo não suportado - Chat secreto pedido - Chat secreto iniciado - %1$s ativou a autodestruição em %2$s - Ativou a autodestruição em %1$s - %1$s desativou a autodestruição - Desativou a autodestruição + Conversa secreta solicitada + Conversa secreta iniciada + %1$s estabeleceu o tempo de autodestruição para %2$s + Você estabeleceu o tempo de autodestruição para %1$s + %1$s desativou o temporizador de autodestruição + Você desativou o temporizador de autodestruição 2 segundos 5 segundos 1 minuto 1 hora 1 dia 1 semana - Tem uma nova mensagem + Você tem uma nova mensagem %1$s: %2$s - %1$s enviou uma mensagem - %1$s enviou uma foto - %1$s enviou um vídeo - %1$s partilhou um contacto + %1$s te enviou uma mensagem + %1$s te enviou uma foto + %1$s te enviou um vídeo + %1$s compartilhou um contato com você %1$s enviou uma localização - %1$s enviou um documento - %1$s enviou um áudio + %1$s te enviou um documento + %1$s te enviou um áudio %1$s @ %2$s: %3$s %1$s enviou uma mensagem para o grupo %2$s %1$s enviou uma foto para o grupo %2$s %1$s enviou um vídeo para o grupo %2$s - %1$s partilhou um contacto no grupo %2$s + %1$s compartilhou um contato para o grupo %2$s %1$s enviou uma localização para o grupo %2$s %1$s enviou um documento para o grupo %2$s - %1$senviou um áudio para o grupo %2$s - %1$s convidou-o ao grupo %2$s - %1$s renomeou o grupo %2$s - %1$s alterou a foto do grupo %2$s - %1$s convidou %3$s ao grupo %2$s + %1$s enviou um áudio para o grupo %2$s + %1$s convidou você para o grupo %2$s + %1$s editou o nome do grupo %2$s + %1$s editou a foto do grupo %2$s + %1$s convidou %3$s para o grupo %2$s %1$s removeu %3$s do grupo %2$s - %1$s removeu-o do grupo %2$s - %1$s deixou o grupo %2$s - %1$s aderiu ao Telegram! - %1$s,\nDetetámos um acesso à sua conta a partir de um novo dispositivo o dia %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\n\nSe não foi você, pode ir a Definições - Terminar todas as sessões.\n\nObrigado,\nA equipa do Telegram - %1$s atualizou a sua foto de perfil - Reply - + %1$s removeu você do grupo %2$s + %1$s saiu do grupo %2$s + %1$s entrou para o Telegram! + %1$s,\nNós detectamos um login na sua conta de um novo dispositivo %2$s\n\nDispositivo: %3$s\nLocalização: %4$s\nSe não foi você, você pode ir em Configurações - Terminar todas as sessões.\n\nAtenciosamente,\nTime do Telegram + %1$s atualizou a foto do perfil + Responder - Selecionar contacto - Ainda não há contactos + Selecionar Contato + Ainda não há contatos Ei, vamos mudar para o Telegram: http://telegram.org/dl2 hoje às ontem às às - conectado - desconectado - última visualização - última visualização - Convidar amigos - + online + offline + visto + visto + Convidar Amigos Enviar mensagem para... - Introduza o nome do grupo + Digite o nome do grupo Nome do grupo - TODOS OS CONTACTOS - %1$d/%2$d members - + TODOS OS CONTATOS + %1$d/%2$d membros - INTRODUZA O NOME DO GRUPO - Multimédia partilhado - Informação do grupo - MULTIMÉDIA PARTILHADO - DEFINIÇÕES + DIGITE O NOME DO GRUPO + Mídia compartilhada + Informações do Grupo + MÍDIA COMPARTILHADA + CONFIGURAÇÕES Adicionar membro - Eliminar e sair do grupo + Apagar e sair do grupo Notificações Remover do grupo - - Partilhar + Compartilhar Adicionar Bloquear Editar - Eliminar + Apagar CASA - TELEMÓVEL + CELULAR TRABALHO OUTRO PRINCIPAL - Informação de contacto + Informações do Contato TELEFONE - Iniciar chat secreto + Iniciar Conversa Secreta Ocorreu um erro. - Não é possível criar um chat secreto com %1$s.\n\n%2$s está a utilizar uma versão anterior do Telegram e primeiro precisa atualizá-lo. - Chat secreto - Chave de encriptação - Autodestruição - Desligado + Não é possível criar uma conversa secreta com %1$s.\n\n%2$s está usando uma versão antiga do Telegram e precisa ser atualizada. + Conversa Secreta + Chave criptográfica + Tempo de autodestruição + Desativado 2s 5s 1m 1h 1d - 1sem - Esta imagem é uma visualização da chave de encriptação deste chat secreto com ]]>%1$s]]>.
]]>Se esta imagem for a mesma que a do telefone de ]]>%2$s]]>, o seu chat é 200%% seguro.
]]>Mais informação em telegram.org
- + 1 sem. + Esta imagem é uma visualização da chave criptográfica para esta conversa secreta com ]]>%1$s]]>.
]]>Se esta imagem aparecer da mesma forma no telefone de ]]>%2$s\'s]]>, sua conversa é 200%% segura.
]]>Saiba mais em telegram.org
- Repor todas as notificações ao valor predefinido - Tamanho do texto das mensagens + Restaurar todas as configurações de notificação + Tamanho do texto nas mensagens Fazer uma pergunta - Ativar animações + Permitir animações Desbloquear - Toque sem soltar num utilizador para desbloquear. - Ainda não há utilizadores bloqueados - O SEU NÚMERO DE TELEFONE + Toque e segure no usuário para desbloquear + Nenhum usuário bloqueado + SEU NÚMERO DE TELEFONE NOTIFICAÇÕES DE MENSAGENS Alerta - Pré-visualização da mensagem - NOTIFICAÇÕES DE GRUPO + Visualização de Mensagem + NOTIFICAÇÕES DO GRUPO Som - NOTIFICAÇÕES NA APLICAÇÃO - Sons na aplicação - Vibrar na aplicação + NOTIFICAÇÕES NO APLICATIVO + Sons no Aplicativo + Vibração no Aplicativo Vibrar - Pré-visualização na aplicação - REPOR - Repor todas as notificações - Desfazer as definições personalizadas de notificação para todos os contactos e grupos - Notificações e sons - Utilizadores bloqueados - Guardar fotos recebidas - Terminar sessão - O SEU NOME E APELIDOS + Visualização no Aplicativo + LIMPAR + Limpar todas as notificações + Desfazer todas as configurações de notificação para todos os seus contatos e grupos + Notificações e Sons + Usuários bloqueados + Salvar fotos recebidas + Sair + SEU NOME E SOBRENOME Sem som - Predefinido + Padrão SUPORTE - Fundo do chat + Papel de parede MENSAGENS - Enviar com Enter + Enviar usando \'Enter\' Terminar todas as outras sessões EVENTOS - Contactos que aderem ao Telegram + Contato entrou para o Telegram PEBBLE - Língua - Tenha em conta que o suporte do Telegram está realizado por voluntários. Tentaremos responder o mais rápido possível, mas pode demorar um bocado.
]]>Dê uma vista de olhos ao FAQ do Telegram]]>: ali encontrará respostas às perguntas mais habituais e dicas importantes para a resolução de problemas]]>.
+ Idioma + Por favor compreenda que o Suporte do Telegram é feito por voluntários. Tentamos responder o mais rápido possível, mas pode demorar um pouco.
]]>Por favor acesse o FAQ do Telegram]]>: temos respostas para algumas questões, assim como dicas importantes à resolução de problemas]]>.
Pergunte a um voluntário FAQ do Telegram https://telegram.org/faq - Eliminar localização? - Ficheiro de localização incorreto + Apagar localização? + Arquivo de localização incorreto Ativado Desativado - Serviço de notificações - Pode desativar o serviço de notificações caso o google play services seja suficiente para receber as suas notificações. No entanto, recomendamos deixá-lo ativado para manter a aplicação a se executar no segundo plano e receber notificações instantâneas. - Ordenar por - Importar contactos - Unicamente com WiFi - Nome - Apelidos - LED Color - Popup Notification - No popup - Only when screen "on" - Only when screen "off" - Always show popup - Badge Number - Short - Long - System default - Settings default - AUTOMATIC MEDIA DOWNLOAD - When using mobile data - When connected on Wi-Fi - When roaming - No media - + Serviço de Notificações + Se o serviço de notificação do Google Play for suficiente para você, você pode desativar o \"Serviço de Notificações\". Porém, recomendamos deixá-lo ativo para manter o aplicativo executando em segundo plano e receber notificações instantaneamente. + Ordenar Por + Importar Contatos + Apenas por WiFi + Primeiro nome + Sobrenome + Cor do LED + Notificações Pop-up + Sem pop-up + Somente com a tela ligada + Somente com a tela desligada + Sempre mostrar pop-up + Contador de medalhas + Curta + Longa + Padrão do sistema + Configurações padrão + DOWNLOAD AUTOMÁTICO DE MÍDIA + Ao usar dados móveis + Quando conectado em Wi-Fi + Quando em roaming + Sem mídia + Salvar na galeria - Ainda não há multimédia partilhado - Cancelar transferência - + Ainda não há mídia compartilhada + Cancelar Download - A minha localização + Minha localização Mapa Satélite Híbrido m de distância km de distância - Enviar localização - Partilhar localização - + Enviar Localização + Compartilhar Localização - Mostrar todo o multimédia - Guardar na galeria + Mostrar todas as mídias + Salvar na galeria %1$d de %2$d Galeria - Todas as fotos + Todas as Fotos Ainda não há fotos - - Edit Video - Original Video - Edited Video - Sending video... - Compress Video - + Editar Vídeo + Vídeo Original + Vídeo Editado + Enviando vídeo... + Compactar Vídeo - Seguinte - Anterior + Próximo + Voltar Concluído Abrir Cancelar @@ -331,126 +313,117 @@ Enviar Ligar Copiar - Eliminar - Reencaminhar - Repetir - Da câmara - Da galeria - Eliminar foto - Abrir foto - Definir + Apagar + Encaminhar + Tentar novamente + Câmera + Galeria + Apagar foto + Abrir foto + Aplicar OK - un1 removeu un2 - un1 deixou o grupo + un1 saiu do grupo un1 adicionou un2 - un1 removeu a foto do grupo - un1 alterou a foto do grupo - un1 renomeou o grupo para un2 + un1 removeu foto do grupo + un1 mudou a foto do grupo + un1 mudou o nome do grupo para un2 un1 criou o grupo - Removeu un2 - Deixou o grupo - Adicionou un2 - Removeu a foto do grupo - Alterou a foto do grupo - Renomeou o grupo para un2 - Criou o grupo - un1 removeu-o - un1 adicionou-o - A sua versão do Telegram não suporta este tipo de mensagem. Atualize a aplicação para visualizá-la: http://telegram.org/update + Você removeu un2 + Você saiu do grupo + Você adicionou un2 + Você removeu a foto do grupo + Você mudou a foto do grupo + Você mudou o nome do grupo para un2 + Você criou o grupo + un1 removeu você + un1 adicionou você + Esta mensagem não é suportada na sua versão do Telegram. Para visualiza-la atualize seu aplicativo em http://telegram.org/update Foto Vídeo Localização - Contacto + Contato Documento Áudio Você - Efetuou uma captura de ecrã - un1 efetuou uma captura de ecrã - + Você realizou uma captura da tela! + un1 realizou uma captura da tela! Número de telefone inválido - O código expirou. Inicie sessão novamente - Demasiadas tentativas. Volte tentar mais tarde + O código expirou. Por favor, identifique-se novamente. + Muitas tentativas. Por favor, tente novamente mais tarde. Código inválido Nome inválido - Apelido inválido - A carregar... - Não tem nenhum reprodutor de vídeo. Para continuar, instale algum - Please send an email to sms@telegram.org and explain your problem. - Não tem nenhuma aplicação que controle o tipo de MIME \'%1$s\'. Para continuar, instale alguma - Este utilizador ainda não tem o Telegram. Quer enviar um convite? - Tem a certeza? - Adicionar contacto? - Add %1$s to the group?\n\nNumber of last messages to forward: - Reencaminhar mensagens para %1$s? - Eliminar este chat? - Send messages to %1$s? - Are you sure you want to logout? - Are you sure you want to terminate all other sessions? - Are you sure you want to delete and leave group? - Are you sure you want to delete this chat? - Are you sure that you want to share your contact info? - Are you sure you want to block this contact? - Are you sure you want to unblock this contact? - Are you sure you want to delete this contact? - Are you sure you want to start secret chat? - forward from my name - + Sobrenome inválido + Carregando... + Você não possui um reprodutor de vídeo, instale um para continuar + Por favor, envie um email para sms@telegram.org e conte-nos sobre seu problema. + Você não possui um aplicativo que suporte o tipo de arquivo \'%1$s\', por favor instale um para continuar + Este usuário ainda não possui Telegram, deseja enviar um convite? + Você tem certeza? + Adicionar contato? + Adicionar %1$s para o grupo?\n\nNúmero de últimas mensagens para encaminhar: + Encaminhar mensagem para %1$s? + Apagar esta conversa? + Enviar mensagens para %1$s? + Você tem certeza que deseja sair? + Você tem certeza que deseja terminar todas as outras sessões? + Você tem certeza que deseja deletar e sair do grupo? + Você tem certeza que deseja deletar esta conversa? + Você tem certeza que deseja compartilhar suas informações de contato? + Você tem certeza que deseja bloquear este contato? + Você tem certeza que deseja desbloquear este contato? + Você tem certeza que deseja deletar este contato? + Você tem certeza que deseja começar uma conversa secreta? + encaminhar pelo meu nome Telegram Rápido - Grátis + Gratuito Seguro - Potente + Poderoso Baseado na nuvem Privado - Bem-vindo à era das mensagens rápidas e seguras - Telegram]]> entrega mensagens mais rápido do que]]>qualquer outra aplicação - Telegram]]> é grátis para sempre. Sem anúncios.]]>Sem taxas de subscrição - Telegram]]> mantém as suas mensagens a salvo]]>de ataques de hackers - Telegram]]> não tem limite de tamanho para]]>os seus chats e ficheiros multimédia - Telegram]]> permite aceder às mensagens]]>a partir de múltiplos dispositivos - As mensagens do Telegram]]> estão fortemente encriptadas]]>e podem ser autodestruídas + O mais rápido]]> aplicativo de mensagem do]]>mundo. É gratuito]]> e seguro]]>. + Telegram]]> envia mensagens mais rápido que]]>qualquer outro aplicativo. + Telegram]]> é grátis para sempre. ]]>Sem propagandas. Sem taxas. + Telegram]]> mantém suas mensagens seguras]]>contra ataques de hackers. + Telegram]]> não possui limites no tamanho]]>de seus arquivos e conversas. + Telegram]]> permite você acessar suas]]> mensagens de múltiplos dispositivos. + Telegram]]> possui mensagens fortemente]]>encriptadas e podem se auto-destruir. Comece a conversar - - no members - %1$d member - %1$d members - %1$d members - %1$d members - %1$d members - - and %1$d more people are typing - and %1$d more people are typing - and %1$d more people are typing - and %1$d more people are typing - and %1$d more people are typing - and %1$d more people are typing - - no new messages - %1$d new message - %1$d new messages - %1$d new messages - %1$d new messages - %1$d new messages - - no messages - %1$d message - %1$d messages - %1$d messages - %1$d messages - %1$d messages - - from no contacts - from %1$d contact - from %1$d contacts - from %1$d contacts - from %1$d contacts - from %1$d contacts - + sem membros + %1$d membro + %1$d membros + %1$d membros + %1$d membros + %1$d membros + e mais %1$d pessoas estão escrevendo + e mais %1$d pessoa está escrevendo + e mais %1$d pessoas estão escrevendo + e mais %1$d pessoas estão escrevendo + e mais %1$d pessoas estão escrevendo + e mais %1$d pessoas estão escrevendo + sem novas mensagens + %1$d nova mensagem + %1$d novas mensagens + %1$d novas mensagens + %1$d novas mensagens + %1$d novas mensagens + sem mensagens + %1$d mensagem + %1$d mensagens + %1$d mensagens + %1$d mensagens + %1$d mensagens + de nenhum contato + de %1$d contato + de %1$d contatos + de %1$d contatos + de %1$d contatos + de %1$d contatos CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values/strings.xml b/TMessagesProj/src/main/res/values/strings.xml index 1fa36d948..558965227 100644 --- a/TMessagesProj/src/main/res/values/strings.xml +++ b/TMessagesProj/src/main/res/values/strings.xml @@ -4,17 +4,14 @@ Telegram - English English en - Your phone Please confirm your country code\nand enter your phone number. Choose a country Wrong country code - Your code We\'ve sent an SMS with an activation code to your phone @@ -23,7 +20,6 @@ Code Wrong number? Didn\'t get the code? - Your name Set up your first and last name @@ -31,7 +27,6 @@ First name (required) Last name (optional) Cancel registration - Chats Search @@ -56,7 +51,6 @@ Delete and exit Hidden Name Select Chat - Broadcast List New Broadcast List @@ -64,7 +58,6 @@ You created a broadcast list Add Recipient Remove from broadcast list - Select File Free %1$s of %2$s @@ -78,7 +71,6 @@ External Storage System Root SD Card - invisible typing... @@ -119,7 +111,6 @@ Save to downloads Apply localization file Unsupported attachment - Secret chat requested Secret chat started @@ -161,7 +152,6 @@ %1$s,\nWe detected a login into your account from a new device on %2$s\n\nDevice: %3$s\nLocation: %4$s\n\nIf this wasn\'t you, you can go to Settings - Terminate all sessions.\n\nSincerely,\nThe Telegram Team %1$s updated profile photo Reply - Select Contact No contacts yet @@ -174,14 +164,12 @@ last seen last seen Invite Friends - Send message to... Enter group name Group name ALL CONTACTS %1$d/%2$d members - ENTER GROUP NAME Shared Media @@ -192,7 +180,6 @@ Delete and leave group Notifications Remove from group - Share Add @@ -220,7 +207,6 @@ 1d 1w This image is a visualization of the encryption key for this secret chat with ]]>%1$s]]>.
]]>If this image looks the same on ]]>%2$s\'s]]> phone, your chat is 200%% secure.
]]>Learn more at telegram.org
- Reset all notification settings to default Messages Text Size @@ -290,11 +276,10 @@ When connected on Wi-Fi When roaming No media - + Save to gallery No shared media yet Cancel Download - My location Map @@ -304,7 +289,6 @@ km away Send Location Share Location - Show all media Save to gallery @@ -312,14 +296,12 @@ Gallery All Photos No photos yet - Edit Video Original Video Edited Video Sending video... Compress Video - Next Back @@ -340,7 +322,6 @@ Open photo Set OK - un1 removed un2 un1 left group @@ -368,7 +349,6 @@ You You took a screenshot! un1 took a screenshot! - Invalid phone number Code expired, please login again @@ -397,7 +377,6 @@ Are you sure you want to delete this contact? Are you sure you want to start a secret chat? forward from my name - Telegram Fast @@ -406,15 +385,14 @@ Powerful Cloud-Based Private - The world\'s fastest]]> messaging app.\nIt is free]]> and secure]]>. - Telegram]]> delivers messages faster than]]>any other application - Telegram]]> is free forever. No ads.]]>No subscription fees - Telegram]]> keeps your messages safe]]>from hacker attacks - Telegram]]> has no limits on the size of]]>your media and chats - Telegram]]> lets you access your messages]]>from multiple devices - Telegram]]> messages are heavily encrypted]]>and can self-destruct + The world\'s fastest]]> messaging app.]]>It is free]]> and secure]]>. + Telegram]]> delivers messages faster than]]>any other application. + Telegram]]> is free forever. No ads.]]>No subscription fees. + Telegram]]> keeps your messages safe]]>from hacker attacks. + Telegram]]> has no limits on the size of]]>your media and chats. + Telegram]]> lets you access your messages]]>from multiple devices. + Telegram]]> messages are heavily encrypted]]>and can self-destruct. Start Messaging - no members %1$d member @@ -446,7 +424,6 @@ from %1$d contacts from %1$d contacts from %1$d contacts - CACHE_TAG
\ No newline at end of file diff --git a/TMessagesProj/src/main/res/values/styles.xml b/TMessagesProj/src/main/res/values/styles.xml index 247018e30..a6dcf0b96 100644 --- a/TMessagesProj/src/main/res/values/styles.xml +++ b/TMessagesProj/src/main/res/values/styles.xml @@ -21,7 +21,7 @@ @style/Theme.TMessages.ListView @drawable/list_selector @style/Theme.TMessages.EditText - @drawable/bar_selector + @drawable/bar_selector_style