CW-388 Add hausa language (#936)

* Add hausa language

* Add hausa language

* Add cupertino delegete

* Add flag to git

* - Fix hausa_intl.dart issue
- Fix menu items not updating properly
- Fix Nav bar issue

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This commit is contained in:
Godwin Asuquo 2023-05-19 17:33:16 +03:00 committed by GitHub
parent 1e868f876e
commit 1ac74b3182
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 1688 additions and 38 deletions

BIN
assets/images/flags/hau.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -26,7 +26,8 @@ class LanguageService {
'bg': 'Български (Bulgarian)', 'bg': 'Български (Bulgarian)',
'cs': 'čeština (Czech)', 'cs': 'čeština (Czech)',
'ur': 'اردو (Urdu)', 'ur': 'اردو (Urdu)',
'id': 'Bahasa Indonesia (Indonesian)' 'id': 'Bahasa Indonesia (Indonesian)',
'ha': 'Hausa Najeriya (Nigeria)'
}; };
static const Map<String, String> localeCountryCode = { static const Map<String, String> localeCountryCode = {
@ -52,7 +53,8 @@ class LanguageService {
'bg': 'bgr', 'bg': 'bgr',
'cs': 'czk', 'cs': 'czk',
'ur': 'pak', 'ur': 'pak',
'id': 'idn' 'id': 'idn',
'ha': 'hau',
}; };
static final list = <String, String> {}; static final list = <String, String> {};

940
lib/hausa_intl.dart Normal file
View file

@ -0,0 +1,940 @@
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/date_symbol_data_custom.dart' as date_symbol_data_custom;
import 'package:intl/date_symbols.dart' as intl;
import 'package:intl/intl.dart' as intl;
// #docregion Date
const haLocaleDatePatterns = {
'd': 'd.',
'E': 'ccc',
'EEEE': 'cccc',
'LLL': 'LLL',
// #enddocregion Date
'LLLL': 'LLLL',
'M': 'L.',
'Md': 'd.M.',
'MEd': 'EEE d.M.',
'MMM': 'LLL',
'MMMd': 'd. MMM',
'MMMEd': 'EEE d. MMM',
'MMMM': 'LLLL',
'MMMMd': 'd. MMMM',
'MMMMEEEEd': 'EEEE d. MMMM',
'QQQ': 'QQQ',
'QQQQ': 'QQQQ',
'y': 'y',
'yM': 'M.y',
'yMd': 'd.M.y',
'yMEd': 'EEE d.MM.y',
'yMMM': 'MMM y',
'yMMMd': 'd. MMM y',
'yMMMEd': 'EEE d. MMM y',
'yMMMM': 'MMMM y',
'yMMMMd': 'd. MMMM y',
'yMMMMEEEEd': 'EEEE d. MMMM y',
'yQQQ': 'QQQ y',
'yQQQQ': 'QQQQ y',
'H': 'HH',
'Hm': 'HH:mm',
'Hms': 'HH:mm:ss',
'j': 'HH',
'jm': 'HH:mm',
'jms': 'HH:mm:ss',
'jmv': 'HH:mm v',
'jmz': 'HH:mm z',
'jz': 'HH z',
'm': 'm',
'ms': 'mm:ss',
's': 's',
'v': 'v',
'z': 'z',
'zzzz': 'zzzz',
'ZZZZ': 'ZZZZ',
};
// #docregion Date2
const haDateSymbols = {
'NAME': 'ha',
'ERAS': <dynamic>[
'f.Kr.',
'e.Kr.',
],
// #enddocregion Date2
'ERANAMES': <dynamic>[
'kafin Kristi',
'bayan Kristi',
],
'NARROWMONTHS': <dynamic>[
'J',
'F',
'M',
'A',
'M',
'J',
'J',
'A',
'S',
'O',
'N',
'D',
],
'STANDALONENARROWMONTHS': <dynamic>[
'J',
'F',
'M',
'A',
'M',
'J',
'J',
'A',
'S',
'O',
'N',
'D',
],
'MONTHS': <dynamic>[
'janairu',
'faburairu',
'maris',
'afrilu',
'mayu',
'yuni',
'yuli',
'agusta',
'satumba',
'oktoba',
'nuwamba',
'disamba',
],
'STANDALONEMONTHS': <dynamic>[
'janairu',
'faburairu',
'maris',
'afrilu',
'mayu',
'yuni',
'yuli',
'agusta',
'satumba',
'oktoba',
'nuwamba',
'disamba',
],
'SHORTMONTHS': <dynamic>[
'jan.',
'feb.',
'mar.',
'apr.',
'mai',
'jun.',
'jul.',
'aug.',
'sep.',
'okt.',
'nov.',
'des.',
],
'STANDALONESHORTMONTHS': <dynamic>[
'jan',
'feb',
'mar',
'apr',
'mai',
'jun',
'jul',
'aug',
'sep',
'okt',
'nov',
'des',
],
'WEEKDAYS': <dynamic>[
'lahadi',
'litinin',
'talata',
'laraba',
'alhamis',
'jummaʼa',
'asabar',
],
'STANDALONEWEEKDAYS': <dynamic>[
'lahadi',
'litinin',
'talata',
'laraba',
'alhamis',
'jummaʼa',
'asabar',
],
'SHORTWEEKDAYS': <dynamic>[
'lah.',
'lit.',
'tal.',
'lar.',
'alh.',
'jum.',
'asa.',
],
'STANDALONESHORTWEEKDAYS': <dynamic>[
'lah.',
'lit.',
'tal.',
'lar.',
'alh.',
'jum.',
'asa.',
],
'NARROWWEEKDAYS': <dynamic>[
'L',
'L',
'T',
'L',
'A',
'J',
'A',
],
'STANDALONENARROWWEEKDAYS': <dynamic>[
'L',
'L',
'T',
'L',
'A',
'J',
'A',
],
'SHORTQUARTERS': <dynamic>[
'K1',
'K2',
'K3',
'K4',
],
'QUARTERS': <dynamic>[
'1. quarter',
'2. quarter',
'3. quarter',
'4. quarter',
],
'AMPMS': <dynamic>[
'a.m.',
'p.m.',
],
'DATEFORMATS': <dynamic>[
'EEEE d. MMMM y',
'd. MMMM y',
'd. MMM y',
'dd.MM.y',
],
'TIMEFORMATS': <dynamic>[
'HH:mm:ss zzzz',
'HH:mm:ss z',
'HH:mm:ss',
'HH:mm',
],
'AVAILABLEFORMATS': null,
'FIRSTDAYOFWEEK': 0,
'WEEKENDRANGE': <dynamic>[
5,
6,
],
'FIRSTWEEKCUTOFFDAY': 3,
'DATETIMEFORMATS': <dynamic>[
'{1} {0}',
'{1} \'kl\'. {0}',
'{1}, {0}',
'{1}, {0}',
],
};
// #docregion Delegate
class _HaMaterialLocalizationsDelegate extends LocalizationsDelegate<MaterialLocalizations> {
const _HaMaterialLocalizationsDelegate();
@override
bool isSupported(Locale locale) => locale.languageCode == 'ha';
@override
Future<MaterialLocalizations> load(Locale locale) async {
final String localeName = intl.Intl.canonicalizedLocale(locale.toString());
// The locale (in this case `ha`) needs to be initialized into the custom
// date symbols and patterns setup that Flutter uses.
date_symbol_data_custom.initializeDateFormattingCustom(
locale: localeName,
patterns: haLocaleDatePatterns,
symbols: intl.DateSymbols.deserializeFromMap(haDateSymbols),
);
return SynchronousFuture<MaterialLocalizations>(
HaMaterialLocalizations(
localeName: localeName,
// The `intl` library's NumberFormat class is generated from CLDR data
// (see https://github.com/dart-lang/intl/blob/master/lib/number_symbols_data.dart).
// Unfortunately, there is no way to use a locale that isn't defined in
// this map and the only way to work around this is to use a listed
// locale's NumberFormat symbols. So, here we use the number formats
// for 'en_US' instead.
decimalFormat: intl.NumberFormat('#,##0.###', 'en_US'),
twoDigitZeroPaddedFormat: intl.NumberFormat('00', 'en_US'),
// DateFormat here will use the symbols and patterns provided in the
// `date_symbol_data_custom.initializeDateFormattingCustom` call above.
// However, an alternative is to simply use a supported locale's
// DateFormat symbols, similar to NumberFormat above.
fullYearFormat: intl.DateFormat('y', localeName),
compactDateFormat: intl.DateFormat('yMd', localeName),
shortDateFormat: intl.DateFormat('yMMMd', localeName),
mediumDateFormat: intl.DateFormat('EEE, MMM d', localeName),
longDateFormat: intl.DateFormat('EEEE, MMMM d, y', localeName),
yearMonthFormat: intl.DateFormat('MMMM y', localeName),
shortMonthDayFormat: intl.DateFormat('MMM d', localeName),
),
);
}
@override
bool shouldReload(_HaMaterialLocalizationsDelegate old) => false;
}
// #enddocregion Delegate
class HaMaterialLocalizations extends GlobalMaterialLocalizations {
const HaMaterialLocalizations({
super.localeName = 'ha',
required super.fullYearFormat,
required super.compactDateFormat,
required super.shortDateFormat,
required super.mediumDateFormat,
required super.longDateFormat,
required super.yearMonthFormat,
required super.shortMonthDayFormat,
required super.decimalFormat,
required super.twoDigitZeroPaddedFormat,
});
// #docregion Getters
@override
String get moreButtonTooltip => r'Zaɓi';
@override
String get aboutListTileTitleRaw => r'Dake ɓoye $applicationname';
@override
String get alertDialogLabel => r'Alert';
// #enddocregion Getters
@override
String get anteMeridiemAbbreviation => r'AM';
@override
String get backButtonTooltip => r'Farawa';
@override
String get cancelButtonLabel => r'KANƘO';
@override
String get closeButtonLabel => r'SHIGA';
@override
String get closeButtonTooltip => r'Shiga';
@override
String get collapsedIconTapHint => r'Fara';
@override
String get continueButtonLabel => r'CI GABA';
@override
String get copyButtonLabel => r'KOPIYA';
@override
String get cutButtonLabel => r'ƘIRƘIRI';
@override
String get deleteButtonTooltip => r'Kashe';
@override
String get dialogLabel => r'Dialog';
@override
String get drawerLabel => r'Meniyar tebur';
@override
String get expandedIconTapHint => r'Faɗa';
@override
String get firstPageTooltip => r'Ta baya';
@override
String get hideAccountsLabel => r'Soke akaunti';
@override
String get lastPageTooltip => r'Ta gaba';
@override
String get licensesPageTitle => r'Lisansu';
@override
String get modalBarrierDismissLabel => r'So';
@override
String get nextMonthTooltip => r'Watan gobe';
@override
String get nextPageTooltip => r'Wani babban daidaita';
@override
String get okButtonLabel => r'OK';
@override
// A custom drawer tooltip message.
String get openAppDrawerTooltip => r'Taƙaitacciyar Menu na Nauyi';
// #docregion Raw
@override
String get pageRowsInfoTitleRaw => r'$firstRow$lastRow daga $rowCount';
@override
String get pageRowsInfoTitleApproximateRaw => r'$firstRow$lastRow daga takwas $rowCount';
// #enddocregion Raw
@override
String get pasteButtonLabel => r'BANDA';
@override
String get popupMenuLabel => r'Meniyar Kasuwa';
@override
String get menuBarMenuLabel => r'Gargajiya na menu';
@override
String get postMeridiemAbbreviation => r'PM';
@override
String get previousMonthTooltip => r'Watan gabas';
@override
String get previousPageTooltip => r'Wani babban hanya';
@override
String get refreshIndicatorSemanticLabel => r'Nada';
@override
String? get remainingTextFieldCharacterCountFew => null;
@override
String? get remainingTextFieldCharacterCountMany => null;
@override
String get remainingTextFieldCharacterCountOne => r'1 haruffa baki';
@override
String get remainingTextFieldCharacterCountOther => r'$remainingCount haruffa baki';
@override
String? get remainingTextFieldCharacterCountTwo => null;
@override
String get remainingTextFieldCharacterCountZero => r'Ba a nan rubutu sosai';
@override
String get reorderItemDown => r'A sake ƙasa';
@override
String get reorderItemLeft => r'A sake hagu';
@override
String get reorderItemRight => r'A sake dama';
@override
String get reorderItemToEnd => r'A sake zuwa tamu';
@override
String get reorderItemToStart => r'A sake zuwa farko';
@override
String get reorderItemUp => r'A sake sama';
@override
String get rowsPerPageTitle => r'Lambar Fasali:';
@override
ScriptCategory get scriptCategory => ScriptCategory.englishLike;
@override
String get searchFieldLabel => 'Binciken';
@override
String get selectAllButtonLabel => 'DUBA DUK';
@override
String? get selectedRowCountTitleFew => null;
@override
String? get selectedRowCountTitleMany => null;
@override
String get selectedRowCountTitleOne => '1 kaya';
@override
String get selectedRowCountTitleOther => r'$selectedRowCount kayayyaki';
@override
String? get selectedRowCountTitleTwo => null;
@override
String get selectedRowCountTitleZero => 'Babu kaya da aka zabi';
@override
String get showAccountsLabel => 'Nuna Hisobin';
@override
String get showMenuTooltip => 'Nuna Menu';
@override
String get signedInLabel => 'Kasance';
@override
String get tabLabelRaw => r'Tabin $tabIndex daga $tabCount';
@override
TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
@override
String get timePickerHourModeAnnouncement => 'Zaɓi saʼoɗin lokaci';
@override
String get timePickerMinuteModeAnnouncement => 'Zaɓi minti';
@override
String get viewLicensesButtonLabel => 'DUBA LAYINSU';
@override
List<String> get narrowWeekdays => const <String>['L', 'L', 'M', 'K', 'J', 'A', 'A'];
@override
int get firstDayOfWeekIndex => 0;
static const LocalizationsDelegate<MaterialLocalizations> delegate =
_HaMaterialLocalizationsDelegate();
@override
String get calendarModeButtonLabel => 'Canza zuwa kalendar';
@override
String get dateHelpText => 'mm/dd/yyyy';
@override
String get dateInputLabel => 'Shigar Daƙin';
@override
String get dateOutOfRangeLabel => 'A cikin jerin';
@override
String get datePickerHelpText => 'ZAƘA TALATA';
@override
String get dateRangeEndDateSemanticLabelRaw => r'Aikin da ya ƙarshe $fullDate';
@override
String get dateRangeEndLabel => 'Aikin da ya ƙarshe';
@override
String get dateRangePickerHelpText => 'ZAƘA HALIN RANAR';
@override
String get dateRangeStartDateSemanticLabelRaw => 'Aikin da ya gabata \$fullDate';
@override
String get dateRangeStartLabel => 'Aikin da ya gabata';
@override
String get dateSeparator => '/';
@override
String get dialModeButtonLabel => 'Canza zuwa jerin';
@override
String get inputDateModeButtonLabel => 'Canza zuwa shigar';
@override
String get inputTimeModeButtonLabel => 'Canza zuwa jerin bayanin rubutu';
@override
String get invalidDateFormatLabel => 'Tarihin ba daidai ba';
@override
String get invalidDateRangeLabel => 'Siffar saƙo ba tare da hukunci ba';
@override
String get invalidTimeLabel => 'Kasancewa aikin lokaci mai kyau';
@override
String get licensesPackageDetailTextOther => r'$licenseCount layinsu';
@override
String get saveButtonLabel => 'Aji';
@override
String get selectYearSemanticsLabel => 'Zaɓi shekara';
@override
String get timePickerDialHelpText => 'ZAƘA LOKACI';
@override
String get timePickerHourLabel => 'Auren lokaci';
@override
String get timePickerInputHelpText => 'Shigar lokaci';
@override
String get timePickerMinuteLabel => 'Minti';
@override
String get unspecifiedDate => 'Ranar';
@override
String get unspecifiedDateRange => 'Ranar Ayyuka';
@override
String get keyboardKeyAlt => 'Alt';
@override
String get keyboardKeyAltGraph => 'AltGraph';
@override
String get keyboardKeyBackspace => 'BayaRubuta';
@override
String get keyboardKeyCapsLock => 'Caps Lock';
@override
String get keyboardKeyChannelDown => 'BayaKammalaSake';
@override
String get keyboardKeyChannelUp => 'YiKammalaSake';
@override
String get keyboardKeyControl => 'Tsara';
@override
String get keyboardKeyDelete => 'Share';
@override
String get keyboardKeyEject => 'Eject';
@override
String get keyboardKeyEnd => 'Tare';
@override
String get keyboardKeyEscape => 'Goge';
@override
String get keyboardKeyFn => 'Fn';
@override
String get keyboardKeyHome => 'Home';
@override
String get keyboardKeyInsert => 'Shirya';
@override
String get keyboardKeyMeta => 'Meta';
@override
String get keyboardKeyMetaMacOs => 'Amfani da Command';
@override
String get keyboardKeyMetaWindows => 'Windows';
@override
String get keyboardKeyNumLock => 'Num Lock';
@override
String get keyboardKeyNumpad0 => 'Numpad 0';
@override
String get keyboardKeyNumpad1 => 'Numpad 1';
@override
String get keyboardKeyNumpad2 => 'Numpad 2';
@override
String get keyboardKeyNumpad3 => 'Numpad 3';
@override
String get keyboardKeyNumpad4 => 'Numpad 4';
@override
String get keyboardKeyNumpad5 => 'Numpad 5';
@override
String get keyboardKeyNumpad6 => 'Numpad 6';
@override
String get keyboardKeyNumpad7 => 'Numpad 7';
@override
String get keyboardKeyNumpad8 => 'Numpad 8';
@override
String get keyboardKeyNumpad9 => 'Numpad 9';
@override
String get keyboardKeyNumpadAdd => 'Numpad +';
@override
String get keyboardKeyNumpadComma => 'Numpad ,';
@override
String get keyboardKeyNumpadDecimal => 'Numpad .';
@override
String get keyboardKeyNumpadDivide => 'Numpad /';
@override
String get keyboardKeyNumpadEnter => 'Numpad Enter';
@override
String get keyboardKeyNumpadEqual => 'Numpad =';
@override
String get keyboardKeyNumpadMultiply => 'Numpad *';
@override
String get keyboardKeyNumpadParenLeft => 'Numpad (';
@override
String get keyboardKeyNumpadParenRight => 'Numpad )';
@override
String get keyboardKeyNumpadSubtract => 'Numpad -';
@override
String get keyboardKeyPageDown => 'Page Down';
@override
String get keyboardKeyPageUp => 'Page Up';
@override
String get keyboardKeyPower => 'Power';
@override
String get keyboardKeyPowerOff => 'Power Off';
@override
String get keyboardKeyPrintScreen => 'Print Screen';
@override
String get keyboardKeyScrollLock => 'Scroll Lock';
@override
String get keyboardKeySelect => 'Zabi';
@override
String get keyboardKeySpace => 'Space';
}
/// Cupertino Support
/// Strings Copied from "https://github.com/flutter/flutter/blob/master/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart"
class _HaCupertinoLocalizationsDelegate extends LocalizationsDelegate<CupertinoLocalizations> {
const _HaCupertinoLocalizationsDelegate();
@override
bool isSupported(Locale locale) => locale.languageCode == 'ha';
@override
Future<CupertinoLocalizations> load(Locale locale) async {
final String localeName = intl.Intl.canonicalizedLocale(locale.toString());
// The locale (in this case `ha`) needs to be initialized into the custom =>> `ha`
// date symbols and patterns setup that Flutter uses.
date_symbol_data_custom.initializeDateFormattingCustom(
locale: localeName,
patterns: haLocaleDatePatterns,
symbols: intl.DateSymbols.deserializeFromMap(haDateSymbols),
);
return SynchronousFuture<CupertinoLocalizations>(
HaCupertinoLocalizations(
localeName: localeName,
// The `intl` library's NumberFormat class is generated from CLDR data
// (see https://github.com/dart-lang/intl/blob/master/lib/number_symbols_data.dart).
// Unfortunately, there is no way to use a locale that isn't defined in
// this map and the only way to work around this is to use a listed
// locale's NumberFormat symbols. So, here we use the number formats
// for 'en_US' instead.
decimalFormat: intl.NumberFormat('#,##0.###', 'en_US'),
// DateFormat here will use the symbols and patterns provided in the
// `date_symbol_data_custom.initializeDateFormattingCustom` call above.
// However, an alternative is to simply use a supported locale's
// DateFormat symbols, similar to NumberFormat above.
fullYearFormat: intl.DateFormat('y', localeName),
mediumDateFormat: intl.DateFormat('EEE, MMM d', localeName),
dayFormat: intl.DateFormat('d', localeName),
doubleDigitMinuteFormat: intl.DateFormat('mm', localeName),
singleDigitHourFormat: intl.DateFormat('j', localeName),
singleDigitMinuteFormat: intl.DateFormat.m(localeName),
singleDigitSecondFormat: intl.DateFormat.s(localeName),
),
);
}
@override
bool shouldReload(_HaCupertinoLocalizationsDelegate old) => false;
}
// #enddocregion Delegate
/// A custom set of localizations for the 'nn' locale. In this example, only =>> `ha`
/// the value for openAppDrawerTooltip was modified to use a custom message as
/// an example. Everything else uses the American English (en_US) messages
/// and formatting.
class HaCupertinoLocalizations extends GlobalCupertinoLocalizations {
const HaCupertinoLocalizations({
super.localeName = 'ha',
required super.fullYearFormat,
required super.mediumDateFormat,
required super.decimalFormat,
required super.dayFormat,
required super.singleDigitHourFormat,
required super.singleDigitMinuteFormat,
required super.doubleDigitMinuteFormat,
required super.singleDigitSecondFormat,
});
@override
String get alertDialogLabel => 'Fadakarwa';
@override
String get anteMeridiemAbbreviation => 'AM';
@override
String get copyButtonLabel => 'Kwafa';
@override
String get cutButtonLabel => 'yanke';
@override
String get datePickerDateOrderString => 'mdy';
@override
String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
@override
String? get datePickerHourSemanticsLabelFew => null;
@override
String? get datePickerHourSemanticsLabelMany => null;
@override
String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
@override
String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
@override
String? get datePickerHourSemanticsLabelTwo => null;
@override
String? get datePickerHourSemanticsLabelZero => null;
@override
String? get datePickerMinuteSemanticsLabelFew => null;
@override
String? get datePickerMinuteSemanticsLabelMany => null;
@override
String? get datePickerMinuteSemanticsLabelOne => '1 minti';
@override
String get datePickerMinuteSemanticsLabelOther => r'$minute minti';
@override
String? get datePickerMinuteSemanticsLabelTwo => null;
@override
String? get datePickerMinuteSemanticsLabelZero => null;
@override
String get modalBarrierDismissLabel => 'Korar';
@override
String get pasteButtonLabel => 'Liƙa';
@override
String get postMeridiemAbbreviation => 'PM';
@override
String get searchTextFieldPlaceholderLabel => 'Bincika';
@override
String get selectAllButtonLabel => 'Zaɓi Duk';
@override
String get tabSemanticsLabelRaw => r'Tab $tabIndex cikin $tabCount';
@override
String? get timerPickerHourLabelFew => null;
@override
String? get timerPickerHourLabelMany => null;
@override
String? get timerPickerHourLabelOne => 'awa';
@override
String get timerPickerHourLabelOther => 'awa';
@override
String? get timerPickerHourLabelTwo => null;
@override
String? get timerPickerHourLabelZero => null;
@override
String? get timerPickerMinuteLabelFew => null;
@override
String? get timerPickerMinuteLabelMany => null;
@override
String? get timerPickerMinuteLabelOne => 'minti.';
@override
String get timerPickerMinuteLabelOther => 'minti.';
@override
String? get timerPickerMinuteLabelTwo => null;
@override
String? get timerPickerMinuteLabelZero => null;
@override
String? get timerPickerSecondLabelFew => null;
@override
String? get timerPickerSecondLabelMany => null;
@override
String? get timerPickerSecondLabelOne => 'dakika.';
@override
String get timerPickerSecondLabelOther => 'dakika.';
@override
String? get timerPickerSecondLabelTwo => null;
@override
String? get timerPickerSecondLabelZero => null;
@override
String get todayLabel => 'Yau';
static const LocalizationsDelegate<CupertinoLocalizations> delegate =
_HaCupertinoLocalizationsDelegate();
}

View file

@ -3,6 +3,7 @@ import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
import 'package:cake_wallet/core/auth_service.dart'; import 'package:cake_wallet/core/auth_service.dart';
import 'package:cake_wallet/entities/language_service.dart'; import 'package:cake_wallet/entities/language_service.dart';
import 'package:cake_wallet/buy/order.dart'; import 'package:cake_wallet/buy/order.dart';
import 'package:cake_wallet/hausa_intl.dart';
import 'package:cake_wallet/store/yat/yat_store.dart'; import 'package:cake_wallet/store/yat/yat_store.dart';
import 'package:cake_wallet/utils/exception_handler.dart'; import 'package:cake_wallet/utils/exception_handler.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
@ -43,7 +44,6 @@ final rootKey = GlobalKey<RootState>();
final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>(); final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();
Future<void> main() async { Future<void> main() async {
await runZonedGuarded(() async { await runZonedGuarded(() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
@ -106,25 +106,20 @@ Future<void> main() async {
} }
final secureStorage = FlutterSecureStorage(); final secureStorage = FlutterSecureStorage();
final transactionDescriptionsBoxKey = await getEncryptionKey( final transactionDescriptionsBoxKey =
secureStorage: secureStorage, forKey: TransactionDescription.boxKey); await getEncryptionKey(secureStorage: secureStorage, forKey: TransactionDescription.boxKey);
final tradesBoxKey = await getEncryptionKey( final tradesBoxKey = await getEncryptionKey(secureStorage: secureStorage, forKey: Trade.boxKey);
secureStorage: secureStorage, forKey: Trade.boxKey); final ordersBoxKey = await getEncryptionKey(secureStorage: secureStorage, forKey: Order.boxKey);
final ordersBoxKey = await getEncryptionKey(
secureStorage: secureStorage, forKey: Order.boxKey);
final contacts = await Hive.openBox<Contact>(Contact.boxName); final contacts = await Hive.openBox<Contact>(Contact.boxName);
final nodes = await Hive.openBox<Node>(Node.boxName); final nodes = await Hive.openBox<Node>(Node.boxName);
final transactionDescriptions = await Hive.openBox<TransactionDescription>( final transactionDescriptions = await Hive.openBox<TransactionDescription>(
TransactionDescription.boxName, TransactionDescription.boxName,
encryptionKey: transactionDescriptionsBoxKey); encryptionKey: transactionDescriptionsBoxKey);
final trades = final trades = await Hive.openBox<Trade>(Trade.boxName, encryptionKey: tradesBoxKey);
await Hive.openBox<Trade>(Trade.boxName, encryptionKey: tradesBoxKey); final orders = await Hive.openBox<Order>(Order.boxName, encryptionKey: ordersBoxKey);
final orders =
await Hive.openBox<Order>(Order.boxName, encryptionKey: ordersBoxKey);
final walletInfoSource = await Hive.openBox<WalletInfo>(WalletInfo.boxName); final walletInfoSource = await Hive.openBox<WalletInfo>(WalletInfo.boxName);
final templates = await Hive.openBox<Template>(Template.boxName); final templates = await Hive.openBox<Template>(Template.boxName);
final exchangeTemplates = final exchangeTemplates = await Hive.openBox<ExchangeTemplate>(ExchangeTemplate.boxName);
await Hive.openBox<ExchangeTemplate>(ExchangeTemplate.boxName);
final anonpayInvoiceInfo = await Hive.openBox<AnonpayInvoiceInfo>(AnonpayInvoiceInfo.boxName); final anonpayInvoiceInfo = await Hive.openBox<AnonpayInvoiceInfo>(AnonpayInvoiceInfo.boxName);
Box<UnspentCoinsInfo>? unspentCoinsInfoSource; Box<UnspentCoinsInfo>? unspentCoinsInfoSource;
@ -198,8 +193,7 @@ class App extends StatefulWidget {
} }
class AppState extends State<App> with SingleTickerProviderStateMixin { class AppState extends State<App> with SingleTickerProviderStateMixin {
AppState() AppState() : yatStore = getIt.get<YatStore>() {
: yatStore = getIt.get<YatStore>() {
SystemChrome.setPreferredOrientations( SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]); [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
} }
@ -265,17 +259,14 @@ class AppState extends State<App> with SingleTickerProviderStateMixin {
final settingsStore = appStore.settingsStore; final settingsStore = appStore.settingsStore;
final statusBarColor = Colors.transparent; final statusBarColor = Colors.transparent;
final authenticationStore = getIt.get<AuthenticationStore>(); final authenticationStore = getIt.get<AuthenticationStore>();
final initialRoute = final initialRoute = authenticationStore.state == AuthenticationState.uninitialized
authenticationStore.state == AuthenticationState.uninitialized
? Routes.disclaimer ? Routes.disclaimer
: Routes.login; : Routes.login;
final currentTheme = settingsStore.currentTheme; final currentTheme = settingsStore.currentTheme;
final statusBarBrightness = currentTheme.type == ThemeType.dark final statusBarBrightness =
? Brightness.light currentTheme.type == ThemeType.dark ? Brightness.light : Brightness.dark;
: Brightness.dark; final statusBarIconBrightness =
final statusBarIconBrightness = currentTheme.type == ThemeType.dark currentTheme.type == ThemeType.dark ? Brightness.light : Brightness.dark;
? Brightness.light
: Brightness.dark;
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: statusBarColor, statusBarColor: statusBarColor,
statusBarBrightness: statusBarBrightness, statusBarBrightness: statusBarBrightness,
@ -297,6 +288,8 @@ class AppState extends State<App> with SingleTickerProviderStateMixin {
GlobalCupertinoLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate, GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate, GlobalWidgetsLocalizations.delegate,
HaMaterialLocalizations.delegate,
HaCupertinoLocalizations.delegate,
], ],
supportedLocales: S.delegate.supportedLocales, supportedLocales: S.delegate.supportedLocales,
locale: Locale(settingsStore.languageCode), locale: Locale(settingsStore.languageCode),

View file

@ -190,6 +190,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
case Routes.seed: case Routes.seed:
return MaterialPageRoute<void>( return MaterialPageRoute<void>(
fullscreenDialog: true,
builder: (_) => builder: (_) =>
getIt.get<WalletSeedPage>(param1: settings.arguments as bool)); getIt.get<WalletSeedPage>(param1: settings.arguments as bool));

View file

@ -177,7 +177,7 @@ class MenuWidgetState extends State<MenuWidget> {
fromTopEdge: fromTopEdge, fromTopEdge: fromTopEdge,
onTap: () => item.onTap.call(context), onTap: () => item.onTap.call(context),
image: item.image, image: item.image,
title: item.name, title: item.name.call(context),
); );
}, },
separatorBuilder: (_, index) => Container( separatorBuilder: (_, index) => Container(

View file

@ -66,7 +66,7 @@ class _DesktopSettingsPageState extends State<DesktopSettingsPage> {
} }
}, },
image: item.image, image: item.image,
title: item.name, title: item.name.call(context),
); );
}, },
separatorBuilder: (_, index) => Container( separatorBuilder: (_, index) => Container(

View file

@ -3,7 +3,7 @@ import 'package:cake_wallet/routes.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class SettingActions { class SettingActions {
final String name; final String Function(BuildContext) name;
final String image; final String image;
final void Function(BuildContext) onTap; final void Function(BuildContext) onTap;
@ -36,7 +36,7 @@ class SettingActions {
]; ];
static SettingActions connectionSettingAction = SettingActions._( static SettingActions connectionSettingAction = SettingActions._(
name: S.current.connection_sync, name: (context) => S.of(context).connection_sync,
image: 'assets/images/nodes_menu.png', image: 'assets/images/nodes_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -45,7 +45,7 @@ class SettingActions {
); );
static SettingActions walletSettingAction = SettingActions._( static SettingActions walletSettingAction = SettingActions._(
name: S.current.wallets, name: (context) => S.of(context).wallets,
image: 'assets/images/wallet_menu.png', image: 'assets/images/wallet_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -54,7 +54,7 @@ class SettingActions {
); );
static SettingActions addressBookSettingAction = SettingActions._( static SettingActions addressBookSettingAction = SettingActions._(
name: S.current.address_book_menu, name: (context) => S.of(context).address_book_menu,
image: 'assets/images/open_book_menu.png', image: 'assets/images/open_book_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -63,7 +63,7 @@ class SettingActions {
); );
static SettingActions securityBackupSettingAction = SettingActions._( static SettingActions securityBackupSettingAction = SettingActions._(
name: S.current.security_and_backup, name: (context) => S.of(context).security_and_backup,
image: 'assets/images/key_menu.png', image: 'assets/images/key_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -72,7 +72,7 @@ class SettingActions {
); );
static SettingActions privacySettingAction = SettingActions._( static SettingActions privacySettingAction = SettingActions._(
name: S.current.privacy, name: (context) => S.of(context).privacy,
image: 'assets/images/privacy_menu.png', image: 'assets/images/privacy_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -81,7 +81,7 @@ class SettingActions {
); );
static SettingActions displaySettingAction = SettingActions._( static SettingActions displaySettingAction = SettingActions._(
name: S.current.display_settings, name: (context) => S.of(context).display_settings,
image: 'assets/images/eye_menu.png', image: 'assets/images/eye_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -90,7 +90,7 @@ class SettingActions {
); );
static SettingActions otherSettingAction = SettingActions._( static SettingActions otherSettingAction = SettingActions._(
name: S.current.other_settings, name: (context) => S.of(context).other_settings,
image: 'assets/images/settings_menu.png', image: 'assets/images/settings_menu.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);
@ -99,7 +99,7 @@ class SettingActions {
); );
static SettingActions supportSettingAction = SettingActions._( static SettingActions supportSettingAction = SettingActions._(
name: S.current.settings_support, name: (context) => S.of(context).settings_support,
image: 'assets/images/question_mark.png', image: 'assets/images/question_mark.png',
onTap: (BuildContext context) { onTap: (BuildContext context) {
Navigator.pop(context); Navigator.pop(context);

714
res/values/strings_ha.arb Normal file
View file

@ -0,0 +1,714 @@
{
"welcome": "Barka da zuwa",
"cake_wallet": "Cake Wallet",
"first_wallet_text": "Aikace-aikacen e-wallet ga Monero, Bitcoin, Litecoin, da kuma Haven",
"please_make_selection": "Don Allah zaɓi ƙasa don ƙirƙira ko dawo da kwalinku.",
"create_new": "Ƙirƙira Sabon Kwalinku",
"restore_wallet": "Dawo da Kwalinku",
"monero_com": "Monero.com ta Cake Wallet",
"monero_com_wallet_text": "Aikace-aikacen e-wallet ga Monero",
"haven_app": "Haven da Cake Wallet",
"haven_app_wallet_text": "Aikace-aikacen e-wallet ga Haven",
"accounts": "Lissafi",
"edit": "Gyara",
"account": "Asusu",
"add": "Ƙara",
"address_book": "Littafin adireshi",
"contact": "Tuntuɓar",
"please_select": "Don Allah zaɓi:",
"cancel": "Soke",
"ok": "OK",
"contact_name": "Sunan Tuntuɓi",
"reset": "Sake saiti",
"save": "Ajiye",
"address_remove_contact": "Cire lamba",
"address_remove_content": "Kuna tabbatar kuna so ku cire wannan Contact?",
"authenticated": "Ingantacce",
"authentication": "Tabbatarwa",
"failed_authentication": "Binne wajen shiga. ${state_error}",
"wallet_menu": "Menu",
"Blocks_remaining": "${status} Katanga ya rage",
"please_try_to_connect_to_another_node": "Don Allah yi ƙoƙarin haɗa da wani node",
"xmr_hidden": "Boye",
"xmr_available_balance": "Akwai Ma'auni",
"xmr_full_balance": "Cikakken Ma'auni",
"send": "Aika",
"receive": "Samu",
"transactions": "Ma'amaloli",
"incoming": "Mai shigowa",
"outgoing": "Mai fita",
"transactions_by_date": "Ma'amaloli ta kwanan wata",
"trades": "Cinikai",
"filter_by": "Tace ta",
"today": "Yau",
"yesterday": "Jiya",
"received": "Samu",
"sent": "Aika",
"pending": "(pending)",
"rescan": "Rescan",
"reconnect": "Sake haɗawa",
"wallets": "Wallets",
"show_seed": "Nuna iri",
"show_keys": "Nuna iri/maɓallai",
"address_book_menu": "Littafin adireshi",
"reconnection": "Sake haɗawa",
"reconnect_alert_text": "Shin kun tabbata kuna son sake haɗawa?",
"exchange": "Exchange",
"clear": "Share",
"refund_address": "Adireshin maidowa",
"change_exchange_provider": "Canza Mai Bayar da Musanya",
"you_will_send": "Maida daga",
"you_will_get": "Maida zuwa",
"amount_is_guaranteed": "Adadin da aka karɓa yana da garanti",
"amount_is_estimate": "Adadin da aka karɓa shine kimantawa",
"powered_by": "An ƙarfafa shi ta ${title}",
"error": "Kuskure",
"estimated": "Kiyasta",
"min_value": "Min: ${value} ${currency}",
"max_value": "Max: ${value} ${currency}",
"change_currency": "Canja Kuɗi",
"overwrite_amount": "Rubuta adadin",
"qr_payment_amount": "Wannan QR code yana da adadin kuɗi. Kuna so ku overwrite wannan adadi?",
"copy_id": "Kwafi ID",
"exchange_result_write_down_trade_id": "Da fatan za a kwafa ko rubuta ID ɗin ciniki don ci gaba.",
"trade_id": "ID na kasuwanci:",
"copied_to_clipboard": "An kwafi zuwa Clipboard",
"saved_the_trade_id": "Na ajiye ID na ciniki",
"fetching": "Daukewa",
"id": "ID:",
"amount": "Adadi:",
"payment_id": "ID na biyan kuɗi:",
"status": "Matsayi:",
"offer_expires_in": "tayin zai ƙare a:",
"trade_is_powered_by": "Ana yin wannan ciniki ta hanyar ${provider}",
"copy_address": "Kwafi Adireshin",
"exchange_result_confirm": "Ta danna tabbatarwa, zaku aika ${fetchingLabel} ${from} daga walat ɗin ku mai suna ${walletName} zuwa address dake kasa. Ko zaka iya aika daga kwalinku na external zuwa address/QR code dake kasa.\n\nDon Allah shigar da confirm don ci gaba ko dawo ka canja adadinku.",
"exchange_result_description": "Dole ne ku aika mafi ƙarancin ${fetchingLabel} ${from} zuwa adireshin da aka nuna akan shafi na gaba. Idan ka aika adadi kasa da ${fetchingLabel} ${from} bazai yi converting ba kuma ba zai koma ba.",
"exchange_result_write_down_ID": "*Don Allah kwafi ko rubuta ID dake nuna sama.",
"confirm": "Tabbatar",
"confirm_sending": "Tabbatar da aikawa",
"commit_transaction_amount_fee": "Aikata ciniki\nAdadi: ${amount}\nKuda: ${fee}",
"sending": "Aika",
"transaction_sent": "An aika ciniki!",
"expired": "Karewa",
"time": "${minutes}m ${seconds}s",
"send_xmr": "Aika XMR",
"exchange_new_template": "Sabon template",
"faq": "FAQ",
"enter_your_pin": "Shigar da PIN",
"loading_your_wallet": "Ana loda walat ɗin ku",
"new_wallet": "Sabuwar Wallet",
"wallet_name": "Sunan walat",
"continue_text": "Ci gaba",
"choose_wallet_currency": "Da fatan za a zaɓi kuɗin walat:",
"node_new": "Sabon Node",
"node_address": "Address Node",
"node_port": "Node tashar jiragen ruwa",
"login": "Shiga",
"password": "Kalmar wucewa",
"nodes": "Nodes",
"node_reset_settings_title": "Sake saitunan",
"nodes_list_reset_to_default_message": "Kuna tabbatar kuna so ku sake saitunan zuwa default?",
"change_current_node": "Kuna tabbatar kuna so ku canja node yanzu zuwa ${node}?",
"change": "Canja",
"remove_node": "Cire node",
"remove_node_message": "Kuna tabbatar kuna so ku cire wannan node?",
"remove": "Cire",
"delete": "Share",
"add_new_node": "Ƙara sabon node",
"change_current_node_title": "Canja node yanzu",
"node_test": "Gwaji",
"node_connection_successful": "Haɗin ya yi nasara",
"node_connection_failed": "Haɗin ya gaza",
"new_node_testing": "Sabbin gwajin kumburi",
"use": "Canja zuwa",
"digit_pin": "-lambar PIN",
"share_address": "Raba adireshin",
"receive_amount": "Adadi",
"subaddresses": "Subaddresses",
"addresses": "Addresses",
"scan_qr_code": "Duba lambar QR don samun adireshin",
"qr_fullscreen": "Matsa don buɗe lambar QR na cikakken allo",
"rename": "Sake suna",
"choose_account": "Zaɓi asusu",
"create_new_account": "Ƙirƙiri sabon asusu",
"accounts_subaddresses": "Accounts da subaddresses",
"restore_restore_wallet": "Maida Wallet",
"restore_title_from_seed_keys": "Dawo da iri/maɓallai",
"restore_description_from_seed_keys": "Maido da walat ɗin ku daga iri/maɓallan da kuka adana don amintaccen wuri",
"restore_next": "Na gaba",
"restore_title_from_backup": "Dawo daga madadin",
"restore_description_from_backup": "Kuna iya dawo da duk aikace-aikacen Wallet ɗin Cake daga fayil ɗin ajiyar ku",
"restore_seed_keys_restore": "Mayar da iri/Maɓallai",
"restore_title_from_seed": "Maidowa daga iri",
"restore_description_from_seed": "Dawo da kwalinku daga 25 ko 13 lambar haɗin kalma",
"restore_title_from_keys": "Dawo daga maɓallai",
"restore_description_from_keys": "Maido da walat ɗin ku daga maɓallan maɓalli da aka ƙera da aka ajiye daga maɓallan ku na sirri",
"restore_wallet_name": "Sunan kwalinku",
"restore_address": "Address",
"restore_view_key_private": "Maɓallin Duba (key kalmar sirri)",
"restore_spend_key_private": "Maɓallin kashewa (key kalmar sirri)",
"restore_recover": "Maida",
"restore_wallet_restore_description": "Bayanin dawo da walat",
"restore_new_seed": "Sabon iri",
"restore_active_seed": "iri mai aiki",
"restore_bitcoin_description_from_seed": "Dawo da kwalinku daga 24 lambar haɗin kalma",
"restore_bitcoin_description_from_keys": "Dawo da kwalinku daga WIF string dake generate daga maɓallan sirri",
"restore_bitcoin_title_from_keys": "Dawo daga WIF",
"restore_from_date_or_blockheight": "Don Allah shigar da wata kwanan a kafin ku ƙirƙirar wannan kwalinku. Ko idan kun san blockheight, don Allah shigar da shi",
"seed_reminder": "Don Allah rubuta wadannan in case ka manta ko ka sake kwallon wayarka",
"seed_title": "iri",
"seed_share": "Raba iri",
"copy": "Kwafi",
"seed_language_choose": "Don Allah zaɓi harshen seed:",
"seed_choose": "Zaɓi harshen seed",
"seed_language_next": "Na gaba",
"seed_language_english": "Ingilishi",
"seed_language_chinese": "Sinanci",
"seed_language_dutch": "Dutch",
"seed_language_german": "Jamus",
"seed_language_japanese": "Jafananci",
"seed_language_portuguese": "Fotigal",
"seed_language_russian": "Rashanci",
"seed_language_spanish": "Spanish",
"seed_language_french": "Faransanci",
"seed_language_italian": "Italiyanci",
"send_title": "Aika",
"send_your_wallet": "Walat ɗin ku",
"send_address": "${cryptoCurrency} address",
"send_payment_id": "ID na biyan kuɗi (optional)",
"all": "DUK",
"send_error_minimum_value": "Mafi ƙarancin ƙimar adadin shine 0.01",
"send_error_currency": "Kudi zai iya ƙunsar lambobi kawai",
"send_estimated_fee": "Ƙimar kuɗi:",
"send_priority": "Yanzu haka fee yana set a ${transactionPriority} fifiko.\nAna iya daidaita fifikon ciniki a cikin saitunan",
"send_creating_transaction": "Ƙirƙirar ciniki",
"send_templates": "Samfura",
"send_new": "Sabon",
"send_amount": "Adadi:",
"send_fee": "Kudin:",
"send_name": "Sunan",
"send_got_it": "Gama",
"send_sending": "Aika...",
"send_success": "${crypto} kwalinku ya aika da nasara",
"settings_title": "Saitunan",
"settings_nodes": "Nodes",
"settings_current_node": "Node yanzu",
"settings_wallets": "Wallets",
"settings_display_balance": "Nuna ma'auni",
"settings_currency": "Kudi",
"settings_fee_priority": "fifikon kuɗi",
"settings_save_recipient_address": "Ajiye adireshin mai karɓa",
"settings_personal": "Na sirri",
"settings_change_pin": "Canja PIN",
"settings_change_language": "Canja yaren",
"settings_allow_biometrical_authentication": "Bada izinin tantance sawun yatsa",
"settings_dark_mode": "Launi mai duhu",
"settings_transactions": "Ma'amaloli",
"settings_trades": "Cinikai",
"settings_display_on_dashboard_list": "Nuna a kan tebur na bayanan",
"settings_all": "DUK",
"settings_only_trades": "Kawai kasuwancin",
"settings_only_transactions": "Kawai ayyuka",
"settings_none": "Babu",
"settings_support": "Taimako",
"settings_terms_and_conditions": "Sharuɗɗa da Ka'idoji",
"pin_is_incorrect": "PIN ba daidai ba ne",
"setup_pin": "Saita PIN",
"enter_your_pin_again": "Shigar da PIN ɗinku na sake",
"setup_successful": "An saita PIN ɗinku da nasara!",
"wallet_keys": "Iri/maɓalli na walat",
"wallet_seed": "kalmar sirri na walat",
"private_key": "Keɓaɓɓen maɓalli",
"public_key": "Maɓallin jama'a",
"view_key_private": "Duba maɓallin (maɓallin kalmar sirri)",
"view_key_public": "Maɓallin Duba (maɓallin jama'a)",
"spend_key_private": "makullin biya (maɓallin kalmar sirri)",
"spend_key_public": "makullin biya (maɓallin jama'a)",
"copied_key_to_clipboard": "An kwafa ${key} a cikin kwafin",
"new_subaddress_title": "Adireshin sabuwa",
"new_subaddress_label_name": "Lakabin suna",
"new_subaddress_create": "Ƙirƙiri",
"address_label": "Labari adireshi",
"subaddress_title": "Jagorar subaddress",
"trade_details_title": "Bayanai game da kasuwancin",
"trade_details_id": "ID",
"trade_details_state": "Matsayi",
"trade_details_fetching": "Daukewa",
"trade_details_provider": "Mai bayarwa",
"trade_details_created_at": "An ƙirƙira a",
"trade_details_pair": "miji da matarsa",
"trade_details_copied": "${title} an kwafa zuwa cikin kwafin",
"trade_history_title": "Tarihin kasuwancin",
"transaction_details_title": "Bayanai game da aikace-aikacen",
"transaction_details_transaction_id": "ID na kasuwanci",
"transaction_details_date": "Kwanan wata",
"transaction_details_height": "tsawo",
"transaction_details_amount": "Adadin",
"transaction_details_fee": "Kudin",
"transaction_details_copied": "${title} an kwafa zuwa cikin kwafin",
"transaction_details_recipient_address": "Adireshin masu amfani",
"wallet_list_title": "Monero walat",
"wallet_list_create_new_wallet": "Ƙirƙiri Sabon Wallet",
"wallet_list_restore_wallet": "Maida Wallet",
"wallet_list_load_wallet": "Ana loda wallet na Monero",
"wallet_list_loading_wallet": "Ana loda ${wallet_name} walat",
"wallet_list_failed_to_load": "An kasa loda ${wallet_name} walat. ${error}",
"wallet_list_removing_wallet": "Cirewa ${wallet_name} walat",
"wallet_list_failed_to_remove": "Ba a iya cirewa ${wallet_name} walat. ${error}",
"widgets_address": "Adireshin",
"widgets_restore_from_blockheight": "Sake dawo da daga blockheight",
"widgets_restore_from_date": "Sake dawo da daga kwanan wata",
"widgets_or": "ko",
"widgets_seed": "iri",
"router_no_route": "Babu wata hanya da aka bayyana don ${name}",
"error_text_account_name": "Sunan ajiya zai iya ɗauka ne kawai da haruffa, lambobi\nkuma ya zama tsakanin 1 zuwa 15 haruffa",
"error_text_contact_name": "Sunan kira ba zai iya ɗaukar ` , ' \" haruffa\nkuma ya zama tsakanin 1 zuwa 32 haruffa",
"error_text_address": "Adireshin hujja ya kamata ya dace da irin\nna cryptocurrency",
"error_text_node_address": "Da fatan a shigar da iPv4 adireshin",
"error_text_node_port": "Node tashar jiragen ruwa zai iya ƙunsar lambobi tsakanin 0 zuwa 65535 kawai",
"error_text_payment_id": "ID na biyan kudi kawai zai iya ɗaukar daga 16 zuwa 64 haruffa a cikin hex",
"error_text_xmr": "XMR adadin ba zai iya wuce available balance.\nAdadin haruffan gaba zai kamata ya zama ko ƙasa daga na 12",
"error_text_fiat": "Adadin kudin ba zai iya wuce available balance.\nAdadin haruffan gaba zai kamata ya zama ko ƙasa daga na 2",
"error_text_subaddress_name": "Sunan subaddress ba zai iya ɗaukar `, ', \" haruffa\nkuma ya zama tsakanin 1 zuwa 20 haruffa",
"error_text_amount": "Adadin biya zai iya ƙunsar lambobi kawai",
"error_text_wallet_name": "Sunan hujja kawai zai iya ɗauka ne haruffa, lambobi, _ - haruffa\nkuma ya zama tsakanin 1 zuwa 33 haruffa",
"error_text_keys": "Ƙunci na hujja kawai zai iya ɗaukar 64 haruffa a cikin hex",
"error_text_crypto_currency": "Adadin haruffan gaba\n zai kamata ya zama ko ƙasa daga na 12",
"error_text_minimal_limit": "Kasuwanci ga ${provider} ba a yi ba. Adadin shine ƙasa fiye da ƙananan: ${min} ${currency}",
"error_text_maximum_limit": "Kasuwanci ga ${provider} ba a yi ba. Adadin shine fiye da ƙimanin: ${max} ${currency}",
"error_text_limits_loading_failed": "Kasuwanci ga ${provider} ba a yi ba. An kasa saukewa masanan",
"error_text_template": "Sunan na tushe da adireshin ba zai iya ɗaukar ` , ' \" haruffa\nkuma ya zama tsakanin 1 zuwa 106 haruffa",
"auth_store_ban_timeout": "ban_timeout",
"auth_store_banned_for": "An haramta don",
"auth_store_banned_minutes": "da minti",
"auth_store_incorrect_password": "PIN na gaskiya",
"wallet_store_monero_wallet": "Monero walat",
"wallet_restoration_store_incorrect_seed_length": "kalmar sirrin iri ba daidai ba",
"full_balance": "DUKAN KUDI",
"available_balance": "KUDI",
"hidden_balance": "BOYE KUDI",
"sync_status_syncronizing": "KWAFI",
"sync_status_syncronized": "KYAU",
"sync_status_not_connected": "BABU INTERNET",
"sync_status_starting_sync": "KWAFI",
"sync_status_failed_connect": "BABU INTERNET",
"sync_status_connecting": "HADA",
"sync_status_connected": "HANNU",
"sync_status_attempting_sync": "KWAFI",
"transaction_priority_slow": "SAURI DA SAURI",
"transaction_priority_regular": "SAURI NORMAL",
"transaction_priority_medium": "SAURI DA DADI",
"transaction_priority_fast": "sauri",
"transaction_priority_fastest": "mafi sauri",
"trade_for_not_created": "Ba a ƙirƙira ciniki don ${title} ba.",
"trade_not_created": "Ba a ƙirƙira ciniki ba",
"trade_id_not_found": "Ba a samo cinikin ${tradeId} na ${title} ba.",
"trade_not_found": "Ba a sami ciniki ba.",
"trade_state_pending": "Jira",
"trade_state_confirming": "Tabbatar",
"trade_state_trading": "Ciniki",
"trade_state_traded": "Ciniki",
"trade_state_complete": "Cikakkun",
"trade_state_to_be_created": "za a halicci",
"trade_state_unpaid": "ba a biya ba",
"trade_state_underpaid": "ba a biya gaba ɗaya ba",
"trade_state_paid_unconfirmed": "an biya amma ba a tabbatar ba",
"trade_state_paid": "an biya",
"trade_state_btc_sent": "Btc an aika",
"trade_state_timeout": "lokacin da ya ƙare",
"trade_state_created": "an halicci",
"trade_state_finished": "an kammala",
"change_language": "canja harshen",
"change_language_to": "canja harshen zuwa ${language}?",
"paste": "Manna",
"restore_from_seed_placeholder": "Da fatan za a shigar da ko manna maɓallin ku a nan",
"add_new_word": "Ƙara kalma sabuwa",
"incorrect_seed": "rubutun da aka shigar ba shi da inganci.",
"biometric_auth_reason": "Duba hoton yatsa don tantancewa",
"version": "Sigar ${currentVersion}",
"openalias_alert_title": "An gano adireshin",
"openalias_alert_content": "Zaka aika kuɗi zuwa \n${recipient_name}",
"card_address": "Adireshin:",
"buy": "Sayi",
"sell": "sayar",
"placeholder_transactions": "Za a nuna ma'amalolin ku anan",
"placeholder_contacts": "Za a nuna lambobin sadarwar ku anan",
"template": "Samfura",
"confirm_delete_template": "Wannan aikin zai share wannan samfuri. Kuna so ku ci gaba?",
"confirm_delete_wallet": "Wannan aikin zai share wannan walat. Kuna so ku ci gaba?",
"picker_description": "Don zaɓar ChangeNOW ko MorphToken, da farko canja kasuwancin pair din ku",
"change_wallet_alert_title": "Canja walat yanzu",
"change_wallet_alert_content": "Kana so ka canja walat yanzu zuwa ${wallet_name}?",
"creating_new_wallet": "Haliccin walat sabuwa",
"creating_new_wallet_error": "Kuskure: ${description}",
"seed_alert_title": "Hankali",
"seed_alert_content": "Irin ita ce kawai hanya don dawo da walat ɗin ku. Kun rubuta shi?",
"seed_alert_back": "juya baya",
"seed_alert_yes": "E, Na yi",
"exchange_sync_alert_content": "Da fatan za a jira har sai an daidaita walat ɗin ku",
"pre_seed_title": "MUHIMMANCI",
"pre_seed_description": "A kan shafin nan za ku ga wata ƙungiya na ${words} kalmomi. Wannan shine tsarin daban-daban ku kuma na sirri kuma shine hanya ɗaya kadai don mai da purse dinku a cikin yanayin rasa ko rashin aiki. Yana da damar da kuke a cikin tabbatar da kuyi rubuta shi kuma kuyi ajiye shi a wuri na aminci wanda ya wuce wurin app na Cake Wallet.",
"pre_seed_button_text": "Ina fahimta. Nuna mini seed din nawa",
"xmr_to_error": "XMR.TO kuskure",
"xmr_to_error_description": "Adadin ba shi da inganci. Maksimum ɗaura 8 digiri bayan decimal point",
"provider_error": "${provider} kuskure",
"use_ssl": "Yi amfani da SSL",
"trusted": "Amintacce",
"color_theme": "Jigon launi",
"light_theme": "Haske",
"bright_theme": "Mai haske",
"dark_theme": "Duhu",
"enter_your_note": "Shigar da bayanin kula…",
"note_optional": "Bayani (optional)",
"note_tap_to_change": "Bayani (tap don canja)",
"view_in_block_explorer": "Dubo a cikin Block Explorer",
"view_transaction_on": "Dubo aikace-aikacen akan",
"transaction_key": "Aikace-aikacen key",
"confirmations": "Tabbatar",
"recipient_address": "Adireshin mai karɓa",
"extra_id": "Karin ID:",
"destination_tag": "Tambarin makoma:",
"memo": "Memo:",
"backup": "Ajiyayyen",
"change_password": "Canza kalmar shiga",
"backup_password": "Ajiyayyen kalmar sirri",
"write_down_backup_password": "Da fatan za a rubuta kalmar sirrin ajiyar ku, wacce ake amfani da ita don shigo da fayilolin ajiyar ku.",
"export_backup": "Ajiyayyen fitarwa",
"save_backup_password": "Da fatan za a tabbatar cewa kun adana kalmar sirrin ajiyar ku. Ba za ku iya shigo da fayilolin ajiyar ku ba tare da shi ba.",
"backup_file": "Ajiyayyen fayil",
"edit_backup_password": "Shirya Kalmar wucewa ta Ajiyayyen",
"save_backup_password_alert": "Ajiye kalmar sirri ta ajiya",
"change_backup_password_alert": "Fayilolin madadin ku na baya ba za su kasance don shigo da sabon kalmar sirri ta madadin ba. Sabuwar kalmar sirri ta ajiya za a yi amfani da ita kawai don sabbin fayilolin madadin. Shin kun tabbata cewa kuna son canza kalmar wucewa?",
"enter_backup_password": "Shigar da kalmar wucewa ta madadin nan",
"select_backup_file": "Zaɓi fayil ɗin madadin",
"import": "Shigo da",
"please_select_backup_file": "Da fatan za a zaɓi fayil ɗin madadin kuma shigar da kalmar wucewa ta madadin.",
"fixed_rate": "Kafaffen ƙima",
"fixed_rate_alert": "Za ku iya shigar da adadin karɓa lokacin da aka duba ƙayyadadden zaɓin ƙimar kuɗi. Kuna so ku canza zuwa ƙayyadadden yanayin ƙimar kuɗi?",
"xlm_extra_info": "Don Allah kar a manta da saka Memo ID yayin aika ma'amalar XLM don musayar",
"xrp_extra_info": "Don Allah kar a manta da saka alamar Ƙaddamarwa yayin aika ma'amalar XRP don musayar",
"exchange_incorrect_current_wallet_for_xmr": "Idan kana son musanya XMR daga ma'aunin Cake Wallet Monero, da fatan za a fara canza wallet ɗin Monero ɗin ku.",
"confirmed": "An tabbatar",
"unconfirmed": "Ba a tabbatar ba",
"displayable": "Ana iya nunawa",
"submit_request": "gabatar da bukata",
"buy_alert_content": "A halin yanzu muna tallafawa kawai siyan Bitcoin da Litecoin. Don siyan Bitcoin ko Litecoin, da fatan za a ƙirƙira ko canza zuwa walat ɗin ku na Bitcoin ko Litecoin.",
"sell_alert_content": "A halin yanzu muna tallafawa siyar da Bitcoin kawai. Don sayar da Bitcoin, da fatan za a ƙirƙira ko canza zuwa walat ɗin ku na Bitcoin.",
"outdated_electrum_wallet_description": "Sabbin walat ɗin Bitcoin da aka kirkira a cikin Cake yanzu suna da nau'in kalma 24. Ya zama dole ka ƙirƙiri sabon walat ɗin Bitcoin kuma canza duk kuɗin ku zuwa sabon walat ɗin kalmomi 24, kuma ku daina amfani da walat tare da iri mai kalma 12. Da fatan za a yi haka nan take don samun kuɗin ku.",
"understand": "na gane",
"apk_update": "apk sabunta",
"buy_bitcoin": "Sayi Bitcoin",
"buy_with": "Saya da",
"moonpay_alert_text": "Darajar adadin dole ne ya zama fiye ko daidai da ${minAmount} ${fiatCurrency}",
"outdated_electrum_wallet_receive_warning": "Idan wannan walat ɗin yana da nau'in kalma 12 kuma an ƙirƙira shi a cikin Cake, KAR KA saka Bitcoin cikin wannan jakar. Duk wani BTC da aka canjawa wuri zuwa wannan walat na iya ɓacewa. Ƙirƙiri sabon walat mai kalmomi 24 (matsa menu a saman dama, zaɓi Wallets, zaɓi Ƙirƙiri Sabon Wallet, sannan zaɓi Bitcoin) kuma NAN nan take matsar da BTC ɗin ku a can. Sabbin (kalmomi 24) BTC wallets daga Cake suna da tsaro",
"do_not_show_me": "Kar ka sake nuna min wannan",
"unspent_coins_title": "Tsabar da ba a kashe ba",
"unspent_coins_details_title": "Bayanan tsabar kudi da ba a kashe ba",
"freeze": "Daskare",
"frozen": "Daskararre",
"coin_control": "Sarrafa tsabar kuɗi (na zaɓi)",
"address_detected": "An gano adireshin",
"address_from_domain": "Wannan adireshin ya fito daga ${domain} akan Unstoppable Domain",
"add_receiver": "Ƙara wani mai karɓa (na zaɓi)",
"manage_yats": "Sarrafa Yats",
"yat_alert_title": "Aika da karɓar crypto cikin sauƙi tare da Yat",
"yat_alert_content": "Masu amfani da Wallet ɗin Cake yanzu za su iya aikawa da karɓar duk kuɗin da suka fi so tare da sunan mai amfani na tushen emoji iri ɗaya.",
"get_your_yat": "Samun Yat ka",
"connect_an_existing_yat": "Haɗa Yat da ke akwai",
"connect_yats": "Haɗa Yats",
"yat_address": "Yat Address",
"yat": "Yat",
"address_from_yat": "Wannan adireshin daga ${emoji} ne akan Yat",
"yat_error": "Kuskure",
"yat_error_content": "Babu adireshi da ke da alaƙa da wannan Yat. Gwada wani Yat",
"choose_address": "\n\n Da fatan za a zaɓi adireshin:",
"yat_popup_title": "Adireshin jakar ku na iya zama emojifid.",
"yat_popup_content": "Yanzu zaku iya aikawa da karɓar crypto a cikin Cake Wallet tare da Yat - gajere, sunan mai amfani na tushen emoji. Sarrafa Yats a kowane lokaci akan allon saiti",
"second_intro_title": "Adireshin emoji ɗaya don sarrafa su duka",
"second_intro_content": "Your Yat adireshi ne na musamman na Emoji guda ɗaya wanda ke maye gurbin duk dogayen adiresoshin ku na hexadecimal na duk kudaden ku.",
"third_intro_title": "Yat yana wasa da kyau tare da wasu",
"third_intro_content": "Yats suna zaune a wajen Kek Wallet, kuma. Ana iya maye gurbin kowane adireshin walat a duniya da Yat!",
"learn_more": "Ƙara Koyi",
"search": "Bincika",
"search_language": "Bincika harshe",
"search_currency": "Neman kudin waje",
"new_template": "Sabon Samfura",
"electrum_address_disclaimer": "Muna samar da sababbin adireshi duk lokacin da kuka yi amfani da ɗaya, amma adiresoshin da suka gabata suna ci gaba da aiki",
"wallet_name_exists": "Wallet mai wannan sunan ya riga ya wanzu. Da fatan za a zaɓi wani suna daban ko sake suna ɗayan walat tukuna.",
"market_place": "Kasuwa",
"cake_pay_title": "Cake Pay Gift Cards",
"cake_pay_subtitle": "Sayi katunan kyauta masu rahusa (Amurka kawai)",
"cake_pay_web_cards_title": "Cake Pay Web Cards",
"cake_pay_web_cards_subtitle": "Sayi katunan da aka riga aka biya na duniya da katunan kyauta",
"about_cake_pay": "Biyan Cake yana ba ku damar sauƙin siyan katunan kyauta tare da kadarorin kama-da-wane, wanda za'a iya kashewa nan take a sama da yan kasuwa 150,000 a Amurka.",
"cake_pay_account_note": "Yi rajista tare da adireshin imel kawai don gani da siyan katunan. Wasu ma suna samuwa a rangwame!",
"already_have_account": "Kuna da asusu?",
"create_account": "Kirkira ajiya",
"privacy_policy": "takardar kebantawa",
"welcome_to_cakepay": "Barka da zuwa Cake Pay!",
"sign_up": "Shiga",
"forgot_password": "Manta Kalmar wucewa",
"reset_password": "Sake saita kalmar wucewa",
"gift_cards": "Katunan Kyauta",
"setup_your_debit_card": "Saita katin zare kudi",
"no_id_required": "Babu ID da ake buƙata. Yi da kuma ciyar a ko'ina",
"how_to_use_card": "Yadda ake amfani da wannan kati",
"purchase_gift_card": "Katin Kyautar Sayi",
"verification": "tabbatar",
"fill_code": "Da fatan za a cika lambar tabbatarwa da aka bayar zuwa imel ɗin ku",
"dont_get_code": "Ba a samun code?",
"resend_code": "Da fatan za a sake aika shi",
"debit_card": "Katin Zare kudi",
"cakepay_prepaid_card": "Katin zare kudi na CakePay",
"no_id_needed": "Babu ID da ake buƙata!",
"frequently_asked_questions": "Tambayoyin da ake yawan yi",
"debit_card_terms": "Adana da amfani da lambar katin kuɗin ku (da takaddun shaida masu dacewa da lambar katin kuɗin ku) a cikin wannan walat ɗin dijital suna ƙarƙashin Sharuɗɗa da Sharuɗɗa na yarjejeniya mai amfani da katin tare da mai fitar da katin biyan kuɗi, kamar yadda yake aiki daga lokaci zuwa lokaci.",
"please_reference_document": "Da fatan za a nemi takaddun da ke ƙasa don ƙarin bayani.",
"cardholder_agreement": "Yarjejeniyar mai katin",
"e_sign_consent": "Izinin Alamar E-Sign",
"agree_and_continue": "Amincewa & Ci gaba",
"email_address": "Adireshin i-mel",
"agree_to": "Ta hanyar ƙirƙirar asusu kun yarda da",
"and": "kuma",
"enter_code": "Shigar da lamba",
"congratulations": "Taya murna!",
"you_now_have_debit_card": "Yanzu kana da katin zare kudi",
"min_amount": "Min: ${value}",
"max_amount": "Max: ${value}",
"enter_amount": "Shigar da Adadi",
"billing_address_info": "Idan an nemi adireshin biyan kuɗi, samar da adireshin jigilar kaya",
"order_physical_card": "Yi Oda Katin Jiki",
"add_value": "Ƙara ƙima",
"activate": "Kunna",
"get_a": "Samu a",
"digital_and_physical_card": "katin zare kudi na dijital da na zahiri",
"get_card_note": "cewa zaku iya sake lodawa tare da kudaden dijital. Babu ƙarin bayani da ake buƙata!",
"signup_for_card_accept_terms": "Yi rajista don katin kuma karɓi sharuɗɗan.",
"add_fund_to_card": "Ƙara kuɗin da aka riga aka biya a katunan (har zuwa ${value})",
"use_card_info_two": "Ana canza kuɗi zuwa dalar Amurka lokacin da ake riƙe su a cikin asusun da aka riga aka biya, ba cikin agogon dijital ba.",
"use_card_info_three": "Yi amfani da katin dijital akan layi ko tare da hanyoyin biyan kuɗi mara lamba.",
"optionally_order_card": "Zaɓin yin odar katin zahiri.",
"hide_details": "Ɓoye cikakkun bayanai",
"show_details": "Nuna Cikakkun bayanai",
"upto": "har zuwa ${value}",
"discount": "Ajiye ${value}%",
"gift_card_amount": "Adadin Katin Kyauta",
"bill_amount": "Adadin Bill",
"you_pay": "Ka Bayar",
"tip": "Tukwici:",
"custom": "al'ada",
"by_cake_pay": "da Cake Pay",
"expires": "Ya ƙare",
"mm": "MM",
"yy": "YY",
"online": "Kan layi",
"offline": "Offline",
"gift_card_number": "Lambar katin kyauta",
"pin_number": "Lambar PIN",
"total_saving": "Jimlar Adana",
"last_30_days": "Kwanaki 30 na ƙarshe",
"avg_savings": "Matsakaici Adana",
"view_all": "Duba duka",
"active_cards": "Katunan aiki",
"delete_account": "Share Account",
"cards": "Katuna",
"active": "Mai aiki",
"redeemed": "An fanshi",
"gift_card_balance_note": "Katunan kyauta tare da ragowar ma'auni zasu bayyana anan",
"gift_card_redeemed_note": "Katunan kyauta da kuka fanshi zasu bayyana anan",
"logout": "Fita",
"add_tip": "Ƙara Tukwici",
"percentageOf": "na ${amount}",
"is_percentage": "shine",
"search_category": "Nemo nau'in",
"mark_as_redeemed": "Yi Alama Kamar An Fansa",
"more_options": "Ƙarin Zaɓuɓɓuka",
"awaiting_payment_confirmation": "Ana jiran Tabbacin Biyan Kuɗi",
"transaction_sent_notice": "Idan allon bai ci gaba ba bayan minti 1, duba mai binciken toshewa da imel ɗin ku.",
"agree": "Yarda",
"in_store": "A cikin Store",
"generating_gift_card": "Samar da Katin Kyauta",
"payment_was_received": "An karɓi kuɗin ku.",
"proceed_after_one_minute": "Idan allon bai ci gaba ba bayan minti 1, duba imel ɗin ku.",
"order_id": "Oda ID",
"gift_card_is_generated": "An samar da Katin Kyauta",
"open_gift_card": "Bude Katin Kyauta",
"contact_support": "Tuntuɓi Support",
"gift_cards_unavailable": "Ana samun katunan kyauta don siye kawai tare da Monero, Bitcoin, da Litecoin a wannan lokacin",
"introducing_cake_pay": "Gabatar da Cake Pay!",
"cake_pay_learn_more": "Nan take siya ku kwaso katunan kyaututtuka a cikin app!\nTake hagu zuwa dama don ƙarin koyo.",
"automatic": "Na atomatik",
"fixed_pair_not_supported": "Wannan kafaffen guda biyu ba shi da tallafi tare da zaɓaɓɓun musayar",
"variable_pair_not_supported": "Ba a samun goyan bayan wannan m biyu tare da zaɓaɓɓun musayar",
"none_of_selected_providers_can_exchange": "Babu ɗaya daga cikin zaɓaɓɓun masu samarwa da zai iya yin wannan musayar",
"choose_one": "Zaɓi ɗaya",
"choose_from_available_options": "Zaɓi daga zaɓuɓɓukan da ake da su:",
"custom_redeem_amount": "Adadin Fansa na Musamman",
"add_custom_redemption": "Ƙara Ceto na Musamman",
"remaining": "saura",
"delete_wallet": "Share walat",
"delete_wallet_confirm_message": "Shin kun tabbata cewa kuna son share jakar ${wallet_name}?",
"low_fee": "maras tsada",
"low_fee_alert": "A halin yanzu kuna amfani da ƙarancin fifikon kuɗin hanyar sadarwa. Wannan na iya haifar da dogon jira, farashi daban-daban, ko soke kasuwancin. Muna ba da shawarar saita farashi mafi girma don ƙwarewa mafi kyau.",
"ignor": "Yi watsi da shi",
"use_suggested": "Amfani da Shawarwari",
"do_not_share_warning_text": "Kada ku raba waɗannan ga kowa, gami da tallafi.\n\nZa a iya sace kuɗin ku kuma za a sace!",
"help": "taimako",
"all_transactions": "Dukan Ma'amaloli",
"all_trades": "Duk ciniki",
"connection_sync": "Haɗi da daidaitawa",
"security_and_backup": "Tsaro da madadin",
"create_backup": "Ƙirƙiri madadin",
"privacy_settings": "Saitunan sirri",
"privacy": "Keɓantawa",
"display_settings": "Nuni saituna",
"other_settings": "Sauran saituna",
"require_pin_after": "Bukatar PIN bayan",
"always": "Koyaushe",
"minutes_to_pin_code": "${minute} minti",
"disable_exchange": "Kashe musanya",
"advanced_privacy_settings": "Babban Saitunan Sirri",
"settings_can_be_changed_later": "Ana iya canza waɗannan saitunan daga baya a cikin saitunan app",
"add_custom_node": "Ƙara Sabon Kulli na Custom",
"disable_fiat": "Dakatar da fiat",
"fiat_api": "API ɗin Fiat",
"disabled": "tsaya",
"enabled": "An kunna",
"tor_only": "Tor kawai",
"unmatched_currencies": "Nau'in walat ɗin ku na yanzu bai dace da na lambar QR da aka bincika ba",
"contact_list_contacts": "Lambobin sadarwa",
"contact_list_wallets": "Wallets dina",
"bitcoin_payments_require_1_confirmation": "Akwatin Bitcoin na buɗe 1 sambumbu, da yake za ta samu mintuna 20 ko yawa. Ina kira ga sabuwar lafiya! Zaka sanarwa ta email lokacin da aka samu akwatin samun lambar waya.",
"send_to_this_address" : "Aiko ${currency} ${tag} zuwa adireshin wannan",
"arrive_in_this_address" : "${currency} ${tag} zai je wurin wannan adireshi",
"do_not_send": "Kada ka aika",
"error_dialog_content": "Ai, yanzu muka ga alamar kuskure. \n\nDa fatan, aika rahoton kuskuren da muka kira zuwa gasar tsarinmu don gaskiyar shirya.",
"scan_qr_code": "Gani QR kodin",
"cold_or_recover_wallet": "Samun kashi na baya ko samun kashi na kasa",
"please_wait": "Don Allah a rufe",
"sweeping_wallet": "Kashi na kasa",
"sweeping_wallet_alert": "Wannan ba zai samu lokacin mai tsaski. KADA KA SAMU KUNGIYARAN KUHON, ZAMAN DADIN BANKUNCI ZAI HAŘA",
"invoice_details": "Bayanin wadannan",
"donation_link_details": "Bayanin hanyar sadaka",
"anonpay_description": "Ƙirƙirar ${type}. Maƙiyantun mai nasara zai iya ${method} da duk abubuwan da ke samun lambar waya, kuma zaku samu kuɗin dama a wannan kashi.",
"create_invoice": "Sanya bayanin wadannan",
"create_donation_link": "Sanya hanyar sadaka",
"optional_email_hint": "Email na kayan taimako ga wadanda basu ba da maki",
"optional_description": "Bayanin zai iya ba da maki",
"optional_name": "Sunan mawallin zai iya ba da maki",
"clearnet_link": "Lambar makomar kwayoyi",
"onion_link": "Lambar onion",
"decimal_places_error": "Wadannan suna da tsawon harsuna",
"edit_node": "Shirya Node",
"frozen_balance": "Falin kuma maɓallin",
"settings": "Saiti",
"sell_monero_com_alert_content": "Selling Monero bai sami ƙarshen mai bukatar samun ba",
"error_text_input_below_minimum_limit" : "Kudin ba a kamai",
"error_text_input_above_maximum_limit" : "Kudin da ya kamata",
"show_market_place" :"Nuna dan kasuwa",
"prevent_screenshots": "Fada lambobi da jarrabobi na kayan lambobi",
"disable_buy": "Kashe alama",
"disable_sell": "Kashe karbuwa"
}