Merge branch 'master' into broadcast-receiver

This commit is contained in:
RichyHBM 2018-02-10 17:06:41 +00:00
commit 0404f8110d
77 changed files with 1551 additions and 390 deletions

View file

@ -1,5 +1,21 @@
# Changelog
#### v0.4.0
* New feature: **Password-based encryption** (a big thanks to all the testers)
* New feature: Enforce a minimum password / PIN length (Issue #107)
* New feature: Add an additional unlock button to the authentication (Issue #87)
* New feature: The thumbnail toggle is now in the size selector (Issue #98, PR #102)
* New feature: Split the tokens into blocks (Issue #83, PR #83 by DanielWeigl)
* New feature: Account name is now shown in the removal confirmation (Issue #84)
* New feature: Advanced options are now hidden in the manual entry dialog (Issue #85)
* New special feature: Clear the KeyStore (use with caution)
* Bug fix: Change the format used to store and set the language (Issue #112)
* Bug fix: Add some extra padding the the RecyclerView (Issue #95)
* Bug fix: Remove gradients from vector thumbnails (Issue #103, PR #97)
* Thumbnails: a lot of new thumbnails (check the wiki for details)
* Translation: Catalan (ca-rES) thanks to isard
#### v0.3.1
* Move: the Github repository was moved from flocke/andOTP to andOTP/andOTP for better organization of collaborators

View file

@ -1,7 +1,7 @@
# andOTP - Android OTP Authenticator
[![Build Status](https://travis-ci.org/andOTP/andOTP.svg?branch=master)](https://travis-ci.org/andOTP/andOTP)
[![Current release](https://img.shields.io/github/release/andOTP/andOTP/all.svg)](https://github.com/andOTP/andOTP/releases/download/v0.3.1/andOTP_v0.3.1.apk)
[![Current release](https://img.shields.io/github/release/andOTP/andOTP/all.svg)](https://github.com/andOTP/andOTP/releases/download/v0.4.0.1/andOTP_v0.4.0.1.apk)
![andOTP](./assets/logo.png)
@ -24,7 +24,9 @@ Don't worry, I will still continue to develop andOTP it will just slow down from
* Requires minimal permissions
- Camera access for QR code scanning
- Storage access for import and export of the database
* Encrypted storage
* Encrypted storage with two backends:
- Android KeyStore
- Password / PIN
* Multiple backup options:
- Plain-text
- Password-protected
@ -82,12 +84,17 @@ So make sure you have a **current backup** before switching!
- [XDA thread](https://forum.xda-developers.com/android/apps-games/app-andotp-android-otp-authenticator-t3636993) (please keep off-topic to a minimum)
- Telegram group [@andOTP](https://t.me/andOTP) (also check out the read-only announcement channel for important updates: [@andOTP_Broadcast](https://t.me/andOTP_Broadcast))
#### Developers:
* [Jakob Nixdorf](https://github.com/flocke)
* [Richy HBM](https://github.com/RichyHBM)
#### Contributors:
* [Carlos Melero](https://github.com/carmebar) ([view contributions](https://github.com/andOTP/andOTP/commits/master?author=carmebar))
* [SuperVirus](https://github.com/SuperVirus) ([view contributions](https://github.com/andOTP/andOTP/commits/master?author=SuperVirus))
* [RichyHBM](https://github.com/RichyHBM) ([view contributions](https://github.com/andOTP/andOTP/commits/master?author=RichyHBM))
* [DanielWeigl](https://github.com/DanielWeigl) ([view contributions](https://github.com/andOTP/andOTP/commits/master?author=DanielWeigl))
* [Matthias Bertram](https://github.com/mbertram) ([view contributions](https://github.com/andOTP/andOTP/commits?author=mbertram))
#### Translators:
@ -95,13 +102,14 @@ So make sure you have a **current backup** before switching!
------ | ----------------- | -----------
🇵🇱 | Polish (pl-rPL) | [Daniel Pustuła](https://github.com/9Cube-dpustula)
:es: | Spanish (es-rES) | [Carlos Melero](https://crowdin.com/profile/carmebar)
:de: | German (de-rDE) | [SuperVirus](https://crowdin.com/profile/SuperVirus)
:fr: | French (fr-rFR) | [Johan Fleury](https://github.com/johanfleury), [David Sferruzza](https://crowdin.com/profile/dsferruzza), [primokorn](https://crowdin.com/profile/primokorn)
🇳🇱 | Dutch (nl-rNL) | Toon, [rain2reign](https://crowdin.com/profile/rain2reign)
  | Galician (gl-rES) | [Triskel](https://crowdin.com/profile/triskel)
:de: | German (de-rDE) | [SuperVirus](https://crowdin.com/profile/SuperVirus), [Jan](https://crowdin.com/profile/Dagefoerde)
:fr: | French (fr-rFR) | [Johan Fleury](https://github.com/johanfleury), [David Sferruzza](https://crowdin.com/profile/dsferruzza), [primokorn](https://crowdin.com/profile/primokorn), [Poussinou](https://crowdin.com/profile/Poussinou)
🇳🇱 | Dutch (nl-rNL) | Toon, [rain2reign](https://crowdin.com/profile/rain2reign), [thinkwell](https://crowdin.com/profile/thinkwell), [cpu20](https://crowdin.com/profile/cpu20)
  | Galician (gl-rES) | [Triskel](https://crowdin.com/profile/triskel), [Xosé M.](https://crowdin.com/profile/XoseM)
:ru: | Russian (ru-rRU) | [Victor Nidens](https://crowdin.com/profile/vnidens), [Ilia Drogaitsev](https://crowdin.com/profile/waytoroot), [Dmitry](https://crowdin.com/profile/SaintDI)
🇨🇿 | Czech (cs-rCZ) | [Picard0147](https://crowdin.com/profile/Picard0147)
:cn: | Chinese Simplified (zh-rCN) | [Cp0204](https://crowdin.com/profile/Cp0204)
  | Catalan (ca-rES) | [isard](https://crowdin.com/profile/isard)
## Screenshots:

View file

@ -8,8 +8,8 @@ android {
applicationId "org.shadowice.flocke.andotp"
minSdkVersion 19
targetSdkVersion 27
versionCode 12
versionName "0.3.1"
versionCode 14
versionName "0.4.0.1"
}
buildTypes {
release {

View file

@ -23,6 +23,9 @@
package org.shadowice.flocke.andotp.Activities;
import android.app.AlertDialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
@ -177,7 +180,11 @@ public class AboutActivity extends BaseActivity {
author1Paypal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openURI(AUTHOR1_EXTRA);
try {
openURI(AUTHOR1_EXTRA);
} catch(Exception ignored) {
copyToClipboard(AUTHOR1_EXTRA);
}
}
});
@ -193,7 +200,11 @@ public class AboutActivity extends BaseActivity {
author2Paypal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openURI(AUTHOR2_EXTRA);
try {
openURI(AUTHOR2_EXTRA);
} catch(Exception ignored) {
copyToClipboard(AUTHOR2_EXTRA);
}
}
});
@ -208,7 +219,11 @@ public class AboutActivity extends BaseActivity {
authorOriginalApp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openURI(AUTHOR_ORIGINAL_EXTRA);
try {
openURI(AUTHOR_ORIGINAL_EXTRA);
} catch(Exception ignored) {
copyToClipboard(AUTHOR_ORIGINAL_EXTRA);
}
}
});
@ -281,6 +296,14 @@ public class AboutActivity extends BaseActivity {
startActivity(openURI);
}
public void copyToClipboard(String uri) {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("andOTP", uri);
clipboard.setPrimaryClip(clip);
Toast.makeText(this, getString(R.string.about_toast_copied_to_clipboard), Toast.LENGTH_SHORT).show();
}
public void showLicenses() {
new LicensesDialog.Builder(this)
.setNotices(R.raw.licenses)

View file

@ -158,7 +158,7 @@ public class AuthenticateActivity extends ThemedActivity
String hashedPassword = new String(Hex.encodeHex(DigestUtils.sha256(plainPassword)));
if (hashedPassword.equals(password)) {
byte[] key = settings.setAuthCredentials(password);
byte[] key = settings.setAuthCredentials(plainPassword);
if (key == null)
Toast.makeText(this, R.string.settings_toast_auth_upgrade_failed, Toast.LENGTH_LONG).show();

View file

@ -133,7 +133,7 @@ public class BackupActivity extends BaseActivity {
backupCrypt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BACKUP_FILENAME_CRYPT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT);
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BackupType.ENCRYPTED, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT);
}
});
@ -168,7 +168,7 @@ public class BackupActivity extends BaseActivity {
backupPGP.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PGP, Constants.BACKUP_FILENAME_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PGP);
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PGP, Constants.BackupType.OPEN_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PGP);
}
});
@ -224,7 +224,7 @@ public class BackupActivity extends BaseActivity {
}
} else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
showSaveFileSelector(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BACKUP_FILENAME_PLAIN, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN);
showSaveFileSelector(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BackupType.PLAIN_TEXT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN);
} else {
Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show();
}
@ -236,7 +236,7 @@ public class BackupActivity extends BaseActivity {
}
} else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_CRYPT) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
showSaveFileSelector(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BACKUP_FILENAME_CRYPT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT);
showSaveFileSelector(Constants.BACKUP_MIMETYPE_CRYPT, Constants.BackupType.ENCRYPTED, Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT);
} else {
Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show();
}
@ -248,7 +248,7 @@ public class BackupActivity extends BaseActivity {
}
} else if (requestCode == Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PGP) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
showSaveFileSelector(Constants.BACKUP_MIMETYPE_PGP, Constants.BACKUP_FILENAME_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP);
showSaveFileSelector(Constants.BACKUP_MIMETYPE_PGP, Constants.BackupType.OPEN_PGP, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP);
} else {
Toast.makeText(this, R.string.backup_toast_storage_permissions, Toast.LENGTH_LONG).show();
}
@ -294,7 +294,7 @@ public class BackupActivity extends BaseActivity {
/* Generic functions for all backup/restore options */
private void showOpenFileSelector(int intentId) {
if (settings.getBackupAsk()) {
if (settings.getBackupAsk() || settings.getIsAppendingDateTimeToBackups()) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
@ -309,21 +309,21 @@ public class BackupActivity extends BaseActivity {
}
}
private void showSaveFileSelector(String mimeType, String fileName, int intentId) {
private void showSaveFileSelector(String mimeType, Constants.BackupType backupType, int intentId) {
if (settings.getBackupAsk()) {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(mimeType);
intent.putExtra(Intent.EXTRA_TITLE, fileName);
intent.putExtra(Intent.EXTRA_TITLE, backupFilename(backupType));
startActivityForResult(intent, intentId);
} else {
if (Tools.mkdir(settings.getBackupDir())) {
if (intentId == Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN)
doBackupPlain(Tools.buildUri(settings.getBackupDir(), Constants.BACKUP_FILENAME_PLAIN));
doBackupPlain(Tools.buildUri(settings.getBackupDir(), backupFilename(Constants.BackupType.PLAIN_TEXT)));
else if (intentId == Constants.INTENT_BACKUP_SAVE_DOCUMENT_CRYPT)
doBackupCrypt(Tools.buildUri(settings.getBackupDir(), Constants.BACKUP_FILENAME_CRYPT));
doBackupCrypt(Tools.buildUri(settings.getBackupDir(), backupFilename(Constants.BackupType.ENCRYPTED)));
else if (intentId == Constants.INTENT_BACKUP_SAVE_DOCUMENT_PGP)
backupEncryptedWithPGP(Tools.buildUri(settings.getBackupDir(), Constants.BACKUP_FILENAME_PGP), null);
backupEncryptedWithPGP(Tools.buildUri(settings.getBackupDir(), backupFilename(Constants.BackupType.OPEN_PGP)), null);
} else {
Toast.makeText(this, R.string.backup_toast_mkdir_failed, Toast.LENGTH_LONG).show();
}
@ -338,9 +338,9 @@ public class BackupActivity extends BaseActivity {
}
}
private void saveFileWithPermissions(String mimeType, String fileName, int intentId, int requestId) {
private void saveFileWithPermissions(String mimeType, Constants.BackupType backupType, int intentId, int requestId) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
showSaveFileSelector(mimeType, fileName, intentId);
showSaveFileSelector(mimeType, backupType, intentId);
} else {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestId);
}
@ -404,7 +404,7 @@ public class BackupActivity extends BaseActivity {
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BACKUP_FILENAME_PLAIN, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN);
saveFileWithPermissions(Constants.BACKUP_MIMETYPE_PLAIN, Constants.BackupType.PLAIN_TEXT, Constants.INTENT_BACKUP_SAVE_DOCUMENT_PLAIN, Constants.PERMISSIONS_BACKUP_WRITE_EXPORT_PLAIN);
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@ -586,4 +586,29 @@ public class BackupActivity extends BaseActivity {
Toast.makeText(this, String.format(getString(R.string.backup_toast_openpgp_error), error.getMessage()), Toast.LENGTH_LONG).show();
}
}
private String backupFilename(Constants.BackupType type) {
switch (type) {
case PLAIN_TEXT:
if (settings.getIsAppendingDateTimeToBackups()) {
return String.format(Constants.BACKUP_FILENAME_PLAIN_FORMAT, Tools.getDateTimeString());
} else {
return Constants.BACKUP_FILENAME_PLAIN;
}
case ENCRYPTED:
if (settings.getIsAppendingDateTimeToBackups()) {
return String.format(Constants.BACKUP_FILENAME_CRYPT_FORMAT, Tools.getDateTimeString());
} else {
return Constants.BACKUP_FILENAME_CRYPT;
}
case OPEN_PGP:
if (settings.getIsAppendingDateTimeToBackups()) {
return String.format(Constants.BACKUP_FILENAME_PGP_FORMAT, Tools.getDateTimeString());
} else {
return Constants.BACKUP_FILENAME_PGP;
}
}
return Constants.BACKUP_FILENAME_PLAIN;
}
}

View file

@ -345,7 +345,7 @@ public class MainActivity extends BaseActivity
adapter.notifyDataSetChanged();
} else if (key.equals(getString(R.string.settings_key_tap_to_reveal)) ||
key.equals(getString(R.string.settings_key_theme)) ||
key.equals(getString(R.string.settings_key_lang)) ||
key.equals(getString(R.string.settings_key_locale)) ||
key.equals(getString(R.string.settings_key_enable_screenshot))) {
recreate();
}
@ -398,7 +398,11 @@ public class MainActivity extends BaseActivity
} else {
requireAuthentication = false;
byte[] authKey = intent.getByteArrayExtra(Constants.EXTRA_AUTH_PASSWORD_KEY);
byte[] authKey = null;
if (intent != null)
authKey = intent.getByteArrayExtra(Constants.EXTRA_AUTH_PASSWORD_KEY);
updateEncryption(authKey);
}
}

View file

@ -115,7 +115,7 @@ public class SettingsActivity extends BaseActivity
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (key.equals(getString(R.string.settings_key_theme)) ||
key.equals(getString(R.string.settings_key_lang)) ||
key.equals(getString(R.string.settings_key_locale)) ||
key.equals(getString(R.string.settings_key_special_features))) {
recreate();
}

View file

@ -64,7 +64,7 @@ public abstract class ThemedActivity extends AppCompatActivity {
}
public void setLocale() {
Locale locale = settings.getLang();
Locale locale = settings.getLocale();
Locale.setDefault(locale);
Configuration config = new Configuration();

View file

@ -40,6 +40,10 @@ public class Constants {
UNSORTED, LABEL, LAST_USED
}
public enum BackupType {
PLAIN_TEXT, ENCRYPTED, OPEN_PGP
}
// Intents (Format: A0x with A = parent Activity, x = number of the intent)
public final static int INTENT_MAIN_AUTHENTICATE = 100;
public final static int INTENT_MAIN_SETTINGS = 101;
@ -78,13 +82,13 @@ public class Constants {
final static String ALGORITHM_SYMMETRIC = "AES/GCM/NoPadding";
final static String ALGORITHM_ASYMMETRIC = "RSA/ECB/PKCS1Padding";
final static int ENCRYPTION_KEY_LENGTH = 16;
final static int ENCRYPTION_KEY_LENGTH = 16; // 128-bit encryption key (KeyStore-mode)
final static int ENCRYPTION_IV_LENGTH = 12;
final static int PBKDF2_MIN_ITERATIONS = 1000;
final static int PBKDF2_MAX_ITERATIONS = 5000;
final static int PBKDF2_DEFAULT_ITERATIONS = 1000;
final static int PBKDF2_LENGTH = 512;
final static int PBKDF2_LENGTH = 256; // 128-bit encryption key (Password-mode)
final static int PBKDF2_SALT_LENGTH = 16;
// Authentication
@ -107,6 +111,10 @@ public class Constants {
public final static String BACKUP_FILENAME_CRYPT = "otp_accounts.json.aes";
public final static String BACKUP_FILENAME_PGP = "otp_accounts.json.gpg";
public final static String BACKUP_FILENAME_PLAIN_FORMAT = "otp_accounts_%s.json";
public final static String BACKUP_FILENAME_CRYPT_FORMAT = "otp_accounts_%s.json.aes";
public final static String BACKUP_FILENAME_PGP_FORMAT = "otp_accounts_%s.json.gpg";
public final static String BACKUP_MIMETYPE_PLAIN = "application/json";
public final static String BACKUP_MIMETYPE_CRYPT = "binary/aes";
public final static String BACKUP_MIMETYPE_PGP = "application/pgp-encrypted";

View file

@ -29,6 +29,7 @@ public class EntryThumbnail {
Bittrex(R.drawable.thumb_bittrex),
Bitwarden(R.mipmap.thumb_bitwarden, AssetType.Bitmap),
BlockchainInfo(R.drawable.thumb_blockchain_info),
CloudDownload(R.drawable.thumb_cloud_download),
Cloudflare(R.drawable.thumb_cloudflare),
Coinbase(R.drawable.thumb_coinbase),
CozyCloud(R.drawable.thumb_cozycloud),
@ -37,6 +38,9 @@ public class EntryThumbnail {
Dropbox(R.drawable.thumb_dropbox),
Email(R.drawable.thumb_email),
Facebook(R.drawable.thumb_facebook),
Fingerprint(R.drawable.thumb_fingerprint),
Flight(R.drawable.thumb_flight_takeoff),
Gamepad(R.drawable.thumb_gamepad),
Git(R.drawable.thumb_git),
Gitea(R.drawable.thumb_gitea),
Github(R.drawable.thumb_github),
@ -44,6 +48,8 @@ public class EntryThumbnail {
GoDaddy(R.drawable.thumb_godaddy),
Google(R.drawable.thumb_google),
HackerOne(R.drawable.thumb_hackerone),
Heroku(R.drawable.thumb_heroku),
HumbleBundle(R.drawable.thumb_humblebundle),
HurricaneElectric(R.drawable.thumb_hurricane_electric),
Iconomi(R.drawable.thumb_iconomi),
IFTTT(R.drawable.thumb_ifttt),
@ -56,25 +62,32 @@ public class EntryThumbnail {
Mastodon(R.drawable.thumb_mastodon),
Microsoft(R.drawable.thumb_microsoft),
Mixer(R.drawable.thumb_mixer),
NAS(R.drawable.thumb_nas),
NextCloud(R.drawable.thumb_nextcloud),
Nintendo(R.drawable.thumb_nintendo),
NPM(R.drawable.thumb_npm),
Origin(R.drawable.thumb_origin),
OVH(R.drawable.thumb_ovh),
Patreon(R.drawable.thumb_patreon),
PayPal(R.drawable.thumb_paypal),
ProtonMail(R.drawable.thumb_protonmail),
Reddit(R.drawable.thumb_reddit),
RSS(R.drawable.thumb_rss),
Seafile(R.mipmap.thumb_seafile, AssetType.Bitmap),
School(R.drawable.thumb_school),
Skrill(R.drawable.thumb_skrill),
Slack(R.drawable.thumb_slack),
Steam(R.drawable.thumb_steam),
Stripe(R.drawable.thumb_stripe),
Synology(R.drawable.thumb_synology),
TeamViewer(R.drawable.thumb_teamviewer),
Terminal(R.drawable.thumb_terminal),
Tumblr(R.drawable.thumb_tumblr),
Twitch(R.drawable.thumb_twitch),
Twitter(R.drawable.thumb_twitter),
Ubisoft(R.drawable.thumb_ubisoft),
UbuntuOne(R.drawable.thumb_ubuntu_one),
Wallet(R.drawable.thumb_wallet),
Wordpress(R.drawable.thumb_wordpress);
private int resource;

View file

@ -34,8 +34,10 @@ import java.nio.charset.StandardCharsets;
import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@ -44,6 +46,9 @@ import static org.shadowice.flocke.andotp.Utilities.Constants.EncryptionType;
import static org.shadowice.flocke.andotp.Utilities.Constants.SortMode;
public class Settings {
private static final List<String> oldLangs = Arrays.asList("system", "en", "cs", "de", "es", "fr", "gl", "nl", "pl", "ru", "zh");
private static final List<String> newLangs = Arrays.asList("system", "en_US", "cs_CZ", "de_DE", "es_ES", "fr_FR", "gl_ES", "nl_NL", "pl_PL", "ru_RU", "zh_CN");
private Context context;
private SharedPreferences settings;
@ -73,6 +78,15 @@ public class Settings {
remove(R.string.settings_key_auth_pin);
}
if (settings.contains(getResString(R.string.settings_key_lang))) {
String lang = getString(R.string.settings_key_lang, R.string.settings_default_locale);
if (oldLangs.contains(lang))
setLocale(newLangs.get(oldLangs.indexOf(lang)));
remove(R.string.settings_key_lang);
}
if (settings.contains(getResString(R.string.settings_key_backup_password))) {
String plainPassword = getBackupPassword();
@ -284,13 +298,24 @@ public class Settings {
return settings.getStringSet(getResString(R.string.settings_key_panic), Collections.<String>emptySet());
}
public Locale getLang() {
String lang = getString(R.string.settings_key_lang, R.string.settings_default_lang);
public void setLocale(String locale) {
setString(R.string.settings_key_locale, locale);
}
if (lang.equals("system"))
public Locale getLocale() {
String lang = getString(R.string.settings_key_locale, R.string.settings_default_locale);
if (lang.equals("system")) {
return Tools.getSystemLocale();
else
return new Locale(lang);
} else {
String[] splitLang = lang.split("_");
if (splitLang.length > 1) {
return new Locale(splitLang[0], splitLang[1]);
} else {
return new Locale(lang);
}
}
}
public String getTheme() {
@ -437,4 +462,8 @@ public class Settings {
public void setLastUsedDialogShown(boolean value) {
setBoolean(R.string.settings_key_last_used_dialog_shown, value);
}
public boolean getIsAppendingDateTimeToBackups() {
return getBoolean(R.string.settings_key_backup_append_date_time, false);
}
}

View file

@ -33,6 +33,10 @@ import android.os.Build;
import android.os.Environment;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class Tools {
@ -94,4 +98,10 @@ public class Tools {
}
return ret.toString().trim();
}
public static String getDateTimeString() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.ENGLISH);
Date now = Calendar.getInstance().getTime();
return df.format(now);
}
}

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96zM17,13l-5,5 -5,-5h3V9h4v4h3z"/>
</vector>

View file

@ -1,11 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="114dp"
android:height="114dp"
android:viewportWidth="114.0"
android:viewportHeight="114.0">
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:pathData="m7,20h98v72H7zl44,44q5,4 10,0l44,-44M7,92l36,-36m26,0 l36,36"
android:strokeColor="#000"
android:fillColor="#00000000"
android:strokeWidth="7"/>
android:fillColor="#FF000000"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M17.81,4.47c-0.08,0 -0.16,-0.02 -0.23,-0.06C15.66,3.42 14,3 12.01,3c-1.98,0 -3.86,0.47 -5.57,1.41 -0.24,0.13 -0.54,0.04 -0.68,-0.2 -0.13,-0.24 -0.04,-0.55 0.2,-0.68C7.82,2.52 9.86,2 12.01,2c2.13,0 3.99,0.47 6.03,1.52 0.25,0.13 0.34,0.43 0.21,0.67 -0.09,0.18 -0.26,0.28 -0.44,0.28zM3.5,9.72c-0.1,0 -0.2,-0.03 -0.29,-0.09 -0.23,-0.16 -0.28,-0.47 -0.12,-0.7 0.99,-1.4 2.25,-2.5 3.75,-3.27C9.98,4.04 14,4.03 17.15,5.65c1.5,0.77 2.76,1.86 3.75,3.25 0.16,0.22 0.11,0.54 -0.12,0.7 -0.23,0.16 -0.54,0.11 -0.7,-0.12 -0.9,-1.26 -2.04,-2.25 -3.39,-2.94 -2.87,-1.47 -6.54,-1.47 -9.4,0.01 -1.36,0.7 -2.5,1.7 -3.4,2.96 -0.08,0.14 -0.23,0.21 -0.39,0.21zM9.75,21.79c-0.13,0 -0.26,-0.05 -0.35,-0.15 -0.87,-0.87 -1.34,-1.43 -2.01,-2.64 -0.69,-1.23 -1.05,-2.73 -1.05,-4.34 0,-2.97 2.54,-5.39 5.66,-5.39s5.66,2.42 5.66,5.39c0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0,-2.42 -2.09,-4.39 -4.66,-4.39 -2.57,0 -4.66,1.97 -4.66,4.39 0,1.44 0.32,2.77 0.93,3.85 0.64,1.15 1.08,1.64 1.85,2.42 0.19,0.2 0.19,0.51 0,0.71 -0.11,0.1 -0.24,0.15 -0.37,0.15zM16.92,19.94c-1.19,0 -2.24,-0.3 -3.1,-0.89 -1.49,-1.01 -2.38,-2.65 -2.38,-4.39 0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0,1.41 0.72,2.74 1.94,3.56 0.71,0.48 1.54,0.71 2.54,0.71 0.24,0 0.64,-0.03 1.04,-0.1 0.27,-0.05 0.53,0.13 0.58,0.41 0.05,0.27 -0.13,0.53 -0.41,0.58 -0.57,0.11 -1.07,0.12 -1.21,0.12zM14.91,22c-0.04,0 -0.09,-0.01 -0.13,-0.02 -1.59,-0.44 -2.63,-1.03 -3.72,-2.1 -1.4,-1.39 -2.17,-3.24 -2.17,-5.22 0,-1.62 1.38,-2.94 3.08,-2.94 1.7,0 3.08,1.32 3.08,2.94 0,1.07 0.93,1.94 2.08,1.94s2.08,-0.87 2.08,-1.94c0,-3.77 -3.25,-6.83 -7.25,-6.83 -2.84,0 -5.44,1.58 -6.61,4.03 -0.39,0.81 -0.59,1.76 -0.59,2.8 0,0.78 0.07,2.01 0.67,3.61 0.1,0.26 -0.03,0.55 -0.29,0.64 -0.26,0.1 -0.55,-0.04 -0.64,-0.29 -0.49,-1.31 -0.73,-2.61 -0.73,-3.96 0,-1.2 0.23,-2.29 0.68,-3.24 1.33,-2.79 4.28,-4.6 7.51,-4.6 4.55,0 8.25,3.51 8.25,7.83 0,1.62 -1.38,2.94 -3.08,2.94s-3.08,-1.32 -3.08,-2.94c0,-1.07 -0.93,-1.94 -2.08,-1.94s-2.08,0.87 -2.08,1.94c0,1.71 0.66,3.31 1.87,4.51 0.95,0.94 1.86,1.46 3.27,1.85 0.27,0.07 0.42,0.35 0.35,0.61 -0.05,0.23 -0.26,0.38 -0.47,0.38z"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M2.5,19h19v2h-19zM22.07,9.64c-0.21,-0.8 -1.04,-1.28 -1.84,-1.06L14.92,10l-6.9,-6.43 -1.93,0.51 4.14,7.17 -4.97,1.33 -1.97,-1.54 -1.45,0.39 1.82,3.16 0.77,1.33 1.6,-0.43 5.31,-1.42 4.35,-1.16L21,11.49c0.81,-0.23 1.28,-1.05 1.07,-1.85z"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M21,6L3,6c-1.1,0 -2,0.9 -2,2v8c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,8c0,-1.1 -0.9,-2 -2,-2zM11,13L8,13v3L6,16v-3L3,13v-2h3L6,8h2v3h3v2zM15.5,15c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S18.67,9 19.5,9s1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
</vector>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportWidth="72"
android:viewportHeight="80"
android:width="72dp"
android:height="80dp">
<group
android:translateX="-36"
android:translateY="-36">
<path
android:pathData="M100.8 36L43.2 36C39.224 36 36 39.224 36 43.2l0 65.6c0 3.976 3.224 7.2 7.2 7.2l57.6 0c3.976 0 7.2 -3.224 7.2 -7.2l0 -65.6c0 -3.976 -3.224 -7.2 -7.2 -7.2zm-46.8 68l0 -16 9 8zm28 0l0 -23.89C81.961 78.243 81.062 76 77 76 68.866 76 59.742 80.091 59.651 80.132L54 82.692 54 48l8 0 0 22.711C65.994 69.411 71.577 68 77 68c4.945 0 7.905 1.944 9.517 3.575 3.441 3.48 3.488 7.913 3.483 8.425l0 24zm2 -43l-8 0c3.144 -4.125 5.118 -8.466 6 -13l8 0c-0.54 4.544 -2.382 8.9 -6 13z"
android:fillColor="#430098" />
</group>
</vector>

View file

@ -0,0 +1,10 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:height="256dp"
android:width="256dp"
android:viewportHeight="256"
android:viewportWidth="256">
<path
android:fillColor="#cb2828"
android:pathData="m55.26,239.25c0,-0.2 0.86,-3.69 1.92,-7.75 6.08,-23.43 12.99,-53.9 17,-74.96 5.54,-29.09 8.29,-50.49 8.65,-67.2 0.43,-19.95 -2.83,-29.82 -10.19,-30.86 -1.52,-0.21 -6.04,0.27 -8.56,0.91 -15.02,3.84 -26.78,19.3 -32.87,43.19l-0.28,1.09l-7.29,0 -7.29,0l0,-1.99c0,-8.32 3.23,-21.65 7.94,-32.71 7.37,-17.33 19.73,-33.58 32.13,-42.23 12.62,-8.8 26.21,-11.96 36.45,-8.47 11.28,3.85 18.97,15.62 22.43,34.33 2.07,11.22 2.67,27.81 1.63,45.83 -0.16,2.84 -0.23,5.35 -0.14,5.58 0.14,0.37 1.6,0.41 14.24,0.41 15.78,0 14.36,0.19 14.71,-1.92 0.09,-0.56 0.69,-3.67 1.33,-6.91 4.65,-23.68 11.63,-50.34 18.77,-71.76l2.45,-7.35 16.19,-0.07c8.91,-0.04 16.19,-0.02 16.19,0.03 0,0.05 -1.44,5.78 -3.19,12.74 -12.99,51.47 -20.93,92.95 -23.83,124.39 -0.56,6.11 -0.79,20.69 -0.38,25.12 0.93,10.2 3.4,16.11 7.62,18.19 1.06,0.52 1.58,0.6 3.91,0.58 7.37,-0.06 13.99,-2.65 20.25,-7.91 7.97,-6.71 15.45,-20.11 19.13,-34.3l0.73,-2.82 7.37,-0.07 7.37,-0.07 -0.18,3.01c-1.12,19.11 -10.2,41.35 -23.86,58.44 -3.15,3.94 -9.7,10.6 -12.85,13.06 -7.28,5.69 -15.69,9.83 -23.54,11.58 -2.06,0.46 -3.32,0.56 -7.23,0.57 -4.16,0.01 -5,-0.06 -6.89,-0.58 -15.85,-4.32 -24.56,-21.15 -26.38,-50.99 -0.7,-11.39 -0.07,-30.98 1.5,-46.67 0.24,-2.36 0.33,-4.47 0.22,-4.67 -0.18,-0.32 -2.11,-0.37 -13.64,-0.37l-13.43,0l-0.23,0.58c-0.13,0.32 -0.6,2.88 -1.04,5.7 -4.5,28.59 -13.22,63.97 -22.85,92.67l-1.63,4.86 -16.17,0.07c-13.88,0.06 -16.17,0.01 -16.17,-0.3z"/>
</vector>

View file

@ -0,0 +1,38 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportWidth="256"
android:viewportHeight="256">
<path
android:fillColor="#FF000000"
android:pathData="M43.51,80.57L212.49,80.57A20,20 96.92,0 1,232.49 100.57L232.49,212.7A20,20 96.92,0 1,212.49 232.7L43.51,232.7A20,20 76.18,0 1,23.51 212.7L23.51,100.57A20,20 76.18,0 1,43.51 80.57z" />
<path
android:fillColor="#FF000000"
android:pathData="m229.06,78.45c-3.4,-2.75 -8.27,-5.27 -12.39,-6.42 -2.55,-0.71 -6.85,-0.75 -88.7,-0.75 -81.85,0 -86.15,0.04 -88.7,0.75 -3.76,1.05 -8.98,3.64 -11.55,5.73 -3.98,3.24 -3.86,3.19 -2.95,1.1 1.97,-4.56 15.61,-34.49 17.64,-38.72 1.25,-2.6 3.09,-5.86 4.07,-7.25 2.45,-3.43 6.52,-7.11 9.27,-8.38l2.28,-1.05 35.96,-0.37c20.29,-0.21 50.68,-0.21 69.72,-0.02l33.76,0.35 2.76,1.31c3.65,1.73 6.04,4.01 9.24,8.81 2.89,4.34 4.58,7.77 15.33,31.14 3.97,8.62 7.3,15.82 7.4,15.99 0.35,0.57 -0.05,0.29 -3.15,-2.21z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M50.08,115.91m-12.65,0a12.65,12.65 125.56,1 1,25.3 0a12.65,12.65 76.45,1 1,-25.3 0" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M97.11,96.16L207.77,96.16A8.84,8.84 0,0 1,216.61 105L216.61,207.85A8.84,8.84 121.75,0 1,207.77 216.69L97.11,216.69A8.84,8.84 111.9,0 1,88.27 207.85L88.27,105A8.84,8.84 75.61,0 1,97.11 96.16z" />
<path
android:fillColor="#FF000000"
android:pathData="M104.45,104.39L119.31,104.39A7.96,7.96 63.87,0 1,127.26 112.34L127.26,200.58A7.96,7.96 63.87,0 1,119.31 208.54L104.45,208.54A7.96,7.96 0,0 1,96.49 200.58L96.49,112.34A7.96,7.96 0,0 1,104.45 104.39z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M111.66,119.96m-8.04,0a8.04,8.04 0,1 1,16.08 0a8.04,8.04 0,1 1,-16.08 0" />
<path
android:fillColor="#FF000000"
android:pathData="M144.69,104.43L159.54,104.43A7.96,7.96 0,0 1,167.5 112.38L167.5,200.62A7.96,7.96 102.58,0 1,159.54 208.58L144.69,208.58A7.96,7.96 102.58,0 1,136.73 200.62L136.73,112.38A7.96,7.96 0,0 1,144.69 104.43z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M152.29,120.04m-8.04,0a8.04,8.04 128.2,1 1,16.08 0a8.04,8.04 128.2,1 1,-16.08 0" />
<path
android:fillColor="#FF000000"
android:pathData="M185.36,104.4L200.22,104.4A7.96,7.96 0,0 1,208.17 112.36L208.17,200.59A7.96,7.96 0,0 1,200.22 208.55L185.36,208.55A7.96,7.96 0,0 1,177.41 200.59L177.41,112.36A7.96,7.96 0,0 1,185.36 104.4z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M192.75,119.93m-8.04,0a8.04,8.04 0,1 1,16.08 0a8.04,8.04 0,1 1,-16.08 0" />
</vector>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="198dp"
android:height="198dp"
android:viewportHeight="198"
android:viewportWidth="198">
<path
android:fillColor="#cb3837"
android:pathData="M0 198L0 0l198 0 0 198zm37.238 -160.894l0 123.494 62.4 0 0 -97.742 36.362 0 0 97.76 24.756 0 0 -123.512z" />
<path
android:fillColor="#ffffff"
android:pathData="M37.238 37.106l123.52 0 0 123.512 -24.758 0 0 -97.76 -36.366 0 0 97.742 -62.4 0z" />
</vector>

View file

@ -0,0 +1,23 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportWidth="256"
android:viewportHeight="256">
<path
android:pathData="m215.05,17.32 l-21.36,37.11l-22.43,0l-26.47,45.94l22.47,0l-16.99,29.51l55.19,0c14.11,-17.24 22.58,-39.28 22.58,-63.3 0,-17.92 -4.73,-34.72 -12.98,-49.27"
android:fillColor="#FF204171"/>
<path
android:pathData="m105.74,129.88l0,0l0.06,0l-0.03,-0.05 68.58,-119.11l-58.02,0l-39.55,68.74 -35.8,-62.2c-8.27,14.56 -13.02,31.38 -13.02,49.32 0,24.02 8.47,46.05 22.58,63.3z"
android:fillColor="#FF204171"/>
<path
android:pathData="m35.71,206.55c0,21.58 9.85,31.87 26.78,31.87 16.93,0 26.78,-10.29 26.78,-31.87 0,-21.69 -9.85,-31.98 -26.78,-31.98 -16.93,0 -26.78,10.29 -26.78,31.98m-7.75,0c0,-26.23 13.06,-38.84 34.53,-38.84 21.47,0 34.53,12.62 34.53,38.84 0,26.01 -13.06,38.73 -34.53,38.73 -21.47,0 -34.53,-12.73 -34.53,-38.73"
android:fillColor="#FF204171"/>
<path
android:pathData="m156.22,170.8c0.33,-0.89 1.44,-2.43 3.54,-2.43 2.1,0 3.76,1.66 3.76,3.76 0,0.67 -0.22,1.33 -0.33,1.66l-25.89,68.28c-0.55,1.55 -2.1,2.54 -3.54,2.54 -1.44,0 -2.99,-0.99 -3.54,-2.54l-25.89,-68.28c-0.11,-0.33 -0.33,-0.99 -0.33,-1.66 0,-2.1 1.66,-3.76 3.76,-3.76 2.1,0 3.21,1.55 3.54,2.43l22.46,59.53z"
android:fillColor="#FF204171"/>
<path
android:pathData="m182,208.98l0,31.87c0,1.99 -1.66,3.76 -3.76,3.76 -2.1,0 -3.76,-1.77 -3.76,-3.76l0,-68.72c0,-1.99 1.66,-3.76 3.76,-3.76 2.1,0 3.76,1.77 3.76,3.76l0,29.99l38.51,0l0,-29.99c0,-1.99 1.66,-3.76 3.76,-3.76 2.1,0 3.76,1.77 3.76,3.76L228.03,240.85c0,1.99 -1.66,3.76 -3.76,3.76 -2.1,0 -3.76,-1.77 -3.76,-3.76l0,-31.87z"
android:fillColor="#FF204171"/>
</vector>

View file

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="49dp"
android:height="49dp"
android:viewportWidth="174.86494"
android:viewportHeight="175.12155">
<path
android:pathData="M83.02,175.03C63.68,173.37 49.32,168.24 35.45,158.03 12.95,141.48 0,115.72 0,87.52c0,-43.42 30.62,-79.36 73.66,-86.45 17.57,-2.9 37.02,0.14 53.3,8.33 39.57,19.9 57.65,65.79 42.67,108.29 -10.28,29.18 -37.27,51.42 -68.17,56.17 -6.08,0.93 -14.76,1.48 -18.44,1.17z"
android:fillAlpha="1"
android:fillColor="#ff4500"/>
<path
android:pathData="m83.02,175.06c-55.35,0.04 -27.67,0.02 0,0zM102.64,137.46c6.02,-1.41 10.38,-2.93 14.66,-5.09 13.32,-6.74 21.66,-17.93 21.66,-29.06 0,-3.36 0.07,-3.52 2.88,-6.24 2.23,-2.15 3.1,-3.55 3.85,-6.15 0.9,-3.1 0.9,-3.62 0.04,-6.59 -2.42,-8.32 -11.07,-12.07 -18.82,-8.15l-2.99,1.51 -3.09,-1.9c-5.93,-3.65 -16.49,-7.23 -23.29,-7.89 -1.86,-0.18 -4.21,-0.46 -5.22,-0.61l-1.83,-0.28 0.79,-3.94c0.43,-2.17 1.34,-6.45 2.01,-9.51 0.67,-3.06 1.51,-7.21 1.86,-9.23 0.51,-2.91 0.87,-3.66 1.71,-3.66 0.59,0 4.77,0.79 9.31,1.76 4.53,0.97 8.34,1.76 8.45,1.76 0.11,0 0.37,0.87 0.57,1.92 0.5,2.68 1.81,4.34 4.47,5.7 6.4,3.26 13.59,-1.08 13.59,-8.21 0,-8.83 -10.88,-12.68 -16.42,-5.81 -1.07,1.33 -1.61,1.57 -2.64,1.2 -0.71,-0.26 -5.6,-1.35 -10.87,-2.43 -6.97,-1.43 -9.83,-1.79 -10.53,-1.35 -1.07,0.67 -0.93,0.18 -3.87,13.97 -3.5,16.4 -3.71,17.33 -4.01,17.64 -0.16,0.16 -2.69,0.54 -5.62,0.84 -8.89,0.92 -18.67,4.06 -25.26,8.12l-3.05,1.87 -2.99,-1.49c-7.81,-3.89 -16.48,-0.14 -18.9,8.18 -0.86,2.97 -0.86,3.48 0.04,6.59 0.75,2.61 1.62,4 3.85,6.15 2.8,2.71 2.88,2.87 2.88,6.24 0,15.37 15.8,30.05 36.91,34.27 6.99,1.4 7.47,1.43 16.4,1.23 5.84,-0.13 10.05,-0.56 13.47,-1.36zM78,126.29c-4.85,-1.09 -10.33,-3.53 -11.94,-5.3 -1.28,-1.42 -0.73,-3.56 0.91,-3.56 0.64,0 2.14,0.67 3.33,1.48 8.04,5.49 26.19,5.47 34.26,-0.04 2.6,-1.77 4.73,-1.73 4.99,0.11 0.12,0.87 -0.43,1.73 -1.76,2.74 -6.45,4.92 -19.4,6.9 -29.8,4.56zM63.22,104.52c-3.02,-1.64 -4.51,-4.25 -4.51,-7.9 -0,-4.18 1.94,-6.89 5.89,-8.2 2.81,-0.93 3.14,-0.93 5.59,0 6.58,2.51 7.93,10.72 2.48,15.11 -2.84,2.29 -6.37,2.66 -9.44,0.99zM104.11,104.79c-2.8,-1.45 -4.36,-3.22 -5.02,-5.68 -1.22,-4.55 1.08,-8.98 5.55,-10.69 2.44,-0.93 2.78,-0.93 5.59,-0 3.95,1.31 5.89,4.02 5.89,8.2 -0,3.72 -1.52,6.31 -4.64,7.9 -2.8,1.43 -4.99,1.51 -7.37,0.27z"
android:fillAlpha="1"
android:fillColor="#fdfdfd"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M5,13.18v4L12,21l7,-3.82v-4L12,17l-7,-3.82zM12,3L1,9l11,6 9,-4.91V17h2V9L12,3z"/>
</vector>

View file

@ -0,0 +1,17 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="256dp"
android:height="256dp"
android:viewportWidth="256"
android:viewportHeight="256">
<path
android:fillColor="#FF000000"
android:pathData="M224,32H32c-8.84,0 -16,7.16 -16,16v160c0,8.84 7.16,16 16,16h192c8.84,0 16,-7.16 16,-16V48c0,-8.84 -7.16,-16 -16,-16z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="M56.11,152 L48.25,144.13 64.26,128.12 80.27,112.11 64.26,96.1 48.25,80.09 56.11,72.23 63.97,64.36 87.85,88.24 111.72,112.11 87.84,135.99 63.97,159.86Z" />
<path
android:fillColor="#FFFFFFFF"
android:pathData="m112.1,152v-7.86h31.83,31.83v7.86,7.86h-31.83,-31.83z" />
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9 -2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9 -2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
</vector>

View file

@ -22,23 +22,21 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_margin_small" >
android:padding="@dimen/activity_margin_small"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:layout_width="@dimen/card_thumbnail_size"
android:layout_height="@dimen/card_thumbnail_size"
android:layout_marginEnd="@dimen/activity_margin_medium"
android:src="@mipmap/ic_launcher"/>
<LinearLayout
android:orientation="horizontal"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="@dimen/activity_margin_small"
android:background="?android:attr/selectableItemBackground"
android:gravity="center_vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginEnd="@dimen/activity_margin_large"
android:src="@mipmap/ic_launcher"/>
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground">
<TextView
android:layout_width="wrap_content"
@ -47,16 +45,13 @@
android:textStyle="bold"
android:text="@string/app_name"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/about_description" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/activity_margin_large"
android:layout_marginEnd="@dimen/activity_margin_large"
android:textAlignment="center"
android:textStyle="bold"
android:text="@string/about_description" />
</LinearLayout>
</LinearLayout>
@ -293,7 +288,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/about_label_main_author"/>
android:text="@string/about_label_main_developer"/>
<LinearLayout
android:orientation="horizontal"

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">Quant a</string>
<string name="about_description">Autenticació de dos factors de codi obert per a Android</string>
<!-- Misc -->
<string name="about_label_changelog">Registre de canvis</string>
<string name="about_label_license">Llicència</string>
<string name="about_label_licenses">Llicencies de codi obert</string>
<string name="about_label_MIT">Llicència MIT</string>
<string name="about_label_source">Codi font</string>
<string name="about_label_version">Versió</string>
<!-- Authors -->
<string name="about_title_authors">Autors</string>
<string name="about_label_main_developer">Programador principal</string>
<string name="about_label_developer">Autor</string>
<string name="about_label_original_author">Autor de l\'aplicació original</string>
<string name="about_label_original_app">Aplicació original</string>
<string name="about_label_website">Lloc web</string>
<string name="about_label_donate">Feu una donació</string>
<string name="about_label_contributors">Col·laboradors</string>
<string name="about_label_translators">Traductors</string>
<!-- Support -->
<string name="about_title_support">Doneu suport al desenvolupament</string>
<string name="about_label_report_bugs">Informe d\'errors</string>
<string name="about_label_translate">Tradueix</string>
<string name="about_desc_report_bugs">Aviseu d\'un error o demaneu funcions noves</string>
<string name="about_desc_translate">Com podeu ajudar a traduir andOTP a la vostra llengua</string>
<string name="about_title_special_features">Característiques especials</string>
<string name="about_dialog_special_features">Esteu segur que voleu habilitar les característiques
especials? La major part són algorismes OTP no estàndard que es van implementar
ad-hoc. <b>No tenen suport oficial</b> i pateixen de <b>certes
limitacions</b>, per favor, llegiu (i assegureu-vos d\'entendre) la pàgina \"característiques especials\" en la wiki de Github
per a saber-ne més abans de fer-les servir.</string>
<string name="about_toast_special_features">Característiques especials habilitades</string>
<string name="about_toast_special_features_enabled">Característiques especials ja habilitades</string>
<string name="about_toast_copied_to_clipboard">Donation link copied to clipboard</string>
</resources>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="auth_activity_title">Autentica</string>
<!-- Hints -->
<string name="auth_hint_password">Contrasenya</string>
<string name="auth_hint_pin">PIN</string>
<!-- Messages -->
<string name="auth_msg_authenticate">Per favor, autentiqueu-vos per a iniciar andOTP!</string>
<string name="auth_msg_confirm_encryption">Per favor, confirmeu la vostra autenticació per a generar
la clau de xifratge nova!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Desbloqueja</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Per favor, establiu una contrasenya en la configuració!</string>
<string name="auth_toast_pin_missing">Per favor, establiu un PIN en la configuració!</string>
<string name="auth_toast_password_again">Contrasenya incorrecta; per favor, torneu-ho a intentar!</string>
<string name="auth_toast_pin_again">PIN incorrecte; per favor, torneu-ho a intentar!</string>
</resources>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="backup_activity_title">Còpies de seguretat</string>
<string name="backup_category_plain">Còpies de seguretat en text net</string>
<string name="backup_category_crypt">Còpies de seguretat xifrades</string>
<string name="backup_category_openpgp">Còpies de seguretat xifrades amb OpenPGP</string>
<string name="backup_title_export_plain">Còpia de seguretat (text net)</string>
<string name="backup_title_export_crypt">Còpia de seguretat (xifrada)</string>
<string name="backup_title_export_openpgp">Còpia de seguretat (OpenPGP)</string>
<string name="backup_title_import_plain">Restaura (text net)</string>
<string name="backup_title_import_crypt">Restaura (xifrada)</string>
<string name="backup_title_import_openpgp">Restaura (OpenPGP)</string>
<string name="backup_title_replace">Substitueix els comptes existents</string>
<string name="backup_desc_export_plain">Fes una còpia de seguretat de tots els comptes en un fitxer de text net JSON</string>
<string name="backup_desc_export_crypt">Fes una còpia de seguretat de tots els comptes en un fitxer JSON protegit per contrasenya</string>
<string name="backup_desc_export_openpgp">Fes una còpia de seguretat tots els comptes en un fitxer JSON encriptat amb OpenPGP</string>
<string name="backup_desc_import_plain">Restaura els comptes d\'un fitxer de text net JSON</string>
<string name="backup_desc_import_crypt">Restaura els comptes d\'un fitxer JSON protegit amb contrasenya</string>
<string name="backup_desc_import_openpgp">Restaura els comptes d\'un fitxer JSON xifrat amb OpenPGP</string>
<string name="backup_desc_crypt_setup">Cal establir una contrasenya en la Configuració per a usar
còpies xifrades.
</string>
<string name="backup_desc_openpgp_provider">Cal instal·lar un programa OpenPGP i habilitar-lo
en la Configuració per a fer servir aquesta característica.
</string>
<string name="backup_desc_openpgp_keyid">Cal triar una clau OpenPGP en la Configuració
per a poder crear còpies xifrades.
</string>
<string name="backup_desc_replace">Si està activat les entrades antigues són substituïdes quan s\'importa una
còpia de seguretat i només hi queda la còpia. Si no, les entrades velles i les còpies de seguretat
es fusionen.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Avís de seguretat</string>
<string name="backup_dialog_msg_export_warning">Realment voleu exportar la base de dades com a
fitxer de text net JSON? Aquest fitxer contindrà les vostres claus secretes; per favor, manteniu-lo <b>ben protegit</b>!
</string>
<!-- Toast messages -->
<string name="backup_toast_mkdir_failed">No ha pogut crear el directori de còpia de seguretat</string>
<string name="backup_toast_export_success">Exportació a l\'emmagatzematge extern correcta</string>
<string name="backup_toast_export_failed">L\'exportació a emmagatzematge extern ha fallat</string>
<string name="backup_toast_import_success">Importació des de l\'emmagatzematge extern correcta</string>
<string name="backup_toast_import_save_failed">No s\'han pogut desar les entrades restaurades</string>
<string name="backup_toast_import_decryption_failed">El desxifratge de la còpia ha fallat</string>
<string name="backup_toast_import_no_entries">No s\'han trobat cap entrada en les dades importades</string>
<string name="backup_toast_storage_not_accessible">L\'emmagatzematge extern no és accessible actualment</string>
<string name="backup_toast_storage_permissions">Permisos d\'emmagatzematge no concedits</string>
<string name="backup_toast_openpgp_error">Error OpenPGP: %s</string>
<string name="backup_toast_openpgp_not_verified">No s\'ha detectat cap signatura verificada</string>
<string name="backup_toast_crypt_password_not_set">No hi ha cap contrasenya establerta, comproveu la configuració</string>
</resources>

View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<!-- Buttons -->
<string name="button_cancel">Cancel·la</string>
<string name="button_enter_details">Introduïu-ne els detalls</string>
<string name="button_scan_qr">Escaneja un codi QR</string>
<string name="button_save">Desa</string>
<string name="button_new_tag">Etiqueta nova</string>
<string name="button_settings">Configuració</string>
<string name="button_all_tags">Totes les etiquetes</string>
<string name="button_no_tags">Sense etiquetes</string>
<!-- Custom formatting -->
<string name="format_custom_period">%d s</string>
<!-- Hints -->
<string name="hint_label">Etiqueta</string>
<string name="hint_secret">Secret</string>
<!-- Labels -->
<string name="label_hidden">Ocult</string>
<string name="label_type">Tipus</string>
<string name="label_secret">Secret</string>
<string name="label_period">Període</string>
<string name="label_digits">Dígits</string>
<string name="label_label">Etiqueta</string>
<string name="label_algorithm">Algorisme</string>
<string name="label_tags">Etiquetes</string>
<string name="label_advanced">Opcions avançades</string>
<!-- Drawer -->
<string name="drawer_open">Mostra les etiquetes</string>
<string name="drawer_close">Amaga les etiquetes</string>
<!-- Menu -->
<string name="menu_main_about">Quant a</string>
<string name="menu_main_backup">Còpia de seguretat</string>
<string name="menu_main_search">Cerca</string>
<string name="menu_main_settings">Configuració</string>
<string name="menu_main_sort">Ordena</string>
<string name="menu_sort_none">Sense ordenar</string>
<string name="menu_sort_label">Etiqueta</string>
<string name="menu_sort_last_used">Últimes utilitzades</string>
<string name="menu_popup_edit_label">Edita l\'etiqueta</string>
<string name="menu_popup_change_image">Canvia la imatge</string>
<string name="menu_popup_edit_tags">Edita etiquetes</string>
<string name="menu_popup_remove">Suprimeix</string>
<!-- Toast messages -->
<string name="toast_auth_failed">Error d\'autenticació. Torneu-ho a intentar!</string>
<string name="toast_auth_failed_fatal">L\'autenticació ha fallat, andOTP es tancarà!</string>
<string name="toast_copied_to_clipboard">Copiat al porta-retalls</string>
<string name="toast_entry_exists">Aquest element ja existeix</string>
<string name="toast_invalid_qr_code">Codi QR no vàlid</string>
<string name="toast_encryption_key_empty">No s\'ha carregat la clau de xifratge</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Autentica</string>
<string name="dialog_title_manual_entry">Introduïu-ne els detalls</string>
<string name="dialog_title_remove">Suprimeix</string>
<string name="dialog_title_rename">Canvia el nom</string>
<string name="dialog_title_last_used">Últimes utilitzades</string>
<string name="dialog_title_keystore_error">Error al magatzem de claus</string>
<string name="dialog_title_encryption">Xifratge de la base de dades</string>
<string name="dialog_msg_auth">Per favor, introduïu les vostres credencials per a iniciar andOTP.</string>
<string name="dialog_msg_confirm_delete">Segur que voleu suprimir el compte \"%1$s\"?</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">2. Contrasenya / PIN</string>
<string name="dialog_msg_security_first">Per a garantir la seguretat dels vostres comptes només
es desen en fitxers xifrats amb un dels mètodes següents:</string>
<string name="dialog_msg_security_keystore">KeyStore és un component del sistema d\'Android per a
emmagatzemar les claus criptogràfiques de forma segura. L\'avantatge és que les claus
són desades separades dels fitxers de dades i poden ser suportades per criptografia del maquinari (si
el maquinari ho permet). Tanmateix, com que les claus no s\'emmagatzemen amb les dades de l\'aplicació
no es pot usar amb programes de còpia de seguretat externs (com ara Titanium). Si trieu aquest mètode
haureu de confiar en les funcions de còpia de seguretat d\'andOTP.</string>
<string name="dialog_msg_security_password">Aquest mètode xifrarà les vostres dades amb una clau
generada a partir d\'una contrasenya o PIN. L\'avantatge principal és que funciona amb
programes de còpia de seguretat externs (com ara Titanium). Tanmateix haureu d\'escriure les credencials
cada vegada que inicieu andOTP.</string>
<string name="dialog_msg_security_default">Per defecte s\'usarà Android KeyStore, tanmateix
sabem que provoca problemes en certes ROM personalitzades (i en alguna de les prefabricades). Podeu
canviar el xifratge en la configuració fent clic en el botó inferior.</string>
<string name="dialog_msg_last_used">Per tal que andOTP reconega quin testimoni va ser l\'últim
heu d\'habilitar \"toqueu per a mostrar\" o feu servir el botó de copia.\n\nAquest missatge no tornarà
a aparéixer.</string>
<string name="dialog_msg_keystore_error">No s\'ha pogut carregar la clau de xifratge del KeyStore.
<b>Algunes entrades que hi afegiu es perdran.</b>\n\nPer a continuar usant andOTP podeu
anar a configuració i canviar <b>xifratge de la base de dades</b> a <b>contrasenyes / PIN</b>.</string>
</resources>

View file

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="settings_activity_title">Configuració</string>
<!-- Categories -->
<string name="settings_category_title_security">Seguretat</string>
<string name="settings_category_title_ui">Interfície d\'usuari</string>
<string name="settings_category_title_backup">Còpia de seguretat</string>
<!-- Titles -->
<string name="settings_title_tap_to_reveal">Toqueu per a mostrar</string>
<string name="settings_title_tap_to_reveal_timeout">Temps d\'espera per a \"toqueu per a mostrar\"</string>
<string name="settings_title_auth">Autenticació</string>
<string name="settings_title_auth_password">Contrasenya</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_encryption">Xifratge de la base de dades</string>
<string name="settings_title_panic">Botó del pànic</string>
<string name="settings_title_lang">Idioma</string>
<string name="settings_title_theme">Tema</string>
<string name="settings_title_label_size">Mida de la lletra de l\'etiqueta</string>
<string name="settings_title_label_scroll">Permet el desplaçament a les etiquetes</string>
<string name="settings_title_thumbnail_size_ask">Mida de la miniatura</string>
<string name="settings_title_split_group_size">Separa el testimoni amb espais</string>
<string name="settings_title_backup_ask">Demana el nom de fitxer</string>
<string name="settings_title_backup_directory">Directori de còpia de seguretat</string>
<string name="settings_title_backup_password">Contrasenya de la còpia de seguretat</string>
<string name="settings_title_openpgp_provider">Selecciona el programa OpenPGP</string>
<string name="settings_title_openpgp_keyid">Tria la clau OpenPGP</string>
<string name="settings_title_openpgp_sign">Signa les còpies de seguretat xifrades</string>
<string name="settings_title_openpgp_verify">Verifica les còpies de seguretat xifrades</string>
<string name="settings_title_special_features">Habilita les característiques especials</string>
<string name="settings_title_enable_screenshot">Permet screenshots</string>
<string name="settings_title_clear_keystore">Neteja el magatzem de claus</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">Amaga els testimonis OTP per defecte, caldrà
mostrar-los manualment</string>
<string name="settings_desc_tap_to_reveal_timeout">Indiqueu durant quant de temps (en segons)
es mostraran les entrades</string>
<string name="settings_desc_panic">Decidiu què fer quan es prem el botó del pànic</string>
<string name="settings_desc_label_scroll">Les etiquetes llargues es desplacen en comptes de truncar-les</string>
<string name="settings_desc_backup_ask">Demana el nom del fitxer cada vegada que es crea o restaura una còpia de seguretat</string>
<string name="settings_desc_backup_directory">Directori per a les còpies de seguretat (el nom dels fitxers
depén del tipus de còpia)</string>
<string name="settings_desc_backup_password">Contrasenya que s\'usarà per a xifrar les
còpies de seguretat</string>
<string name="settings_desc_openpgp_sign">Cada còpia xifrada se signa a més amb la vostra clau
(cal contrasenya)</string>
<string name="settings_desc_openpgp_verify">Només s\'importaran còipes xifrades si s\'han
signat amb una clau vàlida</string>
<string name="settings_desc_special_features">Desmarqueu per a deshabilitar les característiques especials</string>
<string name="settings_desc_enable_screenshot">Permet fer captures de la pantalla principal
(desactivat per defecte per motius de seguretat)</string>
<string name="settings_desc_clear_keystore">Esborra la clau d\'encriptació del magatzem de claus</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Aquesta característica només funciona amb
Android 5.0 (Lollipop) o superior</string>
<string name="settings_toast_auth_device_not_secure">Aquesta característica requereix un bloqueig de pantalla
segur (Configuració -&gt; Seguretat -&gt; Bloqueig de pantalla)</string>
<string name="settings_toast_password_empty">Les contrasenyes buides no són permeses,
trieu autenticació nul·la per a desactivar-la!</string>
<string name="settings_toast_encryption_changing">S\'està mirant de canviar el xifratge de la base de dades;
per favor, espereu!</string>
<string name="settings_toast_encryption_change_success">S\'ha canviat el xifratge de la base de
dades amb èxit!</string>
<string name="settings_toast_encryption_change_failed">No ha estat possible canviar el xifratge de la
base de dades: romandrà en l\'estat original!</string>
<string name="settings_toast_encryption_backup_failed">No ha estat possible crear la còpia
interna, s\'ha interromput!</string>
<string name="settings_toast_encryption_no_key">No ha estat possible obtenir la clau de xifratge, s\'ha interromput!</string>
<string name="settings_toast_encryption_auth_failed">Ha fallat l\'autenticació!</string>
<string name="settings_toast_auth_upgrade_failed">Ha fallat l\'actualització automàtica de la contrasenya / PIN
per al nou xifratge; per favor, reinicialitzeu-la manualment en la configuració!</string>
<string name="settings_dialog_title_error">Error</string>
<string name="settings_dialog_title_clear_keystore">Voleu neteja el magatzem de claus?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Només podeu usar una contrasenya o un PIN
si el xifratge de la base de dades s\'ha establert a \"contrasenya / PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Primer cal definir l\'autenticació a \"contrasenya\" o \"PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Cal establir una contrasenya o PIN abans de canviar l\'encriptació!</string>
<string name="settings_dialog_msg_clear_keystore_password">En alguns casos, netejar el magatzem de claus
pot ajudar a resoldre problemes. Feu-ho només si sabeu què feu!\\n\nAtés que el xifratge de la <b>base de dades</b> està definit a <b>contrasenya / PIN</b> no hauríeu de perdre-hi
dades (fer una cópia de seguretat sempre va bé, però).\n\n<b>Segur que voleu netejar
el magatzem de claus (KeyStore)?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">En alguns casos, netejar el magatzem de claus
pot ajudar a resoldre problemes. Feu-ho només si sabeu què feu!\\n\n<b>Alerta</b>:
Atés que el xifratge de la <b>base de dades</b> està definit a <b>Android KeyStore</b> perdreu tots els
comptes. Comproveu que n\'heu fet una còpia!\n\n<b>Segur que voleu netejar el magatzem de claus
(KeyStore)?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Cap</item>
<item>Contrasenya</item>
<item>PIN</item>
<item>Credencials del dispositiu</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android KeyStore</item>
<item>Contrasenya / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Suprimeix tots els comptes</item>
<item>Reinicialitza les opcions de l\'aplicació</item>
</string-array>
<string-array name="settings_entries_theme">
<item>Tema clar</item>
<item>Tema fosc</item>
<item>Tema negre</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Ocult</item>
<item>Petita</item>
<item>Per defecte</item>
<item>Mitjana</item>
<item>Grossa</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>No dividir</item>
<item>Després de dos caràcters</item>
<item>Després de tres caràcters</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Valor del sistema per defecte</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Introduïu la contrasenya nova</string>
<string name="settings_hint_pin">Introduïu el PIN nou</string>
<string name="settings_hint_password_confirm">Confirmeu la contrasenya</string>
<string name="settings_hint_pin_confirm">Confirmeu el PIN</string>
<string name="settings_label_short_password">La contrasenya ha de tenir, si més no, %1$d caràcters!</string>
<string name="settings_label_short_pin">El PIN ha de tindre, si més no, %1$d xifres!</string>
</resources>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">O aplikaci</string>
<string name="about_description">
Open source aplikace pro dvou-faktorové ověřování pro Android 4.4 a vyšší. </string>
<string name="about_description">Open source dvoufaktorová autentifikace pro Android</string>
<!-- Misc -->
<string name="about_label_changelog">Seznam změn</string>
<string name="about_label_license">Licence</string>
@ -13,9 +12,11 @@ Open source aplikace pro dvou-faktorové ověřování pro Android 4.4 a vyšš
<string name="about_label_version">Verze</string>
<!-- Authors -->
<string name="about_title_authors">Autoři</string>
<string name="about_label_main_author">Hlavní autor</string>
<string name="about_label_main_developer">Hlavní vývojář</string>
<string name="about_label_developer">Vývojář</string>
<string name="about_label_original_author">Autor původní aplikace</string>
<string name="about_label_original_app">Původní aplikace</string>
<string name="about_label_website">Webová stránka</string>
<string name="about_label_donate">Přispět</string>
<string name="about_label_contributors">K vývoji přispěli</string>
<string name="about_label_translators">Překladatelé</string>
@ -31,4 +32,5 @@ Většina z nich jsou nestandardní OTP algoritmy, které byly implementovány n
Tyto funkce <b>nejsou oficiálně podporovány</b> a mohou přicházet s <b>jistými omezeními</b>, prosím přečtěte si (a pochopte) stránku \"Special features\" na Github wiki, ať se o nich dozvíte víc než je začnete používat.</string>
<string name="about_toast_special_features">Specialní funkce povoleny</string>
<string name="about_toast_special_features_enabled">Speciální funkce byly již povoleny</string>
<string name="about_toast_copied_to_clipboard">Odkaz pro příspěvek zkopírován do schránky</string>
</resources>

View file

@ -6,9 +6,13 @@
<string name="auth_hint_password">Heslo</string>
<string name="auth_hint_pin">PIN</string>
<!-- Messages -->
<string name="auth_msg_password">Prosím zadejte své heslo pro spuštění andOTP.</string>
<string name="auth_msg_pin">Prosím zadejte svůj PIN pro spuštění andOTP.</string>
<string name="auth_msg_authenticate">Přihlašte se pro spuštění andOTP!</string>
<string name="auth_msg_confirm_encryption">Prosím potvrďte své přihlášení pro vygenerování nového šifrovacího klíče!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Odemknout</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">V nastavení si prosím nastavte heslo!</string>
<string name="auth_toast_pin_missing">V nastavení si prosím nastavte PIN!</string>
<string name="auth_toast_password_again">Nesprávné heslo, zkuste to prosím znovu!</string>
<string name="auth_toast_pin_again">Nesprávný PIN, zkuste to prosím znovu!</string>
</resources>

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">Načíst QR kód</string>
<string name="button_save">Uložit</string>
<string name="button_new_tag">Nový štítek</string>
<string name="button_warned">Byli jste varováni!</string>
<string name="button_settings">Nastavení</string>
<string name="button_all_tags">Všechny štítky</string>
<string name="button_no_tags">Bez štítku</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Popis</string>
<string name="label_algorithm">Algoritmus</string>
<string name="label_tags">Štítky</string>
<string name="label_advanced">Pokročilé možnosti</string>
<!-- Drawer -->
<string name="drawer_open">Zobrazit štítky</string>
<string name="drawer_close">Skrýt štítky</string>
@ -41,22 +42,31 @@
<string name="menu_popup_edit_tags">Upravit štítky</string>
<string name="menu_popup_remove">Smazat</string>
<!-- Toast messages -->
<string name="toast_auth_failed">Chyba ověření, zkuste to prosím znovu!</string>
<string name="toast_auth_failed_fatal">Ověření se nezdařilo, zavírám andOTP!</string>
<string name="toast_copied_to_clipboard">Zkopírováno do schránky</string>
<string name="toast_entry_exists">Tento záznam již existuje</string>
<string name="toast_invalid_qr_code">Neplatný QR kód</string>
<string name="toast_encryption_key_empty">Šifrovací klíč nenačten</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Přihlášení</string>
<string name="dialog_title_manual_entry">Ruční zadání</string>
<string name="dialog_title_remove">Smazat</string>
<string name="dialog_title_rename">Přejmenování</string>
<string name="dialog_title_security_backup">Zabezpečení a zálohy</string>
<string name="dialog_title_last_used">Naposledy použité</string>
<string name="dialog_title_keystore_error">Chyba úložiště klíčů</string>
<string name="dialog_title_encryption">Šifrování databáze</string>
<string name="dialog_msg_auth">Prosím zadejte heslo zařízení ke spuštění andOTP.</string>
<string name="dialog_msg_confirm_delete">Opravdu chcete odebrat tento účet?</string>
<string name="dialog_msg_security_backup_desc">Pro zajištění bezpečnosti vašich údajů je tato aplikace ukládá šifrované. Část použitého šifrovacího klíče je uložena pomocí systému Android KeyStore. Výhodou tohoto přístupu je uložení dat aplikace odděleně od klíče, toto může být podpořeno HW šifrováním (pokud to Vaše zařízení podporuje). </string>
<string name="dialog_msg_security_backup_3rd_party">Nevýhodou je trochu ztížené zálohování dat aplikace. Užíváte-li aplikace třetích stran (jako Titanium Backup) zazálohujete pouze data aplikace ne však šifrovací klíč, následkem toho budou takové zálohy nepoužitelné. </string>
<string name="dialog_msg_security_backup_warning">Používejte prosím k zálohování Vašich účtů pouze vlastní zálohovací funkce této aplikace! Cokoliv jiného povede ke ztrátě dat. </string>
<string name="dialog_msg_security_backup_one_time">Tato zpráva se víckrát nezobrazí.</string>
<string name="dialog_msg_confirm_delete">Jste si jistí, že chcete odebrat účet \"%1$s\"?</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">2. Heslo / PIN</string>
<string name="dialog_msg_security_first">Pro zajištění bezpečnosti Vašich účtů ukládá aplikace data do šifrovaných souborů šifrovaných pomocí jedné z následujících dvou metod:</string>
<string name="dialog_msg_security_keystore">KeyStore je systémová komponenta Androidu sloužící k bezpečnému ukládání kryptografických klíčů. Výhodou tohoto přístupu je, že jsou klíče uloženy odděleně od dat a že může být podpořen hardwarovou kryptografií (pokud ji Hw podporuje).
Nicméně vzhledem k tomu, že nejsou klíče uloženy spolu s daty aplikace znemožňuje tato metoda použití externích zálohovacích nástrojů (jako je Titanium).
Pokud zvolíte tuto metodu budete muset spoléhat na vlastní zálohovací funkce aplikace andOTP.</string>
<string name="dialog_msg_security_password">Tato metoda zašifruje data pomocí klíče generovaného z PINu nebo hesla. Hlavní výhodou je, že bude fungovat s externími zálohovacími nástroji (např. Titanium). Budete ale muset zadat své heslo/PIN při každém spuštění andOTP.</string>
<string name="dialog_msg_security_default">Jako výchozí možnost se používá Android KeyStore, což ale může způsobit problémy s některými upravenými ROM (a s pár oficiálními také). Šifrování můžete změnit v Nastavení klepnutím na tlačítko níže.</string>
<string name="dialog_msg_last_used">Aby andOTP poznal, který token byl použitý jako poslední, je potřeba mít zapnuté \"zobraz klepnutím\" nebo používat kopírovací tlačítko. \n\n Tato zpráva se již nezobrazí.</string>
<string name="dialog_msg_keystore_error">Nepodařilo se načíst šifrovací klíč z KeyStore.
<b>Veškeré přidané položky budou ztraceny.</b> \n\nPro zajištění použitelnosti andOTP můžete v Nastavení přepnout <b>Šifrování databáze</b> na <b>heslo / PIN</b>.</string>
</resources>

View file

@ -12,13 +12,14 @@
<string name="settings_title_auth">Přihlášení</string>
<string name="settings_title_auth_password">Heslo</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_encryption">Šifrování databáze</string>
<string name="settings_title_panic">Panikové tlačítko</string>
<string name="settings_title_lang">Jazyk</string>
<string name="settings_title_theme">Vzhled</string>
<string name="settings_title_label_size">Velikost písma popisku</string>
<string name="settings_title_label_scroll">Pohybující se popisky</string>
<string name="settings_title_thumbnail_visible_ask">Zobrazit náhledy</string>
<string name="settings_title_thumbnail_size_ask">Velikost náhledu</string>
<string name="settings_title_split_group_size">Rozdělit token mezerami</string>
<string name="settings_title_backup_ask">Zadejte název souboru</string>
<string name="settings_title_backup_directory">Adresář záloh</string>
<string name="settings_title_backup_password">Heslo pro zálohu</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">Ověřit šifrované zálohy</string>
<string name="settings_title_special_features">Povolit speciální funkce</string>
<string name="settings_title_enable_screenshot">Povolit snímání obrazovky</string>
<string name="settings_title_clear_keystore">Vymazat úložiště klíčů</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">V základu skryje OTP tokeny, budou zobrazeny manuálně</string>
<string name="settings_desc_tap_to_reveal_timeout">Zvolte čas v sekundách, po kterém se zobrazené kódy opět skryjí</string>
@ -38,11 +40,27 @@
<string name="settings_desc_backup_password">Nastaví heslo používané k šifrování záloh</string>
<string name="settings_desc_openpgp_sign">Každá šifrovaná záloha bude navíc podepsána Vaším klíčem (vyžaduje heslo)</string>
<string name="settings_desc_openpgp_verify">Šifrované zálohy jsou importovány pouze, jsou-li podepsány platným klíčem</string>
<string name="settings_desc_enable_screenshot">Povolí pořizování snímků hlavní obrazovky (ve výchozím nastavení je z bezpečnostních důvodů zakázáno)</string>
<string name="settings_desc_special_features">Zrušte zaškrtnutí políčka opětovné zakázání speciálních funkcí</string>
<string name="settings_desc_enable_screenshot">Povolí pořizování snímků hlavní obrazovky (ve výchozím nastavení je z bezpečnostních důvodů zakázáno)</string>
<string name="settings_desc_clear_keystore">Odstranit šifrovací klíč z úložiště klíčů</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Tato funkce ke své činnosti vyžaduje alespoň Android 5.0 (Lollipop)</string>
<string name="settings_toast_auth_device_not_secure">Tato funkce vyžaduje nastavení zámku obrazovky (Nastavení -&gt; Zabezpečení -&gt; Zámek obrazovky)</string>
<string name="settings_toast_password_empty">Není povoleno prázdné heslo, nastavte přihlášení na \"Žádné\" pro zakázání!</string>
<string name="settings_toast_encryption_changing">Pokouším se změnit šifrování databáze, prosím čekejte!</string>
<string name="settings_toast_encryption_change_success">Šifrování databáze úspěšně změněno!</string>
<string name="settings_toast_encryption_change_failed">Nepodařilo se změnit šifrování databáze, vracím se k původnímu stavu!</string>
<string name="settings_toast_encryption_backup_failed">Nepodařilo se vytvořit zálohu vnitřní, operace byla zrušena!</string>
<string name="settings_toast_encryption_no_key">Nepodařilo se získat šifrovací klíč, operace byla zrušena!</string>
<string name="settings_toast_encryption_auth_failed">Ověření se nezdařilo!</string>
<string name="settings_toast_auth_upgrade_failed">Nepodařilo se automaticky převést heslo/PIN na nové šifrování, prosím nastavte jej znovu v Nastaveních!</string>
<string name="settings_dialog_title_error">Chyba</string>
<string name="settings_dialog_title_clear_keystore">Vymazat úložiště klíčů?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Heslo nebo kód PIN lze použít pouze pokud je šifrování databáze nastaveno na \"Heslo / PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Nejprve je třeba nastavit ověřování na \"Heslo\" nebo \"PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Před změnou šifrování musíte nejprve nastavit heslo nebo PIN!</string>
<string name="settings_dialog_msg_clear_keystore_password">V některých případech vymazání KeyStore může pomoci vyřešit problémy. Pokračujte, pouze pokud víte, co děláte! \n\nVzhledem k tomu, že máte <b>šifrování databáze</b> nastaveno na <b>heslo / PIN</b> byste provedením tohoto postupu něměli přijít o data (ale mít zálohu nikdy neuškodí).\n\n <b>Jste si opravdu jisti, že chcete vymyzat KeyStore?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">V některých případech vymazání KeyStore může pomoci vyřešit problémy. Pokračujte, pouze pokud víte, co děláte! \n\n <b>Varování</b>: Vzhledem k tomu, že máte <b>šifrování databáze</b> nastaveno na <b>Android KeyStore</b> ztratíte tímto krokem všechny své účty. Ujistěte se, že máte zálohu!\n\n <b>Jste si opravdu jisti, že chcete vymyzat KeyStore?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Žádný</item>
@ -50,6 +68,10 @@
<item>PIN</item>
<item>Stejné jako zařízení</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android KeyStore</item>
<item>Heslo / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Smazat všechny účty</item>
<item>Obnovit výchozí nastavení</item>
@ -60,17 +82,24 @@
<item>Černý vzhled</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Skryté</item>
<item>Malé</item>
<item>Výchozí</item>
<item>Střední</item>
<item>Velké</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Nedělit</item>
<item>Po dvou znacích</item>
<item>Po třech znacích</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Podle systému</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Heslo</string>
<string name="settings_hint_pin">PIN</string>
<string name="settings_hint_password">Zadejte nové heslo</string>
<string name="settings_hint_pin">Zadejte nový PIN</string>
<string name="settings_hint_password_confirm">Potvrďte heslo</string>
<string name="settings_hint_pin_confirm">Potvrďte PIN</string>
<string name="settings_hint_unchanged">(beze změn)</string>
<string name="settings_label_short_password">Heslo musí obsahovat alespoň %1$d znaků!</string>
<string name="settings_label_short_pin">PIN musí obsahovat alespoň %1$d číslic!</string>
</resources>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">Über</string>
<string name="about_description">
Eine OpenSource-zwei-Faktor-Authentifizierung App für Android 4.4+. </string>
<string name="about_description">Quelloffene zwei-Faktor-Authentifizierung für Android</string>
<!-- Misc -->
<string name="about_label_changelog">Änderungsprotokoll</string>
<string name="about_label_license">Lizenz</string>
@ -13,9 +12,11 @@ Eine OpenSource-zwei-Faktor-Authentifizierung App für Android 4.4+. </string
<string name="about_label_version">Version</string>
<!-- Authors -->
<string name="about_title_authors">Autoren</string>
<string name="about_label_main_author">Hauptautor</string>
<string name="about_label_main_developer">Hauptentwickler</string>
<string name="about_label_developer">Entwickler</string>
<string name="about_label_original_author">Autor der ursprünglichen App</string>
<string name="about_label_original_app">Ursprüngliche App</string>
<string name="about_label_website">Webseite</string>
<string name="about_label_donate">Spenden</string>
<string name="about_label_contributors">Mitwirkende</string>
<string name="about_label_translators">Übersetzer</string>
@ -29,4 +30,5 @@ Eine OpenSource-zwei-Faktor-Authentifizierung App für Android 4.4+. </string
<string name="about_dialog_special_features">Sind Sie sicher, dass Sie die Sonderfunktionen aktivieren möchten? Die meisten davon sind nicht standardgemäße OTP-Algorithmen, die auf besonderen Wunsch umgesetzt wurden. Diese sind <b>nicht offiziell unterstützt</b> und mit <b>gewissen Einschränkungen</b>. Bitte lesen (und verstehen) Sie die Seite \"Special Features\" im Github Wiki um mehr darüber zu lernen, bevor Sie sie verwenden.</string>
<string name="about_toast_special_features">Sonderfunktionen aktiviert</string>
<string name="about_toast_special_features_enabled">Sonderfunktionen bereits aktiviert</string>
<string name="about_toast_copied_to_clipboard">Spenden-Link wurde in die Zwischenablage kopiert</string>
</resources>

View file

@ -6,9 +6,13 @@
<string name="auth_hint_password">Passwort</string>
<string name="auth_hint_pin">PIN</string>
<!-- Messages -->
<string name="auth_msg_password">Bitte geben Sie Ihr Passwort ein, um andOTP zu starten.</string>
<string name="auth_msg_pin">Bitte geben Sie Ihre PIN ein, um andOTP zu starten.</string>
<string name="auth_msg_authenticate">Bitte authentifizieren Sie sich, um andOTP zu starten!</string>
<string name="auth_msg_confirm_encryption">Bitte bestätigen Sie Ihre Authentifizierung um den neuen Verschlüsselungsschlüssel zu generieren!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Entsperren</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Bitte setzen Sie ein Passwort in den Einstellungen!</string>
<string name="auth_toast_pin_missing">Bitte setzen Sie eine PIN in den Einstellungen!</string>
<string name="auth_toast_password_again">Falsches Passwort, bitte erneut versuchen!</string>
<string name="auth_toast_pin_again">Falsche PIN, bitte erneut versuchen!</string>
</resources>

View file

@ -11,7 +11,7 @@
<string name="backup_title_import_plain">Wiederherstellen (Klartext)</string>
<string name="backup_title_import_crypt">Wiederherstellen (verschlüsselt)</string>
<string name="backup_title_import_openpgp">Wiederherstellen (OpenPGP)</string>
<string name="backup_title_replace">Replace existing entries</string>
<string name="backup_title_replace">Vorhandene Einträge ersetzen</string>
<string name="backup_desc_export_plain">Alle Konten in einer Klartext-JSON-Datei sichern</string>
<string name="backup_desc_export_crypt">Alle Konten in einer passwortgeschützten JSON-Datei sichern</string>
<string name="backup_desc_export_openpgp">Alle Konten in einer OpenPGP-verschlüsselten JSON-Datei sichern</string>
@ -27,9 +27,7 @@
<string name="backup_desc_openpgp_keyid">Sie müssen einen OpenPGP-Schlüssel in den Einstellungen
auswählen, bevor Sie verschlüsselte Backups erstellen können.
</string>
<string name="backup_desc_replace">If enabled all old entries are replaced when importing a
backup and only the backup is present. If disabled the old entries and the backups content
are merged.</string>
<string name="backup_desc_replace">Wenn aktiviert, dann werden beim Import einer Datensicherung alle vorhandenen Einträge ersetzt, so das nur die Datensicherung übrig bleibt. Wenn deaktivert, dann werden die bestehenden Einträge mit dem Inhalt der Datensicherung zusammengeführt.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Sicherheitswarnung</string>
<string name="backup_dialog_msg_export_warning">Möchten Sie wirklich die Datenbank als

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">QR-Code scannen</string>
<string name="button_save">Sichern</string>
<string name="button_new_tag">Neuer Marker</string>
<string name="button_warned">Sie wurden gewarnt!</string>
<string name="button_settings">Einstellungen</string>
<string name="button_all_tags">Alle Marker</string>
<string name="button_no_tags">Keine Marker</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Beschriftung</string>
<string name="label_algorithm">Algorithmus</string>
<string name="label_tags">Marker</string>
<string name="label_advanced">Erweiterte Einstellungen</string>
<!-- Drawer -->
<string name="drawer_open">Marker anzeigen</string>
<string name="drawer_close">Marker ausblenden</string>
@ -41,35 +42,34 @@
<string name="menu_popup_edit_tags">Marker bearbeiten</string>
<string name="menu_popup_remove">Entfernen</string>
<!-- Toast messages -->
<string name="toast_auth_failed">Authentifizierung fehlgeschlagen, bitte erneut versuchen!</string>
<string name="toast_auth_failed_fatal">Authentifizierung fehlgeschlagen, andOTP wird geschlossen!</string>
<string name="toast_copied_to_clipboard">In Zwischenablage kopiert</string>
<string name="toast_entry_exists">Dieser Eintrag ist bereits vorhanden</string>
<string name="toast_invalid_qr_code">Ungültiger QR-Code</string>
<string name="toast_encryption_key_empty">Verschlüsselungsschlüssel nicht geladen</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Authentifizieren</string>
<string name="dialog_title_manual_entry">Details eingeben</string>
<string name="dialog_title_remove">Entfernen</string>
<string name="dialog_title_rename">Umbenennen</string>
<string name="dialog_title_security_backup">Sicherheit und Backups</string>
<string name="dialog_title_last_used">Zuletzt benutzt</string>
<string name="dialog_title_keystore_error">KeyStore Fehler</string>
<string name="dialog_title_encryption">Datenbankverschlüsselung</string>
<string name="dialog_msg_auth">Bitte geben Sie die Anmeldeinformationen Ihres Geräts ein, um andOTP zu starten.</string>
<string name="dialog_msg_confirm_delete">Möchten Sie das Konto wirklich entfernen?</string>
<string name="dialog_msg_security_backup_desc">Zum Schutz Ihrer Kontoinformationen werden diese
von dieser App nur verschlüsselt gespeichert. Ein Teil des dafür verwendeten Schlüssels
wird im Android KeyStore System gespeichert. Der Vorteil dieses Ansatzes ist, dass der
Schlüssel getrennt von den Anwendungsdaten gehalten wird und kann durch
Hardware-Kryptographie (sofern Ihr Endgerät dies unterstützt) geschützt werden.
</string>
<string name="dialog_msg_security_backup_3rd_party">Als Nachteil werden dadurch Sicherungen der
Anwendungs-Daten etwas schwieriger. Falls Sie Drittanbieter-Anwendungen
(z. B. Titanium Backup) verwenden, werden nur die Datendateien gesichert, aber
nicht der Verschlüsselungsschlüssel und solche Backups daher unbrauchbar.
</string>
<string name="dialog_msg_security_backup_warning">Bitte verwenden Sie nur die interne Backup-Funktionen,
die von der App bereitgestellt werden, um Ihre Konten zu sichern! Alles andere WIRD zum Datenverlust führen.
</string>
<string name="dialog_msg_security_backup_one_time">Diese Meldung wird nicht nochmal angezeigt.</string>
<string name="dialog_msg_confirm_delete">Sind Sie sicher, dass das Konto \"%1$s\" gelöscht werden soll?</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">2. Passwort / PIN</string>
<string name="dialog_msg_security_first">Zur Gewährleistung der Sicherheit Ihrer Konten speichert diese App diese nur in verschlüsselten Dateien unter Benutzung einer der folgenden zwei Methoden:</string>
<string name="dialog_msg_security_keystore">Der KeyStore ist eine Systemkomponente von Android für die sichere Speicherung von kryptographischen Schlüsseln.
Der Vorteil dieses Ansatzes ist, dass die Schlüssel getrennt von den Datendateien gespeichert und durch
Hardware-Verschlüsselung (falls von der Hardware unterstützt) gesichert werden können.
Aber dadurch das die Schlüssel nicht zusammen mit den Anwendungsdaten gespeichert werden, wird verhindert dass diese
Methode mit externen Backup-Lösungen (z. B. Titanium) funktioniert. Wenn Sie diese Methode wählen, müssen Sie sich auf die internen Backup-Funktionen verlassen, die andOTP zur Verfügung stellt.</string>
<string name="dialog_msg_security_password">Diese Methode wird Ihre Daten mit einem Schlüssel verschlüsseln, der aus einem Passwort oder einer PIN erzeugt wird. Der Hauptvorteil ist, dass dies mit externen Backup-Lösungen (wie Titanium) funktioniert. Allerdings müssen Sie bei jedes Mal beim Start von andOTP Ihre Anmeldedaten eingeben.</string>
<string name="dialog_msg_security_default">Standardmäßig wird der Android KeyStore verwendet. Es jedoch bekannt, das dies bei bestimmten Custom-ROMs (und einigen wenigen Werksmäßigen) Probleme verursacht. Sie können die Verschlüsselung in den Einstellungen ändern, indem Sie auf den Button weiter unten klicken.</string>
<string name="dialog_msg_last_used">Damit andOTP erkennt welches Token zuletzt benutzt wurde, muss entweder \"Tippen zum Anzeigen\" aktiv sein
oder der Kopieren-Button benutzt werden.\n\n
Diese Nachricht wird nicht erneut angezeigt.</string>
<string name="dialog_msg_keystore_error">Fehler beim Laden des Verschlüsselungsschlüssels aus dem KeyStore. <b>Alle Einträge, die hinzugefügt werden gehen verloren.</b>\n\nUm andOTP dennoch verwenden zu können, rufen Sie die Einstellungen auf und setzen die <b>Datenbank-Verschlüsselung</b> auf <b>Passwort / PIN</b>.</string>
</resources>

View file

@ -12,13 +12,14 @@
<string name="settings_title_auth">Authentifizierung</string>
<string name="settings_title_auth_password">Passwort</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_encryption">Datenbankverschlüsselung</string>
<string name="settings_title_panic">Panik-Trigger</string>
<string name="settings_title_lang">Sprache</string>
<string name="settings_title_theme">Design</string>
<string name="settings_title_label_size">Schriftgrösse der Beschriftung</string>
<string name="settings_title_label_scroll">Beschriftung scrollen</string>
<string name="settings_title_thumbnail_visible_ask">Thumbnails anzeigen</string>
<string name="settings_title_thumbnail_size_ask">Thumbnail-Größe</string>
<string name="settings_title_split_group_size">Token mit Leerzeichen unterteilen</string>
<string name="settings_title_backup_ask">Nach Dateinamen fragen</string>
<string name="settings_title_backup_directory">Sicherungsverzeichnis</string>
<string name="settings_title_backup_password">Datensicherungs-Passwort</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">Verschlüsselte Datensicherungen überprüfen</string>
<string name="settings_title_special_features">Spezielle Funktionen aktivieren</string>
<string name="settings_title_enable_screenshot">Bildschirmfoto aktivieren</string>
<string name="settings_title_clear_keystore">KeyStore leeren</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">OTP-Token standardmäßig ausblenden, erfordert dass sie
manuell aufgedeckt werden</string>
@ -36,20 +38,36 @@
<string name="settings_desc_label_scroll">Überlange Beschriftungen scrollen, statt diese abzuschneiden</string>
<string name="settings_desc_backup_ask">Jedes Mal nach dem Dateinamen fragen, wenn eine Sicherung erstellt oder wiederhergestellt wird</string>
<string name="settings_desc_backup_directory">Verzeichnis für die Sicherungen (Dateinamen hängen vom Backup-Typ ab)</string>
<string name="settings_desc_backup_password">Setzt das Kennwort, das verwendet wird, um die
<string name="settings_desc_backup_password">Setzt das Passwort, das verwendet wird, um die
Sicherungen zu verschlüsseln</string>
<string name="settings_desc_openpgp_sign">Jedes verschlüsselte Backup wird zusätzlich mit
Ihrem Schlüssel signiert (Passwort erforderlich)</string>
<string name="settings_desc_openpgp_verify">Verschlüsselte Backups werden nur importiert,
wenn sie mit einem gültigen Schlüssel signiert sind</string>
<string name="settings_desc_special_features">Haken entfernen, um die speziellen Funktionen wieder zu deaktivieren</string>
<string name="settings_desc_enable_screenshot">Erlauben von Bildschirmfotos des Hauptbildschirms
(aus Sicherheitsgründen standardmässig deaktiviert)</string>
<string name="settings_desc_special_features">Haken entfernen, um die speziellen Funktionen wieder zu deaktivieren</string>
<string name="settings_desc_clear_keystore">Verschlüsselungsschlüssel aus dem KeyStore löschen</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Dieses Feature erfordert mindestens Android 5.0
(Lollipop) um zu funktionieren</string>
<string name="settings_toast_auth_device_not_secure">Dieses Feature erfordert das ein geschützter Sperrbildschirm
eingerichtet ist (Einstellungen -&gt; Sicherheit -&gt; Displaysperre)</string>
<string name="settings_toast_password_empty">Ein leeres Passwort ist nicht zulässig, setzen Sie die Authentifizierung auf \"Keine\", um es zu deaktivieren!</string>
<string name="settings_toast_encryption_changing">Es wird versucht die Datenbank-Verschlüsselung zu ändern, bitte warten!</string>
<string name="settings_toast_encryption_change_success">Die Datenbank-Verschlüsselung wurde erfolgreich geändert!</string>
<string name="settings_toast_encryption_change_failed">Fehler beim Ändern der Datenbank-Verschlüsselung, es wird auf den ursprünglichen Zustand zurückgegriffen!</string>
<string name="settings_toast_encryption_backup_failed">Erstellung eines internen Backups fehlgeschlagen. Abbruch!</string>
<string name="settings_toast_encryption_no_key">Fehler beim Abrufen des Verschlüsselungsschlüssels. Abbruch!</string>
<string name="settings_toast_encryption_auth_failed">Authentifizierung fehlgeschlagen!</string>
<string name="settings_toast_auth_upgrade_failed">Transparentes Umstellen vom Ihrem Passwort / Ihrer PIN auf die neuen Verschlüsselung fehlgeschlagen, bitte setzen Sie es manuell in den Einstellungen zurück!</string>
<string name="settings_dialog_title_error">Fehler</string>
<string name="settings_dialog_title_clear_keystore">KeyStore leeren?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Sie können nur ein Passwort oder eine PIN verwenden, solange die Datenbankverschlüsselung auf \"Passwort / PIN\" eingestellt ist!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Sie müssen zuerst die Authentifizierung auf \"Passwort\" oder \"PIN\" setzen!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Sie müssen zuerst ein Passwort oder eine PIN festlegen, bevor Sie die Verschlüsselung ändern!</string>
<string name="settings_dialog_msg_clear_keystore_password">In einigen Fällen kann das Leeren des KeyStores helfen, Probleme zu lösen. Sie sollten nur fortfahren, wenn Sie wissen, was Sie tun!\n\nDa die <b>Datenbankverschlüsselung</b> auf <b>Passwort / PIN</b> eingestellt ist, sollten Sie dadurch keine Daten verlieren (aber es schadet nie, Datensicherungen zu haben).\n\n<b>Sind Sie sich wirklich sicher, dass Sie den KeyStore leeren wollen?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">In einigen Fällen kann das Leeren des KeyStore helfen, Probleme zu lösen. Sie sollten nur fortfahren, wenn Sie wissen, was Sie tun!\n\n<b>Warnung</b>: Da die <b>Datenbankverschlüsselung</b> auf <b>Androd KeyStore</b> eingestellt ist, werden Sie alle Konten verlieren. Stellen Sie sicher, dass Sie eine Datensicherung haben!.\n\n<b>Sind Sie sich wirklich sicher, dass Sie den KeyStore leeren wollen?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Keine</item>
@ -57,6 +75,10 @@
<item>PIN</item>
<item>Gerät-Anmeldedaten</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android KeyStore</item>
<item>Passwort / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Alle Konten löschen</item>
<item>Einstellungen zurücksetzen</item>
@ -67,17 +89,24 @@
<item>Schwarzes Design</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Versteckt</item>
<item>Klein</item>
<item>Standard</item>
<item>Mittel</item>
<item>Gross</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Nicht unterteilen</item>
<item>Nach zwei Zeichen</item>
<item>Nach drei Zeichen</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Systemstandard</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Passwort</string>
<string name="settings_hint_pin">PIN</string>
<string name="settings_hint_password">Neues Passwort eingeben</string>
<string name="settings_hint_pin">Neue PIN eingeben</string>
<string name="settings_hint_password_confirm">Passwort bestätigen</string>
<string name="settings_hint_pin_confirm">PIN bestätigen</string>
<string name="settings_hint_unchanged">(unverändert)</string>
<string name="settings_label_short_password">Das Passwort muss mindestens %1$d Zeichen lang sein!</string>
<string name="settings_label_short_pin">Die PIN muss mindestens %1$d Ziffern lang sein!</string>
</resources>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">Acerca de</string>
<string name="about_description">Una aplicaciónde de código abierto de doble factor de
autenticación para Android 4.4+.</string>
<string name="about_description">Autenticación de código abierto de doble factor para Android</string>
<!-- Misc -->
<string name="about_label_changelog">Historial de cambios</string>
<string name="about_label_license">Licencia</string>
@ -13,9 +12,11 @@
<string name="about_label_version">Versión</string>
<!-- Authors -->
<string name="about_title_authors">Autores</string>
<string name="about_label_main_author">Autor principal</string>
<string name="about_label_main_developer">Desarrollador principal</string>
<string name="about_label_developer">Desarrollador</string>
<string name="about_label_original_author">Autor de la aplicación original</string>
<string name="about_label_original_app">Aplicación original</string>
<string name="about_label_website">Página web</string>
<string name="about_label_donate">Donar</string>
<string name="about_label_contributors">Contribuidores</string>
<string name="about_label_translators">Traductores</string>
@ -33,4 +34,5 @@
antes de usarlas.</string>
<string name="about_toast_special_features">Funcionalidades especiales activadas</string>
<string name="about_toast_special_features_enabled">Funcionalidades especiales ya activadas</string>
<string name="about_toast_copied_to_clipboard">Enlace de donativos copiado al portapapeles</string>
</resources>

View file

@ -6,9 +6,13 @@
<string name="auth_hint_password">Contraseña</string>
<string name="auth_hint_pin">PIN</string>
<!-- Messages -->
<string name="auth_msg_password">Introduzca su contraseña para iniciar andOTP.</string>
<string name="auth_msg_pin">Introduzca su PIN para iniciar andOTP.</string>
<string name="auth_msg_authenticate">¡Autentícate para iniciar andOTP!</string>
<string name="auth_msg_confirm_encryption">¡Autentícate para generar una nueva clave de cifrado!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Desbloquear</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Configura una contraseña en los ajustes!</string>
<string name="auth_toast_pin_missing">Configura un PIN en los ajustes!</string>
<string name="auth_toast_password_again">Contraseña incorrecta ¡Inténtelo de nuevo!</string>
<string name="auth_toast_pin_again">PIN incorrecto ¡Inténtelo de nuevo!</string>
</resources>

View file

@ -11,7 +11,7 @@
<string name="backup_title_import_plain">Restaurar (texto plano)</string>
<string name="backup_title_import_crypt">Restaurar (cifrada)</string>
<string name="backup_title_import_openpgp">Restaurar (OpenPGP)</string>
<string name="backup_title_replace">Replace existing entries</string>
<string name="backup_title_replace">Reemplazar entradas existentes</string>
<string name="backup_desc_export_plain">Hace copia de seguridad de todas las cuentas en un fichero JSON de texto plano</string>
<string name="backup_desc_export_crypt">Hace copia de seguridad de todas las cuentas en un fichero JSON con contraseña</string>
<string name="backup_desc_export_openpgp">Hace copia de seguridad de todas las cuentas en un fichero JSON cifrado con OpenPGP</string>
@ -27,9 +27,9 @@
<string name="backup_desc_openpgp_keyid">Necesitas seleccionar una clave OpenPGP en los Ajustes
antes de crear una copia de seguridad cifrada.
</string>
<string name="backup_desc_replace">If enabled all old entries are replaced when importing a
backup and only the backup is present. If disabled the old entries and the backups content
are merged.</string>
<string name="backup_desc_replace">Activado, las entradas antiguas se reemplazarán al importar una
copia de seguridad y solo quedarán las de la copia. Desactivado, las entradas
antiguas y las nuevas se juntan.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Advertencia de seguridad</string>
<string name="backup_dialog_msg_export_warning">¿Realmente quieres exportar la base de datos como

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">Escanear código QR</string>
<string name="button_save">Guardar</string>
<string name="button_new_tag">Nueva etiqueta</string>
<string name="button_warned">¡Has sido avisado!</string>
<string name="button_settings">Ajustes</string>
<string name="button_all_tags">Todas etiquetas</string>
<string name="button_no_tags">Sin etiquetas</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Etiqueta</string>
<string name="label_algorithm">Algoritmo</string>
<string name="label_tags">Etiquetas</string>
<string name="label_advanced">Opciones Avanzadas</string>
<!-- Drawer -->
<string name="drawer_open">Mostrar etiquetas</string>
<string name="drawer_close">Ocultar etiquetas</string>
@ -41,34 +42,43 @@
<string name="menu_popup_edit_tags">Editar etiquetas</string>
<string name="menu_popup_remove">Eliminar</string>
<!-- Toast messages -->
<string name="toast_auth_failed">La autentificación ha fallado, por favor inténtelo otra vez!</string>
<string name="toast_auth_failed_fatal">La autenticación ha fallado, cerrando andOTP!</string>
<string name="toast_copied_to_clipboard">Copiado al portapapeles</string>
<string name="toast_entry_exists">La entrada ya existe</string>
<string name="toast_invalid_qr_code">Código QR inválido</string>
<string name="toast_encryption_key_empty">Clave de cifrado no cargada</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Autenticar</string>
<string name="dialog_title_manual_entry">Introducir datos</string>
<string name="dialog_title_remove">Eliminar</string>
<string name="dialog_title_rename">Renombrar</string>
<string name="dialog_title_security_backup">Seguridad y copias de seguridad</string>
<string name="dialog_title_last_used">Último usado</string>
<string name="dialog_title_keystore_error">Error en el almacen de claves</string>
<string name="dialog_title_encryption">Cifrado de base de datos</string>
<string name="dialog_msg_auth">Por favor, introduce los credenciales del dispositivo para iniciar andOTP.</string>
<string name="dialog_msg_confirm_delete">¿Está seguro de que desea eliminar esta cuenta?</string>
<string name="dialog_msg_security_backup_desc">Para mantener la información de tu cuenta segura esta aplicación
solo la guarda cifrada. Parte de la clave de cifrado utilizada es almacenada en el almacen
de claves de Android. La ventaja de este método es que la clave está separada de los datos de la aplicación
y puede ser almacenada en un enclave hardware (si el dispositivo lo soporta).
</string>
<string name="dialog_msg_security_backup_3rd_party">Como desventaja esto hace la copia de seguridad de los datos
de la aplicación un poco más díficil. Si usas una aplicación de terceros (como Titanium Backup) solo
haces copias de seguridad de los ficheros de datos, no de la clave de cifrado.
Como resultado esas copias son inútiles.
</string>
<string name="dialog_msg_security_backup_warning">Por favor útiliza sólo los métodos de copias de seguridad internos
provistos por la aplicación. Cualquier otro método HARÁ que pierdas los datos.
</string>
<string name="dialog_msg_security_backup_one_time">Este mensaje no volverá a ser mostrado.</string>
<string name="dialog_msg_confirm_delete">¿Seguro que desea eliminar la cuenta \"%1$s\"?</string>
<string name="dialog_title_security_keystore">1. Almacen de claves de Android</string>
<string name="dialog_title_security_password">2. Contraseña / PIN</string>
<string name="dialog_msg_security_first">Para garantizar la seguridad de tus cuentas, esta aplicación
solo las almacena cifradas usando alguno de estos dos métodos:</string>
<string name="dialog_msg_security_keystore">El almacen de claves es un componente de Android que sirve
para almacenar claves criptográficas de forma segura. La ventaja de este método es que las
claves se almacen por separado de los ficheros con datos y pueden ser respaldadas por criptografía
en el hardware (si el hardware lo soporta). Como las claves no están almacenadas con la información de la
aplicación este método no permite sistemas de copias de seguridad externos (como Titanium). Si eliges este método
tienes que utilizar el sistema interno de copias de seguridad que provee andOTP.</string>
<string name="dialog_msg_security_password">Este método cifrará tus datos con una clave
generada con tu contraseña o PIN. La ventaja principal es que funcionará con
sistemas externos de copias de seguridad (como Titanium). Aunque tendrás que introducir
los credenciales cada vez que inicies andOTP.</string>
<string name="dialog_msg_security_default">Por defecto se utiliza el almacen de claves de Android, aunque
se sabe que puede causar problemas en ciertas ROMs personalizas (y algunas por defecto).
Puedes cambiar el método desde los Ajustes pulsando el botón inferior.</string>
<string name="dialog_msg_last_used">Para que andOTP pueda saber qué código ha sido el último usado
tienes que activar \"Tocar para mostrar\" o usar el botón de copiar.\n\nEste mensaje no
se mostrará de nuevo.</string>
<string name="dialog_msg_keystore_error">Error al cargar la clave del almacen de claves.
<b>Cualquier entrada añadida se perderá.</b>\n\nPara poder seguir usando andOTP puedes ir
a Ajustes y cambiar el <b>Cifrado de base de datos</b> a <b>Contraseña / PIN</b>.</string>
</resources>

View file

@ -12,13 +12,14 @@
<string name="settings_title_auth">Autenticación</string>
<string name="settings_title_auth_password">Contraseña</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_encryption">Cifrado de base de datos</string>
<string name="settings_title_panic">Botón del pánico</string>
<string name="settings_title_lang">Idioma</string>
<string name="settings_title_theme">Aspecto</string>
<string name="settings_title_label_size">Tamaño de fuente</string>
<string name="settings_title_label_scroll">Desplazar etiqueta</string>
<string name="settings_title_thumbnail_visible_ask">Mostrar miniaturas</string>
<string name="settings_title_thumbnail_size_ask">Tamaño de miniatura</string>
<string name="settings_title_split_group_size">Separar el código con espacio</string>
<string name="settings_title_backup_ask">Pedir nombre de fichero</string>
<string name="settings_title_backup_directory">Carpeta para copias de seguridad</string>
<string name="settings_title_backup_password">Contraseña de copia de seguridad</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">Comprobar copias de seguridad cifradas</string>
<string name="settings_title_special_features">Activar funcionalidades especiales</string>
<string name="settings_title_enable_screenshot">Habilitar capturas de pantalla</string>
<string name="settings_title_clear_keystore">Vaciar el almacen de claves</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">Esconder códigos OTP por defecto,
necesitando mostrarlos manualmente</string>
@ -45,14 +47,47 @@
tu clave (necesita contraseña)</string>
<string name="settings_desc_openpgp_verify">Las contraseñas de copias de seguridad cifradas sólo se importan
si están firmadas con una clave válida</string>
<string name="settings_desc_special_features">Desmarca para desactivar las funcionalidades especiales de nuevo</string>
<string name="settings_desc_enable_screenshot">Permitir capturas de pantalla de la vista principal
(Desactivado por defecto por razones de seguridad)</string>
<string name="settings_desc_special_features">Desmarca para desactivar las funcionalidades especiales de nuevo</string>
<string name="settings_desc_clear_keystore">Elimina la clave de cifrado del almacen de claves</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Esta característica requiere al menos
Android 5.0 (Lollipop)</string>
<string name="settings_toast_auth_device_not_secure">Esta característica requiere bloqueo de salvapantallas
seguro (Settings -&gt; Security -&gt; Screenlock)</string>
<string name="settings_toast_password_empty">Una contraseña vacía no está permitida,
cambia autenticación a \"Ninguno\" para desactivarla!</string>
<string name="settings_toast_encryption_changing">Intentando cambiar el cifrado de la base de datos,
espera!</string>
<string name="settings_toast_encryption_change_success">Cambio del cifrado de la base de datos
con éxito!</string>
<string name="settings_toast_encryption_change_failed">Fallo al cambiar el cirado de la base de datos,
revirtiendo al estado original!</string>
<string name="settings_toast_encryption_backup_failed">Fallo al crear la copia de seguridad interna,
abortando!</string>
<string name="settings_toast_encryption_no_key">Fallo al obtener la clave de cifrado, abortando!</string>
<string name="settings_toast_encryption_auth_failed">Error de autenticación!</string>
<string name="settings_toast_auth_upgrade_failed">Fallo al actualizar la contraseña / PIN al nuevo cifrado,
por favor reinicia manualmente desde ajustes!</string>
<string name="settings_dialog_title_error">Error</string>
<string name="settings_dialog_title_clear_keystore">Vaciar el almacen de claves?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Solo puedes usar la contraseña o el PIN si
el cifrado de la base de datos está establecido a \"Contraseña / PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Primero tienes que establecer
la autenticación a \"Contraseña\" o \"PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Primero necesitas establecer una
contraseña o PIN antes de cambiar el cifrado!</string>
<string name="settings_dialog_msg_clear_keystore_password">En algunos casos vaciar el almacen de claves
puede ayudar a solventar problemas. Deberías solo hacerlo si sabes lo que haces!\n\nPuesto
que el <b>Cifrado de la base de datos</b> está como <b>Contraseña / PIN</b> no deberías perder
ninguna información haciéndolo (pero nunca es malo tener una copia de seguridad igualmente).\n\n<b>
¿Seguro que quieres vaciar el almacen de claves?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">En algunos casos vaciar el almacen de claves
puede ayudar a solventar problemas. Deberías solo hacerlo si sabes lo que haces!\n\n<b>Advertencia</b>:
Puesto que el <b>Cifrado de la base de datos</b> está como <b>Almacen de claves de Android</b> perderás todas
tus cuentas. ¡Comprueba que tienes una copia de seguridad!\n\n
<b>¿Seguro que quieres vaciar el almacen de claves?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Ninguno</item>
@ -60,6 +95,10 @@
<item>PIN</item>
<item>Credenciales del dispositivo</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Almacen de claves de Android</item>
<item>Contraseña / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Eliminar todas las cuentas</item>
<item>Restablecer la configuración</item>
@ -70,17 +109,24 @@
<item>Tema negro</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Oculto</item>
<item>Pequeño</item>
<item>Predeterminado</item>
<item>Mediano</item>
<item>Grande</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>No partir</item>
<item>Tras dos carácteres</item>
<item>Tras tres carácteres</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Predeterminado por el sistema</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Contraseña</string>
<string name="settings_hint_pin">PIN</string>
<string name="settings_hint_password">Introduce la nueva contraseña</string>
<string name="settings_hint_pin">Introducir nuevo PIN</string>
<string name="settings_hint_password_confirm">Confirmar contraseña</string>
<string name="settings_hint_pin_confirm">Confirmar PIN</string>
<string name="settings_hint_unchanged">(sin cambios)</string>
<string name="settings_label_short_password">¡La contraseña debe ser al menos de %1$d caracteres!</string>
<string name="settings_label_short_pin">¡El PIN debe ser al menos de %1$d dígitos!</string>
</resources>

View file

@ -2,10 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">À propos</string>
<string name="about_description">
Une application Open Source d\'authentification à deux facteurs pour
Android 4.4+.
</string>
<string name="about_description">Authentification open source à double facteurs pour Android</string>
<!-- Misc -->
<string name="about_label_changelog">Liste des changements</string>
<string name="about_label_license">Licence</string>
@ -15,11 +12,13 @@
<string name="about_label_version">Version</string>
<!-- Authors -->
<string name="about_title_authors">Auteurs</string>
<string name="about_label_main_author">Auteur principal</string>
<string name="about_label_main_developer">Développeur principal</string>
<string name="about_label_developer">Développeur</string>
<string name="about_label_original_author">
Auteur de l\'application originale
</string>
<string name="about_label_original_app">Application originale</string>
<string name="about_label_website">Site web</string>
<string name="about_label_donate">Faire un don</string>
<string name="about_label_contributors">Contributeurs</string>
<string name="about_label_translators">Traducteurs</string>
@ -37,4 +36,5 @@
<string name="about_dialog_special_features">Êtes-vous sûr de vouloir activer les fonctionnalités spéciales ? La plupart d\'entre elles sont des algorithmes OTP non standard qui ont été implémentés sur demande spéciale. Elles ne sont <b>pas supportées officiellement</b> et peuvent venir avec <b>certaines limitations</b>. Veuillez lire (et comprendre) la page « Fonctionnalités spéciales » sur le wiki du GitHub pour en apprendre d\'avantage avant de les utiliser.</string>
<string name="about_toast_special_features">Fonctionnalités spéciales activées</string>
<string name="about_toast_special_features_enabled">Fonctionnalités spéciales déjà activées</string>
<string name="about_toast_copied_to_clipboard">Lien de don copié dans le presse-papier</string>
</resources>

View file

@ -6,12 +6,11 @@
<string name="auth_hint_password">Mot de passe</string>
<string name="auth_hint_pin">Code PIN</string>
<!-- Messages -->
<string name="auth_msg_password">
Veuillez entrer votre mot de passe pour démarrer andOTP.
</string>
<string name="auth_msg_pin">
Veuillez entrer votre code PIN pour démarrer andOTP.
</string>
<string name="auth_msg_authenticate">Veuillez vous authentifier pour lancer andOTP !</string>
<string name="auth_msg_confirm_encryption">Veuillez confirmer votre authentification pour générer la
nouvelle clé de chiffrement !</string>
<!-- Buttons -->
<string name="auth_button_unlock">Déverrouiller</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">
Veuillez ajouter un mot de passe dans les paramètres !
@ -19,4 +18,6 @@
<string name="auth_toast_pin_missing">
Veuillez ajouter un code PIN dans les paramètres !
</string>
<string name="auth_toast_password_again">Mot de passe incorrect, veuillez réessayer !</string>
<string name="auth_toast_pin_again">Code PIN incorrect, veuillez réessayer !</string>
</resources>

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">Scanner un QR-Code</string>
<string name="button_save">Enregistrer</string>
<string name="button_new_tag">Nouveau tag</string>
<string name="button_warned">Vous avez été prévenu !</string>
<string name="button_settings">Paramètres</string>
<string name="button_all_tags">Tous les tags</string>
<string name="button_no_tags">Aucun tag</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Titre</string>
<string name="label_algorithm">Algorithme</string>
<string name="label_tags">Tags</string>
<string name="label_advanced">Options avancées</string>
<!-- Drawer -->
<string name="drawer_open">Afficher les tags</string>
<string name="drawer_close">Cacher les tags</string>
@ -41,51 +42,46 @@
<string name="menu_popup_edit_tags">Éditer les tags</string>
<string name="menu_popup_remove">Supprimer</string>
<!-- Toast messages -->
<string name="toast_auth_failed_fatal">
L\'authentification a échoué, fermeture dandOTP !
</string>
<string name="toast_auth_failed">Échec d\'authentification, veuillez réessayer !</string>
<string name="toast_auth_failed_fatal">Échec d\'authentification, fermeture d\'andOTP !</string>
<string name="toast_copied_to_clipboard">
Copié dans le presse-papier
</string>
<string name="toast_entry_exists">Cette entrée existe déjà</string>
<string name="toast_invalid_qr_code">QR-Code invalide</string>
<string name="toast_encryption_key_empty">Clé de chiffrement non chargée</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Identifiez-vous</string>
<string name="dialog_title_manual_entry">Ajouter les détails</string>
<string name="dialog_title_remove">Supprimer</string>
<string name="dialog_title_rename">Renommer</string>
<string name="dialog_title_security_backup">
Sécurité et sauvegardes
</string>
<string name="dialog_title_last_used">Dernier utilisé</string>
<string name="dialog_title_keystore_error">Erreur KeyStore</string>
<string name="dialog_title_encryption">Chiffrement de la base de données</string>
<string name="dialog_msg_auth">
Veuillez entrer les informations d\'identification du périphérique pour
démarrer andOTP.
</string>
<string name="dialog_msg_confirm_delete">
Êtes-vous sûr de vouloir supprimer ce compte ?
</string>
<string name="dialog_msg_security_backup_desc">
Pour conserver les informations de vos comptes de manière sécurisé, cette
application ne les stocke que chiffrées. Une partie des clés de
chiffrement utilisées à cet effet sont stockées dans le KeyStore
d\'Android. Cette approche a l\'avantage de séparer les clés des données
de l\'application et permet dutiliser le matériel dédié à la
cryptographie (s\'il est géré par votre périphérique).
</string>
<string name="dialog_msg_security_backup_3rd_party">
Néanmoins, cela rend plus difficile la réalisation de sauvegardes des
données de l\'application. Si vous utilisez une application tierce (comme
Titanium Backup), vous ne pourrez sauvegarder que les données et non les
clés de chiffrement, rendant les sauvegardes inexploitables.
</string>
<string name="dialog_msg_security_backup_warning">
Veuillez n\'utiliser que les fonctions de sauvegarde proposées par
l\'application pour sauvegarder vos comptes ! Toute autre méthode
provoquera des pertes de données.
</string>
<string name="dialog_msg_security_backup_one_time">
Ce message n\'apparaîtra plus par la suite.
</string>
<string name="dialog_msg_confirm_delete">Êtes-vous sûr(e) de vouloir supprimer le compte \"%1$s\" ?</string>
<string name="dialog_title_security_keystore">1. KeyStore Android</string>
<string name="dialog_title_security_password">2. Mot de passe / Code PIN</string>
<string name="dialog_msg_security_first">Pour assurer la sécurité de vos comptes, cette application
ne les stocke que dans des fichiers de données chiffrés en utilisant l\'une de ces deux méthodes :</string>
<string name="dialog_msg_security_keystore">Le KeyStore est un composant système d\'Android pour
stocker de manière sécurisée les clés cryptographiques. L\'avantage de cette approche est que les clés sont
stockées séparément des fichiers de données et peuvent être adossées à une cryptographie matérielle (si le
matériel le supporte). Cependant, comme les clés ne sont pas stockées avec les données des applications, cette méthode
empêche les solutions de sauvegarde externes (comme Titanium) de fonctionner. Si vous choisissez cette méthode
vous devrez faire confiance aux fonctionnalités internes de sauvegarde fournises par andOTP.</string>
<string name="dialog_msg_security_password">Cette méthode va chiffrer vos données avec une clé
générée à partir d\'un mot de passe ou code PIN. L\'avantage principal ici est que cela marchera avec
les solutions de sauvegarde externes (comme Titanium). Cependant, vous devrez saisir vos identifiants
à chaque fois que vous lancez andOTP.</string>
<string name="dialog_msg_security_default">Par défaut, le KeyStore d\'Android sera utilisé. Cependant,
il est connu pour causer des problèmes avec certaines ROMs custom (ainsi que certaines stock aussi). Vous
pouvez changer le chiffrement dans les paramètres en appuyant sur le bouton ci-dessous.</string>
<string name="dialog_msg_last_used">Afin que andOTP puisse reconnaitre le dernier jeton utilisé vous devez activer l\'option \"appuyer pour afficher\" ou utiliser le bouton de copie.\n\nCe message ne s\'affichera plus.</string>
<string name="dialog_msg_keystore_error">Échec du chargement de la clé de chiffrement à partir du KeyStore.
<b>Toute entrée ajoutée sera perdue.</b>\n\nPour continuer à utiliser andOTP, vous pouvez aller
dans les paramètres pour passer de <b>Chiffrement de la base de données</b> vers <b>Mot de passe / Code PIN</b>.</string>
</resources>

View file

@ -12,6 +12,7 @@
<string name="settings_title_auth">Identification</string>
<string name="settings_title_auth_password">Mot de passe</string>
<string name="settings_title_auth_pin">Code PIN</string>
<string name="settings_title_encryption">Chiffrement de la base de données</string>
<string name="settings_title_panic">Bouton d\'urgence</string>
<string name="settings_title_lang">Langage</string>
<string name="settings_title_theme">Thème</string>
@ -19,8 +20,8 @@
Taille de la police des titres
</string>
<string name="settings_title_label_scroll">Défilement des libellés</string>
<string name="settings_title_thumbnail_visible_ask">Afficher les miniatures</string>
<string name="settings_title_thumbnail_size_ask">Taille des miniatures</string>
<string name="settings_title_split_group_size">Séparer le jeton avec des espaces</string>
<string name="settings_title_backup_ask">Demander le nom du fichier</string>
<string name="settings_title_backup_directory">Répertoire de sauvegarde</string>
<string name="settings_title_backup_password">
@ -40,6 +41,7 @@
</string>
<string name="settings_title_special_features">Activer les fonctionnalités spéciales</string>
<string name="settings_title_enable_screenshot">Permettre les copies d\'écran</string>
<string name="settings_title_clear_keystore">Effacer le KeyStore</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">
Cacher les jetons OTP par défaut et les afficher manuellement
@ -62,8 +64,9 @@
Les sauvegardes chiffrées ne sont restaurées que lorsqu\'elles sont
signées avec une clé valide.
</string>
<string name="settings_desc_enable_screenshot">Permettre de prendre des copies d\'écran de la vue principale (désactivé par défaut pour des raisons de sécurité)</string>
<string name="settings_desc_special_features">Décochez pour désactiver les fonctionnalités spéciales</string>
<string name="settings_desc_enable_screenshot">Permettre de prendre des copies d\'écran de la vue principale (désactivé par défaut pour des raisons de sécurité)</string>
<string name="settings_desc_clear_keystore">Supprimer la clé de chiffrement depuis le KeyStore</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">
Cette fonctionnalité n\'est disponible que sur Android 5.0 (Lollipop) ou
@ -73,6 +76,38 @@
Cette fonctionnalité nécessite l\'activation du verrouillage de lécran
(Paramètres -&gt; Sécurité -&gt; Verrouillage de l\'écran)
</string>
<string name="settings_toast_password_empty">Un mot de passe vide n\'est pas autorisé, définissez
l\'Authentification sur \"Aucune\" pour la désactiver !</string>
<string name="settings_toast_encryption_changing">Changement du chiffrement de la base de données,
veuillez patienter !</string>
<string name="settings_toast_encryption_change_success">Chiffrement de la base de données changé
avec succès !</string>
<string name="settings_toast_encryption_change_failed">Impossible de changer le chiffrement de la base de données,
retour à l\'état original !</string>
<string name="settings_toast_encryption_backup_failed">Échec de la création d\'une sauvegarde
interne, annulation !</string>
<string name="settings_toast_encryption_no_key">Impossible dobtenir la clé de chiffrement, abandon !</string>
<string name="settings_toast_encryption_auth_failed">Échec de l\'authentification !</string>
<string name="settings_toast_auth_upgrade_failed">Échec de la mise à jour de votre mot de passe / code PIN
pour le nouveau chiffrement, veuillez le réinitialiser manuellement depuis les paramètres !</string>
<string name="settings_dialog_title_error">Erreur</string>
<string name="settings_dialog_title_clear_keystore">Vider le KeyStore ?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Vous pouvez seulement utiliser un mot de passe ou un code PIN si
le chiffrement de la base de données est défini sur \"Mot de passe / Code PIN\" !</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Vous devez d\'abord définir
l\'authentification sur \"Mot de passe / Code PIN\" !</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Vous devez d\'abord définir un
mot de passe ou code PIN avant de changer le chiffrement !</string>
<string name="settings_dialog_msg_clear_keystore_password">Dans certains cas, effacer le KeyStore
peut aider à résoudre des problèmes. Vous ne devriez seulement le faire si vous savez ce que vous faites !\n\nVu que
le <b>chiffrement de la base de données</b> est défini sur <b>Mot de passe / Code PIN</b>, vous ne devriez perdre aucune donnée
en le faisant (mais ça ne fait jamais de mal de faire une sauvegarde).\n\n<b>Êtes-vous sûr(e) de vouloir
effacer le KeyStore ?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">Dans certains cas, effacer le KeyStore
peut aider à résoudre des problèmes. Vous ne devriez seulement le faire si vous savez ce que vous faites !\n\n<b>Attention</b>:
Vu que le <b>chiffrement de la base de données</b> est défini sur <b>KeyStore Android</b>, vous allez perdre tous
vos comptes. Assurez-vous d\'avoir une sauvegarde !\n\n<b>Êtes-vous sûr(e) de vouloir effacer le
KeyStore ?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Aucune</item>
@ -80,6 +115,10 @@
<item>Code PIN</item>
<item>Identification du périphérique</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>KeyStore Android</item>
<item>Mot de passe / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Supprimer l\'ensemble des comptes</item>
<item>Réinitialiser les paramètres de l\'application</item>
@ -90,19 +129,26 @@
<item>Thème noir</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Masqué</item>
<item>Petit</item>
<item>Par défaut</item>
<item>Moyen</item>
<item>Grand</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Ne pas séparer</item>
<item>Après deux caractères</item>
<item>Après trois caractères</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Par défaut du système</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Mot de passe</string>
<string name="settings_hint_pin">Code PIN</string>
<string name="settings_hint_password">Saisir le nouveau mot de passe</string>
<string name="settings_hint_pin">Saisir le nouveau code PIN</string>
<string name="settings_hint_password_confirm">
Confirmer le mot de passe
</string>
<string name="settings_hint_pin_confirm">Confirmer le code PIN</string>
<string name="settings_hint_unchanged">(inchangé)</string>
<string name="settings_label_short_password">Le mot de passe doit comporter au moins %1$d caractères !</string>
<string name="settings_label_short_pin">Le code PIN doit comporter au moins %1$d chiffres !</string>
</resources>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">Sobre</string>
<string name="about_description">
Un aplicativo libre de autenticación de dous factores para Android 4.4+. </string>
<string name="about_description">Autenticación de doble-factor de código aberto para Android</string>
<!-- Misc -->
<string name="about_label_changelog">Cambios</string>
<string name="about_label_license">Licenza</string>
@ -13,9 +12,11 @@ Un aplicativo libre de autenticación de dous factores para Android 4.4+. </s
<string name="about_label_version">Versión</string>
<!-- Authors -->
<string name="about_title_authors">Autores</string>
<string name="about_label_main_author">Autor principal</string>
<string name="about_label_main_developer">Desenvolvedor principal</string>
<string name="about_label_developer">Desenvolvedor</string>
<string name="about_label_original_author">Autor do aplicativo orixinal</string>
<string name="about_label_original_app">Aplicativo orixinal</string>
<string name="about_label_website">Páxina web</string>
<string name="about_label_donate">Doar</string>
<string name="about_label_contributors">Colaboradores</string>
<string name="about_label_translators">Tradutores/as</string>
@ -33,4 +34,5 @@ Un aplicativo libre de autenticación de dous factores para Android 4.4+. </s
para aprender máis antes de usalas.</string>
<string name="about_toast_special_features">Funcionalidades especiais activadas</string>
<string name="about_toast_special_features_enabled">As funcionalidades especiais xa están activadas</string>
<string name="about_toast_copied_to_clipboard">Ligazón de doazóns copiada ao portapapeis</string>
</resources>

View file

@ -6,9 +6,14 @@
<string name="auth_hint_password">Contrasinal</string>
<string name="auth_hint_pin">PIN</string>
<!-- Messages -->
<string name="auth_msg_password">Introduza o contrasinal para iniciar andOTP.</string>
<string name="auth_msg_pin">Introduza o PIN para iniciar andOTP.</string>
<string name="auth_msg_authenticate">Por favor autentíquese para iniciar andOTP!</string>
<string name="auth_msg_confirm_encryption">Por favor confirme a súa autenticación para xerar
a nova chave de cifrado!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Desbloquear</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Establecer un contrasinal en axustes!</string>
<string name="auth_toast_pin_missing">Establecer un PIN en axustes!</string>
<string name="auth_toast_password_again">Contrasinal incorrecto, téntao de novo!</string>
<string name="auth_toast_pin_again">PIN incorrecto, téntao de novo!</string>
</resources>

View file

@ -11,7 +11,7 @@
<string name="backup_title_import_plain">Restaurar (texto plano)</string>
<string name="backup_title_import_crypt">Restaurar (cifrada)</string>
<string name="backup_title_import_openpgp">Restaurar (OpenPGP)</string>
<string name="backup_title_replace">Replace existing entries</string>
<string name="backup_title_replace">Substituír as entradas existentes</string>
<string name="backup_desc_export_plain">Facer copia de seguranza de todas as contas nun ficheiro de texto plano JSON</string>
<string name="backup_desc_export_crypt">Facer copia de seguranza de todas as contas nun ficheiro JSON con contrasinal</string>
<string name="backup_desc_export_openpgp">Facer copia de seguranza de todas as contas nun ficheiro JSON cifrado con OpenPGP</string>
@ -27,9 +27,8 @@
<string name="backup_desc_openpgp_keyid">Necesitas seleccionar unha chave OpenPGP nos Axustes
antes de crear unha copia de seguranza cifrada.
</string>
<string name="backup_desc_replace">If enabled all old entries are replaced when importing a
backup and only the backup is present. If disabled the old entries and the backups content
are merged.</string>
<string name="backup_desc_replace">Si se habilita todas as entradas antigas reemplazaranse ao importar
o respaldo e só aparecerán as do respaldo. Si se deshabilita aparecerán tanto as entradas antigas como as do respaldo.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Advertencia de seguranza</string>
<string name="backup_dialog_msg_export_warning">¿Queres exportar a base de datos como

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">Escanear código QR</string>
<string name="button_save">Gardar</string>
<string name="button_new_tag">Nova etiqueta</string>
<string name="button_warned">Estás avisado!</string>
<string name="button_settings">Axustes</string>
<string name="button_all_tags">Todas as etiquetas</string>
<string name="button_no_tags">Sen etiquetas</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Etiqueta</string>
<string name="label_algorithm">Algoritmo</string>
<string name="label_tags">Etiquetas</string>
<string name="label_advanced">Opcións avanzadas</string>
<!-- Drawer -->
<string name="drawer_open">Mostrar etiquetas</string>
<string name="drawer_close">Agochar as etiquetas</string>
@ -41,34 +42,43 @@
<string name="menu_popup_edit_tags">Editar etiquetas</string>
<string name="menu_popup_remove">Eliminar</string>
<!-- Toast messages -->
<string name="toast_auth_failed_fatal">A autenticación fallou, cerrando andOTP!</string>
<string name="toast_auth_failed">Fallou a autenticación, por favor inténteo de novo!</string>
<string name="toast_auth_failed_fatal">Fallou a autenticación, pechando andOTP!</string>
<string name="toast_copied_to_clipboard">Copiado ao portapapeis</string>
<string name="toast_entry_exists">Este nome xa existe</string>
<string name="toast_invalid_qr_code">Código QR inválido</string>
<string name="toast_encryption_key_empty">Non se cargou a chave de cifrado</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Autenticar</string>
<string name="dialog_title_manual_entry">Introducir datos</string>
<string name="dialog_title_remove">Eliminar</string>
<string name="dialog_title_rename">Renomear</string>
<string name="dialog_title_security_backup">Seguranza e copias de seguranza</string>
<string name="dialog_title_last_used">Último usado</string>
<string name="dialog_title_keystore_error">Fallo no KeyStore</string>
<string name="dialog_title_encryption">Cifrado da base de datos</string>
<string name="dialog_msg_auth">Introduce as credenciais do dispositivo para iniciar andOTP.</string>
<string name="dialog_msg_confirm_delete">Seguro que desexa borrar esta conta?</string>
<string name="dialog_msg_security_backup_desc">Para manter a información da túa conta segura este aplicativo
só a garda cifrada. Parte da chave de cifrado utilizada é almacenada no almacén
de chaves de Android. A vantaxe deste método é que a chave está separada dos datos do aplicativo
e pode ser almacenada nun enclave hardware (se o dispositivo o soporta).
</string>
<string name="dialog_msg_security_backup_3rd_party">Coma desvantaxe isto fai a copia de seguranza dos datos
do aplicativo un pouco máis difícil. Se usas un aplicativo de terceiros (como Titanium Backup) só
fas copia de seguranza dos ficheiros de datos, non da chave de cifrado.
Como resultado esas copias son inútiles.
</string>
<string name="dialog_msg_security_backup_warning">Por favor utiliza só os métodos de copias de seguranza internos
fornecidos polo aplicativo. Calquera outro método FARÁ que perdas os datos.
</string>
<string name="dialog_msg_security_backup_one_time">Esta mensaxe non volverá a mostrarse.</string>
<string name="dialog_msg_confirm_delete">Está seguro de que quere quitar a conta \"%1$s\"?</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">Contrasinal / PIN</string>
<string name="dialog_msg_security_first">Para certificar a seguridade das súas contas este aplicativo
só as garda en ficheiros cifrados utilizando un dos seguintes métodos:</string>
<string name="dialog_msg_security_keystore">O KeyStore e un compoñente do sistema Android para
gardar de xeito seguro chaves criptográficas. A vantaxe de este sistema é que as chaves
gárdanse separadas dos ficheiros de datos e poden respaldarse con criptografía de hardware (si o
hardware o soporta). Porén como as chaves non se gardan cos datos do aplicativo este método
non permiten utilizar solucións de respaldo externas (como Titanium). Si escolle este
método deberá confiar nos sistemas internos de respaldo proporcionados por andOTP.</string>
<string name="dialog_msg_security_password">Este método cifrará os seus datos con unha chave
xerada desde un contrasinal ou PIN. A principal vantaxe de este método é que funcionará con
solucións de respaldo externas (como Titanium). Porén deberá introducir as súas credenciais
cada vez que inicia andOTP.</string>
<string name="dialog_msg_security_default">Por omisión utilizase Android KeyStore, porén é coñecido
que esto pode causar problemas con algunhas ROMs personalizadas (e tamén nalgunhas oficiais).
Pode cambiar o cifrado en Axustes pulsando no botón inferior.</string>
<string name="dialog_msg_last_used">Para que andOTP poida saber que código foi o último usado
tes que activar \"Tocar para mostrar\" ou usar o botón de copiar.\n\nEsta mensaxe non
se mostrará de novo.</string>
<string name="dialog_msg_keystore_error">Fallo ao cargar a chave de cifrado desde a KeyStore.
<b>Perderase calquer entrada xa engadida.</b>\n\nPara seguir utilizando andOTP pode ir a
Axustes e cambiar a <b>Base de datos de cifrado</b> a <b>Contrasinal / PIN</b>.</string>
</resources>

View file

@ -12,13 +12,14 @@
<string name="settings_title_auth">Autenticación</string>
<string name="settings_title_auth_password">Contrasinal</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_encryption">Cifrado de Base de datos</string>
<string name="settings_title_panic">Panic Trigger</string>
<string name="settings_title_lang">Idioma</string>
<string name="settings_title_theme">Tema</string>
<string name="settings_title_label_size">Tamaño da tipografía</string>
<string name="settings_title_label_scroll">Desprazar etiqueta</string>
<string name="settings_title_thumbnail_visible_ask">Mostrar miniaturas</string>
<string name="settings_title_thumbnail_size_ask">Tamaño de miniatura</string>
<string name="settings_title_split_group_size">Separe o testemuño con espazo</string>
<string name="settings_title_backup_ask">Preguntar polo nome do ficheiro</string>
<string name="settings_title_backup_directory">Directorio de copias de seguranza</string>
<string name="settings_title_backup_password">Contrasinal da copia de seguranza</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">Comprobar copias de seguranza cifradas</string>
<string name="settings_title_special_features">Activar funcionalidades especiais</string>
<string name="settings_title_enable_screenshot">Activar capturas de pantalla</string>
<string name="settings_title_clear_keystore">Limpar KeyStore</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">Agochar códigos OTP, require mostralos manualmente</string>
<string name="settings_desc_tap_to_reveal_timeout">Selecciona o tempo (en segundos) tras o cal esconder
@ -44,14 +46,45 @@
túa chave (require contrasinal)</string>
<string name="settings_desc_openpgp_verify">As copias de seguranza cifradas só se importan
se están asinadas con unha chave válida</string>
<string name="settings_desc_special_features">Desmarcar para desactivar as funcionalidades especiais</string>
<string name="settings_desc_enable_screenshot">Permitir capturas de pantalla da vista principal
(Desactivado por defecto por razóns de seguridade)</string>
<string name="settings_desc_special_features">Desmarcar para desactivar as funcionalidades especiais</string>
<string name="settings_desc_clear_keystore">Eliminar a chave de cifrado da KeyStore</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Esta característica require polo menos
Android 5.0 (Lollipop)</string>
<string name="settings_toast_auth_device_not_secure">Esta característica require bloqueo de pantalla
seguro (Axustes -&gt; Seguranza -&gt; Bloqueo de pantalla)</string>
<string name="settings_toast_password_empty">Non se pode deixar baldeiro o contrasinal, estableza
Autenticación a \"Nada\" para deshabilitala!</string>
<string name="settings_toast_encryption_changing">Intentando cambiar o cifrado da base de datos,
agarde por favor!</string>
<string name="settings_toast_encryption_change_success">Cambiouse correctamente o cifrado
da base de datos!</string>
<string name="settings_toast_encryption_change_failed">Fallou o cambio do cifrado da base de datos,
voltando ao estado orixinal!</string>
<string name="settings_toast_encryption_backup_failed">Fallou a creación do respaldo
interno, abortando!</string>
<string name="settings_toast_encryption_no_key">Fallou ao obter a chave de cifrado, abortanto!</string>
<string name="settings_toast_encryption_auth_failed">Fallou a autenticación!</string>
<string name="settings_toast_auth_upgrade_failed">Fallo ao actualizar o seu contrasinal / PIN
ao novo cifrado, por favor restablezao en Axustes!</string>
<string name="settings_dialog_title_error">Erro</string>
<string name="settings_dialog_title_clear_keystore">Limpar a KeyStore?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Só pode utilizar Contrasinal ou PIN
si o cifrado da base de datos se establece como \"Contrasinal / PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Primeiro debe establecer
a Autenticación a \"Password\" ou \"PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Primeiro debe establecer un Contrasinal
ou PIN antes de cambiar o cifrado!</string>
<string name="settings_dialog_msg_clear_keystore_password">En algúns casos limpar o KeyStore
pode axudar a resolver problemas. Só debería facer esto si sabe o que fai!\n\nXa que
o <b>Cifrado da Base de datos</b> está establecida a <b>Cotrasinal / PIN</b> non debería perder ningún
dato facendo esto (pero non está de máis ter un respaldo).\n\n<b>Está seguro de querer limpar a KeyStore?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">En algúns casos limpar a KeyStore
pode axudar a resolver problemas. Só debería seguir si sabe o que fai!\n\n<b>Aviso</b>:
Xa que o <b>cifrado da base de datos</b> está establecido a <b>Android KeyStore</b> perderá todas as súas contas.
Asegúrese de ter un respaldo!\n\n<b>Seguro que quere limpar a KeyStore?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Ningún</item>
@ -59,6 +92,10 @@
<item>PIN</item>
<item>Credenciais do dispositivo</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android KeyStore</item>
<item>Contrasinal / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Eliminar todas as contas</item>
<item>Restablecer axustes</item>
@ -69,17 +106,24 @@
<item>Tema negro</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Agochado</item>
<item>Pequeno</item>
<item>Predefinido</item>
<item>Mediano</item>
<item>Grande</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Non separar</item>
<item>Despóis de dous caracteres</item>
<item>Despois de tres caracteres</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Predefinido do sistema</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Contrasinal</string>
<string name="settings_hint_pin">PIN</string>
<string name="settings_hint_password">Inserir o novo contrasinal</string>
<string name="settings_hint_pin">Inserir o novo PIN</string>
<string name="settings_hint_password_confirm">Confirmar contrasinal</string>
<string name="settings_hint_pin_confirm">Confirmar PIN</string>
<string name="settings_hint_unchanged">(sen cambios)</string>
<string name="settings_label_short_password">O contrasinal deber ter polo menos %1$d caracteres!</string>
<string name="settings_label_short_pin">O PIN deber ter polo menos %1$d caracteres!</string>
</resources>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">Over</string>
<string name="about_description">
Een open-source verificatie met twee factoren App voor Android 4.4 +. </string>
<string name="about_description">Open source twee staps authenticatie voor Android</string>
<!-- Misc -->
<string name="about_label_changelog">Wijzigingen</string>
<string name="about_label_license">Licentie</string>
@ -13,20 +12,23 @@ Een open-source verificatie met twee factoren App voor Android 4.4 +. </strin
<string name="about_label_version">Versie</string>
<!-- Authors -->
<string name="about_title_authors">Auteurs</string>
<string name="about_label_main_author">Hoofd auteur</string>
<string name="about_label_main_developer">Hoofdontwikkelaar</string>
<string name="about_label_developer">Ontwikkelaar</string>
<string name="about_label_original_author">Auteur van de oorspronkelijke app</string>
<string name="about_label_original_app">Originele App</string>
<string name="about_label_website">Website</string>
<string name="about_label_donate">Doneer</string>
<string name="about_label_contributors">Bijdragers</string>
<string name="about_label_translators">Vertalers</string>
<!-- Support -->
<string name="about_title_support">Ondersteunende ontwikkeling</string>
<string name="about_label_report_bugs">Fout melden</string>
<string name="about_title_support">Steun de App ontwikkeling</string>
<string name="about_label_report_bugs">Fouten melden</string>
<string name="about_label_translate">Vertalen</string>
<string name="about_desc_report_bugs">Meld een bug of verzoek nieuwe functies</string>
<string name="about_desc_translate">Help andOTP te vertalen</string>
<string name="about_title_special_features">Speciale functies</string>
<string name="about_dialog_special_features">Weet u zeker dat u de speciale functies gebruikers wilt inschakelen? De meeste van hen zijn atypische OTP-algoritmen en op verzoek toegevoegd. Ze zijn <b>niet officieel ondersteund</b> en kunnen komen met <b>bepaalde beperkingen</b>, lees (en begrijp) de pagina \"Special features\" in de Github wiki voordat je ze gebruikt.</string>
<string name="about_dialog_special_features">Weet u zeker dat u de speciale functies wilt inschakelen? De meeste van hen zijn atypische OTP-algoritmen die op verzoek zijn toegevoegd. Ze zijn <b>niet officieel ondersteund</b> en kunnen komen met <b>bepaalde beperkingen</b>, lees (en begrijp) de pagina \"Special features\" in de Github wiki voordat je ze gebruikt.</string>
<string name="about_toast_special_features">Speciale functies zijn ingeschakeld</string>
<string name="about_toast_special_features_enabled">Speciale functies zijn al ingeschakeld</string>
<string name="about_toast_copied_to_clipboard">Donatielink is gekopieerd</string>
</resources>

View file

@ -6,9 +6,13 @@
<string name="auth_hint_password">Wachtwoord</string>
<string name="auth_hint_pin">Pincode</string>
<!-- Messages -->
<string name="auth_msg_password">Voer je wachtwoord in om andOTP op te starten.</string>
<string name="auth_msg_pin">Voer je pincode in om andOTP op te starten.</string>
<string name="auth_msg_authenticate">Gelieve verifiëren om andOTP te starten!</string>
<string name="auth_msg_confirm_encryption">Bevestig de verificatie voor het genereren van de nieuwe versleutelingssleutel!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Ontgrendelen</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Stel een wachtwoord in bij de instellingen!</string>
<string name="auth_toast_pin_missing">Stel een PIN in bij de instellingen!</string>
<string name="auth_toast_password_again">Verkeerd wachtwoord, probeer het opnieuw!</string>
<string name="auth_toast_pin_again">Verkeerd PIN, probeer het opnieuw!</string>
</resources>

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="backup_activity_title">Reservekopie</string>
<string name="backup_category_plain">Reservekopie in tekst zonder opmaak</string>
<string name="backup_category_crypt">Versleutelde reservekopie</string>
<string name="backup_activity_title">Reservekopieën</string>
<string name="backup_category_plain">Reservekopieën (tekst zonder opmaak)</string>
<string name="backup_category_crypt">Versleutelde reservekopieën</string>
<string name="backup_category_openpgp">OpenPGP reservekopie</string>
<string name="backup_title_export_plain">Reservekopie (tekst zonder opmaak)</string>
<string name="backup_title_export_crypt">Reservekopie (versleuteld)</string>
@ -11,33 +11,31 @@
<string name="backup_title_import_plain">Herstellen (tekst zonder opmaak)</string>
<string name="backup_title_import_crypt">Herstellen (versleuteld)</string>
<string name="backup_title_import_openpgp">Herstellen (OpenPGP)</string>
<string name="backup_title_replace">Replace existing entries</string>
<string name="backup_title_replace">Vervang bestaande vermeldingen</string>
<string name="backup_desc_export_plain">Back-up JSON bestand van alle accounts in tekst zonder opmaak</string>
<string name="backup_desc_export_crypt">Back-up van alle accounts in een JSON-bestand met wachtwoordbeveiliging</string>
<string name="backup_desc_export_crypt">Maak een reservekopie van alle accounts in een JSON-bestand met wachtwoordbeveiliging</string>
<string name="backup_desc_export_openpgp">Maak een reservekopie van alle accounts in een JSON-bestand met OpenPGP versleuteling</string>
<string name="backup_desc_import_plain">Herstel accounts vanuit een JSON tekstbestand</string>
<string name="backup_desc_import_crypt">Herstel alle accounts vanuit een JSON-bestand met wachtwoordbeveiliging</string>
<string name="backup_desc_import_openpgp">Herstel accounts vanuit een OpenPGP versleuteld JSON-bestand</string>
<string name="backup_desc_crypt_setup">Het is nodig een wachtwoord in te stellen bij de instellingen voor het gebruik van versleutelde reservekopiën. </string>
<string name="backup_desc_openpgp_provider">Je dient een OpenPGP-provider te installeren en in te schakelen bij de instellingen om deze functie te gebruiken. </string>
<string name="backup_desc_openpgp_keyid">Je dient een OpenPGP sleutel te selecteren bij de instellingen voordat je versleutelde reservekopiën kunt maken. </string>
<string name="backup_desc_replace">If enabled all old entries are replaced when importing a
backup and only the backup is present. If disabled the old entries and the backups content
are merged.</string>
<string name="backup_desc_crypt_setup">U dient een wachtwoord in te stellen bij de instellingen voor het gebruik van versleutelde reservekopieën. </string>
<string name="backup_desc_openpgp_provider">U dient een OpenPGP-provider te installeren en in te schakelen bij de instellingen om deze functie te gebruiken. </string>
<string name="backup_desc_openpgp_keyid">U dient een OpenPGP sleutel te selecteren bij de instellingen voordat je versleutelde reservekopieën kunt maken. </string>
<string name="backup_desc_replace">Indien ingeschakeld worden alle oude vermeldingen vervangen wanneer een reservekopie geïmporteerd wordt en alleen de reservekopie is aanwezig. Indien uitgeschakeld worden de oude vermeldingen en reservekopieën samengevoegd.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Veiligheidswaarschuwing</string>
<string name="backup_dialog_msg_export_warning">Wilt je echt de database exporteren als JSON-bestand zonder opmaak? Dit bestand bevat al uw geheime sleutels. <b>Houdt het veilig</b>! </string>
<string name="backup_dialog_msg_export_warning">Wilt u echt de database exporteren als JSON-bestand zonder opmaak? Dit bestand bevat al uw geheime sleutels. <b>Houdt het veilig</b>! </string>
<!-- Toast messages -->
<string name="backup_toast_mkdir_failed">Het maken van een reservekopiemap is mislukt</string>
<string name="backup_toast_export_success">Exporteren naar een extern opslagmedium was succesvol</string>
<string name="backup_toast_export_failed">Exporteren naar een extern opslagmedium is mislukt</string>
<string name="backup_toast_import_success">Importeren uit externe opslag was succesvol</string>
<string name="backup_toast_import_save_failed">Failed to save restored entries</string>
<string name="backup_toast_import_decryption_failed">Decryption of the backup failed</string>
<string name="backup_toast_import_no_entries">No entries found in imported data</string>
<string name="backup_toast_import_save_failed">Opslaan van herstelde vermeldingen mislukt</string>
<string name="backup_toast_import_decryption_failed">Ontsleutelen van de reservekopie is mislukt</string>
<string name="backup_toast_import_no_entries">Geen vermeldingen gevonden in geïmporteerde gegevens</string>
<string name="backup_toast_storage_not_accessible">Externe opslag is momenteel niet toegankelijk</string>
<string name="backup_toast_storage_permissions">Opslag rechten zijn niet gemachtigt</string>
<string name="backup_toast_storage_permissions">Geen machtiging tot de opslagruimte verleend</string>
<string name="backup_toast_openpgp_error">OpenPGP fout: %s</string>
<string name="backup_toast_openpgp_not_verified">Geen geverifieerde digitale handtekening gedetecteerd</string>
<string name="backup_toast_crypt_password_not_set">Wachtwoord niet ingesteld, controleer uw instellingen</string>
<string name="backup_toast_crypt_password_not_set">Wachtwoord niet ingesteld, controleer de instellingen</string>
</resources>

View file

@ -6,10 +6,10 @@
<string name="button_enter_details">Details ingeven</string>
<string name="button_scan_qr">QR-code scannen</string>
<string name="button_save">Bewaren</string>
<string name="button_new_tag">Nieuwe label</string>
<string name="button_warned">Je bent gewaarschuwd!</string>
<string name="button_new_tag">Nieuw label</string>
<string name="button_settings">Instellingen</string>
<string name="button_all_tags">Alle labels</string>
<string name="button_no_tags">Geen Labels</string>
<string name="button_no_tags">Geen labels</string>
<!-- Custom formatting -->
<string name="format_custom_period">%d s</string>
<!-- Hints -->
@ -24,6 +24,7 @@
<string name="label_label">Etiket</string>
<string name="label_algorithm">Algoritme</string>
<string name="label_tags">Labels</string>
<string name="label_advanced">Geavanceerde opties</string>
<!-- Drawer -->
<string name="drawer_open">Labels tonen</string>
<string name="drawer_close">Labels verbergen</string>
@ -35,30 +36,48 @@
<string name="menu_main_sort">Sorteer</string>
<string name="menu_sort_none">Ongesorteerd</string>
<string name="menu_sort_label">Etiket</string>
<string name="menu_sort_last_used">Last used</string>
<string name="menu_sort_last_used">Laatst gebruikt</string>
<string name="menu_popup_edit_label">Etiket bewerken</string>
<string name="menu_popup_change_image">Change image</string>
<string name="menu_popup_change_image">Afbeelding wijzigen</string>
<string name="menu_popup_edit_tags">Labels bewerken</string>
<string name="menu_popup_remove">Verwijderen</string>
<!-- Toast messages -->
<string name="toast_auth_failed_fatal">Verificatie is mislukt, sluiten andOTP!</string>
<string name="toast_auth_failed">Authenticatie mislukt. Probeer opnieuw!</string>
<string name="toast_auth_failed_fatal">Verificatie is mislukt, andOTP wordt afgesloten!</string>
<string name="toast_copied_to_clipboard">Gekopieerd naar klembord</string>
<string name="toast_entry_exists">Deze item bestaat al</string>
<string name="toast_entry_exists">Dit item bestaat al</string>
<string name="toast_invalid_qr_code">Ongeldige QR Code</string>
<string name="toast_encryption_key_empty">Coderingssleutel niet geladen</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Verifiëren</string>
<string name="dialog_title_manual_entry">Details ingeven</string>
<string name="dialog_title_remove">Verwijderen</string>
<string name="dialog_title_rename">Hernoemen</string>
<string name="dialog_title_security_backup">Beveiliging en back-ups</string>
<string name="dialog_title_last_used">Last used</string>
<string name="dialog_title_last_used">Laatst gebruikt</string>
<string name="dialog_title_keystore_error">Sleutelkast fout</string>
<string name="dialog_title_encryption">Database encryptie</string>
<string name="dialog_msg_auth">Voer de referenties van uw apparaat in om te beginnen met andOTP.</string>
<string name="dialog_msg_confirm_delete">Weet je zeker dat je het account wil verwijderen?</string>
<string name="dialog_msg_security_backup_desc">Om je accountgegevens veilig te houden werkt deze app alleen met versleutelde bestanden. Onderdelen van de gebruikte versleuteling wordt opgeslagen in het Android KeyStore-systeem. Het voordeel van deze aanpak is dat de sleutel is gescheiden van de gegevens van de apps en kan worden ondersteund door de hardware cryptografie (indien apparaat dit ondersteunt). </string>
<string name="dialog_msg_security_backup_3rd_party">Een nadeel is dat back-ups van de gegevens van de apps moeilijkheden zullen geven. Bij een 3th partij apps (zoals Titanium Back-up) gebruikt u alleen de back-up van de gegevensbestanden, niet de sleutel voor bestandscodering en dientengevolge zal deze back-up niet bruikbaar zijn. </string>
<string name="dialog_msg_security_backup_warning">Gebruik alleen de interne back-up functies in de app voor je accounts! Iets anders zal leiden tot gegevens verlies. </string>
<string name="dialog_msg_security_backup_one_time">Dit bericht wordt niet opnieuw getoond.</string>
<string name="dialog_msg_last_used">In order for andOTP to recognize which token was used last
you have to have \"tap to reveal\" enabled or use the copy button.\n\nThis message will not
be shown again.</string>
<string name="dialog_msg_confirm_delete">Weet je zeker dat je account \"%1$s\" wil verwijderen?</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">Wachtwoord / PIN</string>
<string name="dialog_msg_security_first">Om de veiligheid van uw accounts te garanderen
slaat deze app ze alleen op in versleutelde bestanden gebruikmakend van één van de volgende twee methodes:</string>
<string name="dialog_msg_security_keystore">KeyStore is een systeemcomponent van Android voor het veilig opslaan van cryptografische sleutels.
Het voordeel van deze aanpak is dat de sleutels gescheiden van bestanden staan opgeslagen en
dat ze kunnen worden ondersteund door hardwarecryptografie (als de hardware dit ondersteunt).
Echter, omdat de sleutels niet met de apps zijn opgeslagen werken externe back-up apps (zoals
Titanium) hiermee niet. Als u deze optie kiest dient u gebruik te maken van de interne
back-upfunctie van andOTP.</string>
<string name="dialog_msg_security_password">Deze methode zal uw gegevens versleutelen met een sleutel gegenereerd op basis van een
wachtwoord of pincode. Het belangrijkste voordeel hiervan is dat dit werkt met externe
back-up oplossingen (zoals Titanium). Echter moet u uw gegevens ingeven iedere keer
als u andOTP opstart.</string>
<string name="dialog_msg_security_default">Standaard zal Android KeyStore worden gebruikt.
Het is echter bekend dat dit problemen veroorzaakt op bepaalde aangepaste ROMs (alsmede
een paar standaard ROMs). U kunt de versleuteling aanpassing in de instellingen door te
klikken op de onderstaande knop.</string>
<string name="dialog_msg_last_used">Om andOTP te laten herkennen welke token als laatste was gebruikt
dien je \"tik om te onthullen\" in te schakelen of gebruik de kopie button.\n\n
Dit bericht wordt niet opnieuw getoond.</string>
<string name="dialog_msg_keystore_error">Fout bij het laden van de coderingssleutel van de sleutelbewaarplaats. <b>Alle vermeldingen gaan verloren.</b> \n\nOm nog steeds andOTP te kunnen gebruiken kun je naar de instellingen gaan en de <b>Database codering</b> omschakelen naar <b>wachtwoord / PIN</b>.</string>
</resources>

View file

@ -7,54 +7,79 @@
<string name="settings_category_title_ui">Gebruikersinterface</string>
<string name="settings_category_title_backup">Reservekopie</string>
<!-- Titles -->
<string name="settings_title_tap_to_reveal">Tik om te onthullen</string>
<string name="settings_title_tap_to_reveal_timeout">Timeout for tap to reveal</string>
<string name="settings_title_tap_to_reveal">Tik om te tonen</string>
<string name="settings_title_tap_to_reveal_timeout">Tijdslimiet voor tik om te onthullen</string>
<string name="settings_title_auth">Authenticatie</string>
<string name="settings_title_auth_password">Wachtwoord</string>
<string name="settings_title_auth_pin">PIN</string>
<string name="settings_title_panic">Paniek Trigger</string>
<string name="settings_title_encryption">Database encryptie</string>
<string name="settings_title_panic">Panieksignaal</string>
<string name="settings_title_lang">Taal</string>
<string name="settings_title_theme">Thema</string>
<string name="settings_title_label_size">Label lettergrootte</string>
<string name="settings_title_label_scroll">Scroll etiket</string>
<string name="settings_title_thumbnail_visible_ask">Show thumbnails</string>
<string name="settings_title_thumbnail_size_ask">Thumbnail size</string>
<string name="settings_title_label_size">Lettergrootte vermeldingen</string>
<string name="settings_title_label_scroll">Scroll vermeldingen</string>
<string name="settings_title_thumbnail_size_ask">Miniatuurgrootte</string>
<string name="settings_title_split_group_size">Verdeel Token met spatie</string>
<string name="settings_title_backup_ask">Vraag naar de bestandsnaam</string>
<string name="settings_title_backup_directory">Archief map</string>
<string name="settings_title_backup_password">Wachtwoord reserve kopie</string>
<string name="settings_title_openpgp_provider">Selecteer OpenPGP provider</string>
<string name="settings_title_openpgp_keyid">Select OpenPGP sleutel</string>
<string name="settings_title_openpgp_sign">Versleutelde reserve kopieën verifiëren</string>
<string name="settings_title_openpgp_verify">Versleutelde reserve kopie verifiëren</string>
<string name="settings_title_special_features">Enable special features</string>
<string name="settings_title_enable_screenshot">Enable screenshots</string>
<string name="settings_title_backup_directory">Map reservekopie</string>
<string name="settings_title_backup_password">Wachtwoord reservekopie</string>
<string name="settings_title_openpgp_provider">Selecteer OpenPGP aanbieder</string>
<string name="settings_title_openpgp_keyid">Selecteer OpenPGP sleutel</string>
<string name="settings_title_openpgp_sign">Versleutelde reservekopieën ondertekenen</string>
<string name="settings_title_openpgp_verify">Versleutelde reservekopieën verifiëren</string>
<string name="settings_title_special_features">Speciale functies inschakelen</string>
<string name="settings_title_enable_screenshot">Schermafbeeldingen toestaan</string>
<string name="settings_title_clear_keystore">Sleutelopslag leegmaken</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">De OTP tokens standaard verbergen, maak ze handmatig zichtbaar</string>
<string name="settings_desc_tap_to_reveal_timeout">Select the time (in sec) after which to hide
revealed entries again</string>
<string name="settings_desc_panic">Beslissen wat er gebeurt wanneer een Paniek Trigger wordt ontvangen</string>
<string name="settings_desc_label_scroll">Scroll overlangs de etiketten in plaats van ze af te korten</string>
<string name="settings_desc_backup_ask">Vraag naar de bestandsnaam elke keer een reservekopie is gemaakt of wordt teruggezet</string>
<string name="settings_desc_backup_directory">Map voor de reservekopieën (bestandsnamen zullen afhangen van het type archief)</string>
<string name="settings_desc_backup_password">Stel het wachtwoord in dat wordt gebruikt voor het versleutelen van de reserve kopie</string>
<string name="settings_desc_openpgp_sign">Elk versleuteld reservekopie is aanvullend ondertekend met je sleutel (wachtwoord vereist)</string>
<string name="settings_desc_tap_to_reveal">De OTP tokens standaard verbergen; maak ze handmatig zichtbaar</string>
<string name="settings_desc_tap_to_reveal_timeout">Selecteer de tijd (in seconden) waarna de vermeldingen weer verborgen worden</string>
<string name="settings_desc_panic">Beslis wat er gebeurt wanneer er een panieksignaal wordt ontvangen</string>
<string name="settings_desc_label_scroll">Vermeldingen horizontaal scrollen in plaats van ze af te korten</string>
<string name="settings_desc_backup_ask">Vraag naar de bestandsnaam elke keer als een reservekopie is gemaakt of wordt teruggezet</string>
<string name="settings_desc_backup_directory">Map voor de reservekopieën (bestandsnamen hangen af van het type archief)</string>
<string name="settings_desc_backup_password">Stel het wachtwoord in dat wordt gebruikt voor het versleutelen van de reservekopieën</string>
<string name="settings_desc_openpgp_sign">Elke versleutelde reservekopie is aanvullend ondertekend met uw sleutel (wachtwoord vereist)</string>
<string name="settings_desc_openpgp_verify">Gecodeerde reservekopieën worden alleen geïmporteerd als ze zijn ondertekend met een geldige sleutel</string>
<string name="settings_desc_enable_screenshot">Allow to take screenshots of the main screen
(disabled by default for security reasons)</string>
<string name="settings_desc_special_features">Uncheck to disable the special features again</string>
<string name="settings_desc_special_features">Deselecteer om speciale functies weer uit te schakelen</string>
<string name="settings_desc_enable_screenshot">Schermafbeeldingen toestaan op het hoofdscherm (standaard uitgeschakeld om veiligheidsredenen)</string>
<string name="settings_desc_clear_keystore">Verwijderen de encryptie sleutel uit de sleutelopslag</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Deze functie vereist ten minste Android 5.0 (Lollipop)</string>
<string name="settings_toast_auth_device_not_secure">Deze functie vereist een beveiligd slotscherm (instellingen -&gt; Beveiliging -&gt; Schermlock)</string>
<string name="settings_toast_auth_device_not_secure">Deze functie vereist een beveiligd vergrendelingsscherm (Instellingen -&gt; Beveiliging -&gt; Schermvergrendeling)</string>
<string name="settings_toast_password_empty">Een leeg wachtwoord is niet toegestaan, stel de verificatie in op \"Geen\" om het uit te schakelen!</string>
<string name="settings_toast_encryption_changing">Bezig met de database encryptie te proberen wijzigen, even geduld aub!</string>
<string name="settings_toast_encryption_change_success">Wijzigen van de database encryptie is geslaagd!</string>
<string name="settings_toast_encryption_change_failed">Mislukt om de database versleuteling te veranderen en in oorspronkelijke staat terug te vallen!</string>
<string name="settings_toast_encryption_backup_failed">Het maken van een interne back-up mislukte, afbreken!</string>
<string name="settings_toast_encryption_no_key">Het ophalen van de encryptiesleutel mislukte, afbreken!</string>
<string name="settings_toast_encryption_auth_failed">Authenticatie mislukt!</string>
<string name="settings_toast_auth_upgrade_failed">Het bijwerken van je wachtwoord / PIN naar de nieuwe codering mislukte, herstel het handmatig bij de instellingen!</string>
<string name="settings_dialog_title_error">Fout</string>
<string name="settings_dialog_title_clear_keystore">Sleutelopslag leegmaken?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">U kunt alleen een wachtwoord of pincode gebruiken zolang de database encryptie is ingesteld op \"Wachtwoord / PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">U moet eerst de authenticatie instellen op \"Wachtwoord\" of \"PIN\"!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">Je moet een wachtwoord of pincode instellen voor het wijzigen van de versleuteiing!</string>
<string name="settings_dialog_msg_clear_keystore_password">In sommige gevallen kan het leegmaken van de sleutelopslag problemen verhelpen. Ga enkel verder als u weet waar u mee bezig bent!\n\n
Doordat de <b>Database encryptie</b> is ingesteld op <b>Wachtwoord / PIN</b> zou u hiermee geen gegevens mogen verliezen (maar een backup nemen kan nooit kwaad).\n\n
<b>Bent u heel zeker dat u de sleutelopslag wil leegmaken?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">In sommige gevallen kan het leegmaken van de sleutelopslag problemen verhelpen. Ga enkel verder als u weet waar u mee bezig bent!\n\n
<b>Waarschuwing</b>:
Doordat de <b>Database encryptie</b> is ingesteld op <b>Android sleutelopslag</b> zal u al uw accounts verliezen. Wees dus zeker dat u een backup hebt!\n\n
<b>Bent u heel zeker dat u de sleutelopslag wil leegmaken?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Geen</item>
<item>Wachtwoord</item>
<item>PIN</item>
<item>Apparaat referenties</item>
<item>Zelfde als apparaat</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android Sleutelopslag</item>
<item>Wachtwoord / PIN</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Alle accounts verwijderen</item>
<item>App instellingen resetten</item>
<item>Appinstellingen terugzetten</item>
</string-array>
<string-array name="settings_entries_theme">
<item>Licht thema</item>
@ -62,17 +87,24 @@
<item>Zwart thema</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Small</item>
<item>Default</item>
<item>Medium</item>
<item>Large</item>
<item>Verborgen</item>
<item>Klein</item>
<item>Standaard</item>
<item>Normaal</item>
<item>Groot</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Niet splitsen</item>
<item>Na twee karakters</item>
<item>Na drie karakters</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Systeem standaard</string>
<string name="settings_lang_sys_default">Systeemstandaard</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Wachtwoord</string>
<string name="settings_hint_pin">PIN</string>
<string name="settings_hint_password">Nieuw wachtwoord invoeren</string>
<string name="settings_hint_pin">Nieuwe PIN invoeren</string>
<string name="settings_hint_password_confirm">Bevestig wachtwoord</string>
<string name="settings_hint_pin_confirm">PIN bevestigen</string>
<string name="settings_hint_unchanged">(ongewijzigd)</string>
<string name="settings_hint_pin_confirm">Bevestig PIN</string>
<string name="settings_label_short_password">Het wachtwoord moet minstens %1$d karakters bevatten!</string>
<string name="settings_label_short_pin">De pincode moet minstens %1$d cijfers bevatten!</string>
</resources>

View file

@ -53,7 +53,6 @@
<string name="dialog_title_security_backup">Bezpieczeństwo i kopie</string>
<string name="dialog_title_last_used">Ostatnio używane</string>
<string name="dialog_msg_auth">Podaj swoje dane uwierzytelniające, aby uruchomić andOTP.</string>
<string name="dialog_msg_confirm_delete">Czy na pewno usunąć to konto?</string>
<string name="dialog_msg_security_backup_desc">W celu zwiększenia bezpieczeństwa, wszystkie informacje dotyczące kont są zaszyfrowane. Część klucza szyfrującego przechowywana jest w systemie Android. Zaletą takiego rozwiązania jest oddzielenie klucza od danych i wsparcie sprzętowego szyfrowania (jeżeli Twój sprzęt to wspiera).</string>
<string name="dialog_msg_security_backup_3rd_party">Używanie aplikacji typu Titanium Backup jest bezużyteczne, ponieważ aplikacja szyfruje swoje dane.</string>
<string name="dialog_msg_security_backup_warning">Proszę używaj Tylko wbudowanych funkcji robienia kopii zapasowej kont. Wszystkie inne metody nie są wspierane i mogą prowadzić do utraty danych.</string>

View file

@ -2,8 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">О программе</string>
<string name="about_description">
Приложение двухфакторной аутентификации с открытым исходным кодом для Android 4.4 и выше.</string>
<string name="about_description">Двухфакторная аутентификация для Android с открытым исходным кодом</string>
<!-- Misc -->
<string name="about_label_changelog">История изменений</string>
<string name="about_label_license">Лицензия</string>
@ -13,9 +12,11 @@
<string name="about_label_version">Версия</string>
<!-- Authors -->
<string name="about_title_authors">Авторы</string>
<string name="about_label_main_author">Основной автор</string>
<string name="about_label_main_developer">Основной разработчик</string>
<string name="about_label_developer">Разработчик</string>
<string name="about_label_original_author">Автор оригинального приложения</string>
<string name="about_label_original_app">Оригинальное приложение</string>
<string name="about_label_website">Сайт</string>
<string name="about_label_donate">Пожертвовать</string>
<string name="about_label_contributors">Участники проекта</string>
<string name="about_label_translators">Переводчики</string>
@ -26,7 +27,8 @@
<string name="about_desc_report_bugs">Сообщить об ошибках или запросить новые функции</string>
<string name="about_desc_translate">Помогите перевести andOTP на ваш язык</string>
<string name="about_title_special_features">Особые функции</string>
<string name="about_dialog_special_features">Вы уверены, что вы хотите включить особые функции? Большинство из них - нестандартные алгоритмы OTP, которые были добавлены по особым просьбам. Они <b>официально не поддерживается</b> и могут быть с <b>некоторыми ограничениями</b>, пожалуйста, прочитайте (и поймите) страницы «Особые функции» на Github wiki, чтобы узнать о них подробнее перед их использованием.</string>
<string name="about_dialog_special_features">Вы уверены, что Вы хотите включить особые функции? Большинство из них - нестандартные алгоритмы OTP, которые были добавлены по особым просьбам. Они <b>официально не поддерживается</b> и могут быть с <b>некоторыми ограничениями</b>, пожалуйста, прочитайте (и поймите) страницы «Особые функции» на Github wiki, чтобы узнать о них подробнее перед их использованием.</string>
<string name="about_toast_special_features">Особые функции включены</string>
<string name="about_toast_special_features_enabled">Особые функции уже включены</string>
<string name="about_toast_copied_to_clipboard">Ссылка для пожертвований скопирована в буфер обмена</string>
</resources>

View file

@ -1,14 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
<resources>
<string name="auth_activity_title">Аутентификация</string>
<string name="auth_activity_title">Проверка подлинности</string>
<!-- Hints -->
<string name="auth_hint_password">Пароль</string>
<string name="auth_hint_pin">PIN-код</string>
<!-- Messages -->
<string name="auth_msg_password">Пожалуйста, введите ваш пароль для запуска andOTP.</string>
<string name="auth_msg_pin">Пожалуйста, введите Ваш ПИН-код для запуска andOTP.</string>
<string name="auth_msg_authenticate">Пожалуйста, пройдите аутентификацию для запуска andOTP!</string>
<string name="auth_msg_confirm_encryption">Пожалуйста, подтвердите Вашу аутентификацию для генерации нового ключа шифрования!</string>
<!-- Buttons -->
<string name="auth_button_unlock">Разблокировать</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">Пожалуйста, установите пароль в настройках!</string>
<string name="auth_toast_pin_missing">Пожалуйста, установите ПИН-код в настройках!</string>
<string name="auth_toast_pin_missing">Пожалуйста, установите PIN-код в настройках!</string>
<string name="auth_toast_password_again">Неверный пароль, пожалуйста, попробуйте еще раз!</string>
<string name="auth_toast_pin_again">Неверный PIN-код, пожалуйста, попробуйте еще раз!</string>
</resources>

View file

@ -5,7 +5,7 @@
<string name="backup_category_plain">Текстовые резервные копии</string>
<string name="backup_category_crypt">Зашифрованные резервные копии</string>
<string name="backup_category_openpgp">Резервные копии с OpenPGP</string>
<string name="backup_title_export_plain">Резервная копия (без шифрования)</string>
<string name="backup_title_export_plain">Резервная копия (текстовый документ)</string>
<string name="backup_title_export_crypt">Резервная копия (с шифрованием)</string>
<string name="backup_title_export_openpgp">Резервная копия (OpenPGP)</string>
<string name="backup_title_import_plain">Восстановление (из текстового файла)</string>
@ -18,13 +18,13 @@
<string name="backup_desc_import_plain">Восстановление учетных записей из текстового файла JSON</string>
<string name="backup_desc_import_crypt">Восстановление учетных записей из защищённого паролем файла JSON</string>
<string name="backup_desc_import_openpgp">Восстановление учетных записей из зашифрованного OpenPGP файла JSON</string>
<string name="backup_desc_crypt_setup">Для создания зашифрованных резервных копий вам нужно установить пароль в Настройках. </string>
<string name="backup_desc_openpgp_provider">Для использования этой функции вам нужно выбрать и установить поставщика OpenPGP.</string>
<string name="backup_desc_crypt_setup">Для создания зашифрованных резервных копий Вам нужно установить пароль в Настройках. </string>
<string name="backup_desc_openpgp_provider">Для использования этой функции Вам нужно выбрать и установить поставщика OpenPGP в настройках приложения. </string>
<string name="backup_desc_openpgp_keyid">Вам нужно выбрать ключ OpenPGP в Настройках, прежде чем создавать зашифрованные резервные копии.</string>
<string name="backup_desc_replace">Если включено, все старые записи заменяются при импорте резервной копии и остается только резервная копия. Если отключено, старые записи и содержимое резервной копии объединяются.</string>
<string name="backup_desc_replace">Если включено, все старые записи заменяются при импорте резервной копии и остается только резервная копия. Если отключено, старые записи и содержимое резервной копии объединяются.</string>
<!-- Dialogs -->
<string name="backup_dialog_title_security_warning">Предупреждение безопасности</string>
<string name="backup_dialog_msg_export_warning">Вы действительно хотите экспортировать базу данных как незашифрованный текстовый JSON файл? Этот файл содержит все ваши секретные ключи, пожалуйста, <b>надежно сохраните его</b>! </string>
<string name="backup_dialog_msg_export_warning">Вы действительно хотите экспортировать базу данных как текстовый JSON файл? Этот файл содержит все Ваши секретные ключи, пожалуйста, <b>надежно сохраните его</b>! </string>
<!-- Toast messages -->
<string name="backup_toast_mkdir_failed">Не удалось создать каталог для резервной копии</string>
<string name="backup_toast_export_success">Экспорт на внешний носитель выполнен успешно</string>

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">Сканировать QR-код</string>
<string name="button_save">Сохранить</string>
<string name="button_new_tag">Новый тег</string>
<string name="button_warned">Вас предупредили!</string>
<string name="button_settings">Настройки</string>
<string name="button_all_tags">Все теги</string>
<string name="button_no_tags">Нет тегов</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">Ярлык</string>
<string name="label_algorithm">Алгоритм</string>
<string name="label_tags">Теги</string>
<string name="label_advanced">Дополнительные настройки</string>
<!-- Drawer -->
<string name="drawer_open">Показать теги</string>
<string name="drawer_close">Скрыть теги</string>
@ -41,22 +42,30 @@
<string name="menu_popup_edit_tags">Изменить теги</string>
<string name="menu_popup_remove">Убрать</string>
<!-- Toast messages -->
<string name="toast_auth_failed">Ошибка аутентификации! Пожалуйста, попробуйте снова!</string>
<string name="toast_auth_failed_fatal">Ошибка аутентификации, andOTP закрывается!</string>
<string name="toast_copied_to_clipboard">Скопировано в буфер обмена</string>
<string name="toast_entry_exists">Эта запись уже существует</string>
<string name="toast_invalid_qr_code">Недопустимый QR-код</string>
<string name="toast_encryption_key_empty">Ключ шифрования не загружен</string>
<!-- Dialogs -->
<string name="dialog_title_auth">Аутентификация</string>
<string name="dialog_title_auth">Проверка подлинности</string>
<string name="dialog_title_manual_entry">Введите детали</string>
<string name="dialog_title_remove">Убрать</string>
<string name="dialog_title_rename">Переименовать</string>
<string name="dialog_title_security_backup">Безопасность и резервное копирование</string>
<string name="dialog_title_last_used">Последнее использование</string>
<string name="dialog_title_keystore_error">Ошибка хранилища ключей</string>
<string name="dialog_title_encryption">Шифрование базы данных</string>
<string name="dialog_msg_auth">Пожалуйста, подтвердите учетные данные устройства для открытия andOTP.</string>
<string name="dialog_msg_confirm_delete">Вы уверены, что хотите удалить эту учетную запись?</string>
<string name="dialog_msg_security_backup_desc">Для обеспечения безопасности ваших данных это приложение хранит их только в зашифрованном виде. Часть этого ключа шифрования хранится в системе Android KeyStore. Преимущество этого подхода в том, что ключ хранится отдельно от данных приложения и может быть защищён аппаратным шифрованием (если ваше устройство его поддерживает).</string>
<string name="dialog_msg_security_backup_3rd_party">С другой стороны, это делает резервное копирование данных приложения немного более сложным. Если вы используете сторонние приложения (вроде Titanium Backup) вы только лишь скопируете сами файлы, но не ключ шифрования, в результате чего резервная копия окажется нерабочей.</string>
<string name="dialog_msg_security_backup_warning">Пожалуйста, используйте только функцию резервного копирования встроенную в это приложение! Прочие способы ПРИВЕДУТ к потере данных.</string>
<string name="dialog_msg_security_backup_one_time">Это сообщение повторно отображаться не будет.</string>
<string name="dialog_msg_confirm_delete">Вы уверены, что хотите удалить учётную запись \"%1$s\"?</string>
<string name="dialog_title_security_keystore">1. Хранилище ключей Android</string>
<string name="dialog_title_security_password">2. Пароль / PIN-код</string>
<string name="dialog_msg_security_first">Для защиты ваших аккаунтов это приложение хранит их в зашифрованном виде используя один из двух этих способов:</string>
<string name="dialog_msg_security_keystore">Хранилище ключей это часть системы Android, предназначенная для безопасного хранения ключей шифрования. Преимущество этого способа в том, что ключи хранятся отдельно от данных и защищены аппаратным шифрованием (если Ваше устройство поддерживает его). Так как ключи не хранятся вместе с данными, то Вы не сможете использовать сторонние решения для создания резервных копий (например, Titanium Backup). При использовании этого метода Вы сможете использовать только резервные копии, созданные andOTP.</string>
<string name="dialog_msg_security_password">Этот способ зашифрует Ваши данные ключом, созданным на основе пароля или PIN-кода. Основное преимущество этого способа - Вы сможете использовать сторонние системы резервного копирования (например, Titanium Backup). При этом Вам будет необходимо выполнять аутентификацию при каждом запуске andOTP.</string>
<string name="dialog_msg_security_default">По умолчанию будет использовано Хранилище ключей Android, однако оно может не работать на некоторых модифицированных и официальных прошивках. Вы можете изменить способ шифрования в Настройках нажав на кнопку ниже.</string>
<string name="dialog_msg_last_used">Чтобы andOTP знал время последнего использования токена необходимо включить настройку \"Нажмите, чтобы показать\" или копировать токен.\n\nЭто сообщение больше не будет показано.</string>
<string name="dialog_msg_keystore_error">Ошибка загрузки ключа шифрования из хранилища ключей.
<b>Все добавленные записи будут утеряны.</b>\n\nЧтобы использовать andOTP дальше Вы можете
перейти в Настройки и переключить <b>Шифрование базы данных</b> на <b>Пароль / PIN-код</b>.</string>
</resources>

View file

@ -9,16 +9,17 @@
<!-- Titles -->
<string name="settings_title_tap_to_reveal">Нажмите, чтобы показать</string>
<string name="settings_title_tap_to_reveal_timeout">Таймаут скрытия токена</string>
<string name="settings_title_auth">Авторизация</string>
<string name="settings_title_auth">Аутентификация</string>
<string name="settings_title_auth_password">Пароль</string>
<string name="settings_title_auth_pin">PIN-код</string>
<string name="settings_title_encryption">Шифрование базы данных</string>
<string name="settings_title_panic">Panic Trigger</string>
<string name="settings_title_lang">Язык</string>
<string name="settings_title_theme">Тема оформления</string>
<string name="settings_title_label_size">Размер шрифта для ярлыка</string>
<string name="settings_title_label_scroll">Прокрутка ярлыка</string>
<string name="settings_title_thumbnail_visible_ask">Показывать изображения</string>
<string name="settings_title_thumbnail_size_ask">Размер изображения</string>
<string name="settings_title_split_group_size">Добавлять пробел в токен</string>
<string name="settings_title_backup_ask">Спрашивать об имени файла</string>
<string name="settings_title_backup_directory">Каталог резервной копии</string>
<string name="settings_title_backup_password">Пароль для резервной копии</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">Проверять зашифрованные резервные копии</string>
<string name="settings_title_special_features">Включить специальные возможности</string>
<string name="settings_title_enable_screenshot">Разрешить скриншоты</string>
<string name="settings_title_clear_keystore">Очистить хранилище ключей</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">Скрыть OTP-токены по-умолчанию, требуя их показ вручную</string>
<string name="settings_desc_tap_to_reveal_timeout">Выберите время (в секундах) после которого автоматически скрывать показанные токены</string>
@ -36,13 +38,29 @@
<string name="settings_desc_backup_ask">Спрашивать об имени файла при создании резервной копии или восстановлении</string>
<string name="settings_desc_backup_directory">Каталог для резервных копий (имена файлов будут зависеть от типа резервного копирования)</string>
<string name="settings_desc_backup_password">Установить пароль для шифрования резервных копий</string>
<string name="settings_desc_openpgp_sign">Все зашифрованные резервные копии дополнительно подписываются вашим ключом (требуется пароль)</string>
<string name="settings_desc_openpgp_sign">Все зашифрованные резервные копии дополнительно подписываются Вашим ключом (требуется пароль)</string>
<string name="settings_desc_openpgp_verify">Зашифрованные резервные копии можно импортировать только если они подписаны действительным ключом</string>
<string name="settings_desc_enable_screenshot">Разрешить снятие скриншотов главного экрана (из соображений безопасности по умолчанию выключено)</string>
<string name="settings_desc_special_features">Снимите флажок для отключения специальных возможностей</string>
<string name="settings_desc_enable_screenshot">Разрешить снятие скриншотов главного экрана (из соображений безопасности по умолчанию выключено)</string>
<string name="settings_desc_clear_keystore">Удалить ключ шифрования из хранилища ключей</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">Эта функция поддерживается с версии Android 5.0 (Lollipop)</string>
<string name="settings_toast_auth_device_not_secure">Для этой функции требуется настроить безопасную блокировку экрана (Настройки -&gt; Безопасность -&gt; Блокировка экрана)</string>
<string name="settings_toast_password_empty">Пустой пароль запрещён, для отключения пароля выключите Аутентификацию!</string>
<string name="settings_toast_encryption_changing">Изменение шифрование базы данных, пожалуйста, подождите!</string>
<string name="settings_toast_encryption_change_success">Шифрование базы данных успешно изменено!</string>
<string name="settings_toast_encryption_change_failed">Не удалось изменить шифрование базы данных, откат в исходное состояние!</string>
<string name="settings_toast_encryption_backup_failed">Не удалось создать внутреннюю резервную копию, прерывание!</string>
<string name="settings_toast_encryption_no_key">Не удалось получить ключ шифрования, прерывание!</string>
<string name="settings_toast_encryption_auth_failed">Ошибка аутентификации!</string>
<string name="settings_toast_auth_upgrade_failed">Не удалось автоматически обновить Ваш пароль / PIN-код к новому шифрованию, пожалуйста сбросьте его вручную в настройках!</string>
<string name="settings_dialog_title_error">Ошибка</string>
<string name="settings_dialog_title_clear_keystore">Очистить хранилище ключей?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">Вы можете использовать только пароль или PIN-код, если для шифрования базы данных установлено значение «Пароль / PIN-код»!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">Сначала необходимо задать проверку аутентификации «Пароль» или «PIN-код»!</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">ачала необходимо задать пароль или PIN-код перед изменением шифрования!</string>
<string name="settings_dialog_msg_clear_keystore_password">В некоторых случаях, очистка хранилища ключей может помочь решить проблемы. Приступайте, только если Вы знаете, что делаете!\n\nПоскольку <b>база данных зашифрована</b> с помощью <b>пароля / PIN-кода</b> вы не потеряете данные (в любом случае, никогда не помешает иметь резервную копию).\n\n<b>Вы уверены, что вы действительно хотите очистить хранилище ключей?</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">В некоторых случаях, очистка хранилища ключей может помочь решить проблемы. Приступайте, только если Вы знаете, что делаете!\n\n<b>Внимание</b>: поскольку <b>база данных зашифрована</b> с помощью <b>хранилища ключей Android</b> Вы потеряете все Ваши аккаунты. Создайте резервную копию!\n\n<b>Вы уверены, что Вы действительно хотите очистить хранилище ключей?</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item>Нет</item>
@ -50,6 +68,10 @@
<item>PIN-код</item>
<item>Учетные данные устройства</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Хранилище ключей Android</item>
<item>Пароль / PIN-код</item>
</string-array>
<string-array name="settings_entries_panic">
<item>Удалить все аккаунты</item>
<item>Сброс параметров приложения</item>
@ -60,17 +82,24 @@
<item>Чёрная тема</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>Скрыть</item>
<item>Маленький</item>
<item>По умолчанию</item>
<item>Средний</item>
<item>Большой</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>Не добавлять</item>
<item>После 2 символов</item>
<item>После 3 символов</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">Настройки по умолчанию</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">Пароль</string>
<string name="settings_hint_pin">PIN-код</string>
<string name="settings_hint_password_confirm">Подтвердить пароль</string>
<string name="settings_hint_pin_confirm">Подтвердите ПИН-код</string>
<string name="settings_hint_unchanged">(без изменений)</string>
<string name="settings_hint_password">Введите новый пароль</string>
<string name="settings_hint_pin">Введите новый PIN-код</string>
<string name="settings_hint_password_confirm">Подтвердите пароль</string>
<string name="settings_hint_pin_confirm">Подтвердите PIN-код</string>
<string name="settings_label_short_password">Пароль должен содержать не менее %1$d символов!</string>
<string name="settings_label_short_pin">PIN-код должен содержать не менее %1$d цифр!</string>
</resources>

View file

@ -2,9 +2,7 @@
<!--Generated by crowdin.com-->
<resources>
<string name="about_activity_title">关于</string>
<string name="about_description">
一个开源的两步验证应用(支持 Android 4.4 以上)。
</string>
<string name="about_description">面向 Android 的开源两步认证</string>
<!-- Misc -->
<string name="about_label_changelog">更新日志</string>
<string name="about_label_license">许可协议</string>
@ -14,9 +12,11 @@
<string name="about_label_version">版本</string>
<!-- Authors -->
<string name="about_title_authors">作者</string>
<string name="about_label_main_author">主要作者</string>
<string name="about_label_main_developer">主要开发者</string>
<string name="about_label_developer">开发者</string>
<string name="about_label_original_author">原应用作者</string>
<string name="about_label_original_app">原应用</string>
<string name="about_label_website">网站</string>
<string name="about_label_donate">捐赠</string>
<string name="about_label_contributors">贡献者</string>
<string name="about_label_translators">翻译者</string>
@ -30,4 +30,5 @@
<string name="about_dialog_special_features">确定要启用实验性功能吗?其中大多数是非标准 OTP 算法, 是在特殊要求下实现的。它们是 <b>不受官方支持的</b>,可能带有 <b>某些限制</b>, 请阅读(并了解) Github wiki 中的 \"实验性功能\" 页, 以便在使用它们之前了解更多信息。</string>
<string name="about_toast_special_features">启用实验性功能</string>
<string name="about_toast_special_features_enabled">已启用实验性功能</string>
<string name="about_toast_copied_to_clipboard">捐赠链接已复制到剪贴板</string>
</resources>

View file

@ -6,9 +6,13 @@
<string name="auth_hint_password">密码</string>
<string name="auth_hint_pin">PIN 码</string>
<!-- Messages -->
<string name="auth_msg_password">请输入您的密码以启动 andOTP。</string>
<string name="auth_msg_pin">请输入您的 PIN 启动 andOTP。</string>
<string name="auth_msg_authenticate">请验证启动 andOTP !</string>
<string name="auth_msg_confirm_encryption">请确认您的身份验证,以生成新的加密密钥!</string>
<!-- Buttons -->
<string name="auth_button_unlock">解锁​​​​</string>
<!-- Toast messages -->
<string name="auth_toast_password_missing">请在设置中设置密码!</string>
<string name="auth_toast_pin_missing">请在设置中设置一个 PIN 码!</string>
<string name="auth_toast_password_again">密码错误,请重试!</string>
<string name="auth_toast_pin_again">PIN 码错误,请重试!</string>
</resources>

View file

@ -12,9 +12,9 @@
<string name="backup_title_import_crypt">还原 (已加密)</string>
<string name="backup_title_import_openpgp">还原 (OpenPGP)</string>
<string name="backup_title_replace">替换现有条目</string>
<string name="backup_desc_export_plain">备份纯文本 JSON 文件中的所有帐户</string>
<string name="backup_desc_export_crypt">备份受密码保护的 JSON 文件中的所有帐户</string>
<string name="backup_desc_export_openpgp">备份 OpenPGP 加密的 JSON 文件中的所有帐户</string>
<string name="backup_desc_export_plain">备份所有帐户到纯文本 JSON 文件中。</string>
<string name="backup_desc_export_crypt">备份所有帐户到受密码保护的 JSON 文件中。</string>
<string name="backup_desc_export_openpgp">备份所有帐户到 OpenPGP 加密的 JSON 文件中。</string>
<string name="backup_desc_import_plain">从纯文本 JSON 文件还原帐户</string>
<string name="backup_desc_import_crypt">从受密码保护的 JSON 文件还原帐户</string>
<string name="backup_desc_import_openpgp">从 OpenPGP 加密的 JSON 文件还原帐户</string>

View file

@ -7,7 +7,7 @@
<string name="button_scan_qr">扫描二维码</string>
<string name="button_save">保存</string>
<string name="button_new_tag">新建标签</string>
<string name="button_warned">你已被警告!</string>
<string name="button_settings">设置</string>
<string name="button_all_tags">所有标签</string>
<string name="button_no_tags">无标签</string>
<!-- Custom formatting -->
@ -24,6 +24,7 @@
<string name="label_label">标签</string>
<string name="label_algorithm">算法</string>
<string name="label_tags">标签</string>
<string name="label_advanced">高级选项</string>
<!-- Drawer -->
<string name="drawer_open">显示标签</string>
<string name="drawer_close">隐藏标签</string>
@ -41,22 +42,28 @@
<string name="menu_popup_edit_tags">编辑标签</string>
<string name="menu_popup_remove">移除</string>
<!-- Toast messages -->
<string name="toast_auth_failed_fatal">身份验证失败andOTP 正在关闭!</string>
<string name="toast_auth_failed">认证失败,请重试!</string>
<string name="toast_auth_failed_fatal">验证失败andOTP 正在关闭!</string>
<string name="toast_copied_to_clipboard">已复制到剪贴板</string>
<string name="toast_entry_exists">该项已存在</string>
<string name="toast_invalid_qr_code">无效二维码</string>
<string name="toast_encryption_key_empty">未加载加密密钥</string>
<!-- Dialogs -->
<string name="dialog_title_auth">认证</string>
<string name="dialog_title_manual_entry">输入详细信息</string>
<string name="dialog_title_remove">移除</string>
<string name="dialog_title_rename">重命名</string>
<string name="dialog_title_security_backup">安全和备份</string>
<string name="dialog_title_last_used">上一次使用</string>
<string name="dialog_title_keystore_error">KeyStore 错误</string>
<string name="dialog_title_encryption">数据库加密</string>
<string name="dialog_msg_auth">请输入您的设备凭据以启动 andOTP。</string>
<string name="dialog_msg_confirm_delete">您确认想要删除您的账户?</string>
<string name="dialog_msg_security_backup_desc">为使您的帐户信息安全,此应用程序只存储加密内容。用于此的加密密钥的一部分存储在 Android 密钥库系统中。这种方法的优点是, 密钥与应用程序数据保持独立,并且可以通过硬件加密 (如果您的设备支持此项) 来支持。 </string>
<string name="dialog_msg_security_backup_3rd_party">这样做的缺点是,这使得应用数据的备份有点困难。如果您使用第三方应用 (如钛备份),则只能备份到数据文件,而不是加密密钥,因此这样的备份将变得无用。 </string>
<string name="dialog_msg_security_backup_warning">请只使用应用程序提供的内部备份功能来备份您的帐户!其他任何备份都将导致数据丢失。 </string>
<string name="dialog_msg_security_backup_one_time">此消息将不再显示。</string>
<string name="dialog_msg_confirm_delete">您确定要删除账户“%1$s”吗</string>
<string name="dialog_title_security_keystore">1. Android KeyStore</string>
<string name="dialog_title_security_password">2. 密码 / PIN码</string>
<string name="dialog_msg_security_first">为了确保帐户的安全性,此应用只存储到加密的数据文件中,用以下两种方法之一加密:</string>
<string name="dialog_msg_security_keystore">KeyStore 是 Android 系统的组成部分, 用来安全地储存密钥。这种方法的优点是,密钥和数据文件分开储存,并且支持硬件加密(需硬件支持)。但是,由于密钥不与应用程序数据一起储存,这种方法会妨碍外部备份方案(如钛备份)工作。如果选择此方法,您将不得不依赖 andOTP 提供的内部备份功能。</string>
<string name="dialog_msg_security_password">此方法将用密码或 PIN 码生成的密钥对数据加密。好处是支持外部备份方案 (如钛备份)。但是,您必须在每次启动 andOTP 时输入您的凭据。</string>
<string name="dialog_msg_security_default">默认下使用 Android KeyStore然而已知某些第三方定制 ROM 会有点问题。您可以点下面的按钮来更改加密设置。</string>
<string name="dialog_msg_last_used">为了使 andOTP 能够识别最后使用的标记,您必须启用 \"点击显示\" 或使用 \"复制\" 按钮. \n\n 此消息将不会再次显示。</string>
<string name="dialog_msg_keystore_error">无法从 KeyStore 加载密钥。<b> 添加的任何条目都将丢失. </b>\n\n为继续使用 andOTP 您可以转到设置并将 <b>数据库加密</b> 切换到 <b>密码 / PIN码</b></string>
</resources>

View file

@ -12,13 +12,14 @@
<string name="settings_title_auth">身份验证</string>
<string name="settings_title_auth_password">密码</string>
<string name="settings_title_auth_pin">PIN 码</string>
<string name="settings_title_encryption">数据库加密</string>
<string name="settings_title_panic">紧急触发</string>
<string name="settings_title_lang">语言</string>
<string name="settings_title_theme">主题</string>
<string name="settings_title_label_size">标签字体大小</string>
<string name="settings_title_label_scroll">滚动标签</string>
<string name="settings_title_thumbnail_visible_ask">显示缩略图</string>
<string name="settings_title_thumbnail_size_ask">缩略图大小</string>
<string name="settings_title_split_group_size">用空格做分割符</string>
<string name="settings_title_backup_ask">询问文件名</string>
<string name="settings_title_backup_directory">备份目录</string>
<string name="settings_title_backup_password">备份密码</string>
@ -28,6 +29,7 @@
<string name="settings_title_openpgp_verify">验证加密的备份</string>
<string name="settings_title_special_features">启用实验性功能</string>
<string name="settings_title_enable_screenshot">启用截屏</string>
<string name="settings_title_clear_keystore">清除 KeyStore</string>
<!-- Descriptions -->
<string name="settings_desc_tap_to_reveal">默认情况下隐藏 OTP 令牌,需要手动显示它们。</string>
<string name="settings_desc_tap_to_reveal_timeout">选择再次隐藏显示条目的时间 (秒)</string>
@ -38,11 +40,27 @@
<string name="settings_desc_backup_password">设置用于加密备份的密码</string>
<string name="settings_desc_openpgp_sign">每个加密的备份都用您的密钥进行了签名 (需要密码)</string>
<string name="settings_desc_openpgp_verify">只有在使用有效密钥签名时才会导入加密备份</string>
<string name="settings_desc_enable_screenshot">允许使用首屏截屏 (默认因安全原因禁用)</string>
<string name="settings_desc_special_features">取消选中再次禁用实验性功能</string>
<string name="settings_desc_enable_screenshot">允许使用首屏截屏 (默认因安全原因禁用)</string>
<string name="settings_desc_clear_keystore">从 KeyStore 中删除密钥</string>
<!-- Toasts -->
<string name="settings_toast_auth_device_pre_lollipop">此功能需要 Android 5.0 以上才能工作</string>
<string name="settings_toast_auth_device_not_secure">此功能需要设置安全锁定屏幕 (设置 -&gt; 安全 -&gt; 锁屏)</string>
<string name="settings_toast_password_empty">不允许用空密码,请将身份验证设置为“无”以禁用它!</string>
<string name="settings_toast_encryption_changing">尝试更改数据库加密,请稍候!</string>
<string name="settings_toast_encryption_change_success">已成功更改数据库加密!</string>
<string name="settings_toast_encryption_change_failed">无法更改数据库加密,回退到原始状态!</string>
<string name="settings_toast_encryption_backup_failed">未能创建内部备份,正在中止!</string>
<string name="settings_toast_encryption_no_key">未能获取密钥,正在中止!</string>
<string name="settings_toast_encryption_auth_failed">身份验证失败!</string>
<string name="settings_toast_auth_upgrade_failed">无法静默升级您的 密码 / PIN码 到新的加密,请在设置手动复位!</string>
<string name="settings_dialog_title_error">错误</string>
<string name="settings_dialog_title_clear_keystore">清除 KeyStore?</string>
<string name="settings_dialog_msg_auth_invalid_with_encryption">只要将数据库加密设置为“密码 / PIN 码”, 即可以使用!</string>
<string name="settings_dialog_msg_encryption_invalid_with_auth">您首先需要将身份验证设置为“密码”或“PIN码”</string>
<string name="settings_dialog_msg_encryption_invalid_without_credentials">您首先需要设置密码或PIN码然后再更改加密</string>
<string name="settings_dialog_msg_clear_keystore_password">在某些情况下,清除 KeyStore 可以帮助解决问题。继续前,您应明确知道自己在做什么!\n\n由于 <b>数据库加密</b> 设置为 <b>密码 / PIN 码</b> 这样做您应该不会丢失任何数据(但无论如何,这不会损害您的备份)。\n\n<b>您是否确实要清除 KeyStore</b></string>
<string name="settings_dialog_msg_clear_keystore_keystore">在某些情况下,清除 KeyStore 可以帮助解决问题。继续前,您应明确知道自己在做什么!\n\n<b>警告</b>:由于 <b>数据库加密</b> 设置为 <b>Android KeyStore</b> 您会丢失所有账户。请确保您有备份!\n\n<b>您是否确实要清除 KeyStore</b></string>
<!-- List entries -->
<string-array name="settings_entries_auth">
<item></item>
@ -50,6 +68,10 @@
<item>PIN 码</item>
<item>设备凭据</item>
</string-array>
<string-array name="settings_entries_encryption">
<item>Android KeyStore</item>
<item>密码 / PIN码</item>
</string-array>
<string-array name="settings_entries_panic">
<item>清除所有帐户</item>
<item>重置设置</item>
@ -60,17 +82,24 @@
<item>黑色主题</item>
</string-array>
<string-array name="settings_entries_thumbnail_size">
<item>隐藏</item>
<item>较小</item>
<item>默认</item>
<item>中等</item>
<item>较大</item>
</string-array>
<string-array name="settings_entries_split_group_size">
<item>不分割</item>
<item>在两个字符之后</item>
<item>在三个字符之后</item>
</string-array>
<!-- Special -->
<string name="settings_lang_sys_default">系统默认</string>
<!-- PasswordPreference -->
<string name="settings_hint_password">密码</string>
<string name="settings_hint_pin">PIN 码</string>
<string name="settings_hint_password">输入新密码</string>
<string name="settings_hint_pin">输入新 PIN 码</string>
<string name="settings_hint_password_confirm">确认密码</string>
<string name="settings_hint_pin_confirm">确认PIN码</string>
<string name="settings_hint_unchanged">(未更改)</string>
<string name="settings_label_short_password">密码至少需要 %1$d 个字符!</string>
<string name="settings_label_short_pin">PIN 码至少需要 %1$d 个字符!</string>
</resources>

View file

@ -16,13 +16,15 @@
<string name="settings_key_encryption" translatable="false">pref_encryption</string>
<string name="settings_key_panic" translatable="false">pref_panic</string>
<string name="settings_key_lang" translatable="false">pref_lang</string>
<string name="settings_key_lang" translatable="false">pref_lang</string> <!-- Deprecated -->
<string name="settings_key_locale" translatable="false">pref_locale</string>
<string name="settings_key_theme" translatable="false">pref_theme</string>
<string name="settings_key_label_size" translatable="false">pref_label_size_sp</string>
<string name="settings_key_label_scroll" translatable="false">pref_label_scroll</string>
<string name="settings_key_thumbnail_size" translatable="false">pref_thumbnail_size</string>
<string name="settings_key_split_group_size" translatable="false">pref_split_group_size</string>
<string name="settings_key_backup_append_date_time" translatable="false">pref_backup_append_date_time</string>
<string name="settings_key_backup_ask" translatable="false">pref_backup_ask</string>
<string name="settings_key_backup_directory" translatable="false">pref_backup_directory</string>
<string name="settings_key_backup_password" translatable="false">pref_backup_password</string> <!-- Deprecated -->
@ -47,7 +49,7 @@
<!-- Default values -->
<integer name="settings_default_tap_to_reveal_timeout">30</integer>
<string name="settings_default_encryption" translatable="false">keystore</string>
<string name="settings_default_lang" translatable="false">system</string>
<string name="settings_default_locale" translatable="false">system</string>
<string name="settings_default_theme" translatable="false">light</string>
<integer name="settings_default_label_size">18</integer>
<string name="settings_default_thumbnail_size">46dp</string>
@ -76,18 +78,19 @@
<item>settings</item>
</string-array>
<string-array name="settings_values_lang" translatable="false">
<string-array name="settings_values_locale" translatable="false">
<item>system</item>
<item>en</item>
<item>cs</item>
<item>de</item>
<item>es</item>
<item>fr</item>
<item>gl</item>
<item>nl</item>
<item>pl</item>
<item>ru</item>
<item>zh</item>
<item>ca_ES</item>
<item>cs_CZ</item>
<item>de_DE</item>
<item>en_US</item>
<item>es_ES</item>
<item>fr_FR</item>
<item>gl_ES</item>
<item>nl_NL</item>
<item>pl_PL</item>
<item>ru_RU</item>
<item>zh_CN</item>
</string-array>
<string-array name="settings_values_theme" translatable="false">
@ -112,9 +115,10 @@
<string-array name="settings_entries_lang" translatable="false">
<item>@string/settings_lang_sys_default</item>
<item>English</item>
<item>Català</item>
<item>Čeština</item>
<item>Deutsch</item>
<item>English</item>
<item>Español</item>
<item>Français</item>
<item>Galego</item>

View file

@ -2,9 +2,7 @@
<resources>
<string name="about_activity_title">About</string>
<string name="about_description">
An open-source two-factor authentication App for Android 4.4+.
</string>
<string name="about_description">Open source two-factor authentication for Android</string>
<!-- Misc -->
<string name="about_label_changelog">Changelog</string>
@ -17,7 +15,7 @@
<!-- Authors -->
<string name="about_title_authors">Authors</string>
<string name="about_label_main_author">Main author</string>
<string name="about_label_main_developer">Main developer</string>
<string name="about_label_developer">Developer</string>
<string name="about_label_original_author">Author of the original app</string>
<string name="about_label_original_app">Original App</string>
@ -49,4 +47,5 @@
wiki to learn more before using them.</string>
<string name="about_toast_special_features">Special features enabled</string>
<string name="about_toast_special_features_enabled">Special features already enabled</string>
<string name="about_toast_copied_to_clipboard">Donation link copied to clipboard</string>
</resources>

View file

@ -23,6 +23,7 @@
<string name="settings_title_thumbnail_size_ask">Thumbnail size</string>
<string name="settings_title_split_group_size">Split Token with space</string>
<string name="settings_title_backup_append_date">Append date to filename</string>
<string name="settings_title_backup_ask">Ask for filename</string>
<string name="settings_title_backup_directory">Backup directory</string>
<string name="settings_title_backup_password">Backup password</string>
@ -44,6 +45,9 @@
<string name="settings_desc_label_scroll">Scroll overlong labels instead of truncating them</string>
<string name="settings_desc_backup_append_date">Append the current date and time to the suggested
backup filename</string>
<string name="settings_desc_backup_ask">Ask for the filename every time a backup is created or
restored</string>
<string name="settings_desc_backup_directory">Directory for the backups (filenames will depend
@ -75,14 +79,14 @@
<string name="settings_toast_encryption_change_success">Successfully changed the database
encryption!</string>
<string name="settings_toast_encryption_change_failed">Failed to change database encryption,
restored database from internal backup!</string>
falling back to original state!</string>
<string name="settings_toast_encryption_backup_failed">Failed to create an internal
backup, aborting!</string>
<string name="settings_toast_encryption_no_key">Failed to get the encryption key, aborting!</string>
<string name="settings_toast_encryption_auth_failed">Authentication failed, aborting!</string>
<string name="settings_toast_encryption_auth_failed">Authentication failed!</string>
<string name="settings_toast_auth_upgrade_failed">Failed to silently upgrade your password / PIN
to the new encryption, please manually reset it in the settings!</string>
to the new encryption, please manually reset it in the Settings!</string>
<string name="settings_dialog_title_error">Error</string>
<string name="settings_dialog_title_clear_keystore">Clear the KeyStore?</string>

View file

@ -48,12 +48,12 @@
android:title="@string/settings_category_title_ui">
<ListPreference
android:key="@string/settings_key_lang"
android:key="@string/settings_key_locale"
android:title="@string/settings_title_lang"
android:summary="%s"
android:entries="@array/settings_entries_lang"
android:entryValues="@array/settings_values_lang"
android:defaultValue="@string/settings_default_lang" />
android:entryValues="@array/settings_values_locale"
android:defaultValue="@string/settings_default_locale" />
<ListPreference
android:key="@string/settings_key_theme"
@ -96,6 +96,12 @@
<PreferenceCategory
android:title="@string/settings_category_title_backup">
<CheckBoxPreference
android:key="@string/settings_key_backup_append_date_time"
android:title="@string/settings_title_backup_append_date"
android:summary="@string/settings_desc_backup_append_date"
android:defaultValue="false" />
<CheckBoxPreference
android:key="@string/settings_key_backup_ask"
android:title="@string/settings_title_backup_ask"

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256mm"
height="256mm"
viewBox="0 0 256.00001 256.00001"
version="1.1"
id="svg8"
sodipodi:docname="nas.svg"
inkscape:version="0.92.2 5c3e80d, 2017-08-06">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.49497475"
inkscape:cx="79.32432"
inkscape:cy="168.90219"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1678"
inkscape:window-height="1032"
inkscape:window-x="0"
inkscape:window-y="16"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(140.20094,116.51197)">
<g
id="g1049"
transform="matrix(1.5592576,0,0,1.5592576,101.54598,-100.94112)">
<rect
ry="12.828938"
y="41.684555"
x="-139.96362"
height="97.566422"
width="134.02843"
id="rect1037"
style="fill:#000000;stroke:#000000;stroke-width:0.47457451;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path880-3"
d="m -8.1375058,40.327937 c -2.1774602,-1.76164 -5.3010702,-3.38114 -7.9470502,-4.12031 -1.63646,-0.45716 -4.39279,-0.48044 -56.885427,-0.48044 -52.492627,0 -55.248947,0.0233 -56.885407,0.48044 -2.40957,0.67313 -5.75894,2.33582 -7.40621,3.67659 -2.5518,2.07699 -2.47287,2.04749 -1.89461,0.708 1.26283,-2.92526 10.00981,-22.12085 11.31604,-24.8335 0.80383,-1.66933 1.9797,-3.76131 2.61303,-4.64884 1.56847,-2.1980199 4.18214,-4.5602999 5.94792,-5.3758399 l 1.46237,-0.67541 23.065274,-0.23533 c 13.012245,-0.13277 32.501155,-0.1378 44.714583,-0.0115 l 21.649304,0.22378 1.76732,0.83728 c 2.33974,1.10848 3.87143,2.56998 5.922883,5.6514999 1.85426,2.78532 2.93756,4.98583 9.83084,19.96955 2.5439902,5.5298 4.6799002,10.14347 4.7464602,10.25261 0.22405,0.36737 -0.0351,0.18512 -2.01732,-1.41853 z"
style="fill:#000000;stroke-width:0.26458332" />
<circle
r="8.1134996"
cy="64.349693"
cx="-122.92184"
id="path956"
style="fill:#ffffff;stroke-width:0.37862998" />
<rect
ry="5.6696429"
y="51.681366"
x="-98.432045"
height="77.300758"
width="82.31176"
id="rect1035"
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.86523747;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
ry="5.1026788"
y="56.961555"
x="-93.154564"
height="66.79467"
width="19.73167"
id="rect1003"
style="fill:#000000;stroke:#000000;stroke-width:0.37599999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
r="5.1564999"
cy="66.94503"
cx="-83.427574"
id="path956-6"
style="fill:#ffffff;stroke-width:0.24063666" />
<rect
ry="5.1026788"
y="56.986568"
x="-67.349106"
height="66.79467"
width="19.73167"
id="rect1003-3"
style="fill:#000000;stroke:#000000;stroke-width:0.37599999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
r="5.1564999"
cy="66.999336"
cx="-57.372181"
id="path956-6-7"
style="fill:#ffffff;stroke-width:0.24063666" />
<rect
ry="5.1026788"
y="56.968262"
x="-41.264233"
height="66.79467"
width="19.73167"
id="rect1003-3-5"
style="fill:#000000;stroke:#000000;stroke-width:0.37599999;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<circle
r="5.1564999"
cy="66.928177"
cx="-31.424425"
id="path956-6-7-5"
style="fill:#ffffff;stroke-width:0.24063666" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB