From 87503d9493b5af212dcb29965bc0d84e37d20f07 Mon Sep 17 00:00:00 2001 From: awu Date: Mon, 3 May 2021 10:12:58 +1200 Subject: [PATCH 01/17] Clear Seatch History Of Chat List Clear searchQuery and initialize searchView when the fragment onDestroy() --- .../android/app/lollipop/ManagerActivityLollipop.java | 1 + .../app/lollipop/megachat/RecentChatsFragmentLollipop.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/mega/privacy/android/app/lollipop/ManagerActivityLollipop.java b/app/src/main/java/mega/privacy/android/app/lollipop/ManagerActivityLollipop.java index cf9444e3714..f120e7a3088 100644 --- a/app/src/main/java/mega/privacy/android/app/lollipop/ManagerActivityLollipop.java +++ b/app/src/main/java/mega/privacy/android/app/lollipop/ManagerActivityLollipop.java @@ -14444,6 +14444,7 @@ public int getSearchSharedTab() { public void setSearchQuery(String searchQuery) { this.searchQuery = searchQuery; + this.searchView.setQuery(searchQuery, false); } public long getParentHandleIncoming() { diff --git a/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java b/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java index c2641ed3b4b..0266e4815d7 100644 --- a/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java +++ b/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java @@ -1440,6 +1440,11 @@ public void onDestroy() { if(adapter != null) { adapter.dismissDialog(); } + if (context instanceof ManagerActivityLollipop) { + if (((ManagerActivityLollipop) context).getSearchQuery() != null && !((ManagerActivityLollipop) context).getSearchQuery().isEmpty()) { + ((ManagerActivityLollipop) context).setSearchQuery(""); + } + } } @Override From 180c899b36286f56f65eecd9004cb4d6eb7393ae Mon Sep 17 00:00:00 2001 From: Yenel Date: Tue, 4 May 2021 12:56:55 +0200 Subject: [PATCH 02/17] =?UTF-8?q?AND-12837=20Rename=20file=20dialog=20impr?= =?UTF-8?q?ovements:=20-=20Make=20MegaNodeDialogUtil=20an=20object=20-=20U?= =?UTF-8?q?se=20only=20the=20word=20=E2=80=9CRename=E2=80=9D=20as=20the=20?= =?UTF-8?q?dialog=E2=80=99s=20title,=20instead=20of=20adding=20also=20the?= =?UTF-8?q?=20file=20name=20to=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/mediaplayer/MediaPlayerActivity.kt | 4 +- .../textFileEditor/TextFileEditorActivity.kt | 4 +- .../android/app/utils/MegaNodeDialogUtil.kt | 865 +++++++++--------- 3 files changed, 435 insertions(+), 438 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/mediaplayer/MediaPlayerActivity.kt b/app/src/main/java/mega/privacy/android/app/mediaplayer/MediaPlayerActivity.kt index 0d88d76fa4b..dfbe320a177 100644 --- a/app/src/main/java/mega/privacy/android/app/mediaplayer/MediaPlayerActivity.kt +++ b/app/src/main/java/mega/privacy/android/app/mediaplayer/MediaPlayerActivity.kt @@ -53,8 +53,8 @@ import mega.privacy.android.app.utils.Constants.* import mega.privacy.android.app.utils.FileUtil.shareUri import mega.privacy.android.app.utils.LogUtil.logDebug import mega.privacy.android.app.utils.LogUtil.logError -import mega.privacy.android.app.utils.MegaNodeDialogUtil.Companion.moveToRubbishOrRemove -import mega.privacy.android.app.utils.MegaNodeDialogUtil.Companion.showRenameNodeDialog +import mega.privacy.android.app.utils.MegaNodeDialogUtil.moveToRubbishOrRemove +import mega.privacy.android.app.utils.MegaNodeDialogUtil.showRenameNodeDialog import mega.privacy.android.app.utils.MegaNodeUtil.handleSelectFolderToImportResult import mega.privacy.android.app.utils.MegaNodeUtil.selectFolderToCopy import mega.privacy.android.app.utils.MegaNodeUtil.selectFolderToMove diff --git a/app/src/main/java/mega/privacy/android/app/textFileEditor/TextFileEditorActivity.kt b/app/src/main/java/mega/privacy/android/app/textFileEditor/TextFileEditorActivity.kt index 6ecc08b0406..67d03e34226 100644 --- a/app/src/main/java/mega/privacy/android/app/textFileEditor/TextFileEditorActivity.kt +++ b/app/src/main/java/mega/privacy/android/app/textFileEditor/TextFileEditorActivity.kt @@ -32,8 +32,8 @@ import mega.privacy.android.app.textFileEditor.TextFileEditorViewModel.Companion import mega.privacy.android.app.utils.AlertsAndWarnings.Companion.showSaveToDeviceConfirmDialog import mega.privacy.android.app.utils.ChatUtil.removeAttachmentMessage import mega.privacy.android.app.utils.Constants.* -import mega.privacy.android.app.utils.MegaNodeDialogUtil.Companion.moveToRubbishOrRemove -import mega.privacy.android.app.utils.MegaNodeDialogUtil.Companion.showRenameNodeDialog +import mega.privacy.android.app.utils.MegaNodeDialogUtil.moveToRubbishOrRemove +import mega.privacy.android.app.utils.MegaNodeDialogUtil.showRenameNodeDialog import mega.privacy.android.app.utils.MegaNodeUtil.selectFolderToCopy import mega.privacy.android.app.utils.MegaNodeUtil.selectFolderToMove import mega.privacy.android.app.utils.MenuUtils.toggleAllMenuItemsVisibility diff --git a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt index d93c011c0b9..23758ddad58 100644 --- a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt +++ b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt @@ -39,493 +39,490 @@ import mega.privacy.android.app.utils.TextUtil.isTextEmpty import mega.privacy.android.app.utils.Util.* import nz.mega.sdk.MegaNode -class MegaNodeDialogUtil { - - companion object { - private const val TYPE_RENAME = 0 - private const val TYPE_NEW_FOLDER = 1 - private const val TYPE_NEW_FILE = 2 - private const val TYPE_NEW_URL_FILE = 3 - private const val TYPE_NEW_TXT_FILE = 4 - const val IS_NEW_TEXT_FILE_SHOWN = "IS_NEW_TEXT_FILE_SHOWN" - const val NEW_TEXT_FILE_TEXT = "NEW_TEXT_FILE_TEXT" - - /** - * Creates and shows a TYPE_RENAME dialog to rename a node. - * - * @param context Current context. - * @param node A valid node. - * @param snackbarShower interface to show snackbar. - * @param actionNodeCallback Callback to finish the rename action if needed, null otherwise. - * @return The rename dialog. - */ - @JvmStatic - fun showRenameNodeDialog( - context: Context, - node: MegaNode, - snackbarShower: SnackbarShower?, - actionNodeCallback: ActionNodeCallback? - ): AlertDialog { - val renameDialogBuilder = MaterialAlertDialogBuilder(context) - - renameDialogBuilder - .setTitle(getString(R.string.rename_dialog_title, node.name)) - .setPositiveButton(R.string.context_rename, null) - .setNegativeButton(R.string.general_cancel, null) - - return setFinalValuesAndShowDialog( - context, node, actionNodeCallback, snackbarShower, - null, null, false, renameDialogBuilder, TYPE_RENAME - ) - } - - /** - * Creates and shows a TYPE_NEW_FOLDER dialog to create a new folder. - * - * @param context Current context. - * @param actionNodeCallback Callback to finish the create folder action if needed, null otherwise. - * @return The create new folder dialog. - */ - @JvmStatic - fun showNewFolderDialog( - context: Context, - actionNodeCallback: ActionNodeCallback? - ): AlertDialog { - val newFolderDialogBuilder = MaterialAlertDialogBuilder(context) - - newFolderDialogBuilder - .setTitle(R.string.menu_new_folder) - .setPositiveButton(R.string.general_create, null) - .setNegativeButton(R.string.general_cancel, null) - - return setFinalValuesAndShowDialog( - context, null, actionNodeCallback, null, - null, null, false, newFolderDialogBuilder, TYPE_NEW_FOLDER - ) - } +object MegaNodeDialogUtil { + private const val TYPE_RENAME = 0 + private const val TYPE_NEW_FOLDER = 1 + private const val TYPE_NEW_FILE = 2 + private const val TYPE_NEW_URL_FILE = 3 + private const val TYPE_NEW_TXT_FILE = 4 + const val IS_NEW_TEXT_FILE_SHOWN = "IS_NEW_TEXT_FILE_SHOWN" + const val NEW_TEXT_FILE_TEXT = "NEW_TEXT_FILE_TEXT" + + /** + * Creates and shows a TYPE_RENAME dialog to rename a node. + * + * @param context Current context. + * @param node A valid node. + * @param snackbarShower interface to show snackbar. + * @param actionNodeCallback Callback to finish the rename action if needed, null otherwise. + * @return The rename dialog. + */ + @JvmStatic + fun showRenameNodeDialog( + context: Context, + node: MegaNode, + snackbarShower: SnackbarShower?, + actionNodeCallback: ActionNodeCallback? + ): AlertDialog { + val renameDialogBuilder = MaterialAlertDialogBuilder(context) + + renameDialogBuilder + .setTitle(getString(R.string.context_rename)) + .setPositiveButton(R.string.context_rename, null) + .setNegativeButton(R.string.general_cancel, null) + + return setFinalValuesAndShowDialog( + context, node, actionNodeCallback, snackbarShower, + null, null, false, renameDialogBuilder, TYPE_RENAME + ) + } - /** - * Creates and shows a TYPE_NEW_FILE dialog to create a new file. - * - * @param context Current context. - * @param parent A valid node. Specifically the parent in which the folder will be created. - * @param data Valid data. Specifically the content of the new file. - * @return The create new file dialog. - */ - @JvmStatic - fun showNewFileDialog(context: Context, parent: MegaNode, data: String): AlertDialog { - val newFileDialogBuilder = MaterialAlertDialogBuilder(context) - - newFileDialogBuilder - .setTitle(R.string.context_new_file_name) - .setPositiveButton(R.string.general_ok, null) - .setNegativeButton(R.string.general_cancel, null) - - return setFinalValuesAndShowDialog( - context, parent, null, null, - data, null, false, newFileDialogBuilder, TYPE_NEW_FILE - ) - } + /** + * Creates and shows a TYPE_NEW_FOLDER dialog to create a new folder. + * + * @param context Current context. + * @param actionNodeCallback Callback to finish the create folder action if needed, null otherwise. + * @return The create new folder dialog. + */ + @JvmStatic + fun showNewFolderDialog( + context: Context, + actionNodeCallback: ActionNodeCallback? + ): AlertDialog { + val newFolderDialogBuilder = MaterialAlertDialogBuilder(context) + + newFolderDialogBuilder + .setTitle(R.string.menu_new_folder) + .setPositiveButton(R.string.general_create, null) + .setNegativeButton(R.string.general_cancel, null) + + return setFinalValuesAndShowDialog( + context, null, actionNodeCallback, null, + null, null, false, newFolderDialogBuilder, TYPE_NEW_FOLDER + ) + } - /** - * Creates and shows a TYPE_NEW_URL_FILE dialog to create a new URL file. - * - * @param context Current context. - * @param parent A valid node. Specifically the parent in which the folder will be created. - * @param data Valid data. Specifically the content of the new URL file. - * @param defaultURLName Default name of the URL if has, null otherwise. - * @return The create new URL file dialog. - */ - @JvmStatic - fun showNewURLFileDialog( - context: Context, - parent: MegaNode, - data: String, - defaultURLName: String? - ): AlertDialog { - val newURLFileDialogBuilder = MaterialAlertDialogBuilder(context) - - newURLFileDialogBuilder - .setTitle(R.string.dialog_title_new_link) - .setPositiveButton(R.string.general_ok, null) - .setNegativeButton(R.string.general_cancel, null) - - return setFinalValuesAndShowDialog( - context, parent, null, null, - data, defaultURLName, false, newURLFileDialogBuilder, TYPE_NEW_URL_FILE - ) - } + /** + * Creates and shows a TYPE_NEW_FILE dialog to create a new file. + * + * @param context Current context. + * @param parent A valid node. Specifically the parent in which the folder will be created. + * @param data Valid data. Specifically the content of the new file. + * @return The create new file dialog. + */ + @JvmStatic + fun showNewFileDialog(context: Context, parent: MegaNode, data: String): AlertDialog { + val newFileDialogBuilder = MaterialAlertDialogBuilder(context) + + newFileDialogBuilder + .setTitle(R.string.context_new_file_name) + .setPositiveButton(R.string.general_ok, null) + .setNegativeButton(R.string.general_cancel, null) + + return setFinalValuesAndShowDialog( + context, parent, null, null, + data, null, false, newFileDialogBuilder, TYPE_NEW_FILE + ) + } - /** - * Creates and shows a TYPE_NEW_TXT_FILE dialog to create a new text file. - * - * @param context Current context. - * @param parent A valid node. Specifically the parent in which the file will be created. - * @param typedName The previous typed text. - * @param fromHome True if the text file will be created from Homepage, false otherwise. - * @return The create new text file dialog. - */ - @JvmStatic - fun showNewTxtFileDialog( - context: Context, - parent: MegaNode, - typedName: String?, - fromHome: Boolean - ): AlertDialog { - val newTxtFileDialogBuilder = MaterialAlertDialogBuilder(context) - - newTxtFileDialogBuilder - .setTitle(R.string.dialog_title_new_text_file) - .setPositiveButton(R.string.general_create, null) - .setNegativeButton(R.string.general_cancel, null) - - val dialog = setFinalValuesAndShowDialog( - context, - parent, - null, - null, - null, - null, - fromHome, - newTxtFileDialogBuilder, - TYPE_NEW_TXT_FILE - ) - - if (typedName != null && typedName != TXT_EXTENSION) { - dialog.findViewById(R.id.type_text)?.setText(typedName) - } + /** + * Creates and shows a TYPE_NEW_URL_FILE dialog to create a new URL file. + * + * @param context Current context. + * @param parent A valid node. Specifically the parent in which the folder will be created. + * @param data Valid data. Specifically the content of the new URL file. + * @param defaultURLName Default name of the URL if has, null otherwise. + * @return The create new URL file dialog. + */ + @JvmStatic + fun showNewURLFileDialog( + context: Context, + parent: MegaNode, + data: String, + defaultURLName: String? + ): AlertDialog { + val newURLFileDialogBuilder = MaterialAlertDialogBuilder(context) + + newURLFileDialogBuilder + .setTitle(R.string.dialog_title_new_link) + .setPositiveButton(R.string.general_ok, null) + .setNegativeButton(R.string.general_cancel, null) + + return setFinalValuesAndShowDialog( + context, parent, null, null, + data, defaultURLName, false, newURLFileDialogBuilder, TYPE_NEW_URL_FILE + ) + } - return dialog + /** + * Creates and shows a TYPE_NEW_TXT_FILE dialog to create a new text file. + * + * @param context Current context. + * @param parent A valid node. Specifically the parent in which the file will be created. + * @param typedName The previous typed text. + * @param fromHome True if the text file will be created from Homepage, false otherwise. + * @return The create new text file dialog. + */ + @JvmStatic + fun showNewTxtFileDialog( + context: Context, + parent: MegaNode, + typedName: String?, + fromHome: Boolean + ): AlertDialog { + val newTxtFileDialogBuilder = MaterialAlertDialogBuilder(context) + + newTxtFileDialogBuilder + .setTitle(R.string.dialog_title_new_text_file) + .setPositiveButton(R.string.general_create, null) + .setNegativeButton(R.string.general_cancel, null) + + val dialog = setFinalValuesAndShowDialog( + context, + parent, + null, + null, + null, + null, + fromHome, + newTxtFileDialogBuilder, + TYPE_NEW_TXT_FILE + ) + + if (typedName != null && typedName != TXT_EXTENSION) { + dialog.findViewById(R.id.type_text)?.setText(typedName) } + return dialog + } + - /** - * Finishes the initialization of the dialog and shows it. - * - * @param context Current context. - * @param node A valid node if needed to confirm the action, null otherwise. - * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. - * @param snackbarShower interface to show snackbar. - * @param data Valid data if needed to confirm the action, null otherwise. - * @param defaultURLName The default URL name if the dialog is TYPE_NEW_URL_FILE. - * @param fromHome True if the text file will be created from Homepage, false otherwise. - * @param builder The AlertDialog.Builder to create and show the final dialog. - * @param dialogType Indicates the type of dialog. It can be: - * - TYPE_RENAME: Rename action. - * - TYPE_NEW_FOLDER: Create new folder action. - * - TYPE_NEW_FILE: Create new file action. - * - TYPE_NEW_URL_FILE: Create new URL file action. - * @return The created dialog. - */ - private fun setFinalValuesAndShowDialog( - context: Context, - node: MegaNode?, - actionNodeCallback: ActionNodeCallback?, - snackbarShower: SnackbarShower?, - data: String?, - defaultURLName: String?, - fromHome: Boolean, - builder: AlertDialog.Builder, - dialogType: Int - ): AlertDialog { - builder.setView(R.layout.dialog_create_rename_node) - - val dialog = builder.create() - - dialog.apply { - setOnShowListener { - val typeText = findViewById(R.id.type_text) - val errorText = findViewById(R.id.error_text) - - typeText?.apply { - when (dialogType) { - TYPE_RENAME -> { - if (node != null) { - setText(node.name) - setSelection(0, getCursorPositionOfName(node.isFile, node.name)) - } - } - TYPE_NEW_FOLDER -> { - setHint(R.string.context_new_folder_name) - } - TYPE_NEW_FILE -> { - setHint(R.string.context_new_file_name_hint) - } - TYPE_NEW_URL_FILE -> { - if (isTextEmpty(defaultURLName)) setHint(R.string.context_new_link_name) - else { - setText(defaultURLName) - setSelection(0, getCursorPositionOfName(false, defaultURLName)) - } - } - TYPE_NEW_TXT_FILE -> { - setHint(R.string.context_new_file_name) - setText(TXT_EXTENSION) - runDelay(SHOW_IM_DELAY.toLong()) { setSelection(0) } + /** + * Finishes the initialization of the dialog and shows it. + * + * @param context Current context. + * @param node A valid node if needed to confirm the action, null otherwise. + * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. + * @param snackbarShower interface to show snackbar. + * @param data Valid data if needed to confirm the action, null otherwise. + * @param defaultURLName The default URL name if the dialog is TYPE_NEW_URL_FILE. + * @param fromHome True if the text file will be created from Homepage, false otherwise. + * @param builder The AlertDialog.Builder to create and show the final dialog. + * @param dialogType Indicates the type of dialog. It can be: + * - TYPE_RENAME: Rename action. + * - TYPE_NEW_FOLDER: Create new folder action. + * - TYPE_NEW_FILE: Create new file action. + * - TYPE_NEW_URL_FILE: Create new URL file action. + * @return The created dialog. + */ + private fun setFinalValuesAndShowDialog( + context: Context, + node: MegaNode?, + actionNodeCallback: ActionNodeCallback?, + snackbarShower: SnackbarShower?, + data: String?, + defaultURLName: String?, + fromHome: Boolean, + builder: AlertDialog.Builder, + dialogType: Int + ): AlertDialog { + builder.setView(R.layout.dialog_create_rename_node) + + val dialog = builder.create() + + dialog.apply { + setOnShowListener { + val typeText = findViewById(R.id.type_text) + val errorText = findViewById(R.id.error_text) + + typeText?.apply { + when (dialogType) { + TYPE_RENAME -> { + if (node != null) { + setText(node.name) + setSelection(0, getCursorPositionOfName(node.isFile, node.name)) } } - - doAfterTextChanged { - quitDialogError(typeText, errorText) + TYPE_NEW_FOLDER -> { + setHint(R.string.context_new_folder_name) } - - setOnEditorActionListener { _, actionId, _ -> - if (actionId == EditorInfo.IME_ACTION_DONE) { - checkActionDialogValue( - context, node, actionNodeCallback, snackbarShower, - typeText, data, errorText, fromHome, dialog, dialogType - ) + TYPE_NEW_FILE -> { + setHint(R.string.context_new_file_name_hint) + } + TYPE_NEW_URL_FILE -> { + if (isTextEmpty(defaultURLName)) setHint(R.string.context_new_link_name) + else { + setText(defaultURLName) + setSelection(0, getCursorPositionOfName(false, defaultURLName)) } - - false + } + TYPE_NEW_TXT_FILE -> { + setHint(R.string.context_new_file_name) + setText(TXT_EXTENSION) + runDelay(SHOW_IM_DELAY.toLong()) { setSelection(0) } } } - quitDialogError(typeText, errorText) + doAfterTextChanged { + quitDialogError(typeText, errorText) + } - dialog.getButton(BUTTON_POSITIVE) - .setOnClickListener { + setOnEditorActionListener { _, actionId, _ -> + if (actionId == EditorInfo.IME_ACTION_DONE) { checkActionDialogValue( context, node, actionNodeCallback, snackbarShower, typeText, data, errorText, fromHome, dialog, dialogType ) } - showKeyboardDelayed(typeText) + false + } } - }.show() - return dialog - } + quitDialogError(typeText, errorText) - /** - * Checks, after user's confirmation, if the typed value is valid. - * - If so, confirms the action. - * - If not, shows the error in question. - * - * @param context Current context. - * @param node A valid node if needed to confirm the action, null otherwise. - * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. - * @param snackbarShower interface to show snackbar. - * @param typeText The input text field. - * @param data Valid data if needed to confirm the action, null otherwise. - * @param errorText The text field to show the error. - * @param fromHome True if the text file will be created from Homepage, false otherwise. - * @param dialog The AlertDialog to check. - * @param dialogType Indicates the type of dialog. It can be: - * - TYPE_RENAME: Rename action. - * - TYPE_NEW_FOLDER: Create new folder action. - * - TYPE_NEW_FILE: Create new file action. - * - TYPE_NEW_URL_FILE: Create new URL file action. - */ - private fun checkActionDialogValue( - context: Context, - node: MegaNode?, - actionNodeCallback: ActionNodeCallback?, - snackbarShower: SnackbarShower?, - typeText: EditText?, - data: String?, - errorText: TextView?, - fromHome: Boolean, - dialog: AlertDialog, - dialogType: Int - ) { - val typedString = typeText?.text.toString().trim() - - when { - typedString.isEmpty() -> { - showDialogError( - typeText, - errorText, - getString(R.string.invalid_string) - ) - } - NODE_NAME_REGEX.matcher(typedString).find() -> { - showDialogError( - typeText, - errorText, - getString(R.string.invalid_characters_defined) - ) - } - else -> { - when (dialogType) { - TYPE_RENAME -> { - if (node != null && typedString != node.name) { - if (Util.isOffline(context)) { - return - } - - val megaApi = MegaApplication.getInstance().megaApi - - megaApi.renameNode( - node, typedString, - RenameListener( - snackbarShower, context, - showSnackbar = true, - isMyChatFilesFolder = false, - actionNodeCallback = actionNodeCallback - ) - ) + dialog.getButton(BUTTON_POSITIVE) + .setOnClickListener { + checkActionDialogValue( + context, node, actionNodeCallback, snackbarShower, + typeText, data, errorText, fromHome, dialog, dialogType + ) + } - actionNodeCallback?.actionConfirmed() - } - } - TYPE_NEW_FOLDER -> { - actionNodeCallback?.createFolder(typedString) - } - TYPE_NEW_FILE -> { - if (context is FileExplorerActivityLollipop) { - context.createFile(typedString, data, node, false) + showKeyboardDelayed(typeText) + } + }.show() + + return dialog + } + + /** + * Checks, after user's confirmation, if the typed value is valid. + * - If so, confirms the action. + * - If not, shows the error in question. + * + * @param context Current context. + * @param node A valid node if needed to confirm the action, null otherwise. + * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. + * @param snackbarShower interface to show snackbar. + * @param typeText The input text field. + * @param data Valid data if needed to confirm the action, null otherwise. + * @param errorText The text field to show the error. + * @param fromHome True if the text file will be created from Homepage, false otherwise. + * @param dialog The AlertDialog to check. + * @param dialogType Indicates the type of dialog. It can be: + * - TYPE_RENAME: Rename action. + * - TYPE_NEW_FOLDER: Create new folder action. + * - TYPE_NEW_FILE: Create new file action. + * - TYPE_NEW_URL_FILE: Create new URL file action. + */ + private fun checkActionDialogValue( + context: Context, + node: MegaNode?, + actionNodeCallback: ActionNodeCallback?, + snackbarShower: SnackbarShower?, + typeText: EditText?, + data: String?, + errorText: TextView?, + fromHome: Boolean, + dialog: AlertDialog, + dialogType: Int + ) { + val typedString = typeText?.text.toString().trim() + + when { + typedString.isEmpty() -> { + showDialogError( + typeText, + errorText, + getString(R.string.invalid_string) + ) + } + NODE_NAME_REGEX.matcher(typedString).find() -> { + showDialogError( + typeText, + errorText, + getString(R.string.invalid_characters_defined) + ) + } + else -> { + when (dialogType) { + TYPE_RENAME -> { + if (node != null && typedString != node.name) { + if (isOffline(context)) { + return } + + val megaApi = MegaApplication.getInstance().megaApi + + megaApi.renameNode( + node, typedString, + RenameListener( + snackbarShower, context, + showSnackbar = true, + isMyChatFilesFolder = false, + actionNodeCallback = actionNodeCallback + ) + ) + + actionNodeCallback?.actionConfirmed() } - TYPE_NEW_URL_FILE -> { - if (context is FileExplorerActivityLollipop) { - context.createFile(typedString, data, node, true) - } + } + TYPE_NEW_FOLDER -> { + actionNodeCallback?.createFolder(typedString) + } + TYPE_NEW_FILE -> { + if (context is FileExplorerActivityLollipop) { + context.createFile(typedString, data, node, false) } - TYPE_NEW_TXT_FILE -> { - val textFileEditor = Intent(context, TextFileEditorActivity::class.java) - .putExtra(MODE, CREATE_MODE) - .putExtra(INTENT_EXTRA_KEY_FILE_NAME, typedString) - .putExtra(INTENT_EXTRA_KEY_HANDLE, node?.handle) - .putExtra(FROM_HOME_PAGE, fromHome) - - context.startActivity(textFileEditor) + } + TYPE_NEW_URL_FILE -> { + if (context is FileExplorerActivityLollipop) { + context.createFile(typedString, data, node, true) } } - - dialog.dismiss() + TYPE_NEW_TXT_FILE -> { + val textFileEditor = Intent(context, TextFileEditorActivity::class.java) + .putExtra(MODE, CREATE_MODE) + .putExtra(INTENT_EXTRA_KEY_FILE_NAME, typedString) + .putExtra(INTENT_EXTRA_KEY_HANDLE, node?.handle) + .putExtra(FROM_HOME_PAGE, fromHome) + + context.startActivity(textFileEditor) + } } + + dialog.dismiss() } } + } - /** - * Shows an error in a dialog and updates the input text field UI in consequence. - * - * @param typeText The input text field. - * @param errorText The text field to show the error. - * @param error Text to show as error. - */ - @SuppressLint("UseCompatLoadingForColorStateLists") - private fun showDialogError(typeText: EditText?, errorText: TextView?, error: String) { - if (typeText != null) { - setErrorAwareInputAppearance(typeText, true) - } + /** + * Shows an error in a dialog and updates the input text field UI in consequence. + * + * @param typeText The input text field. + * @param errorText The text field to show the error. + * @param error Text to show as error. + */ + @SuppressLint("UseCompatLoadingForColorStateLists") + private fun showDialogError(typeText: EditText?, errorText: TextView?, error: String) { + if (typeText != null) { + setErrorAwareInputAppearance(typeText, true) + } - typeText?.requestFocus() + typeText?.requestFocus() - errorText?.apply { - visibility = VISIBLE - text = error - } + errorText?.apply { + visibility = VISIBLE + text = error + } + } + + /** + * Hides an error from a dialog and updates the input text field UI in consequence. + * + * @param typeText The input text field. + * @param errorText The text field to hide the error. + */ + @SuppressLint("UseCompatLoadingForColorStateLists") + private fun quitDialogError(typeText: EditText?, errorText: TextView?) { + if (typeText != null) { + setErrorAwareInputAppearance(typeText, false) } - /** - * Hides an error from a dialog and updates the input text field UI in consequence. - * - * @param typeText The input text field. - * @param errorText The text field to hide the error. - */ - @SuppressLint("UseCompatLoadingForColorStateLists") - private fun quitDialogError(typeText: EditText?, errorText: TextView?) { + typeText?.requestFocus() + errorText?.visibility = GONE + } + + /** + * Checks if the newTextFileDialog is shown. If so, saves it's state on outState. + * + * @param newTextFileDialog The dialog to check. + * @param outState Bundle where the state of the dialog will be save. + */ + @JvmStatic + fun checkNewTextFileDialogState(newTextFileDialog: AlertDialog?, outState: Bundle) { + val isNewTextFileDialogShown = newTextFileDialog != null && newTextFileDialog.isShowing + + if (isNewTextFileDialogShown) { + outState.putBoolean(IS_NEW_TEXT_FILE_SHOWN, true) + val typeText = newTextFileDialog?.findViewById(R.id.type_text) + if (typeText != null) { - setErrorAwareInputAppearance(typeText, false) + outState.putString(NEW_TEXT_FILE_TEXT, typeText.text.toString()) } - - typeText?.requestFocus() - errorText?.visibility = GONE } + } - /** - * Checks if the newTextFileDialog is shown. If so, saves it's state on outState. - * - * @param newTextFileDialog The dialog to check. - * @param outState Bundle where the state of the dialog will be save. - */ - @JvmStatic - fun checkNewTextFileDialogState(newTextFileDialog: AlertDialog?, outState: Bundle) { - val isNewTextFileDialogShown = newTextFileDialog != null && newTextFileDialog.isShowing - - if (isNewTextFileDialogShown) { - outState.putBoolean(IS_NEW_TEXT_FILE_SHOWN, true) - val typeText = newTextFileDialog?.findViewById(R.id.type_text) - - if (typeText != null) { - outState.putString(NEW_TEXT_FILE_TEXT, typeText.text.toString()) - } - } + /** + * Move a node into rubbish bin, or remove it if it's already moved into rubbish bin. + * + * @param handle handle of the node + * @param activity Android activity + * @param snackbarShower interface to show snackbar + */ + @JvmStatic + @Suppress("DEPRECATION") + fun moveToRubbishOrRemove( + handle: Long, + activity: Activity, + snackbarShower: SnackbarShower + ) { + val megaApi = MegaApplication.getInstance().megaApi + + if (!isOnline(activity)) { + snackbarShower.showSnackbar(getString(R.string.error_server_connection_problem)) + return } - /** - * Move a node into rubbish bin, or remove it if it's already moved into rubbish bin. - * - * @param handle handle of the node - * @param activity Android activity - * @param snackbarShower interface to show snackbar - */ - @JvmStatic - @Suppress("DEPRECATION") - fun moveToRubbishOrRemove( - handle: Long, - activity: Activity, - snackbarShower: SnackbarShower - ) { - val megaApi = MegaApplication.getInstance().megaApi - - if (!isOnline(activity)) { - snackbarShower.showSnackbar(getString(R.string.error_server_connection_problem)) - return - } + val node = megaApi.getNodeByHandle(handle) ?: return + val rubbishNode = megaApi.rubbishNode - val node = megaApi.getNodeByHandle(handle) ?: return - val rubbishNode = megaApi.rubbishNode - - if (rubbishNode.handle != getRootParentNode(node).handle) { - MaterialAlertDialogBuilder(activity, R.style.ThemeOverlay_Mega_MaterialAlertDialog) - .setMessage(getString(R.string.confirmation_move_to_rubbish)) - .setPositiveButton(getString(R.string.general_move)) { _, _ -> - val progress = android.app.ProgressDialog(activity) - progress.setMessage(getString(R.string.context_move_to_trash)) - - megaApi.moveNode( - node, rubbishNode, - MoveListener { - progress.dismiss() - - if (it) { - activity.finish() - } else { - snackbarShower.showSnackbar(getString(R.string.context_no_moved)) - } - }) - - progress.show() - } - .setNegativeButton(getString(R.string.general_cancel), null) - .show() - } else { - MaterialAlertDialogBuilder(activity, R.style.ThemeOverlay_Mega_MaterialAlertDialog) - .setMessage(getString(R.string.confirmation_delete_from_mega)) - .setPositiveButton(getString(R.string.general_remove)) { _, _ -> - val progress = android.app.ProgressDialog(activity) - progress.setMessage(getString(R.string.context_delete_from_mega)) - - megaApi.remove(node, RemoveListener { + if (rubbishNode.handle != getRootParentNode(node).handle) { + MaterialAlertDialogBuilder(activity, R.style.ThemeOverlay_Mega_MaterialAlertDialog) + .setMessage(getString(R.string.confirmation_move_to_rubbish)) + .setPositiveButton(getString(R.string.general_move)) { _, _ -> + val progress = android.app.ProgressDialog(activity) + progress.setMessage(getString(R.string.context_move_to_trash)) + + megaApi.moveNode( + node, rubbishNode, + MoveListener { progress.dismiss() if (it) { - snackbarShower.showSnackbar(getString(R.string.context_correctly_removed)) activity.finish() } else { - snackbarShower.showSnackbar(getString(R.string.context_no_removed)) + snackbarShower.showSnackbar(getString(R.string.context_no_moved)) } }) - progress.show() - } - .setNegativeButton(getString(R.string.general_cancel), null) - .show() - } + progress.show() + } + .setNegativeButton(getString(R.string.general_cancel), null) + .show() + } else { + MaterialAlertDialogBuilder(activity, R.style.ThemeOverlay_Mega_MaterialAlertDialog) + .setMessage(getString(R.string.confirmation_delete_from_mega)) + .setPositiveButton(getString(R.string.general_remove)) { _, _ -> + val progress = android.app.ProgressDialog(activity) + progress.setMessage(getString(R.string.context_delete_from_mega)) + + megaApi.remove(node, RemoveListener { + progress.dismiss() + + if (it) { + snackbarShower.showSnackbar(getString(R.string.context_correctly_removed)) + activity.finish() + } else { + snackbarShower.showSnackbar(getString(R.string.context_no_removed)) + } + }) + + progress.show() + } + .setNegativeButton(getString(R.string.general_cancel), null) + .show() } } } From d306599795f5c2b4020e78c104299ad7eb01c83e Mon Sep 17 00:00:00 2001 From: Yenel Date: Tue, 4 May 2021 15:22:14 +0200 Subject: [PATCH 03/17] AND-12837 Rename file dialog improvements: - Add no extension warning - Add extension changed warning --- .../privacy/android/app/MimeTypeList.java | 6 +- .../android/app/utils/MegaNodeDialogUtil.kt | 184 ++++++++++++++++-- app/src/main/res/values/strings.xml | 10 + 3 files changed, 186 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/MimeTypeList.java b/app/src/main/java/mega/privacy/android/app/MimeTypeList.java index 3414bdc7130..134d7fbda0e 100644 --- a/app/src/main/java/mega/privacy/android/app/MimeTypeList.java +++ b/app/src/main/java/mega/privacy/android/app/MimeTypeList.java @@ -136,6 +136,10 @@ else if (extension.equals("url")) { public String getType() { return type; } + + public String getExtension() { + return extension; + } public boolean isDocument(){ boolean r = type.startsWith("application/pdf") || type.startsWith("application/msword") || type.startsWith("application/vnd.ms-excel") || type.startsWith("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") || type.startsWith("application/vnd.openxmlformats-officedocument.wordprocessingml.document") || type.startsWith("application/rtf") || type.startsWith("text/plain"); @@ -275,7 +279,7 @@ public boolean isGIF () { * * @return True if the file is openable, false otherwise. */ - private boolean isValidTextFileType() { + public boolean isValidTextFileType() { //Text return type.startsWith("text/plain") diff --git a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt index 23758ddad58..58a06883122 100644 --- a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt +++ b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt @@ -15,6 +15,7 @@ import androidx.appcompat.app.AlertDialog import androidx.core.widget.doAfterTextChanged import com.google.android.material.dialog.MaterialAlertDialogBuilder import mega.privacy.android.app.MegaApplication +import mega.privacy.android.app.MimeTypeList import mega.privacy.android.app.R import mega.privacy.android.app.components.twemoji.EmojiEditText import mega.privacy.android.app.interfaces.ActionNodeCallback @@ -37,6 +38,8 @@ import mega.privacy.android.app.utils.StringResourcesUtils.getString import mega.privacy.android.app.utils.TextUtil.getCursorPositionOfName import mega.privacy.android.app.utils.TextUtil.isTextEmpty import mega.privacy.android.app.utils.Util.* +import nz.mega.documentscanner.utils.ViewUtils.hideKeyboard +import nz.mega.sdk.MegaChatApiJava.MEGACHAT_INVALID_HANDLE import nz.mega.sdk.MegaNode object MegaNodeDialogUtil { @@ -47,6 +50,9 @@ object MegaNodeDialogUtil { private const val TYPE_NEW_TXT_FILE = 4 const val IS_NEW_TEXT_FILE_SHOWN = "IS_NEW_TEXT_FILE_SHOWN" const val NEW_TEXT_FILE_TEXT = "NEW_TEXT_FILE_TEXT" + private const val ERROR_EMPTY_EXTENSION = "ERROR_EMPTY_EXTENSION" + private const val ERROR_DIFFERENT_EXTENSION = "ERROR_DIFFERENT_EXTENSION" + private const val NO_ERROR = "NO_ERROR" /** * Creates and shows a TYPE_RENAME dialog to rename a node. @@ -353,19 +359,57 @@ object MegaNodeDialogUtil { return } - val megaApi = MegaApplication.getInstance().megaApi - - megaApi.renameNode( - node, typedString, - RenameListener( - snackbarShower, context, - showSnackbar = true, - isMyChatFilesFolder = false, - actionNodeCallback = actionNodeCallback - ) - ) - - actionNodeCallback?.actionConfirmed() + val oldMimeType = MimeTypeList.typeForName(node.name) + var newExtension = MimeTypeList.typeForName(typedString).extension + if (newExtension == typedString) newExtension = "" + + when (if (node.isFolder) NO_ERROR else isValidRenameDialogValue( + oldMimeType, + newExtension + )) { + ERROR_EMPTY_EXTENSION -> { + typeText?.hideKeyboard() + + showDialogError( + typeText, + errorText, + getString( + R.string.file_without_extension, + oldMimeType.extension + ) + ) + + snackbarShower?.showSnackbar( + SNACKBAR_TYPE, + getString(R.string.file_without_extension_warning), + MEGACHAT_INVALID_HANDLE + ) + + return + } + ERROR_DIFFERENT_EXTENSION -> { + typeText?.hideKeyboard() + + showFileExtensionWarning( + context, + node, + typedString, + oldMimeType.extension, + newExtension, + snackbarShower, + actionNodeCallback + ) + } + NO_ERROR -> { + confirmRenameAction( + context, + node, + typedString, + snackbarShower, + actionNodeCallback + ) + } + } } } TYPE_NEW_FOLDER -> { @@ -397,6 +441,120 @@ object MegaNodeDialogUtil { } } + /** + * Confirms the rename action. + * + * @param context Current context. + * @param node A valid node if needed to confirm the action, null otherwise. + * @param typedString Typed name. + * @param snackbarShower Interface to show snackbar. + * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. + */ + private fun confirmRenameAction( + context: Context, + node: MegaNode, + typedString: String, + snackbarShower: SnackbarShower?, + actionNodeCallback: ActionNodeCallback? + ) { + val megaApi = MegaApplication.getInstance().megaApi + + megaApi.renameNode( + node, + typedString, + RenameListener( + snackbarShower, + context, + showSnackbar = true, + isMyChatFilesFolder = false, + actionNodeCallback = actionNodeCallback + ) + ) + + actionNodeCallback?.actionConfirmed() + } + + /** + * Checks if should allow the rename action: + * - Should allow it if the new file name has the same extension than the old one. + * - Should not allow it and show the corresponding error if the new file name has: + * * An empty extension and is not a text file. + * * A different extension than the old name. + * + * @param oldMimeType Current mimeType of the file. + * @param newExtension New typed extension name for the file. + * @return The corresponding error to show or not the corresponding warning. + */ + private fun isValidRenameDialogValue(oldMimeType: MimeTypeList, newExtension: String): String { + return when { + newExtension.isEmpty() && !oldMimeType.isValidTextFileType -> ERROR_EMPTY_EXTENSION + oldMimeType.extension != newExtension -> ERROR_DIFFERENT_EXTENSION + else -> NO_ERROR + } + } + + /** + * Shows a warning dialog informing the file extension changed after rename a file. + * + * @param context Current context. + * @param node A valid node if needed to confirm the action, null otherwise. + * @param typedString Typed name. + * @param oldExtension Current file extension. + * @param newExtension New file extension. + * @param snackbarShower Interface to show snackbar. + * @param actionNodeCallback Callback to finish the node action if needed, null otherwise. + */ + private fun showFileExtensionWarning( + context: Context, + node: MegaNode, + typedString: String, + oldExtension: String, + newExtension: String, + snackbarShower: SnackbarShower?, + actionNodeCallback: ActionNodeCallback? + ) { + val keepExtension = if (oldExtension == node.name) "" else oldExtension + + val typedOldExt = + if (keepExtension.isEmpty()) typedString.substring(0, typedString.lastIndexOf(".")) + else typedString.substring(0, typedString.lastIndexOf(".") + 1) + oldExtension + + val message = if (keepExtension.isEmpty() && newExtension.isNotEmpty()) { + getString(R.string.file_extension_change_warning_old_empty, newExtension) + } else if (keepExtension.isNotEmpty() && newExtension.isEmpty()) { + getString(R.string.file_extension_change_warning_new_empty, keepExtension) + } else { + getString(R.string.file_extension_change_warning, keepExtension, newExtension) + } + + val useButton = if (newExtension.isEmpty()) { + getString(R.string.action_use_empty_new_extension) + } else { + getString(R.string.action_use_new_extension, newExtension) + } + + val keepButton = if (keepExtension.isEmpty()) { + getString(R.string.action_keep_empty_old_extension) + } else { + getString(R.string.action_keep_old_extension, keepExtension) + } + + MaterialAlertDialogBuilder(context) + .setTitle(getString(R.string.file_extension_change_title)) + .setMessage(message) + .setPositiveButton(keepButton) { _, _ -> + if (typedOldExt == node.name) { + return@setPositiveButton + } + + confirmRenameAction(context, node, typedOldExt, snackbarShower, actionNodeCallback) + } + .setNegativeButton(useButton) { _, _ -> + confirmRenameAction(context, node, typedString, snackbarShower, actionNodeCallback) + } + .show() + } + /** * Shows an error in a dialog and updates the input text field UI in consequence. * diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 37404347d2b..50aae0a1d65 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1751,6 +1751,16 @@ Please correct your filenames before proceeding Invalid characters The following characters are not allowed: ” * / : < > ? \ | + File without extension (.%1$s) + To proceed you need to type a file extension + File extension change + You may not be able to access this file if you change it from ".%1$s" to ".%2$s" + You may not be able to access this file if you change it from empty to ".%2$s" + You may not be able to access this file if you change it from ".%1$s" to empty + Use empty + Use .%1$s + Keep empty + Keep .%1$s Please name your file before proceeding From 81058d84d6b2c209b44deadee6c7e294b83cae45 Mon Sep 17 00:00:00 2001 From: awu Date: Tue, 11 May 2021 11:10:15 +1200 Subject: [PATCH 04/17] Remove Redundant 'if' Statement --- .../app/lollipop/megachat/RecentChatsFragmentLollipop.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java b/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java index 0266e4815d7..5d0cec25b22 100644 --- a/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java +++ b/app/src/main/java/mega/privacy/android/app/lollipop/megachat/RecentChatsFragmentLollipop.java @@ -1441,9 +1441,7 @@ public void onDestroy() { adapter.dismissDialog(); } if (context instanceof ManagerActivityLollipop) { - if (((ManagerActivityLollipop) context).getSearchQuery() != null && !((ManagerActivityLollipop) context).getSearchQuery().isEmpty()) { - ((ManagerActivityLollipop) context).setSearchQuery(""); - } + ((ManagerActivityLollipop) context).setSearchQuery(""); } } From bf0d570763c672dc2be1ea27a398702fe1027dd3 Mon Sep 17 00:00:00 2001 From: Yenel Date: Wed, 12 May 2021 15:40:22 +0200 Subject: [PATCH 05/17] Add strings AND-12837 Rename file dialog improvements --- .../android/app/utils/MegaNodeDialogUtil.kt | 3 +- app/src/main/res/values/strings.xml | 44 ++++++++++++++----- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt index 58a06883122..6c53aac4089 100644 --- a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt +++ b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt @@ -41,6 +41,7 @@ import mega.privacy.android.app.utils.Util.* import nz.mega.documentscanner.utils.ViewUtils.hideKeyboard import nz.mega.sdk.MegaChatApiJava.MEGACHAT_INVALID_HANDLE import nz.mega.sdk.MegaNode +import java.util.* object MegaNodeDialogUtil { private const val TYPE_RENAME = 0 @@ -361,7 +362,7 @@ object MegaNodeDialogUtil { val oldMimeType = MimeTypeList.typeForName(node.name) var newExtension = MimeTypeList.typeForName(typedString).extension - if (newExtension == typedString) newExtension = "" + if (newExtension == typedString.toLowerCase(Locale.ROOT)) newExtension = "" when (if (node.isFolder) NO_ERROR else isValidRenameDialogValue( oldMimeType, diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8c89d3351f0..581b8ae225e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -295,9 +295,9 @@ [B]No [/B][A]sent requests[/A] [B]No [/B][A]received requests[/A] - + Transfers - + My Account Camera Uploads @@ -307,7 +307,7 @@ Outgoing Links - + Incoming Shares Incoming shares with @@ -534,7 +534,7 @@ %d items moved to the Rubbish Bin successfully -  and %d items were not sent successfully +  and %d items were not sent successfully Error. Not moved @@ -968,9 +968,9 @@ Account Type - Renews on  + Renews on  - Expires on  + Expires on  Free @@ -1511,7 +1511,7 @@ %1$s [A]is typing…[/A] %1$s [A]are typing…[/A] - + %1$s [A]and more are typing…[/A] More @@ -1846,7 +1846,7 @@ Full access Read-only - + Read and write Transfers paused @@ -2509,7 +2509,7 @@ Next time you login to your account you will be asked to enter a 6-digit code provided by your Authenticator App. - Consider exporting your Recovery Key in case you lose access to your app or want to disable Two-Factor Authentication in the future. + Consider exporting your <b>Recovery Key</b> in case you lose access to your app or want to disable Two-Factor Authentication in the future. Invalid code @@ -3365,8 +3365,8 @@ Invite a friend via… - %d file already downloaded.  - %d files already downloaded.  + %d file already downloaded.  + %d files already downloaded.  @@ -3449,7 +3449,7 @@ Overall usage Transfer - + You cannot remove %1$s as a contact because they are part of your Business account. There has been a problem with your last payment. Please access MEGA using a desktop browser for more information. @@ -3922,4 +3922,24 @@ File update failed. Try again. File is too large and can’t be opened or previewed. + + File without extension (.%1$s) + + To proceed you need to type a file extension + + File extension change + + You may not be able to access this file if you change it from “.%1$s” to “.%2$s” + + You may not be able to access this file if you change it from empty to “.%1$s” + + You may not be able to access this file if you change it from “.%1$s” to empty + + Use empty + + Use .%1$s + + Keep empty + + Keep .%1$s From 86a6dcaf8bd342b9863139aa0f5cc17e6297d0c1 Mon Sep 17 00:00:00 2001 From: Yenel Date: Thu, 13 May 2021 12:40:40 +0200 Subject: [PATCH 06/17] Fix strings.xml due to transifex script bug --- app/src/main/res/values/strings.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 581b8ae225e..d6a28b05549 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -297,7 +297,7 @@ [B]No [/B][A]received requests[/A] Transfers - + My Account Camera Uploads @@ -307,7 +307,7 @@ Outgoing Links - + Incoming Shares Incoming shares with @@ -534,7 +534,7 @@ %d items moved to the Rubbish Bin successfully -  and %d items were not sent successfully +  and %d items were not sent successfully Error. Not moved @@ -968,9 +968,9 @@ Account Type - Renews on  + Renews on  - Expires on  + Expires on  Free @@ -3365,8 +3365,8 @@ Invite a friend via… - %d file already downloaded.  - %d files already downloaded.  + %d file already downloaded.  + %d files already downloaded.  From 0a7e260b1b5b6b6b3688c80ffef903f351274d32 Mon Sep 17 00:00:00 2001 From: Yenel Date: Fri, 14 May 2021 11:25:59 +0200 Subject: [PATCH 07/17] Fix strings.xml due to transifex script bug --- app/src/main/res/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d6a28b05549..685e7789ffc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3929,11 +3929,11 @@ File extension change - You may not be able to access this file if you change it from “.%1$s” to “.%2$s” + You may not be able to access this file if you change it from “.%1$s” to “.%2$s” - You may not be able to access this file if you change it from empty to “.%1$s” + You may not be able to access this file if you change it from empty to “.%1$s” - You may not be able to access this file if you change it from “.%1$s” to empty + You may not be able to access this file if you change it from “.%1$s” to empty Use empty From b5490bbf956e3876e33d82f7b4120c104b63db6f Mon Sep 17 00:00:00 2001 From: Yenel Date: Fri, 14 May 2021 11:47:37 +0200 Subject: [PATCH 08/17] Fix strings.xml due to transifex script bug --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 685e7789ffc..1ffe18bee87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2509,7 +2509,7 @@ Next time you login to your account you will be asked to enter a 6-digit code provided by your Authenticator App. - Consider exporting your <b>Recovery Key</b> in case you lose access to your app or want to disable Two-Factor Authentication in the future. + Consider exporting your Recovery Key in case you lose access to your app or want to disable Two-Factor Authentication in the future. Invalid code From ef8f8eaf39b4f6dee1a3bcf0a1abdb5cdb2db9b0 Mon Sep 17 00:00:00 2001 From: Yenel Date: Mon, 17 May 2021 13:11:55 +0200 Subject: [PATCH 09/17] Updated string with latest Transifex values AND-12837 Rename file dialog improvements --- app/src/main/res/values/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ffe18bee87..bce83cc9f45 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3929,17 +3929,17 @@ File extension change - You may not be able to access this file if you change it from “.%1$s” to “.%2$s” + You may not be able to access this file if you change the extension from “.%1$s” to “.%2$s” - You may not be able to access this file if you change it from empty to “.%1$s” + You may not be able to access this file if you add the “.%1$s” extension - You may not be able to access this file if you change it from “.%1$s” to empty + You may not be able to access this file if you remove the “.%1$s” extension - Use empty + Remove extension Use .%1$s - Keep empty + No extension Keep .%1$s From c341b7e4a92fdff6cee381d0ec00dbc5809baf4d Mon Sep 17 00:00:00 2001 From: Catalin Date: Tue, 18 May 2021 16:41:19 +0300 Subject: [PATCH 10/17] introduce build setting MEGA_USE_C_ARES --- app/src/main/jni/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/jni/build.sh b/app/src/main/jni/build.sh index 7ecd675cc1f..dd2cc2082a0 100755 --- a/app/src/main/jni/build.sh +++ b/app/src/main/jni/build.sh @@ -178,7 +178,7 @@ function createMEGABindings { echo "* Creating MEGA Java bindings" mkdir -p ../java/nz/mega/sdk - swig -c++ -Imega/sdk/include -java -package nz.mega.sdk -outdir ${JAVA_OUTPUT_PATH}/nz/mega/sdk -o bindings/megasdk.cpp -DHAVE_LIBUV -DENABLE_CHAT mega/sdk/bindings/megaapi.i &>> ${LOG_FILE} + swig -c++ -Imega/sdk/include -java -package nz.mega.sdk -outdir ${JAVA_OUTPUT_PATH}/nz/mega/sdk -o bindings/megasdk.cpp -DHAVE_LIBUV -DENABLE_CHAT -DMEGA_USE_C_ARES mega/sdk/bindings/megaapi.i &>> ${LOG_FILE} } function createMEGAchatBindings From 07a83f9dbfa608476c28c31caed42d438979a762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Hern=C3=A1ndez?= Date: Mon, 24 May 2021 18:48:45 +0200 Subject: [PATCH 11/17] Add new symbol MEGA_USE_C_ARES --- app/src/main/jni/build.sh | 2 +- app/src/main/jni/mega/Android.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/jni/build.sh b/app/src/main/jni/build.sh index dd2cc2082a0..7ecd675cc1f 100755 --- a/app/src/main/jni/build.sh +++ b/app/src/main/jni/build.sh @@ -178,7 +178,7 @@ function createMEGABindings { echo "* Creating MEGA Java bindings" mkdir -p ../java/nz/mega/sdk - swig -c++ -Imega/sdk/include -java -package nz.mega.sdk -outdir ${JAVA_OUTPUT_PATH}/nz/mega/sdk -o bindings/megasdk.cpp -DHAVE_LIBUV -DENABLE_CHAT -DMEGA_USE_C_ARES mega/sdk/bindings/megaapi.i &>> ${LOG_FILE} + swig -c++ -Imega/sdk/include -java -package nz.mega.sdk -outdir ${JAVA_OUTPUT_PATH}/nz/mega/sdk -o bindings/megasdk.cpp -DHAVE_LIBUV -DENABLE_CHAT mega/sdk/bindings/megaapi.i &>> ${LOG_FILE} } function createMEGAchatBindings diff --git a/app/src/main/jni/mega/Android.mk b/app/src/main/jni/mega/Android.mk index 9b0060baa19..40d2b6f1c1d 100644 --- a/app/src/main/jni/mega/Android.mk +++ b/app/src/main/jni/mega/Android.mk @@ -11,7 +11,7 @@ local_c_includes := \ include $(CLEAR_VARS) include $(LOCAL_PATH)/Makefile.inc LOCAL_MODULE := megasdk -LOCAL_CFLAGS := -fvisibility=hidden -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -DDEBUG -DENABLE_CHAT -DENABLE_CRASHLYTICS +LOCAL_CFLAGS := -fvisibility=hidden -fvisibility-inlines-hidden -fdata-sections -ffunction-sections -DDEBUG -DENABLE_CHAT -DENABLE_CRASHLYTICS -DMEGA_USE_C_ARES LOCAL_SRC_FILES := $(CPP_SOURCES) $(C_SOURCES) $(C_WRAPPER_SOURCES) LOCAL_C_INCLUDES += $(local_c_includes) LOCAL_EXPORT_C_INCLUDES += $(local_c_includes) From a9e028013fa1cf81a67b57932acd48f3503bb16a Mon Sep 17 00:00:00 2001 From: Javier Gomez Date: Wed, 26 May 2021 11:42:53 +0200 Subject: [PATCH 12/17] Update available translations --- app/src/main/res/values-ar/strings.xml | 22 +- .../res/values-ar/strings_karere_errors.xml | 6 +- .../main/res/values-ar/strings_sdk_errors.xml | 40 +- app/src/main/res/values-de/strings.xml | 60 +- .../values-de/strings_document_scanner.xml | 4 +- .../main/res/values-de/strings_sdk_errors.xml | 2 +- app/src/main/res/values-es/strings.xml | 22 +- app/src/main/res/values-fr/strings.xml | 24 +- app/src/main/res/values-id/strings.xml | 165 ++--- app/src/main/res/values-it/strings.xml | 22 +- app/src/main/res/values-ja/strings.xml | 28 +- .../values-ja/strings_document_scanner.xml | 2 +- app/src/main/res/values-ko/strings.xml | 34 +- .../values-ko/strings_document_scanner.xml | 2 +- app/src/main/res/values-nl/strings.xml | 22 +- app/src/main/res/values-pl/strings.xml | 24 +- app/src/main/res/values-pt/strings.xml | 22 +- app/src/main/res/values-ro/strings.xml | 56 +- .../values-ro/strings_document_scanner.xml | 4 +- .../main/res/values-ro/strings_sdk_errors.xml | 2 +- app/src/main/res/values-ru/strings.xml | 70 +- .../values-ru/strings_document_scanner.xml | 4 +- .../main/res/values-ru/strings_sdk_errors.xml | 4 +- app/src/main/res/values-th/strings.xml | 26 +- .../main/res/values-th/strings_sdk_errors.xml | 2 +- app/src/main/res/values-vi/strings.xml | 34 +- app/src/main/res/values-zh-rCN/strings.xml | 24 +- app/src/main/res/values-zh-rTW/strings.xml | 596 +++++++++--------- 28 files changed, 831 insertions(+), 492 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 952bc4da364..80df30bd5d8 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1595,7 +1595,7 @@ empty %1$s [A]جاري الكتابة…[/A] - + %1$s [A]وأكثر يكتبون…[/A] المزيد @@ -4266,4 +4266,24 @@ File update failed. Try again. File is too large and can’t be opened or previewed. + + ملف بدون لاحقة (.%1$s) + + للمتابعة تحتاج إلى إدخال لاحقة الملف + + تغيير لاحقة الملف + + قد لا تتمكن من الوصول إلى هذا الملف إذا قمت بتغيير اللاحقة من “.%1$s” إلى “.%2$s” + + قد لا تتمكن من الوصول إلى هذا الملف إذا قمت بإضافة اللاحقة “.%1$s” + + قد لا تتمكن من الوصول إلى هذا الملف إذا قمت بإزالة اللاحقة “.%1$s” + + إزالة لاحقة الملف + + استخدم .%1$s + + اللاحقة غير موجودة + + احتفظ .%1$s diff --git a/app/src/main/res/values-ar/strings_karere_errors.xml b/app/src/main/res/values-ar/strings_karere_errors.xml index 9b4f47f9b99..f340c5dddfd 100644 --- a/app/src/main/res/values-ar/strings_karere_errors.xml +++ b/app/src/main/res/values-ar/strings_karere_errors.xml @@ -3,13 +3,13 @@ لا يوجد خطأ - محادثة غير صالحة + معاملات غير صالحة - غير مسموح بالدخول + تم رفض السماح بالدخول المصدر غير موجود. - المصدر موجود بالفعل. + المصدر موجود أصلا. خطأ غير معروف diff --git a/app/src/main/res/values-ar/strings_sdk_errors.xml b/app/src/main/res/values-ar/strings_sdk_errors.xml index 8eb702d3996..e54e2c238cb 100644 --- a/app/src/main/res/values-ar/strings_sdk_errors.xml +++ b/app/src/main/res/values-ar/strings_sdk_errors.xml @@ -5,59 +5,59 @@ خطأ داخلي - محادثة غير صالحة + معاملات غير صالحة فشل الطلب، إعادة المحاولة - تم تجاوز الحد الاقصي + تم تجاوز الحد المسموح - فشلت بصفة دائمة + فشل بشكل دائم تم خرق شروط الخدمة - الكثير من الاتصالات المتزامنة أو عمليات النقل + الكثير من الاتصالات المتزامنة أو عمليات تراسل المعطيات خارج النطاق - انتهت + منتهي/ة الصلاحية - غير موجود + لم يتم إيجاده - Circular linkage detected + تم الكشف عن ارتباط دائري - غير مسموح بالدخول + تم رفض السماح بالدخول - موجود مسبقا + موجود أصلا - غير كاملة + غير مكتمل/ة - خطأ مفتاح / فك التشفير غير صالح + خطأ مفتاح/فك التشفير غير صالح - معرف الجلسة سي + معرف جلسة غير صالح - لا يمكن الوصول إليها بسبب انتهاك شروط استخدام الخدمة أو سياسة الاستخدام المقبول + غير قادر على الوصول بسبب انتهاك شروط استخدام الخدمة أو سياسة الاستخدام المقبول ToS/AUP محظور - أكثر من الحصة + تجاوز حد حصة التراسل المتاح - غير متوفرة مؤقتا + غير متاح مؤقتاً تجاوز سعة الاتصال - إرسال الخطأ + خطأ أثناء الكتابة - قراءة الخطأ + خطأ أثناء القراءة مفتاح التطبيق غير صالح فشل مصادقة شهادة التشفير SSL - لا يوجد حجم متاح كافي + لا يوجد حصة تراسل معطيات كافية المصادقة المزدوجة Two-Factor مطلوبة. - الولوج ممنوع لغيرمستخدمي مدير النظام + الوصول ممنوع للمستخدمين غير المسؤولين عن النظام انتهت صلاحية حساب الأعمال الخاص بك @@ -75,5 +75,5 @@ خطأ بروتوكول HTTP - Transfer failed due to a recursive directory structure + فشل عملية التراسل بسبب وجود عودية في بنية المجلد diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f16711a0bf3..0f4e7be8fc2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android\n\nFor more info, please check our website:\nSee https://mega.nz/terms\n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA - der Speicherplatz in der Cloud, der Ihre Privatsphäre schützt. @@ -743,7 +743,7 @@ Kamera-Uploads beendet - Appearance + Helligkeit Features @@ -1511,7 +1511,7 @@ %1$s [A]tippt…[/A] %1$s [A]tippen…[/A] - + %1$s [A]und weitere tippen…[/A] Weitere @@ -3424,7 +3424,7 @@ Bitte warten… - Account type + Kontoart Business @@ -3648,7 +3648,7 @@ Docs - Documents + Dokumente New chat @@ -3700,7 +3700,7 @@ Deaktiviert - One day + Ein Tag One week @@ -3761,15 +3761,15 @@ Export link and decryption key separately. - Learn more + Mehr erfahren Key Share key - Copy key + Schlüssel kopieren - Copy password + Passwort kopieren Link copied to the clipboard. @@ -3783,13 +3783,13 @@ Link and password successfully sent. - Upgrade to Pro + Auf Pro umsteigen MEGA Pro users have exclusive access to additional link safety features making your account even more secure. - Our end-to-end encryption system requires a unique key automatically generated for this file. A link with this key is created by default, but you can export the decryption key separately for an added layer of security. + Unsere Ende-zu-Ende-Verschlüsselung ordnet jeder Datei einen automatisch generierten Schlüssel zu. Normalerweise enthält der Link diesen Schlüssel, aber Sie können ihn auch separat exportieren und versenden. - Reset password + Passwort zurücksetzen Share the key for this link? @@ -3841,9 +3841,9 @@ Cookie-Richtlinien - Cookie Settings + Cookie-Einstellungen - Before you continue + Moment! We use local storage and similar technologies (’Cookies’) to provide our services to you, enhance your experience with our services and customize the adverts you see, including through third parties. Accept our use of Cookies from the beginning of your visit or customise Cookies in Cookie Settings. Read more in our [A]Cookie Policy[/A]. @@ -3853,19 +3853,19 @@ Cookies von Drittanbietern - Google Advertising Cookies + Google-Werbecookies - Category: Advertising Cookies + Kategorie: Werbecookies Used by Google to:\n• customise the adverts Google shows on ours and other services and websites, based on such things as your location and other websites you’ve previously visited;\n• monitor how often you are displayed certain adverts;\n• provide fraud prevention; and\n• determine when you click on a particular advert and then to track the following actions you take in response to that advert.\nhttps://policies.google.com/technologies/partner-sites - Accept Cookies + Cookies akzeptieren - Essential Cookies + Cookies für Grundfunktionalität - Essential for providing you important functionality and secure access to our services. For this reason, they do not require consent. + Essentiell für die Bereitstellung unserer Dienstleistungen. Diese sind immer aktiv. - Preference Cookies + Cookies für Benutzereinstellungen Anzeige- und Fomatierungseinstellungen. Diese gehen ohne diese Cookies verloren, wenn Sie den Browser schließen. @@ -3922,4 +3922,24 @@ File update failed. Try again. File is too large and can’t be opened or previewed. + + File without extension (.%1$s) + + To proceed you need to type a file extension + + File extension change + + You may not be able to access this file if you change the extension from “.%1$s” to “.%2$s” + + You may not be able to access this file if you add the “.%1$s” extension + + You may not be able to access this file if you remove the “.%1$s” extension + + Remove extension + + Use .%1$s + + No extension + + Keep .%1$s diff --git a/app/src/main/res/values-de/strings_document_scanner.xml b/app/src/main/res/values-de/strings_document_scanner.xml index 9c0916ce7c8..a02fb8d27d9 100644 --- a/app/src/main/res/values-de/strings_document_scanner.xml +++ b/app/src/main/res/values-de/strings_document_scanner.xml @@ -19,11 +19,11 @@ Destination - High + Hoch Mittel - Low + Niedrig Discard scan? diff --git a/app/src/main/res/values-de/strings_sdk_errors.xml b/app/src/main/res/values-de/strings_sdk_errors.xml index 15615c6dfb7..30ef71f19cf 100644 --- a/app/src/main/res/values-de/strings_sdk_errors.xml +++ b/app/src/main/res/values-de/strings_sdk_errors.xml @@ -75,5 +75,5 @@ HTTP Error - Transfer failed due to a recursive directory structure + Transfer wegen Verzeichnisrekursion fehlgeschlagen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 128c56f948a..dc6895daec6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1511,7 +1511,7 @@ %1$s [A]está escribiendo…[/A] %1$s [A]están escribiendo…[/A] - + %1$s [A]y otros están escribiendo…[/A] Más @@ -3922,4 +3922,24 @@ No se ha podido actualizar el archivo. Inténtalo de nuevo. El archivo es demasiado grande. No se puede ni abrir ni obtener una vista previa. + + Archivo sin extensión (.%1$s) + + Para continuar, debes añadir la extensión del archivo + + Cambio de extensión del archivo + + Es posible que no puedas acceder a este archivo si lo cambias de “.%1$s” a “.%2$s” + + Es posible que no puedas acceder a este archivo si añades “.%1$s” + + Es posible que no puedas acceder a este archivo si remueves “.%1$s” + + Remover + + Usar .%1$s + + Sin extensión + + Dejar .%1$s diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 311123f6bff..5247ffa1717 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,7 +1,7 @@ - MEGA offre un service de stockage nuagique et un système de dialogue en ligne chiffrés, contrôlés par l’utilisateur, en utilisant des navigateurs Web normaux, mais aussi des applis dédiées pour les appareils mobiles. Contrairement aux autres fournisseurs de service de stockage nuagique, vos données sont seulement chiffrées et déchiffrées par vos appareils client et jamais par nous.\n\nTéléversez vos fichiers de votre téléphone intelligent ou tablette, puis recherchez, stockez, téléchargez, lisez en continu, visualisez, partagez, renommez ou supprimez vos fichiers n’importe quand, de n’importe quel appareil, n’importe où. Partagez des dossiers avec vos contacts et suivez leurs modifications en temps réel. Le processus de chiffrement implique que nous ne pouvons ni accéder à votre mot de passe ni le réinitialiser. Vous DEVEZ donc le mémoriser (à moins que vous ayez sauvegardé votre clé de récupération) ou vous perdrez l’accès à vos fichiers stockés.\n\nLe système de dialogue vidéo de MEGA, chiffré de bout en bout par l’utilisateur, permet une confidentialité totale et est proposé pour les navigateurs depuis 2016. Le service a été étendu à notre appli mobile, avec un historique des conversations accessible à partir de plusieurs appareils. Les utilisateurs peuvent aussi facilement ajouter des fichiers à une conversation à partir de leur disque nuagique MEGA.\n\nMEGA offre un généreux espace de stockage gratuit de 50 Go à tous les utilisateurs inscrits, avec des primes d’objectif, et propose des abonnements payants avec des limites beaucoup plus élevées : \n\n\nAbonnement Pro Léger : 4,99 € (4,99 USD) par mois ou 49,99 € (49,99 USD) par an vous donne 400 Go d’espace de stockage et 1 To de quota de transfert par mois.\nAbonnement Pro I : 9,99 € (9,99 USD) par mois ou 99,99 € (99,99 USD) par an vous donne 2 To d’espace de stockage et 2 To de quota de transfert par mois.\nAbonnement Pro II : 19,99 € (19,99 USD) par mois ou 199,99 € (199,99 USD) par an vous donne 8 To d’espace de stockage et 8 To de quota de transfert par mois.\nAbonnement Pro III : 29,99 € (29,99 USD) par mois ou 299,99 € (299,99 USD) par an vous donne 16 To d’espace de stockage et 16 To de quota de transfert par mois.\n\nLes abonnements sont renouvelés automatiquement pour les périodes d’abonnement successives de même durée et au même tarif que la période initiale choisie. Pour gérer vos abonnements, cliquez simplement sur l’icône du magasin Play Store de Google sur votre appareil, connectez-vous avec votre identifiant Google (si ce n’est pas déjà fait) et cliquez sur l’appli MEGA. Vous pourrez y gérer votre abonnement.\n\nPermissions de l’appli : \nWRITE_EXTERNAL_STORAGE (écriture sur la mémoire externe) -> Télécharger vos fichiers de MEGA vers votre appareil et téléverser des fichiers de votre appareil vers MEGA\nCAMERA (appareil photo) -> Prendre des photos et en téléverser vers MEGA\nREAD_CONTACTS (lire les contacts) -> Ajouter facilement des contacts de votre appareil comme contacts MEGA\nRECORD_AUDIO et CAPTURE_VIDEO_OUTPUT (enregistrer du son et capturer la sortie vidéo, micro et appareil photo) -> MEGA offre des appels audio et vidéo chiffrés de bout en bout\n\n\nPour augmenter la confiance des utilisateurs dans le système MEGA, tout le code côté client est publié afin que les chercheurs en matière de sécurité intéressés puissent évaluer le processus de chiffrement. Le code de notre appli mobile se trouve sur : https://github.com/meganz/android\n\nPour de plus amples renseignements, veuillez visiter notre site Web : \nhttps://mega.nz/terms\n\n\nOrdinateur – https://mega.nz/ + MEGA offre un service de stockage nuagique et un système de dialogue en ligne chiffrés, contrôlés par l’utilisateur, en utilisant des navigateurs Web normaux, mais aussi des applis dédiées pour les appareils mobiles. Contrairement aux autres fournisseurs de service de stockage nuagique, vos données sont seulement chiffrées et déchiffrées par vos appareils client et jamais par nous.\n\nTéléversez vos fichiers de votre téléphone intelligent ou tablette, puis recherchez, stockez, téléchargez, lisez en continu, visualisez, partagez, renommez ou supprimez vos fichiers n’importe quand, de n’importe quel appareil, n’importe où. Partagez des dossiers avec vos contacts et suivez leurs modifications en temps réel. Le processus de chiffrement implique que nous ne pouvons ni accéder à votre mot de passe ni le réinitialiser. Vous DEVEZ donc le mémoriser (à moins que vous ayez sauvegardé votre clé de récupération) ou vous perdrez l’accès à vos fichiers stockés.\n\nLe système de dialogue vidéo de MEGA, chiffré de bout en bout par l’utilisateur, permet une confidentialité totale et est proposé pour les navigateurs depuis 2016. Le service a été étendu à notre appli mobile, avec un historique des conversations accessible à partir de plusieurs appareils. Les utilisateurs peuvent aussi facilement ajouter des fichiers à une conversation à partir de leur disque nuagique MEGA.\n\nMEGA offre un généreux espace de stockage gratuit de 50 Go à tous les utilisateurs inscrits, avec des primes d’objectif, et propose des abonnements payants avec des limites beaucoup plus élevées : \n\n\nAbonnement Pro Léger : 4,99 € (4,99 USD) par mois ou 49,99 € (49,99 USD) par an vous donne 400 Go d’espace de stockage et 1 To de quota de transfert par mois.\nAbonnement Pro I : 9,99 € (9,99 USD) par mois ou 99,99 € (99,99 USD) par an vous donne 2 To d’espace de stockage et 2 To de quota de transfert par mois.\nAbonnement Pro II : 19,99 € (19,99 USD) par mois ou 199,99 € (199,99 USD) par an vous donne 8 To d’espace de stockage et 8 To de quota de transfert par mois.\nAbonnement Pro III : 29,99 € (29,99 USD) par mois ou 299,99 € (299,99 USD) par an vous donne 16 To d’espace de stockage et 16 To de quota de transfert par mois.\n\nLes abonnements sont renouvelés automatiquement pour les périodes d’abonnement successives de même durée et au même tarif que la période initiale choisie. Pour gérer vos abonnements, cliquez simplement sur l’icône du magasin Play Store de Google sur votre appareil, connectez-vous avec votre identifiant Google (si ce n’est pas déjà fait) et cliquez sur l’appli MEGA. Vous pourrez y gérer votre abonnement.\n\nPermissions de l’appli : \nWRITE_EXTERNAL_STORAGE (écriture sur la mémoire externe) -> Télécharger vos fichiers de MEGA vers votre appareil et téléverser des fichiers de votre appareil vers MEGA\nCAMERA (appareil photo) -> Prendre des photos et en téléverser vers MEGA\nREAD_CONTACTS (lire les contacts) -> Ajouter facilement des contacts de votre appareil comme contacts MEGA\nRECORD_AUDIO et CAPTURE_VIDEO_OUTPUT (enregistrer du son et capturer la sortie vidéo, micro et appareil photo) -> MEGA offre des appels audio et vidéo chiffrés de bout en bout\n\n\nPour augmenter la confiance des utilisateurs dans le système MEGA, tout le code côté client est publié afin que les chercheurs en matière de sécurité intéressés puissent évaluer le processus de chiffrement. Le code de notre appli mobile se trouve sur : https://github.com/meganz/android \n\nPour de plus amples renseignements, veuillez visiter notre site Web : \nhttps://mega.nz/terms \n\n\nOrdinateur – https://mega.nz/ MEGA, le service de stockage nuagique qui protège vos données personnelles en tout temps. @@ -1511,7 +1511,7 @@ %1$s [A]écrit…[/A] %1$s [A]écrivent…[/A] - + %1$s [A]et plus écrivent…[/A] Plus @@ -3922,4 +3922,24 @@ Échec de mise à jour du fichier. Veuillez réessayer. Le fichier est trop gros et ne peut être ni ouvert ni prévisualisé. + + Fichier sans extension (.%1$s) + + Afin de poursuivre, vous devez saisir une extension de fichier + + Changement de l’extension du fichier + + Vous ne pourrez peut-être pas accéder à ce fichier si vous changez l’extension de « .%1$s » à « %2$s » + + Vous ne pourrez peut-être pas accéder à ce fichier si vous ajoutez l’extension « .%1$s » + + Vous ne pourrez peut-être pas accéder à ce fichier si vous supprimer l’extension « .%1$s » + + Supprimer l’extension + + Utiliser .%1$s + + Pas d’extension + + Conserver .%1$s diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index a88d8e7e8b2..7f1cdd2ad7f 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -7,7 +7,7 @@ Pro Lite - MEGA PDF Viewer + Penampil MEGA PDF dari @@ -207,17 +207,17 @@ Silakan masuk untuk berbagi dengan MEGA - Tautan konfirmasi Anda tidak lagi valid. Akun Anda mungkin sudah diaktifkan atau Anda mungkin telah membatalkan pendaftaran Anda. + Tautan konfirmasi anda tidak lagi valid. Akun anda mungkin sudah diaktifkan atau anda mungkin telah membatalkan pendaftaran anda. - MEGA Space + Ruang MEGA - MEGA Speed + Kecepatan MEGA - MEGA Privacy + Privasi MEGA - MEGA Access + Akses MEGA - Daftarkan sekarang dan dapatkan 50 GB* ruang kosong + Daftarkan sekarang dan dapatkan 50 GB* ruang penyimpanan Upload cepat. Bagikan file dengan siapapun @@ -241,19 +241,19 @@ Anda harus menyetujui Kebijakan Pelayanan - Anda harus setuju bahwa Anda memahami bahaya kehilangan kata sandi Anda + Anda harus setuju bahwa anda memahami bahaya kehilangan kata sandi anda Silahkan masukkan nama anda - Silakan masukkan nama belakang Anda. + Silakan masukkan nama belakang anda. - Password terlalu singkat + Kata sandi terlalu singkat - Password berbeda + Kata sandi berbeda - Surel ini telah memiliki akun di Mega. + Alamat email ini telah memiliki akun terdaftar di MEGA - Sedang menghubungi server: membuat akun + Sedang menghubungi server: Membuat akun Batalkan pemindahan ini? @@ -265,11 +265,11 @@ Transfer yang dipilih akan dibatalkan. - Cloud Drive + Penyimpanan Cloud Baru-baru ini - Media Upload + Unggahan Media Kotak Masuk @@ -289,9 +289,9 @@ Kontak [A](%1$d)[/A] - [B]Tidak [/B][A]mengirim permintaan[/A] + [B]Tidak ada[/B][A]permintaan terkirim[/A] - [B]Tidak [/B][A]menerima permintaan[/A] + [B]Tidak ada [/B][A]permintaan diterima[/A] Pemindahan @@ -299,9 +299,9 @@ Unggahan Kamera - Dibagikan + Masuk - Membagikan + Keluar Tautan @@ -309,9 +309,9 @@ Berbagi dengan - Tidak ada berkas di Cloud Drive anda + Tidak ada berkas di Penyimpanan Cloud anda - Tidak ada file di folder + Folder Kosong PILIH AKUN @@ -323,15 +323,15 @@ Ditambahkan - Link / Tautan untuk umum + Tautan umum Izin - Izin berbagi + Izin Berbagi - Ganti permission + Ganti izin - Dibagikan bersama + Berbagi dengan Kirim ke @@ -353,11 +353,11 @@ Tambahkan kontak baru untuk dibagikan - Tidak cukup ruang kosong di perangkat Anda + Tidak cukup ruang kosong di perangkat anda - Link tanpa key + Tautan tanpa kunci - Decryption key + Kunci dekripsi Mempersiapkan file @@ -383,31 +383,31 @@ Sentuh untuk membatalkan - Lihat transfer + Lihat pemindahan - Sebagian besar perangkat tidak bisa mendownload file lebih besar dari 4GB. Unduhan Anda mungkin akan gagal + Sebagian besar perangkat tidak bisa mengunduh file lebih besar dari 4GB. Unduhan Anda mungkin akan gagal - Tidak ada app tersedia untuk meng-eksekusi file ini pada perangkat anda. + Tidak ada app tersedia untuk mengeksekusi file ini pada perangkat anda - Tidak ada aplikasi yang tersedia di perangkat anda untuk membuka lokasi ini + Tidak ada aplikasi yang tersedia di perangkat anda untuk membuka lokasi ini - Anda mungkin tidak memasang aplikasi apa pun yang mendukung jenis file ini + Anda mungkin tidak memasang aplikasi apa pun yang mendukung jenis file ini Bagikan gambar dengan - Bagikan link + Bagikan tautan - Hapus link + Hapus tautan Dapatkan Tautan Tinggalkan - Tinggalkan pembagian + Tinggalkan berbagi Hapus berbagi - Hapus link + Hapus tautan Tautan ini tidak akan tersedia untuk umum lagi. @@ -417,9 +417,9 @@ Ubah nama - Ganti nama %1$s + Ubah nama %1$s - Buka link + Buka tautan Buka @@ -437,7 +437,7 @@ Unggah - Sedang meng-copy + Sedang mensalin Pindahkan ke Sampah @@ -453,7 +453,7 @@ Kosongkan Sampah - Apakah anda yakin anda ingin menghapus semua benda ini secara permanen dari Sampah anda? + Anda sedang akan menghapus semua benda ini secara permanen dari Sampah anda. Kirim @@ -463,7 +463,7 @@ Hapus dari Offline - Folder Berbagi + Folder berbagi Kirim file ke obrolan @@ -473,23 +473,23 @@ Berbagi - Kelola pembagian + Kelola berbagi Hapus - Request telah dihapus + Permintaan telah dihapus - Request terkirim + Permintaan terkirim kembali Permintaan berhasil dikirim ke %s. Status dapat dikonsultasikan di tab Permintaan Terkirim. Kontak telah dihapus - Error. Kontak belum dihapus + Terjadi kesalahan. Kontak belum dihapus - Permission telah diubah + Izin telah diubah - Error. Permission belum diubah + Terjadi kesalahan. Izin belum diubah Folder sudah ada @@ -499,19 +499,19 @@ Folder telah dibuat - Error. Folder tidak terbuat + Terjadi Kesalahan. Folder tidak terbuat - Berhasil menamakan + Berhasil ubah nama - Error. Belum dinamakan kembali + Terjadi kesalahan. Belum ubah nama - Berhasil di-copy + Berhasil disalin - Terkirim ke Inbox + Terkirim ke Kotak Masuk - Error. Tidak terkirim ke Inbox + Terjadi kesalahan. Tidak terkirim ke Kotak Masuk - Error. Belum ter-copy + Terjadi kesalahan. Belum tersalin Silahkan pilih folder tujuan @@ -521,45 +521,45 @@ %d item tidak berhasil dipindahkan - Pindah ke sampah dengan sukses + Berhasil dipindahkan ke Sampah %d item berhasil dipindahkan ke Sampah -   dan %d item tidak berhasil dikirim + item   dan %d tidak berhasil dikirim - Error. Belum dipindahkan + Terjadi kesalahan. Belum dipindahkan - Telah berhasil membagikan + Berhasil dibagikan - Kesalahan. %d berbagi tidak selesai + Terjadi kesalahan. %d berbagi belum diselesaikan Berhasil menghapus berbagi - Kesalahan. %d proses penghapusan berbagi tidak selesai + Terjadi kesalahan. %d proses penghapusan berbagi tidak selesai - Error. Belum dibagikan + Terjadi kesalahan. Belum dibagikan - Error. Gagal menghilangkan berbagi. + Terjadi kesalahan. Gagal menghilangkan berbagi Folder berbagi dihapus - Gagal mendapatkan link + Gagal membuat tautan - Berhasil dihapus dari MEGA + Berhasil dihapus - Error. Belum dipindahkan dari MEGA + Terjadi kesalahan. Hapus gagal %d item berhasil dihapus dari MEGA %d item tidak berhasil dihapus - %d folder berhasil ditinggalkan. + %d berhasil meninggalkan folder. Berbagi ditinggalkan - %d folder tidak berhasil dibiarkan + %d folder tidak berhasil ditinggalkan - File dikirim ke %d kontak dengan sukses + File berhasil dikirim ke %d kontak File tidak dikirim ke %d kontak @@ -569,7 +569,7 @@ %d item berhasil disalin - %d item tidak disalin + %d item belum disalin %d kontak berhasil dihapus @@ -891,7 +891,6 @@ Masukkan - 1 failed passcode attempt %1$d upaya kode sandi gagal @@ -1490,7 +1489,7 @@ %1$s [A]sedang mengetik..[/A] - + %1$s [A]dan lainnya sedang mengetik…[/A] Selebihnya @@ -1806,7 +1805,7 @@ Hanya-baca - Read & write + Read and write Transfer dihentikan! @@ -3836,4 +3835,24 @@ Pembaruan file gagal. Coba lagi. File terlalu besar dan tidak dapat dibuka atau dipratinjau. + + File tanpa ekstensi (.%1$s) + + Untuk melanjutkan, anda perlu mengetik ekstensi file + + Ekstensi file berubah + + Anda mungkin tidak dapat mengakses file ini jika anda mengubah ekstensi dari “.%1$s” menjadi “.%2$s” + + Anda mungkin tidak dapat mengakses file ini jika anda menambahkan “.%1$s” ekstensi + + Anda mungkin tidak dapat mengakses file ini jika anda menghapus “.%1$s” ekstensi + + Hapus ekstensi + + Gunakan .%1$s + + Tidak ada ekstensi + + Simpan .%1$s diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 6b6061c64aa..8ac78eda331 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1511,7 +1511,7 @@ %1$s [A]sta scrivendo…[/A] %1$s [A]stanno scrivendo…[/A] - + %1$s [A]ed altri stanno scrivendo…[/A] Altro @@ -3922,4 +3922,24 @@ Aggiornamento del file fallito. Riprova. Il file è troppo grande e non può essere aperto o visualizzato in anteprima. + + File senza estensione (.%1$s) + + Per continuare, devi inserire una estensione del file + + Cambio dell’estensione file + + Potresti non riuscire ad accedere a questo file se cambi l’estensione da “.%1$s” a “.%2$s” + + Potresti non riuscire ad accedere a questo file se aggiungi l’estensione “.%1$s” + + Potresti non riuscire ad accedere a questo file se rimuovi l’estensione “.%1$s” + + Rimuovi estensione + + Usa .%1$s + + Nessuna estensione + + Mantieni .%1$s diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1a1b8dcbcde..7914844388d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -39,7 +39,7 @@ 共有 - 残す + 解除 復号化 @@ -401,9 +401,9 @@ リンクを取得 - 残す + 解除 - 共有を残す + 共有を解除 共有を削除 @@ -1489,7 +1489,7 @@ %1$s [A]さんが入力しています…[/A] - + %1$s [A]さんたちが入力しています[/A] 詳細 @@ -3835,4 +3835,24 @@ ファイルの更新に失敗しました。もう一度お試しください。 ファイルのサイズが大きすぎて、開くこともプレビューすることもできません。 + + 拡張子のないファイル (%1$s)。 + + 続行するには、ファイルの拡張子を入力する必要があります。 + + ファイル拡張子の変更 + + 「.%1$s」から「.%2$s」に変更すると、このファイルにアクセスできなくなる可能性があります。 + + 空から「.%1$s」に変更すると、このファイルにアクセスできなくなる可能性があります。 + + 「.%1$s」から空に変更すると、このファイルにアクセスできなくなる可能性があります。 + + 空を使う + + .%1$sを使う + + 空にしておく + + .%1$sにしておく diff --git a/app/src/main/res/values-ja/strings_document_scanner.xml b/app/src/main/res/values-ja/strings_document_scanner.xml index dcd15034b99..c433fe23d7b 100644 --- a/app/src/main/res/values-ja/strings_document_scanner.xml +++ b/app/src/main/res/values-ja/strings_document_scanner.xml @@ -45,7 +45,7 @@ 先に進む前にファイル名を修正してください - %1$sを準備しています。お待ちください… + %1$sを準備しています。お待ちください… 次の文字は許可されていません: ” * / : < > ? \ | diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 68fc5b9abbc..fe210c6a870 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -235,7 +235,7 @@ MEGA의 [A]이용 약관[/A]에 동의합니다 - [B]내가 암호를 잊으면, 데이터에 대한 접근을 잃는다[/B]는 것을 이해하였습니다. [A]MEGA의 종단간 암호화[/A]에 대하여 더 알아보기 + [B]내가 암호를 잊으면, 내 데이터를 잃는다[/B]는 것을 이해하였습니다. [A]MEGA의 종단간 암호화[/A]에 대하여 더 알아보기 이미 계정이 있으신가요? @@ -289,9 +289,9 @@ 연락처 [A](%1$d)[/A] - [A]발송된 요청[/A][B] 없음[/B] + [A]발송된 요청[/A] [B]없음[/B] - [A]수신된 요청[/A][B] 없음[/B] + [A]수신된 요청[/A] [B]없음[/B] 전송 @@ -309,7 +309,7 @@ 다음과의 들어오는 공유 - 당신의 클라우드 드라이브에 파일이 없습니다 + 클라우드 드라이브에 파일 없음 빈 폴더 @@ -333,7 +333,7 @@ 공유된 사람 - 보낼 곳 + 보내기 소유자 @@ -1489,7 +1489,7 @@ %1$s님이 [A]입력중…[/A] - + %1$s님 외 다수가 [A]입력중…[/A] 더 보기 @@ -2454,7 +2454,7 @@ 다음번 로그인 때 당신의 인증기 앱에서 생성된 6자리 코드를 요구합니다. - If you lose access to your account after enabling 2FA and you have not backed up your Recovery Key, MEGA can’t help you gain access to it again.\n <b>복구 키를 백업하세요</b> + Consider exporting your Recovery Key in case you lose access to your app or want to disable Two-Factor Authentication in the future. 잘못된 코드 @@ -3835,4 +3835,24 @@ 파일 업데이트 실패. 다시 시도하세요. 파일이 너무 커서 열거나 미리 볼 수 없습니다. + + 확장자가 없는 파일 (.%1$s) + + 진행하려면 파일 확장자를 입력해야 합니다 + + 파일 확장자 변경 + + 확장자를 “.%1$s”에서 “.%2$s”로 변경하면 이 파일에 접근하지 못할 수 있습니다 + + 확장자를 공백에서 “.%1$s”로 변경하면 이 파일에 접근하지 못할 수 있습니다 + + 확장자를 “.%1$s”에서 공백으로 변경하면 이 파일에 접근하지 못할 수 있습니다 + + 확장자 삭제 + + .%1$s 사용 + + 공백 유지 + + .%1$s 유지 diff --git a/app/src/main/res/values-ko/strings_document_scanner.xml b/app/src/main/res/values-ko/strings_document_scanner.xml index a810c01c944..5040e664a86 100644 --- a/app/src/main/res/values-ko/strings_document_scanner.xml +++ b/app/src/main/res/values-ko/strings_document_scanner.xml @@ -45,7 +45,7 @@ 진행하기 전 파일 이름을 수정하세요 - %1$s 준비중. 잠시 기다리세요… + %1$s 준비중. 잠시 기다리세요… 다음의 문자는 허용되지 않습니다: ” * / : < > ? \ | diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index c6561b3b770..3b662fb27ce 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1511,7 +1511,7 @@ %1$s [A] is aan het schrijven….[/A] %1$s [A]zijn aan het schrijven…..[/A] - + %1$s [A] en meer zijn aan het schrijven…[/A] Meer @@ -3922,4 +3922,24 @@ Bestandsupdate is mislukt. Probeer het opnieuw. Het bestand is te groot en kan niet geopend of weergegeven worden. + + Bestand zonder extensie (.%1$s) + + Om door te gaan moet u een bestand extensie typen + + Bestand extensie wijziging + + U heeft waarschijnlijk geen toegang tot dit bestand als u de extensie wijzigt van “.%1$s” naar “.%2$s” + + U heeft waarschijnlijk geen toegang tot dit bestand als u de “.%1$s” extensie toevoegt + + U heeft waarschijnlijk geen toegang tot dit bestand als u de “.%1$s” extensie verwijderd + + Extensie verwijderen + + Gebruik .%1$s + + Geen extensie + + Bewaar .%1$s diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 3f6bec71a03..f3870d24ebe 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA zapewnia kontrolowane przez użytkownika szyfrowane przechowywanie w chmurze i czat poprzez standardowe przeglądarki internetowe, wraz z dedykowanymi aplikacjami na urządzenia mobilne. W przeciwieństwie do innych dostawców usług przechowywania danych w chmurze, Twoje dane są szyfrowane i odszyfrowywane wyłącznie przez Twoje urządzenia klienckie, a nigdy przez nas.\n\nPrześlij swoje pliki ze smartfona lub tabletu, a następnie wyszukaj, przechowuj, pobierz, przesyłaj strumieniowo, przeglądaj, udostępniaj, zmieniaj nazwy lub usuwaj pliki w dowolnym czasie, z dowolnego urządzenia, w dowolnym miejscu. Udostępniaj foldery swoim kontaktom i obserwuj ich aktualizacje w czasie rzeczywistym. Proces szyfrowania oznacza, że nie możemy uzyskać dostępu ani zresetować Twojego hasła, więc MUSISZ je zapamiętać (chyba, że masz kopię zapasową Recovery Key) lub stracisz dostęp do swoich przechowywanych plików.\n\nSzyfrowany end-to-end użytkownika MEGA czat wideo pozwala na całkowitą prywatność i jest dostępny przez przeglądarkę od 2016 roku. Został on rozszerzony na naszą aplikację mobilną, z historią czatu dostępną na wielu urządzeniach. Użytkownicy mogą również łatwo dodawać pliki do czatu ze swojego MEGA Cloud Drive.\n\nMEGA oferuje hojne 50 GB darmowej pamięci masowej dla wszystkich zarejestrowanych użytkowników z bonusowymi osiągnięciami, a także oferuje płatne plany ze znacznie wyższymi limitami:\n\nSubskrypcja Pro Lite: 4,99 € za miesiąc lub 49,99 € za rok daje 400 GB przestrzeni dyskowej i 1 TB limitu transferu miesięcznie.\nSubskrypcja Pro I: 9,99 € za miesiąc lub 99,99 € za rok daje 2 TB przestrzeni dyskowej i 2 TB limitu transferu miesięcznie.\nSubskrypcja Pro II: 19,99 € miesięcznie lub 199,99 € rocznie daje Ci 8 TB przestrzeni dyskowej i 8 TB transferu miesięcznie.\nAbonament Pro III: 29,99 € miesięcznie lub 299,99 € rocznie daje Ci 16 TB przestrzeni dyskowej i 16 TB transferu miesięcznie.\n\nAbonamenty odnawiają się automatycznie na kolejne okresy abonamentowe o tym samym czasie trwania i w tej samej cenie, co wybrany okres początkowy. Aby zarządzać subskrypcjami, wystarczy kliknąć na ikonę Sklepu Play na swoim urządzeniu mobilnym, zalogować się za pomocą swojego identyfikatora Google (jeśli jeszcze tego nie zrobiłeś), a następnie kliknąć na aplikację MEGA. Tam będziesz mógł zarządzać swoją subskrypcją. Br]\nUprawnienia aplikacji: \nWRITE_EXTERNAL_STORAGE -> Pobieraj swoje pliki z MEGA na urządzenie i przesyłaj pliki z urządzenia do MEGA\nCAMERA -> Zrób zdjęcie i prześlij swoje zdjęcia do MEGA\nREAD_CONTACTS -. > Łatwo dodawaj kontakty z urządzenia jako kontakty MEGA\nRECORD_AUDIO i CAPTURE_VIDEO_OUTPUT (mikrofon i kamera) -> MEGA umożliwia szyfrowane połączenia audio/wideo end-to-end\n\n\nAby zwiększyć zaufanie użytkowników” do systemu MEGA, cały kod po stronie klienta jest publikowany, dzięki czemu zainteresowani badacze bezpieczeństwa mogą ocenić proces szyfrowania. Kod naszej aplikacji mobilnej znajduje się na stronie: https://github.com/meganz/android\n\n Więcej informacji można znaleźć na naszej stronie internetowej:\n\n\nZobacz https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA jest Cloud Storage z potężną, pełną prywatnością. @@ -1555,7 +1555,7 @@ %1$s [A]piszą…[/A] %1$s [A]piszą…[/A] - + %1$s [A]i pozostali piszą…[/A] Więcej @@ -4096,4 +4096,24 @@ Aktualizacja pliku nie powiodła się. Spróbuj ponownie. Plik jest zbyt duży i nie można go otworzyć ani wyświetlić jego podglądu. + + Plik bez rozszerzenia (.%1$s) + + Aby kontynuować, należy wpisać rozszerzenie pliku + + Zmiana rozszerzenia pliku + + Możesz nie być w stanie uzyskać dostępu do tego pliku, jeśli zmienisz go z “.%1$s” na “.%2$s” + + Możesz nie być w stanie uzyskać dostępu do tego pliku. jeśli zmienisz go z pustego na “.%1$s”. + + Możesz nie być w stanie uzyskać dostępu do tego pliku. jeśli zmienisz go z “.%1$s” na pusty + + Użyj pustego + + Użyj .%1$s + + Zachowaj puste + + Zachowaj .%1$s diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 8cf07d9f74a..65eb0868316 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1511,7 +1511,7 @@ %1$s [A]está escrevendo…[/A] %1$s [A]estão escrevendo…[/A] - + %1$s [A]e outros estão escrevendo…[/A] Mais @@ -3922,4 +3922,24 @@ Não foi possível atualizar o arquivo, tente novamente. O arquivo é muito grande e não pode ser aberto ou visualizado. + + File without extension (.%1$s) + + To proceed you need to type a file extension + + File extension change + + You may not be able to access this file if you change the extension from “.%1$s” to “.%2$s” + + You may not be able to access this file if you add the “.%1$s” extension + + You may not be able to access this file if you remove the “.%1$s” extension + + Remove extension + + Use .%1$s + + No extension + + Keep .%1$s diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index fe121043f5f..e3530d83633 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -489,7 +489,7 @@ Partajare - Manage share + Gestionează partajarea Șterge @@ -753,7 +753,7 @@ Înfățișare - Features + Funcții Spațiu de stocare @@ -1527,7 +1527,7 @@ empty %1$s [A]tastează…[/A] - + %1$s [A]și mai mulți tastează…[/A] Mai multe @@ -3772,7 +3772,7 @@ Dezactivat - One day + O zi One week @@ -3839,15 +3839,15 @@ Export link and decryption key separately. - Learn more + Află mai multe Key Share key - Copy key + Copiază cheia - Copy password + Copiază parola Link copied to the clipboard. @@ -3861,13 +3861,13 @@ Link and password successfully sent. - Upgrade to Pro + Upgradează la Pro MEGA Pro users have exclusive access to additional link safety features making your account even more secure. - Our end-to-end encryption system requires a unique key automatically generated for this file. A link with this key is created by default, but you can export the decryption key separately for an added layer of security. + Sistemul nostru de criptare capăt-la-capăt necesită o cheie unică generată automat pentru acest fișier. În mod implicit, este creat un link cu această cheie, însă poți exporta cheia de decriptare separat pentru un strat de securitate suplimentar. - Reset password + Restează parola Share the key for this link? @@ -3919,9 +3919,9 @@ Politica privind cookie-urile - Cookie Settings + Setări privind cookie-urile - Before you continue + Înainte de a continua We use local storage and similar technologies (’Cookies’) to provide our services to you, enhance your experience with our services and customize the adverts you see, including through third parties. Accept our use of Cookies from the beginning of your visit or customise Cookies in Cookie Settings. Read more in our [A]Cookie Policy[/A]. @@ -3931,19 +3931,19 @@ Cookie-uri terță parte - Google Advertising Cookies + Cookie-uri de publicitate Google - Category: Advertising Cookies + Categorie: Cookie-uri de publicitate Used by Google to:\n• customise the adverts Google shows on ours and other services and websites, based on such things as your location and other websites you’ve previously visited;\n• monitor how often you are displayed certain adverts;\n• provide fraud prevention; and\n• determine when you click on a particular advert and then to track the following actions you take in response to that advert.\nhttps://policies.google.com/technologies/partner-sites - Accept Cookies + Acceptă cookie-urile - Essential Cookies + Cookie-uri esențiale - Essential for providing you important functionality and secure access to our services. For this reason, they do not require consent. + Esențiale pentru furnizarea de funcționalități importante și acces securizat la serviciile noastre. Din acest motiv, ele nu necesită consimțământ. - Preference Cookies + Cookie-uri de preferință Permite-ne să ținem minte anumite setări de afișare și formatare pe care le alegi. Neacceptarea acestor cookie-uri va însemna că nu vom putea să ținem minte unele lucruri pentru tine, precum aspectul preferat al ecranului. @@ -4000,4 +4000,24 @@ File update failed. Try again. File is too large and can’t be opened or previewed. + + File without extension (.%1$s) + + To proceed you need to type a file extension + + File extension change + + Este posibil să nu poți accesa acest fișier dacă modifici extensia din „.%1$s” în „.%2$s” + + Este posibil să nu poți accesa acest fișier dacă adaugi extensia „.%1$s” + + Este posibil să nu poți accesa acest fișier dacă elimini extensia „.%1$s” + + Elimină extensia + + Use .%1$s + + Fără extensie + + Keep .%1$s diff --git a/app/src/main/res/values-ro/strings_document_scanner.xml b/app/src/main/res/values-ro/strings_document_scanner.xml index b3977bf7a2a..9ec7d57646d 100644 --- a/app/src/main/res/values-ro/strings_document_scanner.xml +++ b/app/src/main/res/values-ro/strings_document_scanner.xml @@ -19,11 +19,11 @@ Destination - High + Ridicat(ă) Medie - Low + Scăzut(ă) Discard scan? diff --git a/app/src/main/res/values-ro/strings_sdk_errors.xml b/app/src/main/res/values-ro/strings_sdk_errors.xml index 907ae8a9da1..7378354aea5 100644 --- a/app/src/main/res/values-ro/strings_sdk_errors.xml +++ b/app/src/main/res/values-ro/strings_sdk_errors.xml @@ -75,5 +75,5 @@ Eroare HTTP - Transfer failed due to a recursive directory structure + Transferul a eșuat din cauza unei structuri recursive a directoarelor diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 6c2b08c9f51..d59f727af46 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -37,11 +37,11 @@ Удалить - Общий доступ + Поделиться Выйти - Дешифрировать + Дешифровать Экспорт @@ -63,7 +63,7 @@ Импортировать - Хранилище + на диске Квота на передачу @@ -77,7 +77,7 @@ Уже скачано - уже загружен + уже загружено О файле @@ -85,9 +85,9 @@ Подробнее - Ошибка: пожалуйста, попробуйте снова. + Ошибка. Пожалуйста, попробуйте снова. - MEGA-RECOVERYKEY + MEGA-КЛЮЧ-ВОССТАНОВЛЕНИЯ Вторичная медиа-папка не существует, выберите новую папку. @@ -131,11 +131,11 @@ Выбрать все - Очистить раздел + Очистить выбор Значки - Вид списка + Список Сохранить ключ восстановления @@ -159,10 +159,10 @@ - Отправлено %1$s - empty - empty - Отправлено контактам (%1$d) + Отправлено %1$s контакту + Отправлено %1$d контактам + Отправлено %1$d контактам + Отправлено %1$d контактам %s будет скачан. @@ -197,13 +197,13 @@ Вы вышли вышли из системы на этом устройстве из другого места - Расчёт ключей шифрования + Вычисление ключей шифрования Соединение с сервером Обновление списка файлов - Подтвердить уч. запись + Подтвердите аккаунт Проверка ссылки для подтверждения @@ -239,25 +239,25 @@ Фамилия - Я согласен с [A]Условиями использования[/A] MEGA + Я соглашаюсь с [A]условиями предоставления услуг[/A] MEGA - Я понимаю, что [B]потеряв пароль, я могу потерять свои данные[/B] Подробнее о [A]сквозном шифровании MEGA[/A]. + Я понимаю, что, [B]потеряв пароль, я могу потерять свои данные[/B]. Подробнее о [A]сквозном шифровании MEGA[/A]. - Уже есть учётная запись? + Уже есть аккаунт? - Вам нужно согласиться с условиями предоставления услуг + Вам нужно согласиться с нашими условиями предоставления услуг Вы должны согласиться с тем, что понимаете опасность потери пароля - Пожалуйста, введите имя + Пожалуйста, введите своё имя - Введите свою фамилию. + Пожалуйста, введите свою фамилию. Слишком короткий пароль Пароли не совпадают - На введенный вами электронный адрес уже зарегистрирована учётная запись сервиса MEGA. + На введённый вами адрес электронной почты уже зарегистрирован аккаунт MEGA. Подключение к серверу: создание аккаунта @@ -269,8 +269,8 @@ Выбранная передача будет отменена. - empty - empty + Выбранные передачи будут отменены. + Выбранные передачи будут отменены. Выбранные передачи будут отменены. @@ -282,7 +282,7 @@ Входящие - Сохранено локально + Сохраненные локально Не в сети @@ -1555,7 +1555,7 @@ empty %1$s [A]печатают…[/A] - + %1$s [A]и другие печатают…[/A] Больше @@ -4096,4 +4096,24 @@ Не удалось обновить файл. Попробуйте ещё раз. Файл слишком большой, его нельзя открыть или просмотреть. + + Файл без расширения (.%1$s) + + Чтобы продолжить, нужно ввести расширение файла + + Изменение расширения файла + + Возможно, вы не сможете открыть этот файл, если измените расширение с “.%1$s” на “.%2$s” + + Возможно, вы не сможете открыть этот файл, если добавите расширение “.%1$s” + + Возможно, вы не сможете открыть этот файл, если удалите расширение “.%1$s” + + Удалить расширение + + Использовать .%1$s + + Без расширения + + Оставить .%1$s diff --git a/app/src/main/res/values-ru/strings_document_scanner.xml b/app/src/main/res/values-ru/strings_document_scanner.xml index 3305d623fd7..f5bc6b6012d 100644 --- a/app/src/main/res/values-ru/strings_document_scanner.xml +++ b/app/src/main/res/values-ru/strings_document_scanner.xml @@ -37,7 +37,7 @@ Удалить текущее сканирование? - Для сканирования документов нужно разрешить доступ к камере. + Для сканирования документов нужно разрешить доступ к камере Неправильное имя @@ -45,7 +45,7 @@ Исправьте имя файла, прежде чем продолжить - Подготавливаем %1$s. Пожалуйста, подождите… + Подготавливаем %1$s. Пожалуйста, подождите… Следующие символы не допускаются: ” * / : < > ? \ | diff --git a/app/src/main/res/values-ru/strings_sdk_errors.xml b/app/src/main/res/values-ru/strings_sdk_errors.xml index 864041f3f84..0c23c8ede93 100644 --- a/app/src/main/res/values-ru/strings_sdk_errors.xml +++ b/app/src/main/res/values-ru/strings_sdk_errors.xml @@ -15,7 +15,7 @@ Нарушены условия предоставления услуг - Слишком много одновременных соединений или пересылок + Слишком много одновременных соединений или передач Вне диапазона @@ -39,7 +39,7 @@ Заблокировано - Превышение квоты + Превышена квота Временно недоступно diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index fb48a0abb93..52c1c27d78f 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -1490,7 +1490,7 @@ %1$s [A]กำลังพิมพ์…[/A] - + %1$s [A]และคนอื่น ๆ กำลังพิมพ์…[/A] เพิ่มเติม @@ -2457,7 +2457,7 @@ ครั้งต่อไปที่คุณลงชื่อเข้าใช้บัญชีของคุณ ระบบจะขอให้คุณกรอกรหัส 6 หลักที่ได้รับจากแอปตัวรับรองความถูกต้องของคุณ - If you lose access to your account after enabling 2FA and you have not backed up your Recovery Key, MEGA can’t help you gain access to it again.\n <b>สำรองคีย์การกู้คืนของคุณ</b> + Consider exporting your Recovery Key in case you lose access to your app or want to disable Two-Factor Authentication in the future. โค้ดไม่ถูกต้อง @@ -3811,7 +3811,7 @@ มืด - System default + ค่าเริ่มต้นของระบบ Set by Battery Saver @@ -3838,4 +3838,24 @@ File update failed. Try again. File is too large and can’t be opened or previewed. + + File without extension (.%1$s) + + To proceed you need to type a file extension + + File extension change + + You may not be able to access this file if you change the extension from “.%1$s” to “.%2$s” + + You may not be able to access this file if you add the “.%1$s” extension + + You may not be able to access this file if you remove the “.%1$s” extension + + Remove extension + + Use .%1$s + + No extension + + Keep .%1$s diff --git a/app/src/main/res/values-th/strings_sdk_errors.xml b/app/src/main/res/values-th/strings_sdk_errors.xml index 35bdc0df615..3bb98ce8758 100644 --- a/app/src/main/res/values-th/strings_sdk_errors.xml +++ b/app/src/main/res/values-th/strings_sdk_errors.xml @@ -75,5 +75,5 @@ ข้อผิดพลาด HTTP - Transfer failed due to a recursive directory structure + การถ่ายโอนล้มเหลวเนื่องจากมีโครงสร้างของไดเรกทอรีที่ซ้ำกัน diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 56111a11eb8..759d62083db 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA cung cấp không gian lưu trữ điện toán đám mây với công nghệ mã hoá đầu-cuối được điều hành bởi người sử dụng, cùng với dịch vụ chat thông qua trình duyệt web và các ứng dụng cho điện thoại di động. Không như các hãng khác, dữ liệu không thể bị giải mã bởi máy chủ, chỉ có thể thực hiện bởi người dùng trên chính chương trình được sử dụng.\n\nTải lên tệp tin từ smartphone hay máy tính bảng và quản lý bằng cách lưu trữ, tải về, truyền tải, chia sẻ, đổi tên, hay xóa bỏ dữ liệu vào bất cứ thời điểm, thiết bị muốn sử dụng ở bất cứ đâu. Chia sẻ thư mục với tên liên lạc và xem tương tác được cập nhật ngay tức thì. Bảo mật đầu-cuối mang nghĩa rằng mật khẩu BẮT BUỘC phải nhớ (hay cần phải có lưu lại Mã Phục Hồi) không thì sẽ mất toàn quyền truy cập vào tài khoản và mất hết dữ liệu.\n\nCông nghệ mã hóa đầu-cuối điều hành bởi người dùng cho phép thực hiện gọi video một cách bảo mật, và được hỗ trợ từ năm 2016 cho trình duyệt nay đã thực hiện cho app điện thoại, cùng với lịch sử cuộc trò chuyện có thể được xem trên nhiều thiết bị khác nhau. Nguời sử dụng còn có thể chia sẻ tệp tin từ Ổ Mây MEGA của mình vào cuộc chat.\n\nMEGA cung cấp cho mọi tài khoản không gian lưu trữ miễn phí lên đến 50 GB với các nhiệm vụ thưởng để mở rộng thêm không gian cùng các thuê bao trả phí như:\n\n\nGói Pro Lite: €4.99 (US$4.99) mỗi tháng hay €49.99 (US$49.99) mỗi năm cung cấp cho bạn 400 GB không gian lưu trữ và 1 TB cho băng thông truyền tải mỗi tháng.\nGói Pro I: €9.99 (US$9.99) mỗi tháng hay €99.99 (US$99.99) mỗi năm cung cấp cho bạn 2 TB không gian lưu trữ và 2 TB cho băng thông truyền tải mỗi tháng.\nGói Pro II: €19.99 (US$19.99) mỗi tháng hay €199.99 (US$199.99) mỗi năm cung cấp cho bạn 8 TB không gian lưu trữ và 8 TB cho băng thông truyền tải mỗi tháng.\nGói Pro III: €29.99 (US$29.99) mỗi tháng hay €299.99 (US$299.99) mỗi năm cung cấp cho bạn 16 TB không gian lưu trữ và 16 TB cho băng thông truyền tải mỗi tháng. tải mỗi tháng.\n\nGói thuê bao trả phí sẽ tự động mua chu kỳ mới vào ngày cuối hạn với cùng giá và thời hạn như thời kỳ ban đầu. Để quản lý việc mua gói cước, xin vào CH Play trên điện thoại, đăng nhập vào Gmail/Google ID (nếu chưa làm) và tìm đến app MEGA. Từ đó xem, quản lý, mua, hay hủy gói thuê bao.\n\nCấp Quyền Ứng Dụng:\nWRITE_EXTERNAL_STORAGE -> Tải về tệp tin từ MEGA vào trong điện thoại và để lấy tệp tin trong máy tải lên MEGA\nCAMERA -> Chụp ảnh và đăng tải lên MEGA\nREAD_CONTACTS -> Để dễ dàng tìm các tên liên lạc có sử dụng MEGA\nRECORD_AUDIO và CAPTURE_VIDEO_OUTPUT (micrô và camera) -> MEGA cung cấp tính năng bảo mật đầu-cuối và cần dùng để thực hiện các cuộc gọi thoại/video\n\n\nĐể tăng cường sự tin cậy của người sử dụng, tất cả mã nguồn dùng cho phía máy khách đề được công bố, các lập trình viên và khảo sát an ninh mạng có thể vào xem và đánh giá. Mã nguồn xây dựng ứng dụng di động: https://github.com/meganz/android \n\nXem thêm tại website:\nVào https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA - Lưu Trữ Điện Toán Đám Mây với Bảo Mật Luôn Luôn Duy Trì. @@ -169,11 +169,11 @@ Đăng nhập - E-mail + Email Mật khẩu - Xác minh mật khẩu + Xác thực mật khẩu XEM @@ -755,7 +755,7 @@ Mở tệp tin khi tải xong - Hủy tài khoản + Xóa tài khoản Hiện đang dùng %s @@ -1130,7 +1130,7 @@ Nâng cấp ngay - Tăng cường kích thước của ổ mây.[A]Và lấy thêm không gian lưu trữ & băng thông truyền tải với tài khoản hạng PRO! + Tăng cường dung lượng của ổ mây.[A]Lấy thêm không gian lưu trữ & lượng băng thông truyền tải với tài khoản hạng PRO! Mã Khóa Phục Hồi đã được sao lưu vào vị trí: %1s.[A]Đồng thời, mã khóa cũng sẽ có trong mục Lưu về Ngoại Tuyến.[A]Ghi chú: Tệp tin chứa mã khóa sẽ bị xóa nếu bạn đăng xuất tài khoản khỏi ứng dụng MEGA, vì vậy nên lưu và sao chép mã ở một nơi an toàn. @@ -1489,7 +1489,7 @@ %1$s [A]đang viết tin nhắn…[/A] - + %1$s [A]và vài người khác đang viết tin nhắn…[/A] Thêm nữa @@ -2454,7 +2454,7 @@ Vào những lần đăng nhập tiếp theo, hệ thống sẽ yêu cầu nhập một đoạn mã dài 6 chữ số lấy từ App Lập Xác Minh. - If you lose access to your account after enabling 2FA and you have not backed up your Recovery Key, MEGA can’t help you gain access to it again.\n <b>Sao lưu dự phòng Mã Khóa Phục Hồi</b> + Nên cân nhắc và xuất ra Mã Phục Hồi để đề phòng trường hợp mất khả năng truy cập vào ứng dụng hoặc khi muốn tắt Xác Thực 2-Bước trong tương lai. Mã không phù hợp @@ -3835,4 +3835,24 @@ Tệp tin chưa được cập nhật. Xin thử lại. Tệp tin quá lớn và không thể mở hoặc xem trước được. + + Tệp tin viết thiếu dạng (.%1$s) + + Để tiếp tục bạn phải viết đầy đủ tên và dạng tệp tin + + Thay đổi dạng tệp tin + + Bạn có thể sẽ không truy cập được vào tệp tin này nếu bạn thay đổi “.%1$s” thành “.%2$s” + + Bạn có thể sẽ không truy cập được vào tệp tin này nếu bạn thay đổi dạng tệp vô danh thành “.%1$s” + + Bạn có thể sẽ không truy cập được vào tệp tin này nếu bạn thay đổi “.%1$s” thành dạng tệp vô danh + + Dùng vô danh + + Dùng .%1$s + + Dữ vô danh + + Giữ .%1$s diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index caf3cec27a2..ccbabd5b5b0 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1489,7 +1489,7 @@ %1$s [A]正在输入…[/A] - + %1$s [A]和其他人正在输入…[/A] 更多 @@ -2454,7 +2454,7 @@ 您在下次登录账户时,系统会要求您输入验证程序中提供的6位验证码。 - If you lose access to your account after enabling 2FA and you have not backed up your Recovery Key, MEGA can’t help you gain access to it again.\n <b>备份您的恢复密钥</b> + 请导出您的恢复密钥,以便在您忘记密码时或禁用双重验证时使用。 该码无效 @@ -3835,4 +3835,24 @@ 文件更新失败。请重试。 文件太大,无法打开或预览。 + + 文件缺少扩展名(.%1$s) + + 请输入一个文件扩展名 + + 更改文件扩展名 + + 如果将扩展名由“.%1$s”更改为“.%2$s”,则可能无法访问此文件 + + 添加扩展名“.%1$s”后,您可能无法访问此文件 + + 删除扩展名“.%1$s”后,您可能无法访问此文件 + + 删除扩展名 + + 使用.%1$s + + 无扩展名 + + 保留.%1$s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b9111ef5483..8798528ab56 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1,7 +1,7 @@ - MEGA透過標準網頁瀏覽器以及行動裝置專屬應用程式提供用戶可控制的加密雲端儲存及聊天功能。與其他雲端儲存服務供應商不同,您的資料僅可由您的客戶端裝置加密與解密,並非由我們加密。\n\n從智慧型手機或平板電腦上傳檔案,然後從任何裝置搜尋、儲存、下載、串流播放、查看、分享,重新命名或刪除您的檔案。可與您的聯絡人共享資料夾,並即時查看檔案更新狀況。加密功能表示我們無法訪問或重置您的密碼,因此您必須記住它(除非您有備份還原金鑰;忘記密碼時可透過金鑰重設帳號密碼),否則您將無法存取您所儲存的檔案。\n\n點對點用戶加密的MEGA視訊聊天能確保完全的隱私,此功能從2016年起可透過瀏覽器使用,而且現在已支援我們的行動應用程式,可透過多個裝置檢視聊天記錄。用戶還可透過MEGA雲端硬碟輕鬆地將檔案加到聊天室中。\n \n MEGA為所有註冊用戶大方的提供50 GB的免費儲存空間以及成就獎勵,並提供更高空間上限的付費方案:\n\n\nPRO Lite 訂閱:每月4.99歐元或每年49.99歐元,每月為您提供400GB的儲存空間和1TB的傳輸配額。\nPRO I 訂閱:每月9.99歐元或每年99.99歐元,每月為您提供2TB的儲存空間和2TB的傳輸配額。\nPRO II 訂閱:每月19.99歐元或每年199.99歐元,為您提供8TB的儲存空間和每月8TB的傳輸配額。\nPRO III 訂閱:每月29.99歐元或每年299.99歐元,為您提供16TB的儲存空間和每月16TB的傳輸配額。\n\n訂閱將自動續訂,且續期與第一次訂閱的相同,價格也相同。欲管理您的訂閱,只需點擊行動裝置上的Play商店圖示,使用您的Google ID登錄(若您尚未登入的話),然後點擊MEGA應用程式,您就能夠管理您的訂閱。\n\n應用程式存取權限:\n外部儲存裝置資料寫入 - >將您的檔案從MEGA下載到您的裝置並將檔案從您的裝置上傳到MEGA \n 相機 - >拍照並將其上傳到MEGA \n 讀取聯絡人 - > 輕鬆將裝置中的聯絡人匯入以作為MEGA聯絡人 \n錄音與影像截取輸出(存取麥克風與相機) - > MEGA提供點對點加密音訊/視訊通話\n\n\n為了增加用戶”對MEGA系統的信心,所有客戶端程式碼均已發布,有興趣的安全開發人員可以評估我們的加密過程。我們的行動應用程式代碼可於https://github.com/meganz/android 查詢。\n\n相關詳細資訊,請查詢我們的網站:\n請查詢:https://mega.nz/terms \n\n\n桌上型電腦系統 - https://mega.nz/ + MEGA透過標準網頁瀏覽器以及行動裝置專屬應用程式提供用戶可控制的加密雲端儲存及對話功能。與其他雲端儲存服務供應商不同,您的資料僅可由您的客戶端裝置加密與解密,並非由我們加密。\n\n從智慧型手機或平板電腦上傳檔案,然後從任何裝置搜尋、儲存、下載、串流播放、查看、分享,重新命名或刪除您的檔案。可與您的聯絡人共享資料夾,並即時查看檔案更新狀況。加密功能表示我們無法訪問或重置您的密碼,因此您必須記住它(除非您有備份還原金鑰;忘記密碼時可透過金鑰重設帳號密碼),否則您將無法存取您所儲存的檔案。\n\n點對點用戶加密的MEGA視訊對話能確保完全的隱私,此功能從2016年起可透過瀏覽器使用,而且現在已支援我們的行動應用程式,可透過多個裝置檢視對話記錄。用戶還可透過MEGA雲端硬碟輕鬆地將檔案加到對話室中。\n \n MEGA為所有註冊用戶大方的提供50 GB的免費儲存空間以及成就獎勵,並提供更高空間上限的付費方案:\n\n\nPRO Lite 訂閱:每月4.99歐元或每年49.99歐元,每月為您提供400GB的儲存空間和1TB的傳輸配額。\nPRO I 訂閱:每月9.99歐元或每年99.99歐元,每月為您提供2TB的儲存空間和2TB的傳輸配額。\nPRO II 訂閱:每月19.99歐元或每年199.99歐元,為您提供8TB的儲存空間和每月8TB的傳輸配額。\nPRO III 訂閱:每月29.99歐元或每年299.99歐元,為您提供16TB的儲存空間和每月16TB的傳輸配額。\n\n訂閱將自動續訂,且續期與第一次訂閱的相同,價格也相同。欲管理您的訂閱,只需點擊行動裝置上的Play商店圖示,使用您的Google ID登錄(若您尚未登入的話),然後點擊MEGA應用程式,您就能夠管理您的訂閱。\n\n應用程式存取權限:\n外部儲存裝置資料寫入 - >將您的檔案從MEGA下載到您的裝置並將檔案從您的裝置上傳到MEGA \n 相機 - >拍照並將其上傳到MEGA \n 讀取聯絡人 - > 輕鬆將裝置中的聯絡人匯入以作為MEGA聯絡人 \n錄音與影像截取輸出(存取麥克風與相機) - > MEGA提供點對點加密音訊/視訊通話\n\n\n為了增加用戶”對MEGA系統的信心,所有客戶端程式碼均已發布,有興趣的安全開發人員可以評估我們的加密過程。我們的行動應用程式代碼可於https://github.com/meganz/android 查詢。\n\n相關詳細資訊,請查詢我們的網站:\n請查詢:https://mega.nz/terms \n\n\n桌上型電腦系統 - https://mega.nz/ MEGA雲端空間功能強大,永遠保護您的隱私。 @@ -465,9 +465,9 @@ 共享資料夾 - 發送檔案至聊天中 + 發送檔案至對話中 - 分享聯絡人至聊天中 + 分享聯絡人至對話中 查看共享資料夾 @@ -1244,13 +1244,13 @@ 有限制的 - 聊天 + 對話 - 聊天[A](%1$d)[/A] + 對話[A](%1$d)[/A] 封存 - 邀請您的朋友加入聊天,我們能讓您保有隱私,提供安全的加密對話平台。 + 邀請您的朋友加入對話,我們能讓您保有隱私,提供安全的加密對話平台。 小時 @@ -1290,7 +1290,7 @@ 請勿打擾 - 將所有聊天通知靜音 + 將所有對話通知靜音 通知設成靜音 @@ -1304,19 +1304,19 @@ 直到我將它們重新開啟 - 聊天通知將靜音%s + 對話通知將靜音%s - 聊天通知將維持靜音,直到%1$s + 對話通知將維持靜音,直到%1$s - 聊天通知將維持靜音,直到%1$s %2$s + 對話通知將維持靜音,直到%1$s %2$s - 聊天通知已靜音 + 對話通知已靜音 - 聊天通知已啟用 + 對話通知已啟用 維持靜音,直到%1$s @@ -1326,7 +1326,7 @@ 訊息鈴聲 - 清空聊天紀錄 + 清空對話紀錄 分享聯絡人 @@ -1336,15 +1336,15 @@ 清除 - 聊天紀錄已清空 + 對話紀錄已清空 - 發生錯誤。聊天記錄尚未成功清除。 + 發生錯誤。對話記錄尚未成功清除。 新增成員 移除成員 - 使用點對點(用戶控制)加密方式,讓您的聊天內容能保有隱私,並提供重要的安全保證: + 使用點對點(用戶控制)加密方式,讓您的對話內容能保有隱私,並提供重要的安全保證: 此系統能確保您收到的資料是真實無誤地來自原寄件人,且其內容在傳輸過程中也不會被更動。 @@ -1380,7 +1380,7 @@ 要刪除訊息嗎? - 聊天群組 + 對話群組 群組資訊 @@ -1392,7 +1392,7 @@ 參與人 - 確定要把%s從這個聊天中移除? + 確定要把%s從這個對話中移除? 僅能閱讀 @@ -1404,11 +1404,11 @@ 修改名稱 - 如果您離開此聊天群組,您將無法再於此群組中讀取或發送訊息。 + 如果您離開此對話群組,您將無法再於此群組中讀取或發送訊息。 - 確定要離開聊天群組嗎? + 確定要離開對話群組嗎? - 這個人已經在此聊天群組中 + 這個人已經在此對話群組中 已成功邀請%d個參與人 @@ -1416,13 +1416,13 @@ [A]%1$s[/A][D]已被[/D][E]%3$s[/E][B]修改為[/B][C]%2$s[/C] - [A]%1$s[/A]已受[C]%2$s[/C][B]邀請加入聊天群組[/B] + [A]%1$s[/A]已受[C]%2$s[/C][B]邀請加入對話群組[/B] - [A]%1$s[/A]已被[C]%2$s[/C][B]從聊天群組中移除[/B] + [A]%1$s[/A]已被[C]%2$s[/C][B]從對話群組中移除[/B] - [A]%1$s[/A][B]已將此聊天群組更名為 [/B][C]“%2$s”[/C] + [A]%1$s[/A][B]已將此對話群組更名為 [/B][C]“%2$s”[/C] - [A]%1$s[/A][B]已離開此聊天群組[/B] + [A]%1$s[/A][B]已離開此對話群組[/B] 訊息未送出。請點選處理方式 @@ -1430,9 +1430,9 @@ 發生錯誤。您的狀態尚未更改。 - 離開聊天時發生錯誤 + 離開對話時發生錯誤 - 建立聊天時發生錯誤 + 建立對話時發生錯誤 振動 @@ -1442,25 +1442,25 @@ 此訊息已被%1$s刪除 - 聊天紀錄已清空 + 對話紀錄已清空 - 聊天記錄已被%1$s清除 + 對話記錄已被%1$s清除 %1$s已被%3$s更改為%2$s - %1$s已被%2$s邀請並加入此聊天群組中 + %1$s已被%2$s邀請並加入此對話群組中 %2$s已將%1$s從群組中移除 - %1$s已將此聊天群組更名為“%2$s” + %1$s已將此對話群組更名為“%2$s” - %1$s離開了聊天群組 + %1$s離開了對話群組 已複製至剪貼簿 - 開啟聊天時發生錯誤! + 開啟對話時發生錯誤! - 該聊天無法正常開啟 + 該對話無法正常開啟 選擇聯絡人 @@ -1489,7 +1489,7 @@ %1$s [A]正在打字…[/A] - + %1$s [A]和其他人正在打字…[/A] 更多 @@ -1576,12 +1576,12 @@ 此訊息無法被編輯 - %2$d 個檔案中的第 %1$d 個檔案 + %2$d個檔案中的第%1$d個檔案 - 正在完成流程中… + 處理正在完成中… - 查看 + 檢視 停止所有傳輸 @@ -1620,7 +1620,7 @@ 沒有已完成的傳輸 - 正在上傳 %2$d 個檔案中的第 %1$d 個檔案 + 正在上傳%2$d之%1$d個檔案 @@ -1628,15 +1628,15 @@ - 已上傳%2$d中的%1$d個資料夾 + 正在上傳%2$d之%1$d個資料夾 - 正在上載%2$d之%1$d個資料夾(已暫停) + 正在上傳%2$d之%1$d個資料夾(已暫停) - 已上傳 %1$d 個檔案 + 已上傳%1$d個檔案 @@ -1650,7 +1650,7 @@ 總空間:%1$s - 有 %1$d 個檔案未被上傳 + 有%1$d個檔案未被上傳 @@ -1662,19 +1662,19 @@ - 已下載 %1$d 個檔案 + 已下載%1$d個檔案 - 已下載%2$d個檔案中的%1$d個檔案 + 已下載%2$d個%1$d個檔案 - 有 %1$d 個檔案並未被下載 + 有%1$d個檔案未被下載 - 正在下載 %2$d 個檔案中的第 %1$d 個檔案 + 正在下載%2$d之%1$d個檔案 @@ -1692,22 +1692,22 @@ 於未登入狀態下繼續使用 - %1$d 個檔案 + %1$d個檔案 - 查看檔案 + 檢視檔案 匯入 儲存為可離線存取 - 增加至雲端硬碟 + 新增至雲端硬碟 - 查看聯絡人 + 檢視聯絡人 已成功新增至雲端硬碟 - 發生錯誤,無法新增至雲端硬碟中。 + 發生錯誤,無法新增至雲端硬碟 正在連線中… @@ -1753,19 +1753,19 @@ 該使用者不是您的聯絡人 - 使用蜂窩連接 + 使用行動網路 上傳影片 - 已更新個人照片 + 已更新大頭貼 - 錯誤。所選的圖像不存在 + 錯誤。所選的圖片不存在 - 更換個人照片時發生錯誤 + 更換大頭貼時發生錯誤 - 已刪除個人照片 + 已刪除大頭貼 - 刪除個人照片時發生錯誤 + 刪除大頭貼時發生錯誤 更改名稱時發生錯誤 @@ -1785,33 +1785,33 @@ 聯絡人 - 從設備 + 從裝置 刪除帳戶 - 如果您註銷帳戶,您將無法再存取您帳戶裡的資料、您的MEGA聯絡人或對話記錄。\n您將無法還原此操作。 + 如果您刪除帳戶,您將無法再存取您帳戶裡的資料、您的MEGA聯絡人或對話記錄。\n您將無法還原此操作。 刪除 資訊 - 總大小 + 總共大小 包含 連結 - 全權訪問 + 完整存取 - 僅能閱讀 + 僅能讀取 讀取與編輯 - 傳輸已暫停! + 傳輸已暫停 正在上傳… - 壓縮中… + 正在壓縮… 發生錯誤,未送出。 @@ -1821,17 +1821,17 @@ 沒有可用的選項,您已經選擇了自己 - 要刪除附加檔案嗎? + 要移除附加檔案嗎? 查看檔案(%1$d已刪除) - 檔案已發送至%1$s中 + 檔案已發送至%1$s - 檔案已發送至%1$d個聊天對話中 + 檔案已發送至%1$d個對話對話中 - 發生錯誤,未能發送該檔案。 + 發生錯誤,未能發送檔案 - 發生錯誤。該檔案並未傳送到任何一個您所選定的聊天對話中。 + 發生錯誤。該檔案並未發送至任何一個您所選定的對話對話中。 發生錯誤,未能移除該附件。 @@ -1841,31 +1841,31 @@ 訊息 - 最低 + - 新的分享檔案夾 + 新的共享檔案夾 新的聯絡人邀請 - 清空聊天紀錄 + 清空對話紀錄 移除聯絡人 訊息通知 - [A]%1$s[/A][B] 已清空聊天紀錄 [/B] + [A]%1$s[/A][B]已清空對話紀錄[/B] - %1$d 未讀訊息 + %1$d則未讀對話訊息 修改權限 - 刪除共享資料夾的聯絡人共享者 + 刪除共享資料夾裡的聯絡人 要移至垃圾筒嗎? 您確定要將此資料夾移至垃圾筒嗎?這將會停用相機上傳。 - 您確定要將此資料夾移至垃圾筒嗎?這將會停用第二媒體上傳。 + 您確定要將此資料夾移至垃圾筒嗎?這將會停用次要媒體上傳。 要移至垃圾筒嗎? @@ -1873,11 +1873,11 @@ 正在上傳… - 訊息通知 + 對話訊息通知 - 成果 + 成就 - 邀請朋友並獲得獎勵 + 邀請朋友以獲得獎勵 每筆推薦成功,皆可獲得%1$s的儲存空間和%2$s的傳輸配額 @@ -1885,9 +1885,9 @@ 已解鎖的獎勵 - 使用空間量 + 空間使用配額 - 轉介獎勵 + 推薦獎勵 安裝手機應用程式 @@ -1897,7 +1897,7 @@ 安裝MEGA桌面應用程式 - 帳戶配額 + 帳戶基本配額 相機上傳中沒有檔案 @@ -1911,9 +1911,9 @@ 如何使用 - 邀請你的朋友建立一個免費的MEGA帳戶,並安裝我們的手機應用程序吧!對於每筆成功的註冊和應用程式安裝,您都會收到免費儲存空間和傳輸配額的獎勵喔。 + 邀請你的朋友建立一個免費的MEGA帳戶,並安裝我們的手機應用程式吧!對於每筆成功的註冊和應用程式安裝,您都會收到免費儲存空間和傳輸配額的獎勵喔。 - 如果受邀人使用過MEGA,您恐怕就無法獲得介紹獎勵了,而我們也不會發送相關通知給您。小提醒,受邀的聯絡人必須在其設備上安裝MEGA手機應用程式或MEGA桌面應用程式喔。 + 如果受邀人使用過MEGA,您恐怕就無法獲得推薦獎勵了,而我們也不會發送相關通知給您。小提醒,受邀的聯絡人必須在其裝置上安裝MEGA手機應用程式或MEGA桌面應用程式喔。 從手機通訊錄中選擇聯絡人,或輸入多個電子郵件地址。 @@ -1929,27 +1929,27 @@ 安裝我們的手機應用程式後,您就可以獲得%1$s的免費儲存空間與%2$s的傳輸配額,兩者有效期皆為180天。無論在iOS、Android或Windows Phone系統中,您都可以找到我們的手機應用程式。 - 當您驗證您的手機門號時您將獲得%1$s免費儲存空間以及%2$s傳輸配額,但兩者有效期皆為180天。 + 當您驗證您的手機門號時您將獲得%1$s免費儲存空間以及%2$s傳輸配額,兩者有效期皆為180天。 - 因您已安裝我們的MEGA桌面應用程式,您已收到%1$s的儲存空間和%2$s的傳輸配額。 + 因為您安裝了我們的MEGA桌面應用程式,您已獲得%1$s的儲存空間和%2$s的傳輸配額。 - 由於您安裝了我們的手機應用程式,您已獲得%1$s儲存空間以及%2$s傳輸配額。 + 因為您安裝了我們的手機應用程式,您已獲得%1$s儲存空間以及%2$s傳輸配額。 因為您驗證了您的手機門號,您已獲得%1$s免費儲存空間以及%2$s傳輸配額。 - 您已經收到%1$s的儲存空間,是免費的註冊紅利喔。 + 您已經收到%1$s的儲存空間,這是免費的註冊獎勵喔。 - 獎勵將在%1$d天內到期 + 獎勵將在%1$d天到期 - 分享資料夾 + 共享資料夾 如果您離開這些資料夾,您將無法再看到它們。 - 沒有分享的資料夾 + 沒有共享的資料夾 支援 @@ -1961,13 +1961,13 @@ 請在這裡寫下您的意見: - 設備型號 + 裝置型號 - Android安卓版本 + Android版本 新的文字檔案 - 新檔案 + 新的檔案 檔案名稱 @@ -2015,7 +2015,7 @@ 在繼續操作之前,請命名您的檔案名稱 - 音檔 + 音訊檔案 發生錯誤。PDF檔案已損毀或不存在。 @@ -2029,9 +2029,9 @@ 只能新增MEGA聯絡人 - 聊天重新連線中 + 對話重新連線中 - 發生錯誤。無法成功通話。 + 發生錯誤。無法成功建立通話。 您對這個應用程式感到滿意嗎? @@ -2049,13 +2049,13 @@ 未授予任何聯絡權限 - 我的QR二維條碼 + 我的二維條碼 - 二維碼 + 二維條碼 - 重設QR二維條碼 + 重設二維條碼 - 刪除QR二維條碼 + 刪除二維條碼 傳至雲端硬碟 @@ -2067,71 +2067,71 @@ 自動加入 - 掃描您QR二維條碼的MEGA用戶將會自動加入至您的聯絡人列表。 + 掃描您二維條碼的MEGA用戶將會自動加入至您的聯絡人列表。 - 先前的QR二維碼將失效 + 先前的二維條碼將失效 連結已複製到剪貼簿 - QR二維條碼已成功重設 + 二維條碼已成功重設 - QR二維條碼已成功刪除 + 二維條碼已成功刪除 - 由於發生錯誤,QR二維條碼沒有重設。請再試一次。 + 由於發生錯誤,二維條碼沒有重設成功。請再試一次。 - 由於錯誤,QR二維條碼未刪除。請再試一次。 + 由於錯誤,二維條碼未成功刪除。請再試一次。 邀請已發送 - 用戶已被邀請,一旦對方接受邀請,將會出現在您的聯絡人列表中。 + 用戶已被邀請,一旦對方接受邀請,將會出現在您的聯絡人列表。 - 該用戶已被邀請。該邀請被接受後,他將會出現在您的聯絡人列表中。 + 用戶已被邀請。一旦他們接受邀請,將會出現在您的聯絡人列表。 嘗試分享QR檔案時發生錯誤,也許是因為檔案不存在,請稍後再試。 嘗試上傳QR檔案時發生錯誤,也許是因為檔案不存在,請稍後再試。 - 嘗試上載QR檔案時發生錯誤,也許是因為檔案不存在,請稍後再試。 + 嘗試下載QR檔案時發生錯誤,也許是因為檔案不存在,請稍後再試。 - QR二維碼已成功下載到%s + 二維條碼已成功下載到%s 邀請未發送 - QR碼或聯絡人連結無效。請嘗試掃描有效代碼或開啟有效連結。 + 二維條碼或聯絡人連結無效。請嘗試掃描有效二維條碼或開啟有效連結。 邀請沒有送出。%s已經在您的聯絡人列表。 - 此邀請尚未發送。運作時發生錯誤。 + 此邀請尚未發送。處理時發生錯誤。 - 產生QR二維條碼中… + 產生二維條碼中… - 掃描QR二維條碼 + 掃描二維條碼 - 複製鏈接 + 複製連結 - 建立QR二維條碼 + 建立二維條碼 - QR二維條碼成功建立 + 二維條碼成功建立 - 使用您裝置的相機對齊QR二維條碼進行掃描 + 使用您裝置的相機對齊二維條碼進行掃描 - 查看 + 檢視 - 開啟於 + 用…開啟 - 分享於 + 用…共享 - 啟用聊天功能之前請先登入 + 啟用對話功能前請先登入 設定期限 - [B]邀請朋友[/B][A]聊天[/A][B]並享受我們具隱私和安全的加密平台。[/B] + [B]邀請朋友[/B][A]對話[/A][B]並享受我們具隱私和安全的加密平台。[/B] - [A]相機上傳[/A][B]中沒有照片與影片[/B] + [A]相機上傳[/A][B]沒有照片與影片[/B] [B]空的[/B][A]垃圾筒[/A] - [A]收件匣[/A][B]沒有檔案[/B] + [B]沒有檔案在您的[/B][A]收件匣[/A] [B]沒有檔案在您的[/B][A]雲端硬碟[/A] @@ -2143,17 +2143,17 @@ [A]載入[/A] [B]對話中…[/B] - [B]沒有人[/B][A]分享資料夾給你[/A] + [B]沒有人[/B][A]共享資料夾給你[/A] - [B]沒有[/B][A]分享資料夾給別人[/A] + [B]沒有[/B][A]共享資料夾給別人[/A] - [B]無[/B][A]公開連結[/A][B][/B] + [B]沒有[/B][A]公開連結[/A][B][/B] - 送出邀請 + 已送出的邀請 - 接受邀請 + 已接受的邀請 - 超出配額 + 超出空間配額 無效的連結,請申請一個新的有效連結 @@ -2163,13 +2163,13 @@ 連結處理中… - 您的密碼太容易被猜到了。請使用更長的密碼。結合大小寫字母,或添加特殊字符。請避免使用名字或字典中的單詞。 + 您的密碼太容易被猜到了。請使用更長的密碼。結合大小寫字母,或加入特殊字元。請避免使用名字或字典中的單字。 - 您的密碼已足以繼續,但仍建議可再加強密碼強度。 + 您的密碼設定已足以繼續下一步,但仍建議可再加強密碼強度。 - 這個密碼將可承受最典型的暴力破解攻擊。請確保您會好好記牢。 + 這個密碼將可承受最典型的暴力破解攻擊。請確保您會好好記住它。 - 這個密碼將可承受最典型的暴力破解攻擊。請確保您會好好記牢。 + 這個密碼將可承受最典型的暴力破解攻擊。請確保您會好好記住它。 非常弱 @@ -2222,15 +2222,15 @@ MB - %1$d版本 + %1$d個版本 版本數 - 當前的版本 + 目前的版本 - 之前版本 + 之前的版本 還原為此版本 @@ -2243,9 +2243,9 @@ 此版本將永久刪除。 - 這些%d版本將被永久刪除。 + 這些%d版本將被永久移除。 - 上傳檔案至聊天 + 上傳檔案至對話 影片品質 @@ -2264,10 +2264,10 @@ 目前的版本 - 之前版本 + 之前的版本 - %1$d版本檔案 + %1$d個版本檔案 轉發的訊息 @@ -2286,15 +2286,15 @@ 這樣你將能馬上在\n您的Android手機看到新訊息。 - 開啟Android安卓設備 [A]設定[/A] + 開啟Android裝置[A]設定[/A] 開啟[A]應用程式和訊息通知[/A] - 選擇 [A]MEGA[/A] + 選擇[A]MEGA[/A] 開啟[A]應用程式通知[/A] - 切換到開並選擇您的選項 + 切換到開啟並選擇您的選項 檔案已發送 @@ -2302,13 +2302,13 @@ 錯誤。未正確發送 - 發送至聊天對話中 + 發送至對話中 您還記得你的密碼嗎? - 您即將登出,請測試您的密碼以確保您有記住它。\n如果您遺失了密碼,您將無法存取您在MEGA的資料。 + 您即將登出,請測試您的密碼以確保您有記住它。\n如果您遺失密碼,您將無法存取您在MEGA的資料。 - 您即將登出,請測試您的密碼以確保您有記住它。如果您遺失密碼,您將無法存取MEGA資料。 + 請測試您的密碼以確保您有記住它。如果您遺失密碼,您將無法存取您在MEGA的資料。 請別再顯示 @@ -2320,7 +2320,7 @@ 密碼錯誤。\n盡快備份您的還原金鑰! - 您即將登出,請測試您的密碼以確保您有記住它。\n如果您遺失了密碼,您將無法存取您在MEGA的資料。 + 您即將登出,請測試您的密碼以確保您有記住它。\n如果您遺失密碼,您將無法存取您在MEGA的資料。 複製到剪貼簿 @@ -2330,13 +2330,13 @@ 還原金鑰 - 存於檔案系統 + 儲存在檔案系統 已複製到剪貼簿 跳至最新 - 新訊息 + 新的訊息 來電 @@ -2345,16 +2345,16 @@ MEGA背景彈窗通知停用中。\n點擊以更改設定。 - %1$s個未讀訊息 + %1$s則未讀訊息 - %1$d 未讀訊息 + %1$d則未讀對話訊息 - [A]正在載入[/A] [B]訊息…[/B] + [A]正在載入[/A][B]訊息…[/B] - 找不到檔案或資料夾。您是否使用瀏覽器登入了其他帳戶? 您只能在應用程式中,使用您目前登入的帳戶存取檔案或資料夾 + 找不到檔案或資料夾。您是否在您的瀏覽器中使用不同的帳號登入?您只能從目前應用程式所登入的帳戶存取檔案或資料夾。 迴圈 @@ -2366,7 +2366,7 @@ 無法連上MEGA。請檢查您的網路連線或於稍後重試。 - 系統繁忙,請稍等。 + 系統忙碌中,請稍候。 這個過程花費的時間比預期的長。請稍候。 @@ -2400,7 +2400,7 @@ 啟用網址連結預覽功能 - 讓MEGAchat使用更順暢!為了顯示預覽縮圖,系統將會需要搜尋您所傳的連結內容,此動作也代表該連結網址沒有被端對端加密,所以我們需取得您的同意。 + 讓MEGAchat使用更順暢!為了顯示預覽縮圖,系統將對您所傳的連結內容進行檢索,此動作並不會使用點對點加密。 點擊以輸入解密密鑰 @@ -2412,7 +2412,7 @@ %1$d個待處理的聯絡人請求 - 新的聯絡人邀請 + 新的聯絡人請求 寫訊息給“%s”… @@ -2432,7 +2432,7 @@ 為什麼需要雙重驗證? - 雙重驗證是您帳戶的第二層安全保護。這代表著,即使某人持有您的密碼,如果他無法知道只有您會有的六位碼,也無法登入您的帳戶。 + 雙重驗證是您帳戶的第二層安全保護。這代表即使某人持有您的密碼,如果他無法知道只有您才知道的6位數字密碼,也無法登入您的帳戶。 開始設定 @@ -2448,7 +2448,7 @@ 先前的 - 生成種子或QR碼時出錯,請再試一次。 + 生成種子或二維條碼時出錯,請再試一次。 已啟用雙重驗證 @@ -2456,9 +2456,9 @@ 可考慮匯出您的還原金鑰以預防您在未來失去您的應用程式存取權限或是想停用雙重驗證。 - 無效的條碼 + 無效的二維條碼 - 您的驗證設備不見了? + 您的驗證裝置不見了? 登入驗證 @@ -2470,7 +2470,7 @@ 停用 - 您的驗證設備不見了? + 您的驗證裝置不見了? 嘗試停用雙重驗證時發生錯誤。請再試一次。 @@ -2480,9 +2480,9 @@ 已停用雙重驗證 - 開啟於 + 於…開啟 - 在您的設備上,沒有任何可用的應用程式可以用來啟用雙重驗證 + 在您的裝置上,沒有任何可用的應用程式可以用來啟用雙重驗證 關閉 @@ -2492,9 +2492,9 @@ 您想開啟Google Play來安裝身份驗證程式嗎? - 應用商店 + Play商店 - 您需要身份驗證應用程式才能在MEGA上啟用2FA雙重驗證。您可以在手機或平板電腦裡下載並安裝Google Authenticator、Duo Mobile,Authy或Microsoft Authenticator app。 + 您需要身份驗證應用程式才能在MEGA上啟用2FA雙重驗證。您可以在手機或平板電腦裡下載並安裝Google Authenticator、Duo Mobile,Authy或Microsoft Authenticator應用程式。 已成功分享%d個檔案 @@ -2502,7 +2502,7 @@ 預覽內容 - 無法執行串流式傳輸,也未下載檔案 + 無法執行串流傳輸,也未下載檔案 無法開啟檔案。 @@ -2526,7 +2526,7 @@ [A]通話失敗[/A] - [A]未接聽電話[/A] + [A]通話未接[/A] 聯絡人電子郵件 @@ -2540,14 +2540,14 @@ 恢復 - 還原至%s + 恢復至%s - 發生錯誤。未能還原 + 發生錯誤。未能恢復 發送訊息 - 聯絡人資料已成功發送到聊天室中 + 聯絡人資料已成功發送到對話室中 尚不支援MEGAdrop資料夾 @@ -2556,7 +2556,7 @@ 已封存的對話 - 封存聊天 (%d) + 封存對話 (%d) 封存對話 @@ -2566,29 +2566,29 @@ 未封存 - 已封存%s個聊天。 + 已封存%s個對話。 - 發生錯誤。未封存%s個聊天。 + 發生錯誤。未封存%s個對話。 - 取消封存%s個聊天。 + %s個對話未封存。 - 發生錯誤。未能取消封存%s個聊天。 + 發生錯誤。未能封存%s個對話。 - [A]沒有[/A] [B]封存的聊天[/B] + [A]沒有[/A][B]封存的對話[/B] - 不活躍的聊天 + 沒有進行中的對話 - 封存的聊天 + 封存的對話 - 未能成功還原%d個項目 + 未能成功恢復%d個項目 - 成功還原%d個項目 + 成功恢復%d個項目 點擊即可加入通話 邀請聯絡人 - 與之分享 + 與…分享 載入聯絡人… @@ -2598,11 +2598,11 @@ 為您的群組命名 - 確定要把%s從這個聊天對話中移除? + 確定要將%s從這個對話中移除? 檔案版本 - %1$d個檔案版本,總計%2$s個 + %1$d個檔案版本,總共%2$s 檔案管理 @@ -2610,7 +2610,7 @@ 所有當前版本檔案將保留。僅歷史版本的檔案會被刪除。 - 您即將刪除所有檔案的版本歷史記錄。從聯繫人分享給您的任何檔案版本都只有分享者能刪除。\n\n請注意,當前的這個檔案不會被刪除。 + 您即將刪除所有檔案的歷史版本記錄。由聯絡人分享給您的任何檔案版本都只有對方能刪除。\n\n請注意,當前的這個檔案不會被刪除。 已成功刪除檔案版本 @@ -2620,21 +2620,21 @@ 為您整個帳戶啟用或停用檔案版本控制。\n停用檔案版本控制並不會讓您的聯絡人在共享資料夾中無法建立新版本的檔案。 - 選擇聊天 + 選擇對話 點擊、輸入姓名或電子郵件 將%s新增為您的聯絡人? - 您已新增聯繫人%s。 + 您已新增聯絡人%s。 - 您已新增聯繫人%s。 + 您已新增聯絡人%s。 - 與%s分享? + 要與%s分享? - 新群組聊天 + 新群組對話 - 加入連絡人 + 加入聯絡人 已登出 @@ -2650,23 +2650,23 @@ 雲端硬碟幾乎要滿了。立即升級,並獲得高達%1$s的儲存空間和%2$s的傳輸配額。 - 雲端硬碟已經快要滿了。如果您需要更多儲存空間,請聯絡MEGA客服部門,讓我們為您設計專屬方案。 + 雲端硬碟已經快要滿了。如果您需要更多儲存空間,請聯絡MEGA客服部門,讓我們為您設計客製方案。 雲端硬碟已滿。立即升級為專業版帳戶並獲得高達%1$s的儲存空間和%2$s的傳輸配額。 雲端硬碟已滿。立即升級並獲得高達%1$s的儲存空間和%2$s的傳輸配額。 - 雲端硬碟已滿。如果您需要更多儲存空間,請聯絡MEGA客服部門,讓我們為您設計專屬方案。 + 雲端硬碟已滿。如果您需要更多儲存空間,請聯絡MEGA客服部門,讓我們為您設計客製方案。 - 參看方案 + 查看方案 - 客製化方案 + 客製方案 獲得獎勵 - 升級為客製化方案 + 升級為客製方案 - 如何升級到客製化方案,請與我們洽詢: + 如何升級到客製方案,請與我們洽詢: 我: @@ -2678,9 +2678,9 @@ 發送連結到… - 寄給… + 寄到… - 上傳至… + 上傳到… 更多 @@ -2706,13 +2706,13 @@ 要開啟相機? - 如果您開啟相機,您當前通話的視頻傳送將被中斷。 + 如果您開啟相機,您當前通話的視訊傳輸將被中斷。 - 聊天活動 + 對話活動 您可能有新的訊息 - 檢索郵件 + 檢索訊息 垃圾筒清理時程 @@ -2722,9 +2722,9 @@ 最短期間為7天,最長期間為30天。 - 最小尺寸為%1$s,最大尺寸為%2$s。 + 最小大小為%1$s,最大大小為%2$s。 - 刪除較舊的檔案,早於 + 刪除早於此的舊檔案 %d天 @@ -2732,35 +2732,35 @@ 如果要壓縮的影片大於 - 欲停用垃圾筒清理排程或設定更長的保留期限,您需要訂閱一個PRO計劃。 + 欲停用垃圾筒清理排程或設定更長的保留期限,您需要訂閱一個PRO方案。 - 取得聊天連結 + 取得對話連結 - 管理聊天連結 + 管理對話連結 啟用加密金鑰輪替 加密金鑰輪替已啟用 - 加密密鑰輪替更安全一些,但是不允許您建立聊天連結,而且新加入者將看不到舊的訊息。 + 加密金鑰輪替更安全一些,但是不允許您建立對話連結,而且新加入者將看不到舊的訊息。 與超過100位參與者的對話無法使用加密金鑰輪替功能。 - 由於超過參與者人數上限,因此無法將此聊天轉換為私人聊天。 + 由於超過參與人數上限,因此無法將此對話轉換為私人的。 - [A]%1$s[/A][B]建立聊天連結。[/B] + [A]%1$s[/A][B]建立對話連結。[/B] - [A]%1$s[/A][B]移除聊天連結。[/B] + [A]%1$s[/A][B]移除對話連結。[/B] - 刪除聊天室連結 + 刪除對話連結 - 聊天室連結 + 對話連結 - 這將使您退出除了當前活動以外的所有其他連線活動。 + 這將使您退出除了當前之外所有其它進行中的工作階段。 - 您要關閉所有其它連線活動? + 您要關閉所有其它工作階段嗎? %d位與會者 @@ -2768,31 +2768,31 @@ 觀察員 - 加載聊天連結時發生錯誤。 + 加載對話連結時發生錯誤。 - 當加載聊天連結初始化聊天時發生錯誤。 + 當加載對話連結初始化時發生錯誤。 - 您已加入此對談。 + 您已加入對話。 - 此對談預覽已不再可用。如果您退出預覽,將無法再開啟它。 + 此對話預覽已不再可用。如果您退出預覽將無法再開啟它。 [A]%1$s[/A][B]開啟加密金鑰輪替。[/B] - 此對談已無法使用 + 這個對話已無法再使用 - 無效的聊天連結 + 無效的對話連結 加密金鑰輪替 - 加密密鑰輪替更安全一些,但是不允許您建立聊天連結,而且新加入者將看不到舊的訊息。 + 加密金鑰輪替更安全一些,但是不允許您建立對話連結,而且新加入者將看不到舊的訊息。 - 加密密鑰輪替更安全一些,但是不允許您建立聊天連結,而且新加入者將看不到舊的訊息。 + 加密金鑰輪替更安全一些,但是不允許您建立對話連結,而且新加入者將看不到舊的訊息。 - 開啟聊天連結 + 開啟對話連結 - 給聯絡人%s的邀請之前已發送過,可在已發送請求的頁面中查閱。 + 給聯絡人%s的邀請之前已發送過,可在已發送請求的頁面中查看。 - 在雲端硬碟中儲存%s … + 正在將%s儲存到雲端硬碟… 資料夾 @@ -2808,7 +2808,7 @@ 顯示較少 - [A]%s[/A][B]向您發送了聯絡人請求。[/B] + [A]%s[/A][B]向您發送聯絡人請求。[/B] [A]%s[/A][B]現在是聯絡人。[/B] @@ -2828,7 +2828,7 @@ [A]%s[/A][B]已封鎖您。[/B] - [A](%1$d)[/A]則訊息 + [A](%1$d)[/A]則通知 [A]%1$s (%2$s)[/A] @@ -2836,9 +2836,9 @@ [B]帳戶[/B][A]%s[/A][B]已刪除。[/B] - [A]您公開分享的檔案[/A][B]%s[/B][C]已被移除。[/C] + [A]您公開共享的檔案[/A][B]%s[/B][C]已被移除。[/C] - [A]您公開分享的資料夾[/A][B]%s[/B][C]已被移除。[/C] + [A]您公開共享的資料夾[/A][B]%s[/B][C]已被移除。[/C] 此檔案已認定需被移除。 @@ -2852,9 +2852,9 @@ 由於違反服務條款 / 可接受使用政策,%d個檔案未下載。 - [A]您公開分享的檔案[/A][B]%s[/B][C]已經復原。[/C] + [A]您公開共享的檔案[/A][B]%s[/B][C]已經恢復。[/C] - [A]您公開分享的資料夾[/A][B]%s[/B][C]已經恢復。[/C] + [A]您公開共享的資料夾[/A][B]%s[/B][C]已經恢復。[/C] 發送的邀請 @@ -2864,7 +2864,7 @@ [A]%s[/A][B]接受您的聯絡人請求。[/B] - 存取[A]%s[/A][B]分享的資料夾權限[/B][B]已移除[/B] + 存取[A]%s[/A][B]共享的資料夾權限[/B][B]已移除[/B] [A]%s[/A][B]已離開共享資料夾。[/B] @@ -2884,9 +2884,9 @@ 繳費週期 - [A]一次性(月)[/A] %s + [A]一次性(月)[/A] %s - [A]一次性(年)[/A] %s + [A]一次性(年)[/A] %s [A]月繳[/A] %s/月 @@ -2896,19 +2896,19 @@ 繼續 - [A]Google Pay[/A] (訂閱) + [A]Google Pay[/A](訂閱) - [A]華為支付[/A] (訂閱) + [A]華為支付[/A](訂閱) - + 新的 - 想升級您目前的訂閱方案,請聯繫我們客服團隊以取得[A]客製化方案[/A]。 + 想升級您目前的訂閱方案,請聯繫我們客服團隊以取得[A]客製方案[/A]。 檔案名稱 顯示最後上線時間… - 允許您的聯絡人查看您上次在MEGA上活動是什麼時候。 + 允許您的聯絡人查看您上次在MEGA上線是什麼時候。 沒有足夠的儲存空間 @@ -2962,9 +2962,9 @@ 還有%1$s和%2$d - 在您產出聊天室連結之前,您需要先設定說明: + 在您產出對話連結之前,您需要先設定說明: - 聊天連結已複製至剪貼簿 + 對話連結已複製至剪貼簿 [A]自[/A] %s / [A]月[/A] * @@ -3044,15 +3044,15 @@ %1$s已離開通話 - 由於超過參與者人數限制,因此您無法發起通話。 + 由於超過參與人數限制,您無法發起通話。 - 您無法加入此通話,因為它已達到參與人數上限。 + 由於已達到最大參與人數,您無法加入通話, - 由於該群組已達到聊天參與人數上限,因此您無法加入此通話。 + 由於該群組已達到最大參與人數,您無法加入通話。 - 由於此通話已達到視訊參與人數上限,因此您無法開啟視訊。 + 由於此通話已達到最大視訊參與人數,您無法開啟視訊。 - 您無法做通話保留 + 您無法進行通話保留 發生錯誤。該檔案無法打開。 @@ -3070,7 +3070,7 @@ 附近的位置 - 此位置將使用第三方地圖供應商開啟,供應商不屬於端對端加密MEGA平台。 + 此位置將使用不屬於MEGA點對點加密平台的第三方地圖供應商開啟。 發送這個位置 @@ -3087,7 +3087,7 @@ 如果您允許MEGA存取您的通訊錄,您將可以更輕鬆地找到通訊錄中有在使用MEGA的聯絡人。MEGA不會將這些資料用於任何其他用途,並且未經您的同意絕不會與您的聯絡人互動。 - 轉發的訊息 + 訊息已轉發 固定位置 @@ -3095,15 +3095,15 @@ 從檔案系統 - %d個檔案未被傳送至%d個聊天中 + %d個檔案未傳送至%d個對話中 - %d位聯絡人未被傳送至%d個聊天中 + %d位聯絡人未傳送至%d個對話中 - 未發送%d則訊息到%d個對話中 + %d則訊息未發送到%d個對話中 @@ -3112,51 +3112,51 @@ 立即邀請聯絡人? - 查看您在MEGA上的聯絡人 + 尋找您在MEGA上的聯絡人 - 授予MEGA存取您通訊錄的權限,以找到有在使用MEGA的聯絡人。 + 授予MEGA存取您通訊錄的權限,以尋找有在使用MEGA的聯絡人。 正在載入MEGA的聯絡人… - 此內容未被傳送至%d個聊天中 + 此內容未被傳送至%d個對話中 - 新群組已成功建立 + 新群組對話已成功建立 正在準備檔案 以訊息發送。 - 發生錯誤。該檔案並未傳送到任何一個您所選定的聊天對話中。 + 發生錯誤。該檔案並未傳送到任何一個您所選定的對話中。 刪除以前的版本 - 要刪除舊的版本嗎? + 要刪除以前的版本嗎? - 請注意,我們不會刪除最新的檔案。 + 請注意,當前的檔案將不會被刪除。 - 舊的版本已刪除。 + 以前的版本已刪除。 - 舊的版本沒有刪除。 + 以前的版本未刪除。 成功刪除%d個版本 - 尚未刪除%d個版本 + %d個版本未刪除 - 您沒有MEGA聯絡人。請從「聯絡人」頁面邀請朋友。 + 您沒有MEGA聯絡人。請從聯絡人頁面邀請朋友。 邀請更多 - 您握有鑰匙 + 您握有金鑰 追求安全性是我們存在的原因,您的檔案安全地存放在我們運行良好的加密主機中,只有您可以存取您的檔案。 - 加密聊天 + 加密對話 - 完全加密的語音聊天及視訊通話,群組聊天以並整合雲端硬碟的檔案共享。 + 完全加密的語音及視訊通話,群組對話以及整合您雲端硬碟的檔案共享。 建立您的網絡 @@ -3188,15 +3188,15 @@ [A]%1$s[/A][B]已加入群聊。[/B] - 一旦它被刪除,將無法再透過此連結存取聊天室對話內容。 + 一旦它被刪除,將無法再透過此連結存取對話內容。 - 加密金鑰輪替功能不允許您在未建立新群聊的情況下獲取聊天連結。 + 加密金鑰輪替功能不允許您在未建立新群聊的情況下獲取對話連結。 - 您想建立一個新的群組並獲取聊天連結嗎? + 您想建立一個新的群組並獲取對話連結嗎? - 加密密鑰輪替更安全一些,但是不允許您建立聊天連結,而且新加入者將看不到舊的訊息。 + 加密密鑰輪替更安全一些,但是不允許您建立對話連結,而且新加入者將看不到舊的訊息。 - 您已成功加入聊天。 + 您已成功加入對話。 %2$d之%1$d @@ -3230,7 +3230,7 @@ 如要加入此通話,您必須先結束或保留目前的通話。 - 輸入聊天連結 + 輸入對話連結 貼上連結 @@ -3238,9 +3238,9 @@ 請輸入有效的檔案或資料夾連結 - 請輸入有效的聊天連結 + 請輸入有效的對話連結 - 您已貼上一個聊天連結 + 您已貼上一個對話連結 您已貼上一個連絡人連結 @@ -3248,21 +3248,21 @@ 人們可以使用此連結加入您的群組。 - 新的聊天連結 + 新的對話連結 輸入群組名稱 - 您必須為該群組命名,才能建立聊天連結。 + 您必須為該群組命名,才能建立對話連結。 - 邀請聯絡人並開始在MEGA上使用加密聊天功能 + 邀請聯絡人並開始在MEGA上使用加密對話功能 - 使用點對點加密安全地與您的聯絡人聊天 + 使用點對點加密安全地與您的聯絡人對話 嗨!一起在MEGA上與我進行安全的對談,並且獲得高達50GB的免費儲存空間。%1$s - 沒有可用的聊天連結。 + 沒有可用的對話連結。 - 已成功刪除聊天連結。 + 已成功刪除對話連結。 %1$s (已接受) @@ -3402,7 +3402,7 @@ 已傳給 %s 位聯絡人。 - 我的聊天檔案 + 我的對話檔案 錯誤。資料夾%1$s沒有建立 @@ -3598,9 +3598,9 @@ %1$d%%之%2$s - 啟用聊天訊息的特別資訊 + 啟用對話訊息的特別資訊 - 停用聊天訊息的特別資訊 + 停用對話訊息的特別資訊 您已達到%d個回應的最大限制。 @@ -3608,7 +3608,7 @@ [A]%1$s[/A][B]將訊息刪除時間改為[/B][A]%2$s[/A][B]。[/B] - 清空聊天紀錄 + 清空對話紀錄 [A]%1$s[/A][B]停用訊息刪除功能。[/B] @@ -3628,7 +3628,7 @@ 自訂 - 管理聊天記錄 + 管理對話記錄 自動刪除超過此時間的訊息: @@ -3835,4 +3835,24 @@ 檔案更新失敗。再試一次。 檔案太大而無法開啟或預覽。 + + 檔案沒有副檔名 (.%1$s) + + 您需要輸入副檔名才能繼續 + + 副檔名更改 + + 如果您將副檔名從 “.%1$s” 改為 “.%2$s”,您可能無法存取這個檔案 + + 如果您加入 “.%1$s” 副檔名,您可能無法存取這個檔案 + + 如果您移除 “.%1$s” 副檔名 ,您可能無法存取這個檔案 + + 移除副檔名 + + 使用 .%1$s + + 沒有副檔名 + + 保持 .%1$s From cc89ae7297864ddeeca53113120135ae7d20d06f Mon Sep 17 00:00:00 2001 From: Javier Gomez Date: Wed, 26 May 2021 11:44:35 +0200 Subject: [PATCH 13/17] Update version code - v4.1.5 (379) Update SDK and MEGAchat submodules --- app/src/main/jni/mega/sdk | 2 +- app/src/main/jni/megachat/sdk | 2 +- build.gradle | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/jni/mega/sdk b/app/src/main/jni/mega/sdk index 9e83a215575..fc363141f49 160000 --- a/app/src/main/jni/mega/sdk +++ b/app/src/main/jni/mega/sdk @@ -1 +1 @@ -Subproject commit 9e83a215575ad17825896da7f739ed74d98ae3d2 +Subproject commit fc363141f496707d5d0488c575231877d3e8086e diff --git a/app/src/main/jni/megachat/sdk b/app/src/main/jni/megachat/sdk index 4fc544f8262..88e4291cd9c 160000 --- a/app/src/main/jni/megachat/sdk +++ b/app/src/main/jni/megachat/sdk @@ -1 +1 @@ -Subproject commit 4fc544f826207819e5ea53de17c611a36d05acf5 +Subproject commit 88e4291cd9c45065dcc92e688043299db43b8c93 diff --git a/build.gradle b/build.gradle index f1c1811677f..38f347d4332 100644 --- a/build.gradle +++ b/build.gradle @@ -49,8 +49,8 @@ task clean(type: Delete) { // Define versions in a single place ext { // App - appVersion = "4.1.4" - versionCode = 378 + appVersion = "4.1.5" + versionCode = 379 // Sdk and tools compileSdkVersion = 29 From 309af3efe0d09b5e1b5369b233250ddb896c0ba3 Mon Sep 17 00:00:00 2001 From: Yenel Date: Wed, 26 May 2021 16:02:58 +0200 Subject: [PATCH 14/17] Fix wrong icon when the file has no extension T1550967 When a file is renamed with no extension, icon should be blank --- .../privacy/android/app/MimeTypeList.java | 44 ++++++++++--------- .../android/app/utils/MegaNodeDialogUtil.kt | 1 - 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/MimeTypeList.java b/app/src/main/java/mega/privacy/android/app/MimeTypeList.java index 134d7fbda0e..2f3706afddc 100644 --- a/app/src/main/java/mega/privacy/android/app/MimeTypeList.java +++ b/app/src/main/java/mega/privacy/android/app/MimeTypeList.java @@ -12,6 +12,8 @@ import java.util.HashMap; import java.util.List; +import static mega.privacy.android.app.components.textFormatter.TextFormatterUtils.INVALID_INDEX; + /* * Mime type for files */ @@ -102,34 +104,36 @@ public static MimeTypeList typeForName(String name) { name = ""; } String fixedName = name.trim().toLowerCase(); - String extension = null; + String extension = ""; int index = fixedName.lastIndexOf("."); - if((index != -1) && ((index+1) Date: Wed, 26 May 2021 16:19:37 +0200 Subject: [PATCH 15/17] Remove keepExtension at MegaNodeDialogUtil.showFileExtensionWarning T1551012 Rename file with no extension --- .../android/app/utils/MegaNodeDialogUtil.kt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt index cb18704d5fb..fe0b33c0d7c 100644 --- a/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt +++ b/app/src/main/java/mega/privacy/android/app/utils/MegaNodeDialogUtil.kt @@ -513,18 +513,16 @@ object MegaNodeDialogUtil { snackbarShower: SnackbarShower?, actionNodeCallback: ActionNodeCallback? ) { - val keepExtension = if (oldExtension == node.name) "" else oldExtension - val typedOldExt = - if (keepExtension.isEmpty()) typedString.substring(0, typedString.lastIndexOf(".")) + if (oldExtension.isEmpty()) typedString.substring(0, typedString.lastIndexOf(".")) else typedString.substring(0, typedString.lastIndexOf(".") + 1) + oldExtension - val message = if (keepExtension.isEmpty() && newExtension.isNotEmpty()) { + val message = if (oldExtension.isEmpty() && newExtension.isNotEmpty()) { getString(R.string.file_extension_change_warning_old_empty, newExtension) - } else if (keepExtension.isNotEmpty() && newExtension.isEmpty()) { - getString(R.string.file_extension_change_warning_new_empty, keepExtension) + } else if (oldExtension.isNotEmpty() && newExtension.isEmpty()) { + getString(R.string.file_extension_change_warning_new_empty, oldExtension) } else { - getString(R.string.file_extension_change_warning, keepExtension, newExtension) + getString(R.string.file_extension_change_warning, oldExtension, newExtension) } val useButton = if (newExtension.isEmpty()) { @@ -533,10 +531,10 @@ object MegaNodeDialogUtil { getString(R.string.action_use_new_extension, newExtension) } - val keepButton = if (keepExtension.isEmpty()) { + val keepButton = if (oldExtension.isEmpty()) { getString(R.string.action_keep_empty_old_extension) } else { - getString(R.string.action_keep_old_extension, keepExtension) + getString(R.string.action_keep_old_extension, oldExtension) } MaterialAlertDialogBuilder(context) From 0efd0c8741eb8b4a2a5d739f7425e84cfa367510 Mon Sep 17 00:00:00 2001 From: Javier Gomez Date: Fri, 28 May 2021 12:09:36 +0200 Subject: [PATCH 16/17] Update available translations --- .../values-ar/strings_document_scanner.xml | 6 +- app/src/main/res/values-ja/strings.xml | 10 +- app/src/main/res/values-nl/strings.xml | 120 +++++++++--------- app/src/main/res/values-pl/strings.xml | 4 +- app/src/main/res/values-pt/strings.xml | 2 +- app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 42 +++--- app/src/main/res/values-th/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 6 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 120 +++++++++--------- .../values-zh-rTW/strings_karere_errors.xml | 4 +- .../res/values-zh-rTW/strings_sdk_errors.xml | 14 +- app/src/main/res/values/strings.xml | 4 +- 14 files changed, 169 insertions(+), 169 deletions(-) diff --git a/app/src/main/res/values-ar/strings_document_scanner.xml b/app/src/main/res/values-ar/strings_document_scanner.xml index ed2027c3817..4ebe188eb6b 100644 --- a/app/src/main/res/values-ar/strings_document_scanner.xml +++ b/app/src/main/res/values-ar/strings_document_scanner.xml @@ -39,13 +39,13 @@ تحتاج إلى إعطاء إذن الوصول للكاميرا لمسح المستندات ضوئيًا - Incorrect name + اسم غير صحيح عناصر غير صالحة - Correct your filename before proceeding + صحح اسم الملف قبل المتابعة - Preparing %1$s. Please wait… + جاري التحضير%1$s. يرجى الانتظار… الأحرف التالية غير مسموح بها: ” * / : < > ? \ | diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 7914844388d..59a9f0b1347 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3836,7 +3836,7 @@ ファイルのサイズが大きすぎて、開くこともプレビューすることもできません。 - 拡張子のないファイル (%1$s)。 + ファイルに拡張子(%1$s)がありません 続行するには、ファイルの拡張子を入力する必要があります。 @@ -3844,15 +3844,15 @@ 「.%1$s」から「.%2$s」に変更すると、このファイルにアクセスできなくなる可能性があります。 - 空から「.%1$s」に変更すると、このファイルにアクセスできなくなる可能性があります。 + 拡張子「.%1$s」を追加すると、このファイルにアクセスできなくなることがあります。 - 「.%1$s」から空に変更すると、このファイルにアクセスできなくなる可能性があります。 + 拡張子「.%1$s」を削除すると、このファイルにアクセスできなくなることがあります。 - 空を使う + 拡張子を削除 .%1$sを使う - 空にしておく + 拡張子なし .%1$sにしておく diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 3b662fb27ce..9cdc0bc30a9 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA is een Cloud Opslag met Krachtige geïntegreerde Privacy. @@ -49,7 +49,7 @@ Overslaan - Stop + Stoppen Opnieuw proberen @@ -105,13 +105,13 @@ Nieuwe map creëren - Nieuw tekst bestand Creëer + Creëer nieuw tekst bestand - Koppeling Openen + Link openen Instellingen - Zoek + Zoeken Kies uw regio @@ -139,13 +139,13 @@ Reservekopie Herstelsleutel - Abonnement opzeggen + Abonnement Annuleren Het abonnement is geannuleerd We konden uw abonnement niet annuleren. Neem a.u.b. contact op met support@mega.nz voor assistentie - Sluit andere sessie + Sluit andere sessies De overige sessies zijn gesloten @@ -181,13 +181,13 @@ Nieuw bij MEGA? - Maak een account aan + Account Creëren - Vul uw e-mailadres in + Voer uw e-mailadres in Ongeldig e-mailadres - Vul uw wachtwoord in + Voer uw wachtwoord in Geen netwerk verbinding @@ -197,11 +197,11 @@ Verbinding maken met de server - Bijwerken bestandslijst + Bestandslijst bijwerken Account bevestigen - Link validatie controleren + Validatielink controleren Account activeren @@ -209,7 +209,7 @@ Log in om te delen met MEGA - Uw bevestigingskoppeling is niet langer geldig. Uw account kan al geactiveerd zijn of u kunt uw registratie geannuleerd hebben. + Uw bevestigingslink is niet langer geldig. Uw account kan al geactiveerd zijn of u kunt uw registratie geannuleerd hebben. MEGA Opslag @@ -308,7 +308,7 @@ Links - Binnenkomende Deling + Binnenkomende Delingen Binnenkomende deling met @@ -350,7 +350,7 @@ Accepteren - Contact info + Contact informatie Voeg nieuwe contacten toe met de onderstaande knop @@ -401,9 +401,9 @@ U heeft geen enkele applicaties geïnstalleerd die deze bestandstype ondersteunen - Deel afbeelding met + Afbeelding delen via - Deel link + Link delen Link verwijderen @@ -411,13 +411,13 @@ Verlaten - Verlaat deling + Deling verlaten Deling verwijderen - Verwijder link + Link verwijderen - Deze koppeling is niet meer publiekelijk beschikbaar. + Deze link is niet meer publiekelijk beschikbaar. Deze link is niet meer publiekelijk beschikbaar. @@ -466,7 +466,7 @@ Versturen - Stuur naar contact + Verstuur naar contact Verwijderen @@ -508,17 +508,17 @@ Map gecreëerd - Fout. Map is niet gemaakt + Fout. Map niet gecreëerd - Correct hernoemd + Succesvol hernoemd Foutmelding. Niet hernoemd Succesvol gekopieerd - Verzonden naar Postvak In + Verstuurd naar Postvak In - Fout. Niet verzonden naar Postvak In + Fout. Niet verstuurd naar Postvak In Foutmelding. Niet gekopieerd @@ -544,7 +544,7 @@ Delingen succesvol verwijderd - Fout. %d bewerking van verwijderde gedeeld werd niet voltooid + Fout. %d bewerking van verwijderde delingen werd niet voltooid Foutmelding. Niet gedeeld @@ -572,7 +572,7 @@ Bestand was niet verzonden naar %d contacten - %d bestanden succesvol verzonden + %d bestanden succesvol verstuurd %d bestanden mislukt te versturen @@ -624,7 +624,7 @@ Jaarlijks - De map is nu geheim + De map is nu besloten Deling verwijderd @@ -636,7 +636,7 @@ Decoderingssleutel - Voer de decodeer sleutel in voor de link + Voer de decodeersleutel in voor de link Ongeldige decoderingssleutel @@ -659,7 +659,7 @@ Bestanden verwerken - Hulpbron tijdelijk niet beschikbaar, probeer later opnieuw + Bron tijdelijk niet beschikbaar, probeer later opnieuw Kan geselecteerd bestand niet openen @@ -693,7 +693,7 @@ Selecteer abonnement - Maandelijks of jaarlijks betalen + Maandelijks of jaarlijks terugkerend Op dit moment is er geen betaalmethode beschikbaar voor dit abonnement @@ -701,13 +701,13 @@ Jaarlijks* - De koppeling is gekopieerd naar het klembord + De link is gekopieerd naar het klembord De weergave was nog niet gedownload. Wacht a.u.b. De weergave kan niet worden geladen door dat er onvoldoende geheugen beschikbaar is. Probeer later nogmaals. - Meld u af voordat u het account maakt + Log uit voordat u een account aanmaakt Geen actieve overdrachten @@ -765,7 +765,7 @@ Bestand openen wanneer het gedownload is - Verwijder account + Account verwijderen Momenteel %s in gebruik @@ -817,7 +817,7 @@ De verificatie code komt niet overeen. - De code is geverifieert + De code is geverifieerd Onjuiste code. Probeer nogmaals of verstuur opnieuw. @@ -833,7 +833,7 @@ Externe opslag - Wijzig de gebruikers email + Schrijf de gebruikers email Importeren vanuit apparaat @@ -843,7 +843,7 @@ Camera Uploads Uitzetten - Uploaden met + Hoe te uploaden Secundaire Media uploads inschakelen @@ -856,7 +856,7 @@ Alleen Wi-Fi - Upload Bestand + Bestandsupload Alleen foto’s @@ -966,7 +966,7 @@ ZIP Bestanden - Account Soort + Account Type Vernieuwd op   @@ -1080,7 +1080,7 @@ Geweldig! - e-mail vertrekt hier + e-mail komt hier Vul alstublieft hieronder uw e-mailadres in. U ontvangt een herstel link die u de mogelijkheid biedt uw Herstelsleutel in te dienen en uw wachtwoord te resetten. @@ -1110,7 +1110,7 @@ Controleer het e-mail adres en probeer opnieuw. - Wijzig wachtwoord + Wachtwoord resetten Voer uw Herstelsleutel hieronder in @@ -1158,7 +1158,7 @@ U heeft bijna geen ruimte meer! - Maak optimaal gebruik van uw MEGA-account door te upgraden naar PRO. + Maak optimaal gebruik van uw MEGA-account door te upgraden naar Pro. Profielfoto bewerken @@ -1172,7 +1172,7 @@ Ongeldige Herstelsleutel - Koppeling met code + Link met sleutel Wachten op informatie… @@ -1182,7 +1182,7 @@ Bewerken - Instellen vervaldatum + Vervaldatum instellen Wachtwoord bescherming instellen @@ -1295,17 +1295,17 @@ %1$d uitnodiging verzoeken succesvol verzonden maar %2$d verzoeken waren niet verstuurd. - %1s (Mij) + %1s (Ik) Schrijf een bericht Dempen - Dempen uitzetten + Dempen opheffen Niet storen - Demp gesprek notificaties voor + Demp gesprek meldingen voor Meldingen dempen @@ -1346,7 +1346,7 @@ Gesprek wissen - Contacten delen + Contact delen Oproep beltoon @@ -1376,7 +1376,7 @@ Deze link is niet gerelateerd aan dit account. Log in met het juiste account. - Deze annuleringskoppeling is verlopen, probeer nog eens. + Deze annuleringslink is verlopen, probeer nogmaals. Geen resultaten werden gevonden @@ -1426,7 +1426,7 @@ Groepsgesprek verlaten? - De deelnemer is al in deze groepsgesprek + De deelnemer is al opgenomen in dit groepsgesprek %d deelnemers werden succesvol uitgenodigd @@ -1456,7 +1456,7 @@ [A]Uitloggen [/A] om MEGA met een ander account te gebruiken - Weet u zeker dat u zich wilt afmelden bij de huidige account? + Weet u zeker dat u zich wilt afmelden bij het huidige account? Dit bericht werd verwijderd door %1$s @@ -1501,7 +1501,7 @@ Opnieuw proberen - Bericht niet verzonden + Bericht niet verstuurd Bijlage Uploaden @@ -1516,7 +1516,7 @@ Meer - Sluit + Sluiten Algemeen @@ -1524,15 +1524,15 @@ Opslag - Overdracht tegoed + Overdrachtstegoed - Overdracht tegoed + Overdrachtstegoed Abonnement Opslagruimte - Overdracht tegoed + Overdrachtstegoed Beschikbaar @@ -1583,7 +1583,7 @@ Offline - Geen bestanden opgeslagen voor offline + Geen bestanden opgeslagen voor Offline Inschakelen @@ -1602,7 +1602,7 @@ %1$d van %2$d bestanden - Het proces is afgelopen … + Het proces wordt voltooid … Weergeven @@ -1622,7 +1622,7 @@ Alle overdrachten wissen? - Aan de gang + Bezig Voltooid @@ -1738,7 +1738,7 @@ Importeren - Opslaan voor offline + Opslaan voor Offline Toevoegen aan Cloud Schijf diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f3870d24ebe..636b0c34da5 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -4109,11 +4109,11 @@ Możesz nie być w stanie uzyskać dostępu do tego pliku. jeśli zmienisz go z “.%1$s” na pusty - Użyj pustego + Usuń rozszerzenie Użyj .%1$s - Zachowaj puste + Brak rozszerzenia Zachowaj .%1$s diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 65eb0868316..9c427a98d0f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ O MEGA proporciona armazenamento em nuvem com privacidade total. diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index e3530d83633..1a04d37fb5b 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA, serviciul de stocare în cloud cu confidențialitate puternică mereu activă. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d59f727af46..dc82ebbfbbf 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA предоставляет зашифрованные, контролируемые пользователем облачное хранилище и чат в обычных веб-браузерах, а также специальных приложениях для мобильных устройств. В отличие от других облачных хранилищ, здесь данные шифруют и расшифровывают только ваши устройства, а не мы.\n\nЗагружайте файлы со смартфона или планшета, и ищите, храните, скачивайте, транслируйте, просматривайте, раздавайте, переименовывайте или удаляйте когда угодно, с любого устройства, где угодно. Делитесь папками со своими контактами и следите за изменениями в реальном времени. Процесс шифрования означает, что мы не можем получить доступ или сбросить пароль, поэтому вы ДОЛЖНЫ его запомнить (если у вас нет резервной копии ключа восстановления), иначе вы потеряете доступ к сохранённым файлам.\n\nЗащищённый сквозным пользовательским шифрованием видеочат MEGA обеспечивает максимальную приватность и доступен в браузере с 2016 года. Он был расширен для нашего мобильного приложения, и история чата доступна на нескольких устройствах. Пользователи также могут легко добавлять файлы в чат из своего облачного диска MEGA.\n\nMEGA щедро предлагает бесплатные 50 ГБ для всех зарегистрированных пользователей с бонусными достижениями и предлагает платные подписки с гораздо более высокими лимитами:\n\n\nПодписка Pro Lite: 4,99 € в месяц или 49,99 € в год предоставляет 400 ГБ дискового пространства и 1 ТБ трафика в месяц.\nПодписка Pro I: 9,99 € в месяц или 99,99 € в год предоставляет 2 ТБ дискового пространства и 2 ТБ трафика в месяц.\nПодписка Pro II: 19,99 € в месяц или 199,99 € в год предоставляет 8 ТБ дискового пространства и 8 ТБ трафика в месяц.\nПодписка Pro III: 29,99 € в месяц или 299,99 € в год предоставляет 16 ТБ дискового пространства и 16 TB ТБ трафика в месяц.\n\nПодписки продлеваются автоматически на тот же срок по такой же цене. Чтобы управлять подписками, просто нажмите на значок Play Store на своем мобильном устройстве, войдите в свой аккаунт Google (если вы ещё этого не сделали), а затем нажмите на приложение MEGA. Там вы сможете управлять подпиской.\n\nРазрешения приложений:\nWRITE_EXTERNAL_STORAGE -> Скачивайте свои файлы с MEGA на устройство и загружайте файлы с устройства в MEGA\nCAMERA -> Делайте снимки и загружайте фото в MEGA\nREAD_CONTACTS -> Просто добавляйте контакты с устройства в свои MEGA-контакты\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (микрофон и камера) -> MEGA предоставляет сквозные зашифрованные аудио/видео звонки\n\n\nЧтобы повысить доверие пользователей к системе MEGA, весь клиентский код публикуется, поэтому заинтересованные исследователи безопасности могут оценить процесс шифрования. Код мобильного приложения расположен здесь: https://github.com/meganz/android \n\nБольше информации на нашем сайте:\nСмотрите https://mega.nz/terms \n\n\nНастольный — https://mega.nz/ MEGA — это облачное хранилище с мощной и постоянной конфиденциальностью. @@ -306,7 +306,7 @@ Мой аккаунт - Загрузки с камеры + Загрузки из камеры Входящие @@ -314,7 +314,7 @@ Ссылки - Входящие общие папки + Входящие общие элементы Открытый доступ от @@ -371,31 +371,31 @@ Подготовка файлов - Загрузка началась - empty - empty - Скачивания (%1$d) начаты + Скачивание началось + Начато %1$d скачивания + Начато %1$d скачиваний + Начато %1$d скачиваний Скачивание завершено - empty - empty - Скачивания (%1$d) завершены + Завершено %1$d скачивания + Завершено %1$d скачиваний + Завершено %1$d скачиваний Загрузка началась - empty - empty - Загрузки (%1$d) начаты + Начато %1$d загрузки + Начато %1$d загрузок + Начато %1$d загрузок Загрузка завершена - empty - empty - Загрузки завершены: %1$d + Завершено %1$d загрузки + Завершено %1$d загрузок + Завершено %1$d загрузок @@ -1850,8 +1850,8 @@ Не удалось удалить ссылку. Попробуйте позже. - empty - empty + Не удалось удалить некоторые ссылки. Пожалуйста, попробуйте позже. + Не удалось удалить некоторые ссылки. Пожалуйста, попробуйте позже. Не удалось удалить некоторые ссылки. Пожалуйста, попробуйте позже. @@ -2451,9 +2451,9 @@ Файл отправлен - empty - empty - Отправленные файлы + Файлы отправлены + Файлы отправлены + Файлы отправлены Ошибка. Отправлено неправильно diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 52c1c27d78f..d73ae59ef0b 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA เป็นระบบจัดเก็บไฟล์ในระบบคลาวด์ พร้อมด้วยความเป็นส่วนตัวอย่างทรงพลัง diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 759d62083db..9e925be93b6 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -481,7 +481,7 @@ Thư mời đã được gửi lại lần nữa - Lời mời đã được gửi tới %s thành công. Theo dõi tình trạng của lời mời trong phần Yêu Cầu Gửi Đi. + Lời mời đã được gửi tới %s thành công. Theo dõi tình trạng của lời mời trong tab Yêu Cầu Gửi Đi. Đã xóa tên liên lạc @@ -1274,7 +1274,7 @@ Đang tải danh bạ từ điện thoại… - %d yêu cầu đã được gửi đi. + %d yêu cầu đã được gửi đi rồi. %d lời mời đã được gửi đi thành công. @@ -2790,7 +2790,7 @@ Mở đường liên kết vào cuộc chát - Lời mời đã được gửi tới %s trước đây rồi. Theo dõi tình trạng của lời mời trong phần Yêu Cầu Gửi Đi. + Lời mời đã được gửi tới tên liên lạc %s trước đây rồi. Theo dõi tình trạng của lời mời trong tab Yêu Cầu Gửi Đi. Đang lưu %s vào Ổ Mây… diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ccbabd5b5b0..fffe35625ea 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA是全面专注隐私保护的云端存储平台。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8798528ab56..38e3fee4ea3 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1,7 +1,7 @@ - MEGA透過標準網頁瀏覽器以及行動裝置專屬應用程式提供用戶可控制的加密雲端儲存及對話功能。與其他雲端儲存服務供應商不同,您的資料僅可由您的客戶端裝置加密與解密,並非由我們加密。\n\n從智慧型手機或平板電腦上傳檔案,然後從任何裝置搜尋、儲存、下載、串流播放、查看、分享,重新命名或刪除您的檔案。可與您的聯絡人共享資料夾,並即時查看檔案更新狀況。加密功能表示我們無法訪問或重置您的密碼,因此您必須記住它(除非您有備份還原金鑰;忘記密碼時可透過金鑰重設帳號密碼),否則您將無法存取您所儲存的檔案。\n\n點對點用戶加密的MEGA視訊對話能確保完全的隱私,此功能從2016年起可透過瀏覽器使用,而且現在已支援我們的行動應用程式,可透過多個裝置檢視對話記錄。用戶還可透過MEGA雲端硬碟輕鬆地將檔案加到對話室中。\n \n MEGA為所有註冊用戶大方的提供50 GB的免費儲存空間以及成就獎勵,並提供更高空間上限的付費方案:\n\n\nPRO Lite 訂閱:每月4.99歐元或每年49.99歐元,每月為您提供400GB的儲存空間和1TB的傳輸配額。\nPRO I 訂閱:每月9.99歐元或每年99.99歐元,每月為您提供2TB的儲存空間和2TB的傳輸配額。\nPRO II 訂閱:每月19.99歐元或每年199.99歐元,為您提供8TB的儲存空間和每月8TB的傳輸配額。\nPRO III 訂閱:每月29.99歐元或每年299.99歐元,為您提供16TB的儲存空間和每月16TB的傳輸配額。\n\n訂閱將自動續訂,且續期與第一次訂閱的相同,價格也相同。欲管理您的訂閱,只需點擊行動裝置上的Play商店圖示,使用您的Google ID登錄(若您尚未登入的話),然後點擊MEGA應用程式,您就能夠管理您的訂閱。\n\n應用程式存取權限:\n外部儲存裝置資料寫入 - >將您的檔案從MEGA下載到您的裝置並將檔案從您的裝置上傳到MEGA \n 相機 - >拍照並將其上傳到MEGA \n 讀取聯絡人 - > 輕鬆將裝置中的聯絡人匯入以作為MEGA聯絡人 \n錄音與影像截取輸出(存取麥克風與相機) - > MEGA提供點對點加密音訊/視訊通話\n\n\n為了增加用戶”對MEGA系統的信心,所有客戶端程式碼均已發布,有興趣的安全開發人員可以評估我們的加密過程。我們的行動應用程式代碼可於https://github.com/meganz/android 查詢。\n\n相關詳細資訊,請查詢我們的網站:\n請查詢:https://mega.nz/terms \n\n\n桌上型電腦系統 - https://mega.nz/ + MEGA透過標準網頁瀏覽器以及行動裝置專屬應用程式提供用戶可控制的加密雲端儲存及對話功能。與其他雲端儲存服務供應商不同,您的資料僅可由您的客戶端裝置加密與解密,並非由我們加密。\n\n從智慧型手機或平板電腦上傳檔案,然後從任何裝置搜尋、儲存、下載、串流播放、查看、分享,重新命名或刪除您的檔案。可與您的聯絡人共享資料夾,並即時查看檔案更新狀況。加密功能表示我們無法訪問或重置您的密碼,因此您必須記住它(除非您有備份還原金鑰;忘記密碼時可透過金鑰重設帳號密碼),否則您將無法存取您所儲存的檔案。\n\n點對點用戶加密的MEGA視訊對話能確保完全的隱私,此功能從2016年起可透過瀏覽器使用,而且現在已支援我們的行動應用程式,可透過多個裝置檢視對話記錄。用戶還可透過MEGA雲端硬碟輕鬆地將檔案加到對話室中。\n \n MEGA為所有註冊用戶大方的提供50 GB的免費儲存空間以及成就獎勵,並提供更高空間上限的付費方案:\n\n\nPRO Lite 訂閱:每月4.99歐元或每年49.99歐元,每月為您提供400GB的儲存空間和1TB的傳輸配額。\nPRO I 訂閱:每月9.99歐元或每年99.99歐元,每月為您提供2TB的儲存空間和2TB的傳輸配額。\nPRO II 訂閱:每月19.99歐元或每年199.99歐元,為您提供8TB的儲存空間和每月8TB的傳輸配額。\nPRO III 訂閱:每月29.99歐元或每年299.99歐元,為您提供16TB的儲存空間和每月16TB的傳輸配額。\n\n訂閱將自動續訂,且續期與第一次訂閱的相同,價格也相同。欲管理您的訂閱,只需點擊行動裝置上的Play商店圖示,使用您的Google ID登錄(若您尚未登入的話),然後點擊MEGA應用程式,您就能夠管理您的訂閱。\n\n應用程式存取權限:\n外部儲存裝置資料寫入 - >將您的檔案從MEGA下載到您的裝置並將檔案從您的裝置上傳到MEGA \n 相機 - >拍照並將其上傳到MEGA \n 讀取聯絡人 - > 輕鬆將裝置中的聯絡人匯入以作為MEGA聯絡人 \n錄音與影像截取輸出(存取麥克風與相機) - > MEGA提供點對點加密音訊/視訊通話\n\n\n為了增加用戶對MEGA系統的信心,所有客戶端程式碼均已發布,有興趣的安全開發人員可以評估我們的加密過程。我們的行動應用程式代碼可於https://github.com/meganz/android 查詢。\n\n相關詳細資訊,請查詢我們的網站:\n請查詢:https://mega.nz/terms \n\n\n桌上型電腦系統 - https://mega.nz/ MEGA雲端空間功能強大,永遠保護您的隱私。 @@ -143,7 +143,7 @@ 此筆訂閱已經成功取消 - 我們無法取消您的訂閱。請聯絡 support@mega.nz 以獲得協助。 + 我們無法取消您的訂閱。請聯絡 support@mega.nz 以取得協助。 關閉其他登入帳戶 @@ -1130,7 +1130,7 @@ 現在就升級 - 提升雲端容量![A]升級至專業版帳戶,以獲得更多空間 & 傳輸配額! + 提升雲端容量![A]升級至專業版帳戶,以取得更多空間 & 傳輸配額! 還原金鑰已備份至:%1s。[A]當檔案仍在此路徑中時,您可在儲存為可離線存取區裡找到它。[A]請注意:在您登出後,離線存取裡的還原金鑰將會被刪除,請將它儲存在一個安全的地方。 @@ -2654,7 +2654,7 @@ 雲端硬碟已滿。立即升級為專業版帳戶並獲得高達%1$s的儲存空間和%2$s的傳輸配額。 - 雲端硬碟已滿。立即升級並獲得高達%1$s的儲存空間和%2$s的傳輸配額。 + 雲端硬碟已滿。立即升級並取得高達%1$s的儲存空間和%2$s的傳輸配額。 雲端硬碟已滿。如果您需要更多儲存空間,請聯絡MEGA客服部門,讓我們為您設計客製方案。 @@ -2762,7 +2762,7 @@ 您要關閉所有其它工作階段嗎? - %d位與會者 + %d位參與者 加入 @@ -2931,7 +2931,7 @@ 1個資料夾 · %1$d個檔案 - %d 個檔案 + %d個檔案 @@ -2957,7 +2957,7 @@ - %d位與會者 + %d位參與者 還有%1$s和%2$d @@ -3168,13 +3168,13 @@ 請輸入您的密碼 - %s是受密碼保護的PDF檔。請輸入密碼以打開此PDF。 + %s是受密碼保護的PDF檔。請輸入密碼以開啟此PDF。 - 您輸入了錯誤的密碼,請重試。 + 您輸入錯誤密碼,請重試。 您輸入的密碼無效。 - 無法打開檔案。可能因為它是未知的檔案類型,或者無法成功解壓縮檔案。 + 無法開啟檔案。可能因為它是未知的檔案類型,或者無法成功解壓縮檔案。 正在通話時無法播放影音檔案。 @@ -3186,15 +3186,15 @@ 您目前正在通話 - [A]%1$s[/A][B]已加入群聊。[/B] + [A]%1$s[/A][B]已加入群組對話。[/B] 一旦它被刪除,將無法再透過此連結存取對話內容。 - 加密金鑰輪替功能不允許您在未建立新群聊的情況下獲取對話連結。 + 加密金鑰輪替功能不允許您在未建立新群組對話的情況下獲取對話連結。 - 您想建立一個新的群組並獲取對話連結嗎? + 您想建立一個新的群組對話並產出對話連結嗎? - 加密密鑰輪替更安全一些,但是不允許您建立對話連結,而且新加入者將看不到舊的訊息。 + 加密金鑰輪替更安全一些,但是不允許您建立對話連結,而且新參與者將看不到舊的訊息。 您已成功加入對話。 @@ -3202,7 +3202,7 @@ 搜尋… - 應答 + 答覆 忽略 @@ -3286,7 +3286,7 @@ 邀請朋友 - 邀請朋友… + 透過…邀請朋友 已下載%d個檔案。  @@ -3302,23 +3302,23 @@ 近期的 - 交談 + 對話 [B]沒有檔案在您的[/B][A]近期存取[/A] 還有%1$s和%2$d - %d張圖像 + %d張圖片 %d個影片 - %1$d張圖像與%2$d個影片 + %1$d張圖片與%2$d個影片 - %d張圖像與1個影片 + %d張圖片與1個影片 - 1張圖像與%d個影片 + 1張圖片與%d個影片 - 1張圖像與1個影片 + 1張圖片與1個影片 由%s[A]建立[/A] @@ -3344,7 +3344,7 @@ 讀取中 - 請等待…… + 請等待… 帳戶類型 @@ -3366,13 +3366,13 @@ 用量 - 空間使用細節 + 空間使用狀態 總使用量 傳輸 - 您無法以刪除聯絡人方式刪除%1$s,因為他們是您商業帳戶的成員之一。 + 您無法以刪除聯絡人的方式刪除%1$s,因為他們是您商業帳戶的成員之一。 您最近一次付款有問題。請使用電腦版瀏覽器登入MEGA以取得更多訊息。 @@ -3400,7 +3400,7 @@ 請選擇一個或多個聯絡人。 - 已傳給 %s 位聯絡人。 + 已傳給%s位聯絡人。 我的對話檔案 @@ -3458,7 +3458,7 @@ 您確定要終止這%1$d個資料夾的共享嗎? - 下載地址 + 下載位址 總是儲存在此位置? @@ -3468,7 +3468,7 @@ 附加自⋯ - 對話建立於%s + 對話已建立%s 對話建立於%s @@ -3482,13 +3482,13 @@ 超出傳輸配額 - 超出空間配額的儲存 + 儲存空間超出配額 獲取更多傳輸配額 - 該資料夾不存在 + 資料夾不存在 - 該檔案在雲端硬碟中不存在。 + 檔案在雲端硬碟中不存在。 空間已滿 @@ -3548,9 +3548,9 @@ 您的帳戶已被鎖定。請連繫 support@mega.nz - 您的帳戶已被您的管理員停用。相關詳細資訊,請與您的商業帳戶管理員聯絡。 + 您的帳戶已被您的管理員停用。相關詳細資訊請與您的商業帳戶管理員聯繫。 - 您的帳戶已被管理員刪除。有關更多資訊,請與您的商業帳戶管理員聯繫。 + 您的帳戶已被管理員刪除。有關更多資訊請與您的商業帳戶管理員聯繫。 修改 @@ -3596,7 +3596,7 @@ 取消暫停傳輸即可繼續上傳。 - %1$d%%之%2$s + %2$s之%1$d%% 啟用對話訊息的特別資訊 @@ -3606,17 +3606,17 @@ 此訊息已達到%d個回應的最大限制。 - [A]%1$s[/A][B]將訊息刪除時間改為[/B][A]%2$s[/A][B]。[/B] + [A]%1$s[/A][B]將訊息清除時間改為[/B][A]%2$s[/A][B]。[/B] - 清空對話紀錄 + 清除對話紀錄 - [A]%1$s[/A][B]停用訊息刪除功能。[/B] + [A]%1$s[/A][B]停用訊息清除功能。[/B] 刪除此對話中所有訊息和分享的檔案。此動作是無法復原的。 歷史記錄清除 - 自動刪除超過一定時間的訊息。 + 自動刪除超過一段時間的訊息。 停用 @@ -3630,7 +3630,7 @@ 管理對話記錄 - 自動刪除超過此時間的訊息: + 自動清除超過此時間的訊息: 清除此對話的全部訊息記錄? @@ -3668,31 +3668,31 @@ 選擇傳輸 - 傳輸 ”%1$s” 的優先變更失敗。 + 傳輸 “%1$s” 的優先變更失敗。 - 各別發送解密密鑰 + 各別發送解密金鑰 - 各別匯出連結與解密密鑰 + 各別匯出連結與解密金鑰 瞭解更多 - 密鑰 + 金鑰 - 分享密鑰 + 分享金鑰 - 複製密鑰 + 複製金鑰 複製密碼 連結已複製到剪貼簿 - 密鑰已複製到剪貼簿 + 金鑰已複製到剪貼簿 密碼已複製到剪貼簿 連結已成功發送。 - 連結和密鑰已成功發送。 + 連結和金鑰已成功發送。 連結和密碼已成功發送。 @@ -3700,17 +3700,17 @@ MEGA專業版用戶可以獨享額外的連結安全功能,讓您的帳戶更加安全。 - 我們的點對點加密系統需要有為此檔案自動生成的唯一密鑰才能開啟。預設情況下會自動產生帶有此密鑰的連結,但為了更加安全考量,您可以將解密密鑰單獨匯出。 + 我們的點對點加密系統需要有為此檔案自動生成的唯一金鑰才能開啟。預設情況下會自動產生帶有此金鑰的連結,但為了更加安全考量,您可以將解密金鑰單獨匯出。 重設密碼 - 分享此連結的密鑰? + 分享此連結的金鑰? 分享此連結的密碼? 分享密碼 - 連結: %1$s\n\n密鑰: %2$s + 連結: %1$s\n\n金鑰: %2$s 連結: %1$s\n\n密碼: %2$s @@ -3718,7 +3718,7 @@ 喜歡 - 移除最愛 + 移除喜歡 標籤… @@ -3746,7 +3746,7 @@ 正在播放 - 正在播放(暫停) + 正在播放(暫停) 歌曲資訊 @@ -3770,7 +3770,7 @@ 類別:廣告Cookies - Google用來:\n• 根據您的位置和您以前訪問過的其他網站,自定義Google在我們的服務以及其他服務和網站上顯示的廣告;\n• 監測您多久看到某些廣告;\n• 提供防止欺騙的廣告功能;和\n• 確定您何時點擊廣告,然後追蹤您針對該廣告接下來所採取的動作。\n https://policies.google.com/technologies/partner-sites + Google用來:\n• 根據您的位置和您以前訪問過的其他網站自定義Google在我們的服務以及其他服務和網站上顯示的廣告;\n• 監測您多久看到某些廣告;\n• 提供防止欺騙的廣告功能;和\n• 確定您何時點擊廣告,然後追蹤您針對該廣告接下來所採取的動作。\n https://policies.google.com/technologies/partner-sites 接受Cookies @@ -3784,17 +3784,17 @@ 性能與分析Cookies - 協助我們了解您如何使用我們的服務,並提供我們可用來改進的資訊。不接受這些Cookies將意味著我們將缺少可用來幫助我們改進設計的資訊。 + 協助我們了解您如何使用我們的服務,並提供我們可用來改進的資訊。不接受這些Cookies意味著我們將缺少可用來幫助我們改進設計的資訊。 廣告Cookies - 我們和我們所認可的廣告合作夥伴所使用,根據您的瀏覽記錄以客製化您在我們服務及其它網站上看到的廣告。不接受這些Cookies意味我們可能會顯示不相關的廣告。 + 我們和我們所認可的廣告合作夥伴用來根據您的瀏覽記錄以客製化您在我們服務及其它網站上看到的廣告。不接受這些Cookies意味我們可能會顯示不相關的廣告。 第三方Cookies 這些Cookies不是我們控制的;我們使用這些Cookies來提供上述功能類型。根據每個第三方Cookie的類型,不接受這些Cookies將會產生不同的含義。點擊下面 “更多資訊” 來了解我們使用的所有第三方Cookies資訊。 - 私隱條款 + 隱私權政策 Cookie政策 @@ -3804,7 +3804,7 @@ %s不在您的聯絡人列表 - 輕度 + 淺色 深色 @@ -3826,9 +3826,9 @@ 檔案建立失敗。再試一次。 - 檔案已儲存到 %1$s + 檔案已儲存到%1$s - 檔案未儲存到 %1$s。再試一次。 + 檔案未儲存到%1$s。再試一次。 檔案已更新 @@ -3854,5 +3854,5 @@ 沒有副檔名 - 保持 .%1$s + 保留 .%1$s diff --git a/app/src/main/res/values-zh-rTW/strings_karere_errors.xml b/app/src/main/res/values-zh-rTW/strings_karere_errors.xml index 6991b296c3f..285acdc6b86 100644 --- a/app/src/main/res/values-zh-rTW/strings_karere_errors.xml +++ b/app/src/main/res/values-zh-rTW/strings_karere_errors.xml @@ -5,7 +5,7 @@ 無效參數 - 進入遭拒 + 存取遭拒 資源不存在。 @@ -13,5 +13,5 @@ 未知的錯誤 - 此資源使用太多。 + 此資源的使用過多。 diff --git a/app/src/main/res/values-zh-rTW/strings_sdk_errors.xml b/app/src/main/res/values-zh-rTW/strings_sdk_errors.xml index 38774f24987..7ca4e8d3835 100644 --- a/app/src/main/res/values-zh-rTW/strings_sdk_errors.xml +++ b/app/src/main/res/values-zh-rTW/strings_sdk_errors.xml @@ -9,13 +9,13 @@ 請求失敗,重試中 - 超過速度限制 + 超過速率限制 - 已失敗 + 永久失敗 已違反服務條款 - 過多併行連結或傳輸 + 並行連結或傳輸過多 超出範圍 @@ -23,9 +23,9 @@ 未找到 - 偵測到循環連動SDK + 偵測到循環鏈接SDK - 進入遭拒 + 存取遭拒 已存在 @@ -39,11 +39,11 @@ 封鎖 - 超過額度 + 超過配額 暫時無法取得 - 連接過量 + 連結數過量 寫入錯誤 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 494cceb28b3..ad65e013ade 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ - MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users” confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ + MEGA provides user controlled encrypted cloud storage and chat through standard web browsers, together with dedicated apps for mobile devices. Unlike other cloud storage providers, your data is encrypted and decrypted by your client devices only and never by us.\n\nUpload your files from your smartphone or tablet then search, store, download, stream, view, share, rename or delete your files any time, from any device, anywhere. Share folders with your contacts and see their updates in real time. The encryption process means we cannot access or reset your password so you MUST remember it (unless you have your Recovery Key backed up) or you will lose access to your stored files.\n\nEnd-to-end user encrypted MEGA video chat allows for total privacy, and has been available through the browser since 2016. It has been extended to our mobile app, with chat history accessible across multiple devices. Users can also easily add files to a chat from their MEGA Cloud Drive.\n\nMEGA offers a generous 50 GB free storage for all registered users with bonus achievements, and offers paid plans with much higher limits:\n\n\nPro Lite subscription: 4.99 € per month or 49.99 € per year gives you 400 GB of storage space and 1 TB of transfer quota per month.\nPro I subscription: 9.99 € per month or 99.99 € per year gives you 2 TB of storage space and 2 TB of transfer quota per month.\nPro II subscription: 19.99 € per month or 199.99 € per year gives you 8 TB of storage space and 8 TB of transfer quota per month.\nPro III subscription: 29.99 € per month or 299.99 € per year gives you 16 TB of storage space and 16 TB of transfer quota per month.\n\nSubscriptions are renewed automatically for successive subscription periods of the same duration and at the same price as the initial period chosen. To manage your subscriptions, simply click on the Play Store icon on your mobile device, sign in with your Google ID (if you haven’t already done so) and then click on the MEGA app. You’ll be able to manage your subscription there.\n\nApp Permissions:\nWRITE_EXTERNAL_STORAGE -> Download your files from MEGA to your device and upload files from your device to MEGA\nCAMERA -> Take a picture and upload your photos to MEGA\nREAD_CONTACTS -> Easily add contacts from your device as MEGA contacts\nRECORD_AUDIO and CAPTURE_VIDEO_OUTPUT (mic and camera) -> MEGA provides for end-to-end encrypted audio/video calls\n\n\nTo enhance users’ confidence in the MEGA system, all of the client-side code is published, so interested security researchers can evaluate the encryption process. The code of our mobile app is located on: https://github.com/meganz/android \n\nFor more info, please check our website:\nSee https://mega.nz/terms \n\n\nDesktop - https://mega.nz/ MEGA is Cloud Storage with Powerful Always-On Privacy. @@ -1142,7 +1142,7 @@ Upgrade now - Improve your cloud capacity![A]Get more space & transfer quota with a PRO account! + Improve your cloud capacity![A]Get more space and transfer quota with a Pro account! The Recovery Key has been backed up into: %1s.[A]While the file remains in this path, you will find it at the Saved for Offline Section.[A]Note: It will be deleted if you log out, please store it in a safe place. From 5f213b10aab6a36f4565e9c4aa0795e698e51246 Mon Sep 17 00:00:00 2001 From: Javier Gomez Date: Fri, 28 May 2021 12:14:19 +0200 Subject: [PATCH 17/17] Update version code - v4.1.5 (380) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 38f347d4332..e04a4cf7dab 100644 --- a/build.gradle +++ b/build.gradle @@ -50,7 +50,7 @@ task clean(type: Delete) { ext { // App appVersion = "4.1.5" - versionCode = 379 + versionCode = 380 // Sdk and tools compileSdkVersion = 29