1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-03 08:23:04 +02:00

Compare commits

...

10 Commits

Author SHA1 Message Date
m2049r
c1f14f9653 update gradle & deps & bump version (#760) 2021-04-25 18:24:30 +02:00
m2049r
2746c52d7b confirm checkboxes for delete confirmation dialogs (#759) 2021-04-25 14:26:46 +02:00
Baltsar
5df323bacb Update Swedish strings.xml (#754) 2021-04-23 23:32:31 +02:00
m2049r
776cc26377 refactor magic number (#756) 2021-04-23 08:57:08 +02:00
m2049r
bdfb6a90b6 update & clean build (#755) 2021-04-22 20:17:02 +02:00
m2049r
6db44dfab1 cleanup backup code (#753) 2021-04-21 19:54:20 +02:00
m2049r
c68ac7db6d bump version 2021-04-20 17:08:51 +02:00
Katant Savelev
e09862e940 Ru update for #751 (#752) 2021-04-20 17:01:01 +02:00
m2049r
c7bd7469a1 reset wallet by deleting wallet cache file (#751) 2021-04-20 13:06:14 +02:00
Katant Savelev
b39857fd2e Russian translation update (#746)
* Ru update

* Better external libs build guide

* Update BUILDING-external-libs.md
2021-04-20 12:50:48 +02:00
46 changed files with 647 additions and 408 deletions

View File

@@ -3,12 +3,13 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion '29.0.3'
ndkVersion '17.2.4988734'
defaultConfig {
applicationId "com.m2049r.xmrwallet"
minSdkVersion 21
targetSdkVersion 30
versionCode 1002
versionName "2.0.2 'Puginarug'"
versionCode 1004
versionName "2.0.4.0 'Puginarug'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
@@ -130,7 +131,7 @@ dependencies {
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
implementation "com.squareup.okhttp3:okhttp:4.9.0"
implementation "com.burgstaller:okhttp-digest:2.1"
implementation "io.github.rburgst:okhttp-digest:2.5"
implementation "com.jakewharton.timber:timber:4.7.1"
implementation 'com.nulab-inc:zxcvbn:1.3.0'

View File

@@ -44,6 +44,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.google.android.material.checkbox.MaterialCheckBox;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.m2049r.xmrwallet.data.DefaultNodes;
import com.m2049r.xmrwallet.data.Node;
@@ -474,6 +475,7 @@ public class LoginActivity extends BaseActivity
@Override
public void onWalletBackup(String walletName) {
Timber.d("backup for wallet ." + walletName + ".");
// overwrite any pending backup request
zipBackup = new ZipBackup(this, walletName);
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
@@ -500,14 +502,18 @@ public class LoginActivity extends BaseActivity
if (data == null) {
// nothing selected
Toast.makeText(this, getString(R.string.backup_failed), Toast.LENGTH_LONG).show();
zipBackup = null;
return;
}
try {
if (zipBackup == null) return; // ignore unsolicited request
zipBackup.writeTo(data.getData());
Toast.makeText(this, getString(R.string.backup_success), Toast.LENGTH_SHORT).show();
} catch (IOException ex) {
Timber.e(ex);
Toast.makeText(this, getString(R.string.backup_failed), Toast.LENGTH_LONG).show();
} finally {
zipBackup = null;
}
} else if (requestCode == RESTORE_BACKUP_INTENT) {
if (data == null) {
@@ -549,12 +555,49 @@ public class LoginActivity extends BaseActivity
}
};
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setMessage(getString(R.string.delete_alert_message))
final AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
final AlertDialog confirm = builder.setMessage(getString(R.string.delete_alert_message))
.setTitle(walletName)
.setPositiveButton(getString(R.string.delete_alert_yes), dialogClickListener)
.setNegativeButton(getString(R.string.delete_alert_no), dialogClickListener)
.setView(View.inflate(builder.getContext(), R.layout.checkbox_confirm, null))
.show();
confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
final MaterialCheckBox checkBox = confirm.findViewById(R.id.checkbox);
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(isChecked);
});
}
@Override
public void onWalletDeleteCache(final String walletName) {
Timber.d("delete cache for wallet ." + walletName + ".");
if (checkServiceRunning()) return;
DialogInterface.OnClickListener dialogClickListener = (dialog, which) -> {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
if (!deleteWalletCache(Helper.getWalletFile(LoginActivity.this, walletName))) {
Toast.makeText(LoginActivity.this, getString(R.string.delete_failed), Toast.LENGTH_LONG).show();
}
break;
case DialogInterface.BUTTON_NEGATIVE:
// do nothing
break;
}
};
final AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
final AlertDialog confirm = builder.setMessage(getString(R.string.deletecache_alert_message))
.setTitle(walletName)
.setPositiveButton(getString(R.string.delete_alert_yes), dialogClickListener)
.setNegativeButton(getString(R.string.delete_alert_no), dialogClickListener)
.setView(View.inflate(builder.getContext(), R.layout.checkbox_confirm, null))
.show();
confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
final MaterialCheckBox checkBox = confirm.findViewById(R.id.checkbox);
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
confirm.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(isChecked);
});
}
void reloadWalletList() {
@@ -1024,6 +1067,18 @@ public class LoginActivity extends BaseActivity
return success;
}
boolean deleteWalletCache(File walletFile) {
Timber.d("deleteWalletCache %s", walletFile.getAbsolutePath());
File dir = walletFile.getParentFile();
String name = walletFile.getName();
boolean success = true;
File cacheFile = new File(dir, name);
if (cacheFile.exists()) {
success = cacheFile.delete();
}
return success;
}
void copyFile(File src, File dst) throws IOException {
try (FileChannel inChannel = new FileInputStream(src).getChannel();
FileChannel outChannel = new FileOutputStream(dst).getChannel()) {

View File

@@ -88,6 +88,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
void onWalletDelete(String walletName);
void onWalletDeleteCache(String walletName);
void onAddWallet(String type);
void onNodePrefs();
@@ -220,6 +222,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
activityCallback.onWalletBackup(listItem.getName());
} else if (id == R.id.action_archive) {
activityCallback.onWalletDelete(listItem.getName());
} else if (id == R.id.action_deletecache) {
activityCallback.onWalletDeleteCache(listItem.getName());
} else {
return super.onContextItemSelected(item);
}

View File

@@ -21,6 +21,7 @@ import android.os.Parcelable;
import com.m2049r.xmrwallet.model.PendingTransaction;
import com.m2049r.xmrwallet.model.Wallet;
import com.m2049r.xmrwallet.util.Helper;
// https://stackoverflow.com/questions/2139134/how-to-send-an-object-from-one-android-activity-to-another-using-intents
public class TxData implements Parcelable {
@@ -54,7 +55,7 @@ public class TxData implements Parcelable {
}
public double getAmountAsDouble() {
return 1.0 * amount / 1000000000000L;
return 1.0 * amount / Helper.ONE_XMR;
}
public int getMixin() {

View File

@@ -139,7 +139,7 @@ public class SendAmountWizardFragment extends SendWizardFragment {
Timber.d("onResumeFragment()");
Helper.showKeyboard(getActivity());
final long funds = getTotalFunds();
maxFunds = 1.0 * funds / 1000000000000L;
maxFunds = 1.0 * funds / Helper.ONE_XMR;
if (!sendListener.getActivityCallback().isStreetMode()) {
tvFunds.setText(getString(R.string.send_available,
Wallet.getDisplayAmount(funds)));

View File

@@ -34,6 +34,7 @@ import com.m2049r.xmrwallet.service.shift.ShiftException;
import com.m2049r.xmrwallet.service.shift.sideshift.api.QueryOrderParameters;
import com.m2049r.xmrwallet.service.shift.sideshift.api.SideShiftApi;
import com.m2049r.xmrwallet.service.shift.sideshift.network.SideShiftApiImpl;
import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.OkHttpHelper;
import com.m2049r.xmrwallet.util.ServiceHelper;
import com.m2049r.xmrwallet.widget.ExchangeOtherEditText;
@@ -179,7 +180,7 @@ public class SendBtcAmountWizardFragment extends SendWizardFragment {
tvXmrToParms.setText(xmrParmText);
final long funds = getTotalFunds();
double availableXmr = 1.0 * funds / 1000000000000L;
double availableXmr = 1.0 * funds / Helper.ONE_XMR;
String availBtcString;
String availXmrString;

View File

@@ -167,7 +167,7 @@ public class ExchangeApiImpl implements ExchangeApi {
private Calendar fetchDate = null;
synchronized private ExchangeRate getRate(String currency) throws ExchangeException {
Timber.e("Getting %s", currency);
Timber.d("Getting %s", currency);
final Double rate = fxEntries.get(currency);
if (rate == null) throw new ExchangeException(404, "Currency not supported: " + currency);
return new ExchangeRateImpl(currency, rate, fxDate.getTime());

View File

@@ -81,6 +81,7 @@ public class Helper {
static public final String BASE_CRYPTO = Crypto.XMR.getSymbol();
static public final int XMR_DECIMALS = 12;
static public final long ONE_XMR = Math.round(Math.pow(10, Helper.XMR_DECIMALS));
static public final boolean SHOW_EXCHANGERATES = true;
static public final boolean ALLOW_SHIFT = true;

View File

@@ -349,11 +349,13 @@ public class ExchangeEditText extends LinearLayout {
}
}
private static final String CLEAN_FORMAT = "%." + Helper.XMR_DECIMALS + "f";
private String getCleanAmountString(String enteredAmount) {
try {
double amount = Double.parseDouble(enteredAmount);
if (amount >= 0) {
return String.format(Locale.US, "%,.12f", amount);
return String.format(Locale.US, CLEAN_FORMAT, amount);
} else {
return null;
}

View File

@@ -0,0 +1,13 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:paddingEnd="16dp"
android:text="@string/onboarding_agree" />
</FrameLayout>

View File

@@ -26,4 +26,8 @@
android:orderInCategory="500"
android:title="@string/menu_info" />
<item
android:id="@+id/action_deletecache"
android:orderInCategory="500"
android:title="@string/menu_deletecache" />
</menu>

View File

@@ -417,10 +417,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -266,7 +266,7 @@
<string name="details_alert_no">Nein, doch nicht!</string>
<string name="details_title">Details</string>
<string name="delete_alert_message">Das Wallet wird gelöscht!</string>
<string name="delete_alert_message">Das Wallet wird gelöscht. Dein Geld wird für immer verloren sein, außer wenn Du den Seed oder ein funktionierendes Backup hast um es wiederherzustellen.</string>
<string name="delete_alert_yes">Ja, mach das!</string>
<string name="delete_alert_no">Nein, danke!</string>
@@ -424,4 +424,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -207,7 +207,7 @@
<string name="details_alert_no">¡Llévame de vuelta!</string>
<string name="details_title">Detalles</string>
<string name="delete_alert_message">¡El monedero será borrado!</string>
<string name="delete_alert_message">Este monedero será borrado. Tus fondos se irán para siempre a menos que tengas tu semilla o una copia de seguridad funcional para recuperarlo.</string>
<string name="delete_alert_yes">¡Sí, hazlo!</string>
<string name="delete_alert_no">¡No, gracias!</string>
@@ -416,4 +416,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -417,10 +417,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -267,7 +267,7 @@
<string name="details_alert_no">Non merci !</string>
<string name="details_title">Détails</string>
<string name="delete_alert_message">Le portefeuille sera supprimé !</string>
<string name="delete_alert_message">Ce portefeuille sera supprimé. Vos fonds seront perdus à jamais, sauf si vous disposez de votre semence ou d\'une sauvegarde fonctionnelle pour les récupérer.</string>
<string name="delete_alert_yes">Oui, procéder !</string>
<string name="delete_alert_no">Non merci !</string>
@@ -429,4 +429,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -421,10 +421,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -266,7 +266,7 @@
<string name="details_alert_no">Torna indietro!</string>
<string name="details_title">Dettagli</string>
<string name="delete_alert_message">Il portafoglio verrà eliminato!</string>
<string name="delete_alert_message">Questo portafoglio sarà cancellato. I tuoi fondi saranno andati per sempre a meno che tu non abbia il tuo seme o un backup funzionante per recuperarli.</string>
<string name="delete_alert_yes">Sì, procedi!</string>
<string name="delete_alert_no">No grazie!</string>
@@ -366,7 +366,7 @@
<string name="menu_rescan">Rescan!</string>
<string name="onboarding_agree">I get it!</string>
<string name="onboarding_agree">Ho capito!</string>
<string name="onboarding_button_next">Next</string>
<string name="onboarding_button_ready">I\'m ready!</string>
@@ -428,4 +428,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -422,10 +422,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -419,10 +419,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -261,7 +261,7 @@
<string name="details_alert_no">Ga terug!</string>
<string name="details_title">Details</string>
<string name="delete_alert_message">Er wordt de portemonnee verwijderd!</string>
<string name="delete_alert_message">Deze portemonnee zal worden verwijderd. Uw geld zal voor altijd weg zijn, tenzij u uw zaad of een werkende back-up hebt om het te herstellen.</string>
<string name="delete_alert_yes">Ja, doe dat!</string>
<string name="delete_alert_no">Nee, niet doen!</string>
@@ -425,4 +425,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -411,10 +411,13 @@
<string name="subaddress_select_label">Selecione um subendereço</string>
<string name="subaddress_details_hint">Toque e segure para mais detalhes</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -423,10 +423,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -419,10 +419,13 @@
<string name="subaddress_select_label">Selectează o subadresă</string>
<string name="subaddress_details_hint">Atinge lung pentru detalii</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -19,8 +19,8 @@
<string name="password_very_strong">Отлично! В лучших традициях h4x0r!</string>
<string name="label_login_wallets">Кошелек</string>
<string name="label_credits">Информация</string>
<string name="label_ok">Ok</string>
<string name="label_credits">О кошельке</string>
<string name="label_ok">Ок</string>
<string name="label_cancel">Отмена</string>
<string name="label_close">Закрыть</string>
<string name="label_wallet_advanced_details">Нажмите для доп. информации</string>
@@ -135,7 +135,7 @@
<string name="xmr_unconfirmed_amount">+ %1$s XMR неподтвержденно</string>
<string name="service_description">Служба monerujo</string>
<string name="service_description">Служба Monerujo</string>
<string name="status_synced">Синхронизировано:</string>
<string name="status_remaining">Блоков осталось</string>
@@ -164,10 +164,10 @@
<strong>Аутентификация по отпечаткам пальцев</strong>
<p>С поддержкой аутентификации по отпечаткам пальцев, вы можете просматривать баланс и получать средства
без ввода пароля.</p>
<p>Но для дополнительной безопасности, monerujo потребует от вас ввести пароль при
<p>Но для дополнительной безопасности, Monerujo потребует от вас ввести пароль при
просмотре деталей кошелька или отправке средств.</p>
<strong>Предупреждение системы безопасности</strong>
<p>monerujo хочет напомнить вам, что любой, кто может получить ваш отпечаток пальца, будет
<p>Monerujo хочет напомнить вам, что любой, кто может получить ваш отпечаток пальца, будет
обладать возможностью, заглянуть в баланс вашего кошелька.</p>
<p>Например, злоумышленник может заглянуть в ваш кошелек, когда вы спите.</p>
<strong>Вы уверены, что хотите включить эту функцию?</strong>
@@ -175,7 +175,7 @@
<string name="generate_bad_passwordB">Пароль не совпадает</string>
<string name="generate_empty_passwordB">Пароль не может быть пустым</string>
<string name="generate_buttonGenerate">Сделайте мне уже кошелек!</string>
<string name="generate_button_accept">Я ввел мнемоническую фразу</string>
<string name="generate_button_accept">Я записал мнемоническую фразу</string>
<string name="generate_wallet_name">Придумай мне имя!</string>
<string name="generate_wallet_exists">Такой кошелек существует!</string>
@@ -256,8 +256,8 @@
<string name="receive_amount_hint">Сумма</string>
<string name="receive_cannot_open">Не удалось открыть кошелек!</string>
<string name="receive_amount_too_big">Max. %1$s</string>
<string name="receive_amount_negative">Min. 0</string>
<string name="receive_amount_too_big">Макс. %1$s</string>
<string name="receive_amount_negative">Мин. 0</string>
<string name="receive_amount_nan">Не числовое значение XMR</string>
<string name="details_alert_message">Сейчас будут показаны конфиденциальные данные. Оглянись вокруг!</string>
@@ -265,7 +265,7 @@
<string name="details_alert_no">Верните меня обратно!</string>
<string name="details_title">Подробная информация</string>
<string name="delete_alert_message">Этот кошелек будет удален!</string>
<string name="delete_alert_message">Этот кошелек будет удален. Твои деньги исчезнут навсегда, если у тебя нет сид-фразы или рабочей резервной копии для их восстановления.</string>
<string name="delete_alert_yes">Да, сделай это!</string>
<string name="delete_alert_no">Нет, спасибо!</string>
@@ -279,8 +279,8 @@
<string name="tx_account">Учетная запись #</string>
<string name="send_sweepall">Отправить все средства на этот счет!</string>
<string name="tx_subaddress">Субадрес</string>
<string name="generate_address_label_sub">Публичный субадрес #%1$d: %2$s</string>
<string name="tx_subaddress">Подадрес</string>
<string name="generate_address_label_sub">Публичный подадрес #%1$d: %2$s</string>
<string name="menu_language">Язык</string>
<string name="language_system_default">Использовать язык системы</string>
@@ -289,7 +289,7 @@
<string name="progress_ledger_progress">Подключение к Ledger</string>
<string name="progress_ledger_confirm">Требуется подтверждение в Ledger!</string>
<string name="progress_ledger_lookahead">Получение субадрессов</string>
<string name="progress_ledger_lookahead">Получение подадресов</string>
<string name="progress_ledger_verify">Проверка ключей</string>
<string name="progress_ledger_opentx">Занимаюсь сумасшедшей математикой</string>
<string name="progress_ledger_mlsag">Хеширование материалов</string>
@@ -318,7 +318,7 @@
<string name="status_wallet_connect_wrongversion">Версия узла несовместима - пожалуйста, обновите!</string>
<string name="menu_info">Информация</string><!--Changed to: Show Secrets!-->
<string name="menu_info">Показать ключи</string><!--Changed to: Show Secrets!-->
<string name="menu_streetmode">Уличный режим</string>
<string name="info_nodes_enabled">Node-o-matiC включен, нажмите для получения дополнительной информации.</string>
@@ -361,72 +361,75 @@
<string name="bad_ledger_seed">Ошибка фразы Ledger!</string>
<string name="prompt_ledger_seed_warn">Если вы пытаетесь ввести сюда фразу Ledger, это серьезная угроза для вашей безопасности!</string>
<string name="label_restoreheight">Восстановить высоту</string> <!-- Restore Height -->
<string name="label_restoreheight">Высота восстановления</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Запуск приложения Monero на %1$s</string>
<string name="menu_rescan">Rescan!</string>
<string name="menu_rescan">Пересканировать!</string>
<string name="onboarding_agree">I get it!</string>
<string name="onboarding_button_next">Next</string>
<string name="onboarding_button_ready">I\'m ready!</string>
<string name="onboarding_agree">Я понял!</string>
<string name="onboarding_button_next">Далее</string>
<string name="onboarding_button_ready">Я готов!</string>
<string name="onboarding_welcome_title">Welcome to Monerujo!</string>
<string name="onboarding_welcome_information">This app allows you to create and use Monero wallets. You can store your sweet moneroj in them.</string>
<string name="onboarding_seed_title">Keep your seed safe</string>
<string name="onboarding_seed_information">The seed grants full access to whoever has it. If you lose it, we cannot help you recover it and you lose your beloved moneroj.</string>
<string name="onboarding_xmrto_title">Send Crypto</string>
<string name="onboarding_xmrto_information">Monerujo has SideShift.ai support built-in. Just paste or scan a BTC, LTC, ETH, DASH or DOGE address and you\'ll be sending these cryptos by spending XMR.</string>
<string name="onboarding_nodes_title">Nodes, your way</string>
<string name="onboarding_nodes_information">Nodes connect you to the Monero network. Choose between public nodes or go full cypherpunk using your own.</string>
<string name="onboarding_fpsend_title">Send with fingerprint</string>
<string name="onboarding_fpsend_information">You\'re now able to send XMR with just your fingerprint if you enabled it. To request the password, just disable fingerprint access.</string>
<string name="onboarding_welcome_title">Добро пожаловать в Monerujo!</string>
<string name="onboarding_welcome_information">Данное приложение позволяет создавать и использовать кошельки Monero. Вы можете хранить ваши сладкие moneroj в них.</string>
<string name="onboarding_seed_title">Храните свои ключи в безопасности</string>
<string name="onboarding_seed_information">Секретная фраза дает полный доступ к кошельку. Если вы её потеряете, мы не сможем её восстановить и вы потеряете ваши moneroj.</string>
<string name="onboarding_xmrto_title">Отправка других криптовалют</string>
<string name="onboarding_xmrto_information">Monerujo имеет поддержку SideShift.ai. Просто вставьте (или просканируйте) адрес BTC, LTC, ETH, DASH или DOGE и вы будете отправлять эти криптовалюты, тратя XMR.</string>
<string name="onboarding_nodes_title">Узлы, узлы, узлы…</string>
<string name="onboarding_nodes_information">Узлы позволяют подключаться к сети Monero. Выбирайте между общедоступными узлами или используйте свой собственный для безопасности IP адреса.</string>
<string name="onboarding_fpsend_title">Отправка с помощью отпечатка пальца</string>
<string name="onboarding_fpsend_information">Теперь вы можете отправлять XMR с помощью отпечатка пальца, если вы его включили. Чтобы запросить пароль, просто отключите доступ к отпечаткам пальцев.</string>
<string name="menu_daynight">Dark Mode</string>
<string name="menu_daynight">Тема</string>
<string-array name="daynight_themes">
<item>Auto</item>
<item>Day</item>
<item>Night</item>
<item>Автоматически</item>
<item>Светлая (дневная)</item>
<item>Тёмная (ночная)</item>
</string-array>
<string name="gunther_says">There is nothing here\nPlease create or restore a wallet</string>
<string name="gunther_says">Тут ничего нет\nСоздайте или восстановите кошелек</string>
<string name="menu_default_nodes">Restore default nodes</string>
<string name="toast_default_nodes">Restoring already in progress…</string>
<string name="menu_default_nodes">Восстановить узел по умолчанию</string>
<string name="toast_default_nodes">Восстановление уже в процессе…</string>
<string name="node_updated_now">Last Block: %1$d seconds ago</string>
<string name="node_updated_mins">Last Block: %1$d minutes ago</string>
<string name="node_updated_hours">Last Block: %1$d hours ago</string>
<string name="node_updated_days">Last Block: %1$d days ago</string>
<string name="node_updated_now">Последний блок: %1$d секунд назад</string>
<string name="node_updated_mins">Последний блок: %1$d минут назад</string>
<string name="node_updated_hours">Последний блок: %1$d часов назад</string>
<string name="node_updated_days">Последний блок: %1$d дней назад</string>
<string name="shift_noquote">Cannot get quote</string>
<string name="shift_checkamount">Check amount and try again</string>
<string name="shift_noquote">Не могу получить котировку</string>
<string name="shift_checkamount">Проверьте сумму и повторите попытку</string>
<string name="info_xmrto_ambiguous"><![CDATA[
<b>Ambiguous address.</b><br/>
<i>Please select the type above.</i>
<b>Двусмысленный адрес.</b><br/>
<i>Пожалуйста, выберите тип выше.</i>
]]></string>
<string name="info_xmrto_help"><![CDATA[
<b>Please enter or scan a %1$s address.</b><br/>
<i>You&apos;ll send XMR and the receiver will get %2$s using the <b>SideShift.ai</b> service.</i>
<b>Введите или просканируйте адрес %1$s.</b><br/>
<i>Вы отправите XMR, а получатель получит %2$s с помощью серсива <b>SideShift.ai</b>.</i>
]]></string>
<string name="info_xmrto_help_xmr"><![CDATA[
<b>Please enter or scan a Monero address.</b>
<b>Введите или просканируйте адрес Monero.</b>
]]></string>
<string name="subbaddress_title">Subaddresses</string>
<string name="subbaddress_name_hint">Subaddress Name</string>
<string name="max_subaddress_warning">Too many unused addresses - use some to enable creating more!</string>
<string name="max_account_warning">Too many unused accounts - use some to enable creating more!</string>
<string name="subaddress_tx_label">Transactions for this subaddress:</string>
<string name="subaddress_notx_label">No transactions for this subaddress yet</string>
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="subbaddress_title">Подадреса</string>
<string name="subbaddress_name_hint">Имя подадреса</string>
<string name="max_subaddress_warning">Слишком много неиспользуемых адресов - воспользуйтесь ими, чтобы создать больше!</string>
<string name="max_account_warning">Слишком много неиспользуемых аккаунтов - воспользуйтесь ими, чтобы включить ещё!</string>
<string name="subaddress_tx_label">Транзакции данного подадреса:</string>
<string name="subaddress_notx_label">У данного подадреса нет транзакций</string>
<string name="subaddress_select_label">Выбери подадрес</string>
<string name="subaddress_details_hint">Зажмите и удерживайте для подробностей</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_delete">Удалить кошелек</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Ошибка удаления!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_restore">Импортировать кошелек</string>
<string name="restore_failed">Ошибка импорта!</string>
<string name="menu_deletecache">Сбросить кошелек</string>
<string name="deletecache_alert_message">Этот кошелек будет сброшен, вы потеряете все данные, которые не находятся в блокчейне (например примечания, имена подадресов, приватные ключи транзакций, ...)! Используйте это ТОЛЬКО если ваш кошелек поврежден и не загружается!</string>
</resources>

View File

@@ -262,7 +262,7 @@
<string name="details_alert_no">Naspäť!</string>
<string name="details_title">Detaily</string>
<string name="delete_alert_message">Peňaženka bude zmazaná!</string>
<string name="delete_alert_message">Táto peňaženka bude zmazaná. Vaše finančné prostriedky budú navždy preč, pokiaľ nemáte svoj seed alebo funkčnú zálohu na ich obnovenie.</string>
<string name="delete_alert_yes">Áno, poďme na to!</string>
<string name="delete_alert_no">Nie, díky!</string>
@@ -426,4 +426,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -272,7 +272,7 @@
<string name="details_alert_no">Vrati me nazad!</string>
<string name="details_title">Detalji</string>
<string name="delete_alert_message">Novčanik će biti obrisan!</string>
<string name="delete_alert_message">Ovaj novčanik e biti obrisan. Vaša sredstva će zauvek nestati ako nemate svoje seme ili ispravnu rezervnu kopiju da biste ih vratili.</string>
<string name="delete_alert_yes">Da, uradi to!</string>
<string name="delete_alert_no">Ne, hvala!</string>
@@ -424,4 +424,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -308,85 +308,85 @@
<string name="status_wallet_connect_wrongversion">Node version incompatible - please upgrade!</string>
<string name="menu_info">Detaljer</string><!--Changed to: Show Secrets!-->
<string name="menu_streetmode">Street Mode</string>
<string name="menu_streetmode">Gatu Mode</string>
<string name="info_nodes_enabled">Node-o-matiC enabled, tap for more info.</string>
<string name="node_height">Last block updated: %1$s</string>
<string name="label_nodes">Nodes</string>
<string name="node_name_hint">Node Name (Optional)</string>
<string name="node_address_hint">Hostname</string>
<string name="info_nodes_enabled">Node-o-matiC aktiverad, tryck för mer info.</string>
<string name="node_height">Senaste blocket uppdaterat: %1$s</string>
<string name="label_nodes">Noder</string>
<string name="node_name_hint">Node Namn (Frivillig)</string>
<string name="node_address_hint">Värdnamn</string>
<string name="node_port_hint">Port</string>
<string name="node_user_hint">Username (Optional)</string>
<string name="node_pass_hint">Password (Optional)</string>
<string name="node_host_unresolved">Cannot resolve host</string>
<string name="node_host_empty">We need this!</string>
<string name="node_port_numeric">Must be numeric</string>
<string name="node_port_range">Must be 1&#8211;65535</string>
<string name="node_fab_add">Add Node</string>
<string name="node_refresh_hint">Touch to refresh!</string>
<string name="node_test_error">CONNECTION ERROR %1$d</string>
<string name="node_general_error">CONNECTION ERROR</string>
<string name="node_auth_error">AUTHENTICATION FAILED</string>
<string name="node_result_label">Test Result:</string>
<string name="node_user_hint">Användare (Frivillig)</string>
<string name="node_pass_hint">Lösenord (Frivillig)</string>
<string name="node_host_unresolved">Det går inte att lösa värden</string>
<string name="node_host_empty">Vi behöver det här!</string>
<string name="node_port_numeric">Måste vara numeriskt</string>
<string name="node_port_range">Måste vara 1&#8211;65535</string>
<string name="node_fab_add">Addera nod</string>
<string name="node_refresh_hint">Tryck för att uppdatera!</string>
<string name="node_test_error">ANSLUTNINGSFEL %1$d</string>
<string name="node_general_error">ANSLUTNINGSFEL</string>
<string name="node_auth_error">AUTENTISERING MISSLYCKADES</string>
<string name="node_result_label">Test result:</string>
<string name="node_result">Height: %1$s (v%2$d), Ping: %3$.0fms, IP: %4$s</string>
<string name="node_testing">Testing IP: %1$s &#8230;</string>
<string name="node_refresh_wait">Please wait for scan to finish</string>
<string name="node_create_hint">Touch to select or add nodes</string>
<string name="node_pull_hint">Add nodes manually or pull down to scan</string>
<string name="node_scanning">Scanning network&#8230;</string>
<string name="node_nobookmark">Automatically bookmarked best %1$d nodes</string>
<string name="label_test">Test</string><!--note: as in "Test a network connection"-->
<string name="node_testing">Testar IP: %1$s &#8230;</string>
<string name="node_refresh_wait">Vänta tills scanningen är klar</string>
<string name="node_create_hint">Tryck för att välja eller addera nod</string>
<string name="node_pull_hint">Addera nod manuellt eller dra ner för att scanna</string>
<string name="node_scanning">Scannar nätverket&#8230;</string>
<string name="node_nobookmark">Automatiskt bokmärk bäst %1$d noder</string>
<string name="label_test">Testa</string><!--note: as in "Test a network connection"-->
<!-- please verify this means "Receiver" or "Recipient" as in "Receiver in the transaction" -->
<string name="send_address_hint">Mottagaren</string>
<string name="street_sweep_amount">EVERYTHING!</string> <!-- as in: "everything in the account" = "all the money" -->
<string name="street_sweep_amount">SKICKA ALLT</string> <!-- as in: "everything in the account" = "all the money" -->
<string name="menu_ledger_seed">Convert Ledger Seed</string>
<string name="menu_ledger_seed">Konvertera Ledger Seed</string>
<string name="prompt_ledger_seed">Ledger Seed Words</string>
<string name="prompt_ledger_phrase">Ledger Passphrase (optional)</string>
<string name="bad_ledger_seed">Invalid Ledger Seed!</string>
<string name="prompt_ledger_seed_warn">Entering your Ledger Seed here is a major security risk!</string>
<string name="prompt_ledger_phrase">Ledger lösenfras (frivillig)</string>
<string name="bad_ledger_seed">Ogilitigt Ledger Seed!</string>
<string name="prompt_ledger_seed_warn">Att ange din Ledger Seed här är en stor säkerhetsrisk!</string>
<string name="label_restoreheight">Återställningshöjd</string> <!-- Restore Height -->
<string name="toast_ledger_start_app">Start Monero App on %1$s</string>
<string name="toast_ledger_start_app">Starta Monero app %1$s</string>
<string name="menu_rescan">Rescan!</string>
<string name="menu_rescan">Skanna om!</string>
<string name="onboarding_agree">I get it!</string>
<string name="onboarding_button_next">Next</string>
<string name="onboarding_button_ready">I\'m ready!</string>
<string name="onboarding_agree">Jag förstår!</string>
<string name="onboarding_button_next">Nästa</string>
<string name="onboarding_button_ready">Jag är redo!</string>
<string name="onboarding_welcome_title">Welcome to Monerujo!</string>
<string name="onboarding_welcome_information">This app allows you to create and use Monero wallets. You can store your sweet moneroj in them.</string>
<string name="onboarding_seed_title">Keep your seed safe</string>
<string name="onboarding_seed_information">The seed grants full access to whoever has it. If you lose it, we cannot help you recover it and you lose your beloved moneroj.</string>
<string name="onboarding_xmrto_title">Send Crypto</string>
<string name="onboarding_xmrto_information">Monerujo has SideShift.ai support built-in. Just paste or scan a BTC, LTC, ETH, DASH or DOGE address and you\'ll be sending these cryptos by spending XMR.</string>
<string name="onboarding_nodes_title">Nodes, your way</string>
<string name="onboarding_nodes_information">Nodes connect you to the Monero network. Choose between public nodes or go full cypherpunk using your own.</string>
<string name="onboarding_fpsend_title">Send with fingerprint</string>
<string name="onboarding_fpsend_information">You\'re now able to send XMR with just your fingerprint if you enabled it. To request the password, just disable fingerprint access.</string>
<string name="onboarding_welcome_title">Välkommen till Monerujo!</string>
<string name="onboarding_welcome_information">Denna app tillåter dig att skapa och använda Monero plånböcker. Du kan förvara dina kära moneroj i dem.</string>
<string name="onboarding_seed_title">Håll dina seed i säkert förvar.</string>
<string name="onboarding_seed_information">Seed ger full åtkomst till den som har den. Om du förlorar det, kan vi inte hjälpa dig och du förlorar dina kära moneroj.</string>
<string name="onboarding_xmrto_title">Skicka krypto</string>
<string name="onboarding_xmrto_information">Monerujo har SideShift.ai support inbyggt. Bara klistra in eller scanna en BTC, LTC, ETH, DASH or DOGE address och du skickar dessa krypto genom att spendera XMR.</string>
<string name="onboarding_nodes_title">Noder, på ditt sätt.</string>
<string name="onboarding_nodes_information">Noder ansluter dig till Monero-nätverket. Välj mellan offentliga noder eller gå all-in "cypherpunk" med din egen.</string>
<string name="onboarding_fpsend_title">Skicka med fingeravtryck</string>
<string name="onboarding_fpsend_information">Du kan nu skicka XMR med bara ditt fingeravtryck om du aktiverar det. För att begära lösenordet, inaktivera bara fingeravtrycksåtkomst.</string>
<string name="menu_daynight">Dark Mode</string>
<string-array name="daynight_themes">
<item>Auto</item>
<item>Day</item>
<item>Night</item>
<item>Dag</item>
<item>Natt</item>
</string-array>
<string name="gunther_says">There is nothing here\nPlease create or restore a wallet</string>
<string name="gunther_says">Det finns inget här\nSkapa eller återställ en plånbok</string>
<string name="menu_default_nodes">Restore default nodes</string>
<string name="toast_default_nodes">Restoring already in progress…</string>
<string name="menu_default_nodes">Återställ standardnoder</string>
<string name="toast_default_nodes">Återställer redan pågående ...</string>
<string name="node_updated_now">Last Block: %1$d seconds ago</string>
<string name="node_updated_mins">Last Block: %1$d minutes ago</string>
<string name="node_updated_hours">Last Block: %1$d hours ago</string>
<string name="node_updated_days">Last Block: %1$d days ago</string>
<string name="node_updated_now">Senaste Block: %1$d sekunder sen</string>
<string name="node_updated_mins">Senaste Block: %1$d minuter sen</string>
<string name="node_updated_hours">Senaste Block: %1$d timmar sen</string>
<string name="node_updated_days">Senaste Block: %1$d dagar sen</string>
<string name="shift_noquote">Cannot get quote</string>
<string name="shift_checkamount">Check amount and try again</string>
<string name="shift_noquote">Kan inte få offert</string>
<string name="shift_checkamount">Kontrollera beloppet och försök igen</string>
<string name="info_xmrto_ambiguous"><![CDATA[
<b>Ambiguous address.</b><br/>
@@ -402,19 +402,22 @@
<b>Please enter or scan a Monero address.</b>
]]></string>
<string name="subbaddress_title">Subaddresses</string>
<string name="subbaddress_name_hint">Subaddress Name</string>
<string name="max_subaddress_warning">Too many unused addresses - use some to enable creating more!</string>
<string name="max_account_warning">Too many unused accounts - use some to enable creating more!</string>
<string name="subaddress_tx_label">Transactions for this subaddress:</string>
<string name="subaddress_notx_label">No transactions for this subaddress yet</string>
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="subbaddress_title">Subaddresser</string>
<string name="subbaddress_name_hint">Subaddresser namn</string>
<string name="max_subaddress_warning">För många oanvända adresser - använd några för att skapa flera!</string>
<string name="max_account_warning">För många oanvända adresser - använd några för att skapa flera!</string>
<string name="subaddress_tx_label">Transaktioner för denna subadress:</string>
<string name="subaddress_notx_label">Inga transaktioner för denna subadress ännu</string>
<string name="subaddress_select_label">Välj en subadress</string>
<string name="subaddress_details_hint">Tryck länge för mer detaljerad info</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="delete_alert_message">Denna plånbok kommer att raderas. Dina pengar kommer att vara borta för alltid om du inte har din seed eller en fungerande säkerhetskopia för att återställa dem.</string>
<string name="menu_delete">Förstöra</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Förstöringen misslyckades!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_restore">Importera plånbok</string>
<string name="restore_failed">Importeringen misslyckad!</string>
<string name="menu_deletecache">Återställ plånbok!</string>
<string name="deletecache_alert_message">Denna plånbok kommer att återställas och förlorar all off-chain data (som anteckningar, konto- och subadresser, privata transaktionsnycklar, ...)! Använd ENDAST detta om den här plånboken är skadad och inte laddas!</string>
</resources>

View File

@@ -265,7 +265,7 @@
<string name="details_alert_no">Поверніть мене назад!</string>
<string name="details_title">Детальна інформація</string>
<string name="delete_alert_message">Цей гаманець буде знищено!</string>
<string name="delete_alert_message">Цей гаманець буде знищено. Ваші кошти назавжди зникнуть, якщо у вас немає насіння або діючої резервної копії для його відновлення. </string>
<string name="delete_alert_yes">Так, зроби це!</string>
<string name="delete_alert_no">Ні, дякую!</string>
@@ -429,4 +429,7 @@
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

View File

@@ -343,10 +343,13 @@
<string name="subaddress_select_label">Select a subaddress</string>
<string name="subaddress_details_hint">Long-press for details</string>
<string name="delete_alert_message">The wallet will be deleted!</string>
<string name="delete_alert_message">This wallet will be deleted. Your funds will be gone forever unless you have your seed or a working backup to recover it.</string>
<string name="menu_delete">Delete</string><!-- like: "Delete wallet!" -->
<string name="delete_failed">Delete failed!</string>
<string name="menu_restore">Import wallet</string>
<string name="restore_failed">Import failed!</string>
<string name="menu_deletecache">Reset wallet!</string>
<string name="deletecache_alert_message">This wallet will be reset, losing all off-chain data (like notes, account &amp; subaddress names, private transaction keys, ...)! Use this ONLY if this wallet is corrupt and does not load!</string>
</resources>

Some files were not shown because too many files have changed in this diff Show More