diff --git a/core/data/src/main/res/raw-ru/code_country.json b/core/data/src/main/res/raw-ru/code_country.json
new file mode 100644
index 000000000..db863cdcb
--- /dev/null
+++ b/core/data/src/main/res/raw-ru/code_country.json
@@ -0,0 +1,531 @@
+{
+ "AFN": [
+ "Афганистан"
+ ],
+ "ALL": [
+ "Албания"
+ ],
+ "DZD": [
+ "Алжир"
+ ],
+ "USD": [
+ "Американское Самоа",
+ "Бонайре, Синт-Эстатиус и Саба",
+ "Британская территория в Индийском океане",
+ "Эквадор",
+ "Сальвадор",
+ "Гуам",
+ "Гаити",
+ "Маршалловы Острова",
+ "Микронезия",
+ "Северные Марианские острова",
+ "Палау",
+ "Панама",
+ "Пуэрто-Рико",
+ "Тимор-Лешти",
+ "Теркс и Кайкос",
+ "Соединенные Штаты Америки",
+ "Виргинские острова"
+ ],
+ "EUR": [
+ "Андорра",
+ "Австрия",
+ "Бельгия",
+ "Хорватия",
+ "Кипр",
+ "Эстония",
+ "Европейский союз",
+ "Финляндия",
+ "Франция",
+ "Французская Гвиана",
+ "Французские Южные территории",
+ "Германия",
+ "Греция",
+ "Гваделупа",
+ "Святой Престол",
+ "Ирландия",
+ "Италия",
+ "Латвия",
+ "Литва",
+ "Люксембург",
+ "Мальта",
+ "Мартиника",
+ "Майотта",
+ "Монако",
+ "Черногория",
+ "Нидерланды",
+ "Португалия",
+ "Реюньон",
+ "Сен-Бартелеми",
+ "Сен-Мартен",
+ "Сен-Пьер и Микелон",
+ "Сан-Марино",
+ "Словакия",
+ "Словения",
+ "Испания",
+ "Аландские острова"
+ ],
+ "AOA": [
+ "Ангола"
+ ],
+ "XCD": [
+ "Ангилья",
+ "Антигуа и Барбуда",
+ "Доминика",
+ "Гренада",
+ "Монтсеррат",
+ "Сент-Китс и Невис",
+ "Сент-Люсия",
+ "Сент-Винсент и Гренадины"
+ ],
+ "ARS": [
+ "Аргентина"
+ ],
+ "AMD": [
+ "Армения"
+ ],
+ "AWG": [
+ "Аруба"
+ ],
+ "AUD": [
+ "Австралия",
+ "Остров Рождества",
+ "Кокосовые острова",
+ "Остров Херд и острова Макдональд",
+ "Кирибати",
+ "Науру",
+ "Остров Норфолк",
+ "Тувалу"
+ ],
+ "AZN": [
+ "Азербайджан"
+ ],
+ "BSD": [
+ "Багамы"
+ ],
+ "BHD": [
+ "Бахрейн"
+ ],
+ "BDT": [
+ "Бангладеш"
+ ],
+ "BBD": [
+ "Барбадос"
+ ],
+ "BYN": [
+ "Беларусь"
+ ],
+ "BZD": [
+ "Белиз"
+ ],
+ "XOF": [
+ "Бенин",
+ "Буркина-Фасо",
+ "Кот-д\u0027Ивуар",
+ "Гвинея-Бисау",
+ "Мали",
+ "Нигер",
+ "Сенегал",
+ "Того"
+ ],
+ "BMD": [
+ "Бермуды"
+ ],
+ "BTN": [
+ "Бутан"
+ ],
+ "BAM": [
+ "Босния и Герцеговина"
+ ],
+ "BWP": [
+ "Ботсвана"
+ ],
+ "NOK": [
+ "Остров Буве",
+ "Норвегия",
+ "Шпицберген и Ян-Майен"
+ ],
+ "BRL": [
+ "Бразилия"
+ ],
+ "BND": [
+ "Бруней-Даруссалам"
+ ],
+ "BGN": [
+ "Болгария"
+ ],
+ "BIF": [
+ "Бурунди"
+ ],
+ "CVE": [
+ "Кабо-Верде"
+ ],
+ "KHR": [
+ "Камбоджа"
+ ],
+ "XAF": [
+ "Камерун",
+ "Центральноафриканская Республика",
+ "Чад",
+ "Конго",
+ "Экваториальная Гвинея",
+ "Габон"
+ ],
+ "CAD": [
+ "Канада"
+ ],
+ "KYD": [
+ "Каймановы острова"
+ ],
+ "CLF": [
+ "Чили"
+ ],
+ "CNY": [
+ "Китай"
+ ],
+ "KMF": [
+ "Коморы"
+ ],
+ "CDF": [
+ "Демократическая Республика Конго"
+ ],
+ "NZD": [
+ "Острова Кука",
+ "Новая Зеландия",
+ "Ниуэ",
+ "Острова Питкэрн",
+ "Токелау"
+ ],
+ "CRC": [
+ "Коста-Рика"
+ ],
+ "CUP": [
+ "Куба"
+ ],
+ "ANG": [
+ "Кюрасао",
+ "Синт-Мартен"
+ ],
+ "CZK": [
+ "Чехия"
+ ],
+ "DKK": [
+ "Дания",
+ "Фарерские острова",
+ "Гренландия"
+ ],
+ "DJF": [
+ "Джибути"
+ ],
+ "DOP": [
+ "Доминиканская Республика"
+ ],
+ "EGP": [
+ "Египет"
+ ],
+ "ERN": [
+ "Эритрея"
+ ],
+ "SZL": [
+ "Эсватини"
+ ],
+ "ETB": [
+ "Эфиопия"
+ ],
+ "FKP": [
+ "Фолклендские острова"
+ ],
+ "FJD": [
+ "Фиджи"
+ ],
+ "XPF": [
+ "Французская Полинезия",
+ "Новая Каледония",
+ "Уоллис и Футуна"
+ ],
+ "GMD": [
+ "Гамбия"
+ ],
+ "GEL": [
+ "Грузия"
+ ],
+ "GHS": [
+ "Гана"
+ ],
+ "GIP": [
+ "Гибралтар"
+ ],
+ "GTQ": [
+ "Гватемала"
+ ],
+ "GBP": [
+ "Гернси",
+ "Остров Мэн",
+ "Джерси",
+ "Соединенное Королевство Великобритании и Северной Ирландии"
+ ],
+ "GNF": [
+ "Гвинея"
+ ],
+ "GYD": [
+ "Гайана"
+ ],
+ "HNL": [
+ "Гондурас"
+ ],
+ "HKD": [
+ "Гонконг"
+ ],
+ "HUF": [
+ "Венгрия"
+ ],
+ "ISK": [
+ "Исландия"
+ ],
+ "INR": [
+ "Индия"
+ ],
+ "IDR": [
+ "Индонезия"
+ ],
+ "XDR": [
+ "Международный валютный фонд"
+ ],
+ "IQD": [
+ "Ирак"
+ ],
+ "ILS": [
+ "Израиль"
+ ],
+ "JMD": [
+ "Ямайка"
+ ],
+ "JPY": [
+ "Япония"
+ ],
+ "JOD": [
+ "Иордания"
+ ],
+ "KZT": [
+ "Казахстан"
+ ],
+ "KES": [
+ "Кения"
+ ],
+ "KPW": [
+ "Северная Корея"
+ ],
+ "KRW": [
+ "Южная Корея"
+ ],
+ "KWD": [
+ "Кувейт"
+ ],
+ "KGS": [
+ "Кыргызстан"
+ ],
+ "LAK": [
+ "Лаос"
+ ],
+ "LBP": [
+ "Ливан"
+ ],
+ "ZAR": [
+ "Лесото",
+ "Намибия",
+ "Южная Африка"
+ ],
+ "LRD": [
+ "Либерия"
+ ],
+ "LYD": [
+ "Ливия"
+ ],
+ "MOP": [
+ "Макао"
+ ],
+ "MGA": [
+ "Мадагаскар"
+ ],
+ "MWK": [
+ "Малави"
+ ],
+ "MYR": [
+ "Малайзия"
+ ],
+ "MVR": [
+ "Мальдивы"
+ ],
+ "MRU": [
+ "Мавритания"
+ ],
+ "MUR": [
+ "Маврикий"
+ ],
+ "MDL": [
+ "Молдова"
+ ],
+ "MNT": [
+ "Монголия"
+ ],
+ "MAD": [
+ "Марокко",
+ "Западная Сахара"
+ ],
+ "MZN": [
+ "Мозамбик"
+ ],
+ "MMK": [
+ "Мьянма"
+ ],
+ "NPR": [
+ "Непал"
+ ],
+ "NIO": [
+ "Никарагуа"
+ ],
+ "NGN": [
+ "Нигерия"
+ ],
+ "MKD": [
+ "Северная Македония"
+ ],
+ "OMR": [
+ "Оман"
+ ],
+ "PKR": [
+ "Пакистан"
+ ],
+ "PGK": [
+ "Папуа — Новая Гвинея"
+ ],
+ "PYG": [
+ "Парагвай"
+ ],
+ "PEN": [
+ "Перу"
+ ],
+ "PHP": [
+ "Филиппины"
+ ],
+ "PLN": [
+ "Польша"
+ ],
+ "QAR": [
+ "Катар"
+ ],
+ "RON": [
+ "Румыния"
+ ],
+ "RUB": [
+ "Российская Федерация"
+ ],
+ "RWF": [
+ "Руанда"
+ ],
+ "SHP": [
+ "Святая Елена, Вознесение и Тристан-да-Кунья"
+ ],
+ "WST": [
+ "Самоа"
+ ],
+ "STN": [
+ "Сан-Томе и Принсипи"
+ ],
+ "SAR": [
+ "Саудовская Аравия"
+ ],
+ "RSD": [
+ "Сербия"
+ ],
+ "SCR": [
+ "Сейшельские Острова"
+ ],
+ "SLE": [
+ "Сьерра-Леоне"
+ ],
+ "SGD": [
+ "Сингапур"
+ ],
+ "SBD": [
+ "Соломоновы Острова"
+ ],
+ "SOS": [
+ "Сомали"
+ ],
+ "SSP": [
+ "Южный Судан"
+ ],
+ "LKR": [
+ "Шри-Ланка"
+ ],
+ "SDG": [
+ "Судан"
+ ],
+ "SRD": [
+ "Суринам"
+ ],
+ "SEK": [
+ "Швеция"
+ ],
+ "SYP": [
+ "Сирийская Арабская Республика"
+ ],
+ "TWD": [
+ "Тайвань"
+ ],
+ "TJS": [
+ "Таджикистан"
+ ],
+ "TZS": [
+ "Танзания"
+ ],
+ "THB": [
+ "Таиланд"
+ ],
+ "TOP": [
+ "Тонга"
+ ],
+ "TTD": [
+ "Тринидад и Тобаго"
+ ],
+ "TND": [
+ "Тунис"
+ ],
+ "TMT": [
+ "Туркменистан"
+ ],
+ "TRY": [
+ "Турция"
+ ],
+ "UGX": [
+ "Уганда"
+ ],
+ "UAH": [
+ "Украина"
+ ],
+ "AED": [
+ "Объединенные Арабские Эмираты"
+ ],
+ "UZS": [
+ "Узбекистан"
+ ],
+ "VUV": [
+ "Вануату"
+ ],
+ "VED": [
+ "Венесуэла"
+ ],
+ "VND": [
+ "Вьетнам"
+ ],
+ "YER": [
+ "Йемен"
+ ],
+ "ZMW": [
+ "Замбия"
+ ],
+ "ZWG": [
+ "Зимбабве"
+ ]
+}
\ No newline at end of file
diff --git a/core/data/src/main/res/raw-ru/code_name.json b/core/data/src/main/res/raw-ru/code_name.json
new file mode 100644
index 000000000..4bc4bbcb3
--- /dev/null
+++ b/core/data/src/main/res/raw-ru/code_name.json
@@ -0,0 +1,1144 @@
+{
+ "AFN": "Афгани",
+ "ALL": "Лек",
+ "DZD": "Алжирский динар",
+ "USD": "Доллар США",
+ "EUR": "Евро",
+ "AOA": "Кванза",
+ "XCD": "Восточно-Карибский доллар",
+ "ARS": "Аргентинское песо",
+ "AMD": "Армянский драм",
+ "AWG": "Арубанский флорин",
+ "AUD": "Австралийский доллар",
+ "AZN": "Азербайджанский манат",
+ "BSD": "Багамский доллар",
+ "BHD": "Бахрейнский динар",
+ "BDT": "Така",
+ "BBD": "Барбадосский доллар",
+ "BYN": "Белорусский рубль",
+ "BZD": "Белизский доллар",
+ "XOF": "Франк КФА BCEAO",
+ "BMD": "Бермудский доллар",
+ "INR": "Индийская рупия",
+ "BTN": "Нгултрум",
+ "BOB": "Боливиано",
+ "BAM": "Конвертируемая марка",
+ "BWP": "Пула",
+ "NOK": "Норвежская крона",
+ "BRL": "Бразильский реал",
+ "BND": "Брунейский доллар",
+ "BGN": "Болгарский лев",
+ "BIF": "Бурундийский франк",
+ "CVE": "Эскудо Кабо-Верде",
+ "KHR": "Риель",
+ "XAF": "Франк КФА BEAC",
+ "CAD": "Канадский доллар",
+ "KYD": "Каймановский доллар",
+ "CLF": "Унидад де фоменто",
+ "CNY": "Юань жэньминьби",
+ "COP": "Колумбийское песо",
+ "KMF": "Коморский франк",
+ "CDF": "Конголезский франк",
+ "NZD": "Новозеландский доллар",
+ "CRC": "Коста-Риканский колон",
+ "CUP": "Кубинское песо",
+ "ANG": "Нидерландский антильский гульден",
+ "CZK": "Чешская крона",
+ "DKK": "Датская крона",
+ "DJF": "Джибутийский франк",
+ "DOP": "Доминиканское песо",
+ "EGP": "Египетский фунт",
+ "SVC": "Сальвадорский колон",
+ "ERN": "Накфа",
+ "SZL": "Лилангени",
+ "ETB": "Эфиопский быр",
+ "FKP": "Фунт Фолклендских островов",
+ "FJD": "Фиджийский доллар",
+ "XPF": "Франк КФП",
+ "GMD": "Даласи",
+ "GEL": "Лари",
+ "GHS": "Ганский седи",
+ "GIP": "Гибралтарский фунт",
+ "GTQ": "Кетсаль",
+ "GBP": "Фунт стерлингов",
+ "GNF": "Гвинейский франк",
+ "GYD": "Гайанский доллар",
+ "HTG": "Гурд",
+ "HNL": "Лемпира",
+ "HKD": "Гонконгский доллар",
+ "HUF": "Форинт",
+ "ISK": "Исландская крона",
+ "IDR": "Рупия",
+ "XDR": "СПЗ, специальные права заимствования",
+ "IQD": "Иракский динар",
+ "ILS": "Новый израильский шекель",
+ "JMD": "Ямайский доллар",
+ "JPY": "Иена",
+ "JOD": "Иорданский динар",
+ "KZT": "Тенге",
+ "KES": "Кенийский шиллинг",
+ "KPW": "Северокорейская вона",
+ "KRW": "Южнокорейская вона",
+ "KWD": "Кувейтский динар",
+ "KGS": "Сом",
+ "LAK": "Лаосский кип",
+ "LBP": "Ливанский фунт",
+ "LSL": "Лоти",
+ "ZAR": "Ранд",
+ "LRD": "Либерийский доллар",
+ "LYD": "Ливийский динар",
+ "MOP": "Патака",
+ "MGA": "Малагасийский ариари",
+ "MWK": "Малавийская квача",
+ "MYR": "Малайзийский ринггит",
+ "MVR": "Руфия",
+ "MRU": "Угия",
+ "MUR": "Маврикийская рупия",
+ "MXN": "Мексиканское песо",
+ "MDL": "Молдавский лей",
+ "MNT": "Тугрик",
+ "MAD": "Марокканский дирхам",
+ "MZN": "Мозамбикский метикал",
+ "MMK": "Кьят",
+ "NAD": "Намибийский доллар",
+ "NPR": "Непальская рупия",
+ "NIO": "Кордоба оро",
+ "NGN": "Найра",
+ "MKD": "Денар",
+ "OMR": "Оманский риал",
+ "PKR": "Пакистанская рупия",
+ "PAB": "Бальбоа",
+ "PGK": "Кина",
+ "PYG": "Гуарани",
+ "PEN": "Соль",
+ "PHP": "Филиппинское песо",
+ "PLN": "Злотый",
+ "QAR": "Катарский риал",
+ "RON": "Румынский лей",
+ "RUB": "Российский рубль",
+ "RWF": "Руандийский франк",
+ "SHP": "Фунт Святой Елены",
+ "WST": "Тала",
+ "STN": "Добра",
+ "SAR": "Саудовский риял",
+ "RSD": "Сербский динар",
+ "SCR": "Сейшельская рупия",
+ "SLE": "Леоне",
+ "SGD": "Сингапурский доллар",
+ "SBD": "Соломоновский доллар",
+ "SOS": "Сомалийский шиллинг",
+ "SSP": "Южносуданский фунт",
+ "LKR": "Шри-Ланкийская рупия",
+ "SDG": "Суданский фунт",
+ "SRD": "Суринамский доллар",
+ "SEK": "Шведская крона",
+ "SYP": "Сирийский фунт",
+ "TWD": "Новый тайваньский доллар",
+ "TJS": "Сомони",
+ "TZS": "Танзанийский шиллинг",
+ "THB": "Бат",
+ "TOP": "Паанга",
+ "TTD": "Доллар Тринидада и Тобаго",
+ "TND": "Тунисский динар",
+ "TMT": "Новый туркменский манат",
+ "TRY": "Турецкая лира",
+ "UGX": "Угандийский шиллинг",
+ "UAH": "Гривна",
+ "AED": "Дирхам ОАЭ",
+ "UYI": "Уругвайское песо в индексированных единицах",
+ "UZS": "Узбекский сум",
+ "VUV": "Вату",
+ "VED": "Боливар соберано",
+ "VND": "Вьетнамский донг",
+ "YER": "Йеменский риал",
+ "ZMW": "Замбийская квача",
+ "ZWG": "Зимбабвийский золотой",
+ "$BASED": "Based",
+ "$READ": "Reach DAO",
+ "$SNOW": "Snowflake",
+ "0XBTC": "0xBitcoin",
+ "10SET": "Tenset",
+ "1FLR": "Flare",
+ "1INCH": "1 Inch",
+ "1ST": "FirstBlood",
+ "AAVE": "Aave",
+ "ABAT": "Aave BAT",
+ "ABBC": "Abbc",
+ "ABT": "Arcblock",
+ "ABUSD": "Aave BUSD",
+ "AC3": "AC3",
+ "ACA": "Acala",
+ "ACT": "Achain",
+ "ADA": "Cardano",
+ "ADAI": "Aave DAI",
+ "ADB": "Adbank",
+ "ADX": "AdEx",
+ "AE": "Aeternity",
+ "AENJ": "Aave ENJ",
+ "AEON": "Aeon",
+ "AERGO": "Aergo",
+ "AETH": "Aave ETH",
+ "AGI": "SingularityNET",
+ "AIDOGE": "ArbDoge AI",
+ "AION": "Aion",
+ "AIT": "AICHAIN",
+ "AKNC": "Aave KNC",
+ "AKRO": "Akropolis",
+ "AKT": "Akash Network",
+ "ALCX": "Alchemix",
+ "ALEND": "Aave LEND",
+ "ALEPH": "Aleph.im",
+ "ALETH": "Alchemix ETH",
+ "ALGO": "Algorand",
+ "ALI": "Artificial Liquid Intelligence",
+ "ALINK": "Aave LINK",
+ "ALPHA": "Alpha Finance",
+ "ALUSD": "Alchemix USD",
+ "ALX": "ALAX",
+ "AMANA": "Aave MANA",
+ "AMB": "Ambrosus",
+ "AMKR": "Aave MKR",
+ "AMKT": "Alongside Crypto Market Index",
+ "AMLT": "AMLT",
+ "AMP": "Amp",
+ "AMPL": "Ampleforth",
+ "ANC": "Anchor Protocol",
+ "ANJ": "Aragon Court",
+ "ANKR": "Ankr",
+ "ANT": "Aragon",
+ "APE": "ApeCoin",
+ "APH": "Aphelion",
+ "APL": "Apollo Currency",
+ "APPC": "AppCoins",
+ "APT": "Aptos",
+ "APW": "APWine Finance",
+ "APY": "APY.Finance",
+ "AR": "Arweave",
+ "ARB": "Arbitrum",
+ "ARBS": "Arbswap",
+ "ARCHIVE": "Chainback",
+ "ARDR": "Ardor",
+ "AREN": "Aave REN",
+ "ARK": "Ark",
+ "ARKM": "Arkham",
+ "ARMOR": "Armor",
+ "ARN": "Aeron",
+ "ARO": "Arionum",
+ "ARRR": "Pirate Chain",
+ "ASM": "Assemble Protocol",
+ "ASNX": "Aave SNX",
+ "AST": "AirSwap",
+ "ASTRO": "Astroport.fi",
+ "ASUSD": "Aave SUSD",
+ "ATMI": "Atonomi",
+ "ATOM": "Cosmos",
+ "ATUSD": "Aave TUSD",
+ "AUC": "Auctus",
+ "AUDIO": "Audius",
+ "AURA": "Aura Protocol",
+ "AUSDC": "Aave USDC",
+ "AUSDT": "Aave USDT",
+ "AUTO": "Auto",
+ "AVAX": "Avalanche",
+ "AVINOC": "AVINOC",
+ "AWBTC": "Aave WBTC",
+ "AWC": "Atomic Wallet Coin",
+ "AWETH": "Aave WETH",
+ "AXP": "Axprire",
+ "AYFI": "Aave YFI",
+ "AZERO": "Aleph Zero",
+ "AZRX": "Aave ZRX",
+ "BABYDOGE": "Baby Doge Coin",
+ "BAC": "Basis Cash",
+ "BADGER": "Badger DAO",
+ "BAL": "Balancer",
+ "BAND": "Band Protocol",
+ "BAO": "Bao Finance",
+ "BAT": "Basic Attention Token",
+ "BAY": "BitBay",
+ "BBR": "BoolBerry",
+ "BCD": "Bitcoin Diamond",
+ "BCH": "Bitcoin Cash",
+ "BCHA": "Bitcoin Cash ABC",
+ "BCN": "Bytecoin",
+ "BCO": "BridgeCoin",
+ "BEL": "Bella Protocol",
+ "BETA": "Beta Finance",
+ "BF": "BitForex Token",
+ "BFC": "Bifrost",
+ "BGB": "Bitget Token",
+ "BICO": "Biconomy",
+ "BIFI": "Beefy.Finance",
+ "BIRB": "Birb",
+ "BIT": "BitDAO",
+ "BITCOIN": "HarryPotterObamaSonic10Inu",
+ "BIX": "Bibox Token",
+ "BLANK": "BlockWallet",
+ "BLD": "Agoric",
+ "BLK": "BlackCoin",
+ "BLOCK": "Blocknet",
+ "BLT": "Bloom",
+ "BLUE": "Blue Protocol",
+ "BLUR": "Blur",
+ "BLZ": "Bluzelle",
+ "BMDA": "Bermuda",
+ "BNB": "Binance Coin",
+ "BNC": "Bifrost Native Coin",
+ "BNT": "Bancor",
+ "BNX": "BynaryX",
+ "BOND": "Bondly",
+ "BONDLY": "Bondly",
+ "BORA": "BORA",
+ "BOTTO": "Botto",
+ "BOX": "ContentBox",
+ "BPT": "Blockport",
+ "BRD": "Bread",
+ "BRISE": "Bitgert",
+ "BROCK": "Bitrock",
+ "BSW": "Biswap",
+ "BTC": "Bitcoin",
+ "BTC++": "PieDAO BTC++",
+ "BTCD": "Bitcoin Dark",
+ "BTCP": "Bitcoin Private",
+ "BTG": "Bitcoin Gold",
+ "BTMX": "Bitmax Token",
+ "BTO": "Bottos",
+ "BTR": "Bitrue Coin",
+ "BTS": "BitShares",
+ "BTT": "BitTorrent",
+ "BTU": "BTU Protocol",
+ "BU": "BUMO",
+ "BUNNY": "Pancake Bunny",
+ "BUSD": "Binance USD",
+ "BWAJNA": "Bwajna",
+ "BWT": "Bittwatt",
+ "BZ": "BitZ Token",
+ "BZNT": "Bezant",
+ "BZRX": "bZx Protocol",
+ "C20": "CRYPTO20",
+ "C98": "Coin98",
+ "CAKE": "PancakeSwap",
+ "CANTO": "Canto",
+ "CAP": "Cap",
+ "CAPP": "Cappasity",
+ "CAR": "CarBlock",
+ "CARD": "Cardstack",
+ "CBAT": "Compound Basic Attention Token",
+ "CBETH": "Coinbase Wrapped Staked ETH",
+ "CBT": "CommerceBlock",
+ "CDAI": "cDAI",
+ "CDT": "Blox",
+ "CEEK": "CEEK VR",
+ "CEL": "Celsius Network",
+ "CELO": "Celo",
+ "CELR": "Celer Network",
+ "CENNZ": "CENNZnet",
+ "CET": "CoinEx",
+ "CETH": "cETH",
+ "CFG": "Centrifuge",
+ "CFX": "Conflux",
+ "CHAI": "Chai",
+ "CHAIN": "Chain Games",
+ "CHAT": "BeeChat",
+ "CHIA": "Chia",
+ "CHO": "Choise.com",
+ "CHR": "Chromia",
+ "CHSB": "SwissBorg",
+ "CHZ": "Chiliz",
+ "CIRUS": "Cirus",
+ "CKB": "Nervos Network",
+ "CLO": "Callisto Network",
+ "CLOAK": "Cloakcoin",
+ "CLOUT": "BitClout",
+ "CMT": "CyberMiles",
+ "CNC": "Conic",
+ "CND": "Cindicator",
+ "CNX": "Cryptonex",
+ "COC": "Coc",
+ "COCN": "Coca Network",
+ "COMAI": "Commune AI",
+ "COMP": "Compound Finance",
+ "CONI": "Coinbene Token",
+ "CORE": "Core",
+ "COSM": "Cosmo Coin",
+ "COTI": "COTI",
+ "COV": "Covesting",
+ "COVA": "Cova Unity",
+ "COVER": "Cover Protocol",
+ "CPC": "CPChain",
+ "CRD": "Crolend",
+ "CRE": "Crescent Network",
+ "CREAM": "Cream",
+ "CRED": "Verify",
+ "CREP": "cREP",
+ "CRO": "Crypto.com Coin",
+ "CRPT": "Crypterium",
+ "CRV": "Curve DAO Token",
+ "CRVUSD": "crvUSD",
+ "CS": "Credits",
+ "CSAI": "cSAI",
+ "CSC": "Casinocoin",
+ "CSPR": "Casper Network",
+ "CTC": "Creditcoin",
+ "CTSI": "Cartesi",
+ "CTXC": "Cortex",
+ "CUSDC": "cUSDC",
+ "CV": "carVertical",
+ "CVC": "Civic",
+ "CVP": "PowerPool",
+ "CVT": "CyberVeinToken",
+ "CVX": "Convex Finance",
+ "CWBTC": "cWBTC",
+ "CYBER": "CyberConnect",
+ "CZRX": "Compound 0x",
+ "D2": "D2 Finance",
+ "DADI": "Edge",
+ "DAFI": "DAFI Protocol",
+ "DAG": "Constellation",
+ "DAI": "Dai",
+ "DAO": "DAO Maker",
+ "DASH": "Dash",
+ "DAT": "Datum",
+ "DATA": "Streamr",
+ "DATX": "DATx",
+ "DBC": "DeepBrain Chain",
+ "DCK": "DexCheck AI",
+ "DCN": "Dentacoin",
+ "DCR": "Decred",
+ "DCT": "Decent",
+ "DDD": "Scry.info",
+ "DEL": "Decimal",
+ "DENT": "Dent",
+ "DEP": "Depth",
+ "DERI": "Deri Protocol",
+ "DESO": "Decentralized Social",
+ "DEXE": "DeXe",
+ "DF": "dForce",
+ "DFI": "DeFiChain",
+ "DFT": "DigiFinex Token",
+ "DFYN": "Dfyn Network",
+ "DGB": "DigiByte",
+ "DGD": "DigixDAO",
+ "DGTX": "Digitex Token",
+ "DHT": "dHEDGE DAO",
+ "DIA": "DIA",
+ "DINERO": "Dinerobet",
+ "DIVI": "Divi",
+ "DLT": "Agrello",
+ "DMT": "DMarket",
+ "DMTR": "Dimitra",
+ "DNT": "district0x",
+ "DOCK": "Dock",
+ "DODO": "DODO",
+ "DOGE": "Dogecoin",
+ "DOJO": "Dojo",
+ "DOME": "Everdome",
+ "DOR": "Dor",
+ "DOT": "Polkadot",
+ "DRGN": "Dragonchain",
+ "DROP": "Dropil",
+ "DTA": "DATA",
+ "DTR": "Dynamic Trading Rights",
+ "DTX": "Databroker",
+ "DVF": "DeversiFi",
+ "DXD": "DXdao",
+ "DXT": "Datawallet",
+ "DYDX": "dYdX",
+ "EDG": "Edgeless",
+ "EDO": "Eidoo",
+ "EDU": "Open Campus",
+ "EFI": "Efinity Token",
+ "EFX": "Effect.AI",
+ "EGLD": "Elrond",
+ "EGT": "Egretia",
+ "EKG": "Ekon Gold",
+ "EKT": "EDUCare",
+ "ELA": "Elastos",
+ "ELAN": "Elan",
+ "ELEC": "Electrify.Asia",
+ "ELF": "aelf",
+ "ELG": "Escoin",
+ "EMC": "Emercoin",
+ "EMC2": "Einsteinium",
+ "ENG": "Enigma",
+ "ENIX": "ASENIX",
+ "ENJ": "Enjin Coin",
+ "ENS": "Ethereum Name Service",
+ "ENTS": "Ents",
+ "EOS": "Binance-Peg EOS",
+ "EOSDAC": "eosDAC",
+ "EQB": "Equilibria Finance",
+ "ERG": "Ergo",
+ "ESD": "Empty Set Dollar",
+ "ESS": "Essentia",
+ "ETC": "Ethereum Classic",
+ "ETH": "Ethereum",
+ "ETHW": "EthereumPoW",
+ "ETN": "Electroneum",
+ "ETP": "Metaverse ETP",
+ "ETZ": "Ether Zero",
+ "EUROC": "Euro Coin",
+ "EVER": "Everscale",
+ "EVMOS": "Evmos",
+ "EVX": "Everex",
+ "EWT": "Energy Web Token",
+ "EXRN": "EXRNchain",
+ "EXY": "Experty",
+ "EZY": "EZZY Game",
+ "FAB": "Fabric",
+ "FAME": "Fame",
+ "FARM": "Farm",
+ "FCT": "Factom",
+ "FEED": "Feeder.finance",
+ "FEI": "Fei USD",
+ "FET": "Fetch.ai",
+ "FIDA": "Bonfida",
+ "FIDU": "Fidu",
+ "FIL": "Filecoin",
+ "FILDA": "Filda",
+ "FIS": "Stafi",
+ "FLASH": "Flashstake",
+ "FLEX": "FLEX Coin",
+ "FLOKI": "FLOKI",
+ "FLOW": "Flow",
+ "FLUX": "Flux",
+ "FNSA": "Finschia",
+ "FOAM": "Foam",
+ "FOLD": "Manifold Finance",
+ "FOTA": "Fortuna",
+ "FOX": "Shapeshift Token",
+ "FPI": "Frax Price Index",
+ "FPIS": "Frax Price Index Share",
+ "FRAX": "Frax",
+ "FRM": "Ferrum Network",
+ "FRONT": "Frontier",
+ "FRXETH": "Frax Ether",
+ "FSN": "Fusion",
+ "FST": "Futureswap",
+ "FT": "FToken",
+ "FTC": "Feathercoin",
+ "FTM": "Fantom",
+ "FTT": "FTX Token",
+ "FUEL": "Etherparty",
+ "FUN": "FUNToken",
+ "FX": "Function X",
+ "FXC": "Flexacoin",
+ "FXS": "Frax Share",
+ "FXT": "FuzeX",
+ "GAL": "Galxe",
+ "GALA": "Gala",
+ "GAMMA": "Gamma Strategies",
+ "GB": "Goldbank",
+ "GDC": "Global Digital Token",
+ "GEM": "Gems",
+ "GEN": "DAOstack",
+ "GIV": "Giveth",
+ "GLMR": "Moonbeam",
+ "GMEE": "GAMEE",
+ "GMT": "Gomining Token",
+ "GMX": "GMX",
+ "GNO": "Gnosis",
+ "GNS": "Gains Network",
+ "GNT": "Golem",
+ "GNX": "Genaro Network",
+ "GO": "GoChain",
+ "GOC": "GoCrypto",
+ "GOT": "GoNetwork",
+ "GOVI": "CVI",
+ "GRAIL": "Camelot Token",
+ "GRIN": "Grin",
+ "GROW": "Grow",
+ "GRP": "Grape",
+ "GRS": "Groestlcoin",
+ "GRT": "The Graph",
+ "GSC": "Global Social Chain",
+ "GSWAP": "Gameswap",
+ "GT": "GateToken",
+ "GTAI": "GT Protocol",
+ "GTC": "Gitcoin",
+ "GTO": "Gifto",
+ "GUSD": "Gemini Dollar",
+ "GVT": "Genesis Vision",
+ "GXS": "GXShares",
+ "GYEN": "GYEN",
+ "HAIR": "Hair DAO",
+ "HAKKA": "Hakka Finance",
+ "HAN": "HanChain",
+ "HANEP": "HANeP",
+ "HBAR": "Hedera Hashgraph",
+ "HC": "HyperCash",
+ "HEDG": "HedgeTrade",
+ "HEGIC": "Hegic",
+ "HER": "HeroNode",
+ "HEX": "HEX",
+ "HFT": "Hashflow",
+ "HIGH": "Highstreet",
+ "HIVE": "Hive",
+ "HNT": "Helium",
+ "HOT": "Holo",
+ "HPB": "High Performance Blockchain",
+ "HT": "Huobi Token",
+ "HUM": "Humanscape",
+ "HUSD": "HUSD",
+ "HVN": "Hiveterminal token",
+ "HXRO": "Hxro",
+ "HYDRO": "Hydro",
+ "HYN": "Hyperion",
+ "HZN": "Horizon Protocol",
+ "ICE": "Popsicle Finance",
+ "ICN": "Iconomi",
+ "ICP": "Internet Computer",
+ "ICX": "ICON",
+ "ID": "SPACE ID",
+ "IDAI": "Instadapp DAI",
+ "IDEX": "IDEX",
+ "IETH": "Indigo Protocol",
+ "IFARM": "iFARM",
+ "IGNIS": "Ignis",
+ "IKNC": "Kyber Network Crystal Legacy",
+ "ILINK": "iLINK",
+ "ILV": "Illuvium",
+ "IMX": "ImmutableX",
+ "INB": "Insight Chain",
+ "INJ": "Injective",
+ "INSTAR": "Insights Network",
+ "IOST": "IOST",
+ "IOTA": "IOTA",
+ "IOTX": "IoTeX",
+ "IQ": "IQ",
+ "IREP": "Fulcrum REP iToken",
+ "IRIS": "IRISnet",
+ "ISAI": "Fulcrum SAI",
+ "IST": "Inter Stable Token",
+ "ISUSD": "lisUSD",
+ "IUSDC": "Instadapp USDC",
+ "IWBTC": "Instadapp WBTC",
+ "IXT": "IX",
+ "IZRX": "Fulcrum ZRX iToken",
+ "JNT": "Jibrel Network",
+ "JST": "Jarvis Network",
+ "JTO": "Jito",
+ "JUNO": "Juno",
+ "KAS": "Kaspa",
+ "KAVA": "Kava.io",
+ "KCS": "KuCoin Token",
+ "KDA": "Kadena",
+ "KEEP": "Keep Network",
+ "KEY": "Selfkey",
+ "KICK": "KickToken",
+ "KIN": "Kin",
+ "KIRA": "KIRA",
+ "KIRO": "Kiro",
+ "KIWI": "KIWI TOKEN",
+ "KLAY": "Klaytn",
+ "KLV": "Klever",
+ "KMD": "Komodo",
+ "KNC": "Kyber Network",
+ "KSM": "Kusama",
+ "KTN": "Kostren Finance",
+ "KUB": "Bitkub Coin",
+ "KUJI": "Kujira",
+ "LAMB": "Lambda",
+ "LAND": "Landbox",
+ "LBA": "Libra Token",
+ "LCX": "LCX",
+ "LDO": "Lido DAO",
+ "LEND": "Aave",
+ "LEO": "LEO Token",
+ "LIEN": "Lien",
+ "LINK": "Chainlink",
+ "LIT": "Litentry",
+ "LKY": "Valkyrie Network",
+ "LN": "Link",
+ "LODE": "Lodestar",
+ "LON": "Tokenlon",
+ "LOOKS": "LooksRare",
+ "LOOM": "Loom Network",
+ "LPF": "Loopfi",
+ "LPT": "Livepeer",
+ "LQD": "Liquid Network",
+ "LQTY": "Liquity",
+ "LRC": "Loopring",
+ "LSK": "Lisk",
+ "LTC": "Litecoin",
+ "LTO": "LTO Network",
+ "LUCA": "LUCA",
+ "LUN": "Lunyr",
+ "LUNA": "Terra",
+ "LUSD": "Liquity USD",
+ "LXT": "LITEX",
+ "LYM": "Lympo",
+ "MAGIC": "Magic",
+ "MAHA": "MahaDAO",
+ "MAID": "MaidSafeCoin",
+ "MAN": "Matrix AI Network",
+ "MANA": "Decentraland",
+ "MANTA": "Manta Network",
+ "MASK": "Mask Network",
+ "MATH": "MATH",
+ "MATIC": "Polygon",
+ "MATTER": "AntiMatter",
+ "MAV": "Maverick Protocol",
+ "MBC": "Marblecoin",
+ "MBOX": "Mobox",
+ "MC": "Merit Circle",
+ "MCO": "MCO",
+ "MCX": "Machi X",
+ "MDA": "Moeda Loyalty Points",
+ "MDAO": "MarsDAO",
+ "MDS": "MediShares",
+ "MED": "MediBloc",
+ "MEDX": "MediBlocX",
+ "MEME": "Memecoin",
+ "MET": "Metronome",
+ "METANO": "Metano",
+ "METIS": "Metis",
+ "MEX": "Maiar DEX",
+ "MFG": "SyncFab",
+ "MFT": "Hifi Finance",
+ "MIM": "Magic Internet Money",
+ "MIMATIC": "MAI",
+ "MIR": "Mirror Protocol",
+ "MITH": "Mithril",
+ "MKR": "Maker",
+ "MLN": "Melon",
+ "MNGO": "Mango",
+ "MNTL": "AssetMantle",
+ "MNW": "Morpheus Network",
+ "MOCHI": "Mochi",
+ "MOD": "Modum",
+ "MOM": "Mom",
+ "MOONS": "r/CryptoCurrency Moons",
+ "MOT": "Olympus Labs",
+ "MPL": "Maple",
+ "MTA": "Meta",
+ "MTH": "Monetha",
+ "MTL": "Metal",
+ "MTN": "Medicalchain",
+ "MURA": "Murasaki",
+ "MVC": "Maverick Chain",
+ "MVL": "MVL",
+ "MVP": "Merculet",
+ "MWAT": "Restart Energy",
+ "MWC": "MimbleWimbleCoin",
+ "MXM": "Maximine Coin",
+ "MYB": "MyBit",
+ "NANO": "Nano",
+ "NAS": "Nebulas",
+ "NAV": "Navcoin",
+ "NCASH": "Nucleus Vision",
+ "NCT": "PolySwarm",
+ "NEAR": "NEAR Protocol",
+ "NEBL": "Neblio",
+ "NEC": "Nectar",
+ "NEO": "Neo",
+ "NEOX": "Neoxa",
+ "NEST": "Nest Protocol",
+ "NEW": "Newton",
+ "NEX": "Nexo",
+ "NEXUS": "Nexus Pro",
+ "NEXXO": "Nexxo",
+ "NFT": "APENFT",
+ "NFTB": "NFTb",
+ "NGC": "NAGA",
+ "NIOX": "Autonio",
+ "NKN": "NKN",
+ "NLG": "Gulden",
+ "NMR": "Numeraire",
+ "NOIA": "Syntropy",
+ "NOS": "Nosana",
+ "NPER": "Perpetuals",
+ "NPXS": "Pundi X",
+ "NRG": "Energi",
+ "NRV": "Nerve Finance",
+ "NRVE": "Narrative",
+ "NTIC": "Entice",
+ "NTL": "Nautilus Network",
+ "NTRN": "Neutron",
+ "NU": "NuCypher",
+ "NULS": "Nuls",
+ "NXM": "Nexus Mutual",
+ "NXRA": "AllianceBlock Nexera",
+ "NXS": "Nexus",
+ "NXT": "Nxt",
+ "OAX": "OAX",
+ "OCEAN": "Ocean Protocol",
+ "OCN": "Odyssey",
+ "ODE": "ODEM",
+ "OGN": "Origin Protocol",
+ "OHM": "Olympus",
+ "OIL": "Oiler",
+ "OKB": "OKB",
+ "OKS": "Oikos",
+ "OLT": "OneLedger",
+ "OMG": "OMG Network",
+ "ONDO": "Ondo",
+ "ONE": "Harmony",
+ "ONION": "DeepOnion",
+ "ONT": "Ontology",
+ "OP": "Optimism",
+ "OPEN": "Open Platform",
+ "OPIUM": "Opium",
+ "OPUL": "Opulous",
+ "OPX": "OPX Finance",
+ "ORAI": "Oraichain",
+ "ORBS": "Orbs",
+ "ORC": "Orbit Chain",
+ "ORN": "Orion Protocol",
+ "OSMO": "Osmosis",
+ "OST": "OST",
+ "OVC": "OVCODE",
+ "OX": "Open Exchange Token",
+ "OXT": "Orchid Protocol",
+ "PAI": "Project Pai",
+ "PAINT": "MurAll",
+ "PAL": "PAL Network",
+ "PALM": "PalmSwap",
+ "PAPER": "Dope Wars Paper",
+ "PAR": "Parallel",
+ "PART": "Particl",
+ "PASG": "Passage",
+ "PAX": "Paxos",
+ "PAXG": "PAX Gold",
+ "PAY": "TenX",
+ "PBIRB": "Parrotly",
+ "PBR": "PolkaBridge",
+ "PENDLE": "Pendle",
+ "PEPE": "Pepe",
+ "PERL": "PERL.eco",
+ "PERP": "Perpetual Protocol",
+ "PHA": "Phala Network",
+ "PHTK": "Phun Token",
+ "PHX": "Phoenix Finance",
+ "PICKLE": "Pickle Finance",
+ "PIKA": "Pika Protocol",
+ "PIP": "Pip",
+ "PIVX": "PIVX",
+ "PLUSDC": "plUSDC",
+ "PLA": "PlayDapp",
+ "PLAY": "HEROcoin",
+ "PLDAI": "Pool Dai",
+ "PLR": "Pillar",
+ "PLTC": "PlatonCoin",
+ "PNB": "Pink BNB",
+ "PNG": "Pangolin",
+ "PNK": "Kleros",
+ "PNT": "pNetwork",
+ "POA": "POA Network",
+ "POE": "Po.et",
+ "POKT": "Pocket Network",
+ "POLS": "Polkastarter",
+ "POLY": "POLY Maximus",
+ "POLYX": "Polymesh",
+ "POM": "Proof of Memes",
+ "POND": "Marlin",
+ "POOL": "PoolTogether",
+ "POP": "Popcorn",
+ "POWR": "Power Ledger",
+ "PPAY": "Plasma Finance",
+ "PPC": "Peercoin",
+ "PPP": "PayPie",
+ "PPT": "Populous",
+ "PRE": "Presearch",
+ "PREMIA": "Premia",
+ "PRIME": "Echelon Prime",
+ "PRL": "Oyster",
+ "PRO": "Propy",
+ "PROM": "Prom",
+ "PROS": "Prosper",
+ "PRQ": "Parsiq",
+ "PSP": "ParaSwap",
+ "PST": "Primas",
+ "PXP": "PointPay",
+ "PYR": "Vulcan Forged",
+ "PYTH": "Pyth Network",
+ "QASH": "QASH",
+ "QBIT": "Qubitica",
+ "QI": "QiSwap",
+ "QKC": "QuarkChain",
+ "QLC": "QLC Chain",
+ "QNT": "Quant",
+ "QRDO": "Qredo",
+ "QSP": "Quantstamp",
+ "QTCON": "Quiztok",
+ "QTUM": "Qtum",
+ "QUICK": "Quickswap",
+ "RACA": "Radio Caca",
+ "RAE": "Receive Access Ecosystem",
+ "RAI": "Rai Reflex Index",
+ "RARI": "Rarible",
+ "RAY": "Raydium",
+ "RBN": "Ribbon Finance",
+ "RBX": "RabbitX",
+ "RCN": "Ripio Credit Network",
+ "RDAI": "Rari DAI",
+ "RDD": "Reddcoin",
+ "RDN": "Raiden Network Token",
+ "RDNT": "Radiant Capital",
+ "REN": "Ren",
+ "REP": "Augur",
+ "REQ": "Request",
+ "RETH": "StaFi Staked ETH",
+ "REV": "Revain",
+ "RFOX": "RedFox Labs",
+ "RGT": "Rari Governance Token",
+ "RIF": "RSK Infrastructure Framework",
+ "RLC": "iExec RLC",
+ "RLY": "Rally",
+ "RNDR": "Render",
+ "ROOK": "KeeperDAO",
+ "ROSE": "Oasis Network",
+ "RPL": "Rocket Pool",
+ "RSR": "Reserve Rights Token",
+ "RSV": "Reserve",
+ "RUNE": "THORChain",
+ "RVN": "Ravencoin",
+ "S": "Sharpay",
+ "SAI": "Sai",
+ "SALT": "Salt",
+ "SAN": "Santiment Network Token",
+ "SAND": "The Sandbox",
+ "SAPP": "Sapphire",
+ "SCRT": "Secret",
+ "SCS": "Solcasino Token",
+ "SDEX": "SmarDex",
+ "SDL": "Saddle",
+ "SDT": "Stake DAO",
+ "SEELE": "Seele",
+ "SEFI": "Secret Finance",
+ "SEI": "Sei",
+ "SEM": "Semux",
+ "SETH": "sETH",
+ "SETH2": "sETH2",
+ "SFI": "Saffron Finance",
+ "SFM": "SafeMoon",
+ "SFP": "Safe Pal",
+ "SHA": "Safe Haven",
+ "SHIB": "Shiba Inu",
+ "SHR": "ShareToken",
+ "SHUF": "Shuffle Monster",
+ "SI": "Siren",
+ "SIA": "Siacoin",
+ "SIDUS": "Sidus",
+ "SILO": "Silo Finance",
+ "SKL": "Skale",
+ "SKY": "Skycoin",
+ "SLD": "Shield",
+ "SLEX": "SLEX Token",
+ "SLP": "Smooth Love Potion",
+ "SLT": "Smartlands Token",
+ "SMART": "SmartCash",
+ "SNAIL": "SnailBrook",
+ "SNC": "SunContract",
+ "SNGLS": "SingularDTV",
+ "SNM": "SONM",
+ "SNT": "Status",
+ "SNX": "Synthetix Network Token",
+ "SOAPS": "Soaps Tech",
+ "SOCKS": "Unisocks",
+ "SOFI": "Sofi",
+ "SOL": "Solana",
+ "SOUL": "Phantasma",
+ "SOV": "Sovryn",
+ "SPANK": "SpankChain",
+ "SPIKE": "Spiking",
+ "SPN": "Sapien",
+ "SQR": "Magic Square",
+ "SRM": "Serum",
+ "SSV": "SSV Network",
+ "STAKE": "xDAI Stake",
+ "STEEM": "Steem",
+ "STEP": "Step Finance",
+ "STETH": "Lido Staked Ether",
+ "STG": "Startgate Finance",
+ "STMX": "StormX",
+ "STORJ": "StorJ",
+ "STORM": "Storm Token",
+ "STPT": "Standard Tokenization Protocol",
+ "STRAT": "Stratis",
+ "STRDY": "Sturdy",
+ "STRK": "Strike",
+ "STRX": "StrikeX",
+ "STX": "Stacks",
+ "STZ": "Starz",
+ "SUB": "Substratum",
+ "SUI": "Sui",
+ "SUN": "Sun Token",
+ "SUPER": "SuperFarm",
+ "SUSD": "sUSD",
+ "SUSHI": "Sushi",
+ "SUTER": "Suterusu",
+ "SWAP": "Trustswap",
+ "SWEAT": "Sweatcoin",
+ "SWETH": "Swell Ethereum",
+ "SWTH": "Switcheo",
+ "SXDT": "Spectre.ai",
+ "SXP": "Swipe",
+ "SYN": "Synapse",
+ "SYS": "Syscoin",
+ "T": "Threshold Network",
+ "TBTC": "tBTC",
+ "TCT": "TokenClub",
+ "TEL": "Telcoin",
+ "TET": "Tectum",
+ "TFUEL": "Theta Fuel",
+ "THALES": "Thales",
+ "THC": "Hempcoin",
+ "THEDAO": "TheDAO",
+ "THETA": "Theta Network",
+ "THR": "Thorecoin",
+ "TIA": "Celestia",
+ "TIO": "Trade Token",
+ "TITAN": "TitanSwap",
+ "TKN": "Monolith",
+ "TKO": "Tokocrypto",
+ "TKY": "TheKey",
+ "TNB": "Time New Bank",
+ "TNC": "Trinity Network Credit",
+ "TNT": "Tierion",
+ "TOKEN": "TokenFi",
+ "TOMI": "tomiNet",
+ "TOMO": "TomoChain",
+ "TON": "Ton Network",
+ "TORN": "Tornado Cash",
+ "TOWER": "Tower",
+ "TPAY": "TokenPay",
+ "TRAC": "OriginTrail",
+ "TRB": "Tellor",
+ "TRIBE": "Tribe",
+ "TRIG": "Trigger",
+ "TRTL": "TurtleCoin",
+ "TRU": "TrueFi",
+ "TRX": "TRON",
+ "TRYB": "BiLira",
+ "TUBE": "BitTube",
+ "TUSD": "TrueUSD",
+ "TWT": "Trust Wallet Token",
+ "TYZEN": "Tyzen",
+ "UBI": "Universal Basic Income",
+ "UBQ": "Ubiq",
+ "UBT": "Unibright",
+ "UFT": "UniLend Finance",
+ "ULT": "Shardus",
+ "UMA": "UMA",
+ "UNCX": "UniCrypt",
+ "UNFI": "Unifi Protocol DAO",
+ "UNI": "Uniswap",
+ "UNIBOT": "Unibot",
+ "UNIQO": "Uniqo",
+ "UNN": "UNION Protocol Governance Token",
+ "UOS": "Ultra",
+ "UPP": "Sentinel Protocol",
+ "USDC": "USD Coin",
+ "USDD": "USDD",
+ "USDN": "Neutrino USD",
+ "USDP": "Pax Dollar",
+ "USDS": "Stably USD",
+ "USDT": "Tether",
+ "USX": "dForce USD",
+ "UTK": "Utrust",
+ "UUU": "U Network",
+ "UXP": "UXD Protocol",
+ "VAI": "Vaiot",
+ "VALUE": "Value DeFi",
+ "VELO": "Velodrome",
+ "VERI": "Veritaseum",
+ "VEST": "VestChain",
+ "VET": "VeChain",
+ "VGX": "Voyager Token",
+ "VIA": "Viacoin",
+ "VIB": "Viberate",
+ "VIBE": "VIBE",
+ "VIDT": "VIDT DAO",
+ "VIKKY": "VikkyToken",
+ "VIN": "VINchain",
+ "VINA": "Vicuna",
+ "VITA": "VitaDAO",
+ "VITE": "Vite",
+ "VIU": "Viuly",
+ "VLX": "Velax",
+ "VRS": "Veros",
+ "VS": "veSync",
+ "VSP": "Vesper Finance",
+ "VSYS": "V.System",
+ "VTC": "Vertcoin",
+ "VVS": "VVS Finance",
+ "WABI": "Wabi",
+ "WAGMIGAMES": "WAGMI Games",
+ "WAN": "Wanchain",
+ "WARP": "Warp Finance",
+ "WASSIE": "Wassie",
+ "WAVES": "Waves",
+ "WBTC": "Wrapped Bitcoin",
+ "WCK": "Wrapped basic CryptoKitties",
+ "WCT": "Waves Community Token",
+ "WECO": "WECOIN",
+ "WEMIX": "WEMIX",
+ "WETH": "Wrapped Ether",
+ "WEXPOLY": "WaultSwap Polygon",
+ "WHALE": "Whale",
+ "WIB": "Wibson",
+ "WILD": "Widler World",
+ "WIN": "WINkLink",
+ "WING": "Wing Finance",
+ "WINGS": "Wings",
+ "WLD": "Worldcoin",
+ "WMT": "World Mobile Token",
+ "WOO": "WOO Network",
+ "WOPENX": "wOpenX",
+ "WPR": "WePower",
+ "WRX": "WazirX",
+ "WSTETH": "Wrapped stETH",
+ "WTC": "Waltonchain",
+ "WXT": "Wirex",
+ "X2Y2": "X2Y2",
+ "XAI": "XAI Stablecoin",
+ "XAS": "Asch",
+ "XAUT": "Tether Gold",
+ "XCH": "Chia",
+ "XCHF": "CryptoFranc",
+ "XCM": "Coinmetro",
+ "XCN": "Chain",
+ "XDC": "XDC Network",
+ "XEC": "eCash",
+ "XEM": "NEM",
+ "XHV": "Haven",
+ "XIDO": "Xido Finance",
+ "XIN": "Mixin",
+ "XLM": "Stellar",
+ "XLN": "LunaOne",
+ "XMARK": "xMARK",
+ "XMR": "Monero",
+ "XMT": "MetalSwap",
+ "XMX": "XMax",
+ "XNK": "Ink Protocol",
+ "XNO": "Nano",
+ "XOR": "Sora",
+ "XPR": "Proton",
+ "XPRT": "Persistence",
+ "XRD": "Radix",
+ "XRGB": "XRGB",
+ "XRP": "Ripple",
+ "XSN": "Stakenet",
+ "XSR": "Xensor",
+ "XTZ": "Tezos",
+ "XVG": "Verge",
+ "XYM": "Symbol",
+ "XYO": "XYO Network",
+ "YFI": "yearn.finance",
+ "YFII": "DFI.money",
+ "YLD": "Yield App",
+ "YOYO": "YOYOW",
+ "ZAI": "Zero Collateral Dai",
+ "ZB": "ZB Token",
+ "ZCO": "Zebi",
+ "ZEC": "Zcash",
+ "ZEN": "Horizen",
+ "ZEPH": "Zephyr Protocol",
+ "ZIL": "Zilliqa",
+ "ZKS": "ZKSwap",
+ "ZKSP": "zkSwap",
+ "ZPAY": "ZoidPay",
+ "ZRX": "0x Protocol",
+ "ZUSD": "ZUSD"
+}
\ No newline at end of file
diff --git a/core/presentation/src/main/java/dev/arkbuilders/rate/core/presentation/utils/DateFormatUtils.kt b/core/presentation/src/main/java/dev/arkbuilders/rate/core/presentation/utils/DateFormatUtils.kt
index 7f88c5ac0..3e046bba0 100644
--- a/core/presentation/src/main/java/dev/arkbuilders/rate/core/presentation/utils/DateFormatUtils.kt
+++ b/core/presentation/src/main/java/dev/arkbuilders/rate/core/presentation/utils/DateFormatUtils.kt
@@ -5,10 +5,9 @@ import dev.arkbuilders.rate.core.presentation.R
import java.time.Duration
import java.time.OffsetDateTime
import java.time.format.DateTimeFormatter
-import java.util.Locale
object DateFormatUtils {
- fun latestCheckElapsedTime(
+ fun formatElapsedTime(
ctx: Context,
now: OffsetDateTime,
date: OffsetDateTime,
@@ -49,23 +48,23 @@ object DateFormatUtils {
)
}
- fun latestCheckTime(date: OffsetDateTime): String {
+ fun formatFullDateTime(date: OffsetDateTime): String {
val format =
DateTimeFormatter
- .ofPattern("hh:mm a, dd MMM yyyy", Locale.ENGLISH)
+ .ofPattern("hh:mm a, dd MMM yyyy")
return format.format(date)
}
- fun calculatedOn(date: OffsetDateTime): String {
+ fun formatDateOnly(date: OffsetDateTime): String {
val format =
DateTimeFormatter
- .ofPattern("dd MMM yyyy", Locale.ENGLISH)
+ .ofPattern("dd MMM yyyy")
return format.format(date)
}
fun notifiedOn(date: OffsetDateTime): String {
val format =
- DateTimeFormatter.ofPattern("MMM dd - hh:mm a", Locale.ENGLISH)
+ DateTimeFormatter.ofPattern("MMM dd - hh:mm a")
return format.format(date)
}
}
diff --git a/core/presentation/src/main/res/values-ru/strings.xml b/core/presentation/src/main/res/values-ru/strings.xml
new file mode 100644
index 000000000..cb04e8cfb
--- /dev/null
+++ b/core/presentation/src/main/res/values-ru/strings.xml
@@ -0,0 +1,186 @@
+
+
+ Конвертер валют
+ Конвертер валют [Отладка]
+
+ Рыночная капитализация
+ Общая рыночная стоимость криптовалюты, находящейся в обращении. Это аналог капитализации акций в свободном обращении на фондовом рынке.\n\nКапитализация = Текущая цена х Денежная масса в обращении.
+ Валюта, находящаяся в обращении
+ Валюта, находящаяся в обращении — это количество наличных денег, в форме бумажных купюр или монет, внутри страны, которые физически используются для проведения транзакций между потребителями и бизнесами.
+
+ Портфели
+ Оповещения
+ Быстрые
+ Настройки
+
+ Готово к расчету!
+ Выберите валюты и введите сумму для начала конвертации. Результаты обмена появятся здесь.
+ Добавить новый расчет
+ Редактировать пару
+ Последнее обновление %1$s назад
+ Обновлено только что
+ Расчеты
+ Закрепленные расчеты
+ Рассчитано %1$s назад
+ Рассчитано на %1$s
+ Рассчитано только что
+ Новый расчет создан
+ "Вы добавили расчет %1$s "
+ Расчет удален
+ Вы удалили расчет %1$s
+ %1$s в %2$s
+ Открыть приложение
+ Из
+ В
+
+
+ Детали актива
+ Ваш портфель пуст
+ Добавьте валюты вручную для отслеживания и сравнения. Ваш портфель помогает отслеживать и управлять вашими любимыми или часто используемыми валютами.
+ Новые активы
+ Портфель по умолчанию
+ Всего активов
+ Добавить новые активы
+ Новый актив
+ Новый портфель
+ Создать портфель
+ Пожалуйста, введите имя для этого портфеля.
+ Имя портфеля
+ например, Портфель 1
+ Новый актив добавлен
+ Вы добавили %1$s в свой портфель
+ Актив удален
+ Вы удалили %1$s из своего портфеля
+
+
+ Оповещения
+ Редактировать оповещение
+ Уведомлено на %1$s
+ На данный момент оповещений нет
+ Оставайтесь в курсе! Мы опубликуем здесь любые важные уведомления или изменения в обменных курсах.
+ Новое оповещение
+ Приложению требуется разрешение на отправку уведомлений c оповещениями по парам.
+ Оповещение для %1$s создано
+ Вы получите уведомление, когда цена %1$s будет %2$s %3$s %4$s
+ Оповещение для %1$s удалено
+ Вы удалили оповещение для %1$s к %2$s
+ Добавить новое оповещение
+ Создать оповещение
+ Текущая цена = %1$s
+
+ Быстрые/Портфель/Оповещения
+ "%1$s назад · "
+ Последнее обновление курсов
+ Последняя проверка оповещений
+
+ Валюта уже выбрана
+ Пожалуйста, выберите другую валюту. Одинаковые валюты не могут быть использованы вместе.
+
+ Создать папку
+ Пожалуйста, введите имя для этой папки.
+ Имя папки
+ например, Папка 1
+ По умолчанию
+ Новая папка
+
+ Отчеты о сбоях
+ Все валюты
+
+ Упс! Что-то пошло не так
+
+
+ https://www.ark-builders.dev/apps/rate/privacy-policy
+ Политика конфиденциальности
+
+ Добавить
+ Закрыть
+ Развернуть
+ Свернуть
+ Назад
+
+ Начать
+ Далее
+ Пропустить
+ Хорошо
+ Закончить
+ Рассчитать
+ Добавить папку
+ Сохранить
+ Введите значение
+ Результат
+ Новая валюта
+ Сменить базовую валюту
+ Рыночная капитализация
+ Н/Д
+ Валюта, находящаяся в обращении
+ выше
+ ниже
+ Выше
+ Ниже
+ По цене
+ По проценту
+ Когда
+ цена
+ "каждый "
+ Каждый
+ Однократно
+ Повторяющийся
+ Подтвердить
+ Отмена
+ Нет результата
+ Поиск
+ Копировать
+
+
+ О приложении
+ Оповещение о цене ARK Rate
+ %1$s сейчас %2$s %3$s %4$s
+ Собирать аналитику
+ Поиск валюты
+ Отменить
+ Часто используемые валюты
+ Топ результатов
+ Открепить
+ Закрепить
+ Удалить
+ Повторно использовать
+ Редактировать
+ Параметры
+ Упс, время запроса истекло!
+ Пожалуйста, проверьте ваше соединение и обновите страницу, чтобы попробовать снова.
+ Обновить
+ Онлайн
+ Ваше соединение восстановлено.
+ Офлайн
+ Ваша сеть офлайн.
+ Редактировать папку
+ Переименовать папку
+ Редактировать папку \"%1$s\"
+ Переименовать
+ Папки
+
+ Добро пожаловать в ARK Rate!
+ Простая мультивалютная конвертация
+ Легко и мгновенно конвертируйте одну валюту в несколько других.
+ Оставайтесь впереди с закрепленными курсами обмена
+ Следите за наиболее часто используемыми валютными парами для быстрых и удобных конвертаций.
+ Отслеживайте свой портфель в режиме реального времени
+ Получайте информацию об изменениях общего объема ваших активов и стоимости валюты в одном месте.
+
+ Запустите быстрый расчёт
+ Конвертируйте любую валюту в одну или несколько валют одновременно. Сохраните результат, чтобы вспомнить его позже.
+ Следите за своими активами
+ Используйте функцию Портфелей, чтобы добавить свои активы на всех кошельках и картах.
+ Оповещения позволят вам узнать об изменениях цен
+ Чтобы настроить оповещения, нажмите на меню “Оповещения”.
+
+ Проведите пальцем по расчёту вправо, чтобы закрепить
+ Закрепленные расчёты обновляются каждый день!
+ Проведите пальцем по расчёту влево, чтобы удалить
+ Быстро удалите расчёт, проведя пальцем влево.
+ Проведите пальцем по закрепленному расчёту вправо, чтобы открепить
+ Открепите расчёт, чтобы переместить его в историю расчётов.
+ Контекстное меню расчёта
+ Нажмите, чтобы открыть полное меню.
+
+
diff --git a/core/presentation/src/main/res/values-ru/time_plurals.xml b/core/presentation/src/main/res/values-ru/time_plurals.xml
new file mode 100644
index 000000000..1206b70d8
--- /dev/null
+++ b/core/presentation/src/main/res/values-ru/time_plurals.xml
@@ -0,0 +1,30 @@
+
+
+
+ - %d секунду
+ - %d секунды
+ - %d секунд
+ - %d секунд
+
+
+
+ - %d минуту
+ - %d минуты
+ - %d минут
+ - %d минут
+
+
+
+ - %d час
+ - %d часа
+ - %d часов
+ - %d часов
+
+
+
+ - %d день
+ - %d дня
+ - %d дней
+ - %d дней
+
+
diff --git a/core/presentation/src/main/res/values/strings.xml b/core/presentation/src/main/res/values/strings.xml
index 3df764c26..bd94ec9d6 100644
--- a/core/presentation/src/main/res/values/strings.xml
+++ b/core/presentation/src/main/res/values/strings.xml
@@ -16,10 +16,13 @@
Select your currencies and enter an amount to start converting. Your exchange results will appear here.
Add new calculation
Edit pair
- Last refreshed %1$s ago
+ Last refreshed %1$s ago
+ Updated just now
Calculations
Pinned calculations
+ Calculated %1$s ago
Calculated on %1$s
+ Calculated just now
New calculation has been created
"You added %1$s calculation "
The calculation has been deleted
@@ -129,29 +132,6 @@
About
- Download QR Image
- Wallet copied!
- support@ark-builders.dev
- "Send us the transaction id by email "
- " to receive premium support. We’ll make our best to help you with any issue you encounter while using our Software."
- bc1qx8n9r4uwpgrhgnamt2uew53lmrxd8tuevp7lv5
- 0x9765C5aC38175BFbd2dC7a840b63e50762B80a1b
- Donate using Ethereum
- Donate using Bitcoin
- https://www.ark-builders.dev/
- https://t.me/ark_builders
- https://www.ark-builders.dev/contribute/?tab=goodFirstIssue
- https://buymeacoffee.com/arkbuilders
- https://www.patreon.com/ARKBuilders
- https://discord.gg/tPUJTxud
- Discover issues to work on
- See open bounties
- Buy us a coffee
- Donate on Patreon
- Donate using ETH
- Donate using BTC
- We greatly appreciate every bit of support!
- Support us
ARK Rate Price Alert
%1$s is now %2$s %3$s %4$s
Collect analytics
diff --git a/feature/onboarding/src/main/java/dev/arkbuilders/rate/feature/onboarding/quickpair/OnboardingQuickPairScreen.kt b/feature/onboarding/src/main/java/dev/arkbuilders/rate/feature/onboarding/quickpair/OnboardingQuickPairScreen.kt
index 879f2aaca..16cba9a68 100644
--- a/feature/onboarding/src/main/java/dev/arkbuilders/rate/feature/onboarding/quickpair/OnboardingQuickPairScreen.kt
+++ b/feature/onboarding/src/main/java/dev/arkbuilders/rate/feature/onboarding/quickpair/OnboardingQuickPairScreen.kt
@@ -54,7 +54,6 @@ import dev.arkbuilders.rate.core.presentation.theme.ArkColor
import dev.arkbuilders.rate.core.presentation.ui.CurrencyInfoItem
import dev.arkbuilders.rate.core.presentation.ui.ListHeader
import dev.arkbuilders.rate.core.presentation.ui.SearchTextField
-import dev.arkbuilders.rate.core.presentation.utils.DateFormatUtils
import dev.arkbuilders.rate.feature.onboarding.di.OnboardingComponentHolder
import dev.arkbuilders.rate.feature.onboarding.quick.MockBottomNavigation
import dev.arkbuilders.rate.feature.onboarding.quick.MockQuickItem
@@ -63,6 +62,7 @@ import dev.arkbuilders.rate.feature.onboarding.spotlight.SpotlightShape
import dev.arkbuilders.rate.feature.onboarding.spotlight.SpotlightTooltip
import dev.arkbuilders.rate.feature.onboarding.spotlight.TooltipPosition
import dev.arkbuilders.rate.feature.quick.di.QuickComponentHolder
+import dev.arkbuilders.rate.feature.quick.presentation.ui.QuickDateFormatter
import org.orbitmvi.orbit.compose.collectAsState
import org.orbitmvi.orbit.compose.collectSideEffect
@@ -188,9 +188,9 @@ fun OnboardingQuickPairScreen(navigator: DestinationsNavigator) {
from = Amount(state.pair.from, state.pair.amount),
to = state.pair.to,
dateText =
- stringResource(
- CoreRString.quick_calculated_on,
- DateFormatUtils.calculatedOn(state.pair.calculatedDate),
+ QuickDateFormatter.pairCalculatedTime(
+ ctx,
+ state.pair.calculatedDate,
),
) { }
}
diff --git a/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/main/QuickScreen.kt b/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/main/QuickScreen.kt
index 40885f806..7f2f16779 100644
--- a/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/main/QuickScreen.kt
+++ b/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/main/QuickScreen.kt
@@ -50,17 +50,16 @@ import dev.arkbuilders.rate.core.presentation.ui.SearchTextField
import dev.arkbuilders.rate.core.presentation.ui.group.EditGroupOptionsBottomSheet
import dev.arkbuilders.rate.core.presentation.ui.group.EditGroupRenameBottomSheet
import dev.arkbuilders.rate.core.presentation.ui.group.EditGroupReorderBottomSheet
-import dev.arkbuilders.rate.core.presentation.utils.DateFormatUtils
import dev.arkbuilders.rate.feature.quick.di.QuickComponentHolder
import dev.arkbuilders.rate.feature.quick.domain.model.PinnedQuickPair
import dev.arkbuilders.rate.feature.quick.domain.model.QuickPair
import dev.arkbuilders.rate.feature.quick.presentation.QuickExternalNavigator
import dev.arkbuilders.rate.feature.quick.presentation.ui.PinnedQuickSwipeItem
+import dev.arkbuilders.rate.feature.quick.presentation.ui.QuickDateFormatter
import dev.arkbuilders.rate.feature.quick.presentation.ui.QuickOptionsBottomSheet
import dev.arkbuilders.rate.feature.quick.presentation.ui.QuickSwipeItem
import kotlinx.coroutines.launch
import org.orbitmvi.orbit.compose.collectAsState
-import java.time.OffsetDateTime
@OptIn(ExperimentalMaterial3Api::class)
@Destination
@@ -340,15 +339,7 @@ private fun GroupPage(
QuickItem(
from = Amount(it.pair.from, it.pair.amount),
to = it.actualTo,
- dateText =
- stringResource(
- CoreRString.quick_last_refreshed,
- DateFormatUtils.latestCheckElapsedTime(
- ctx,
- OffsetDateTime.now(),
- it.refreshDate,
- ),
- ),
+ dateText = QuickDateFormatter.pairRefreshedTime(ctx, it.refreshDate),
onClick = { onClick(it.pair) },
)
},
@@ -370,9 +361,9 @@ private fun GroupPage(
from = Amount(it.from, it.amount),
to = it.to,
dateText =
- stringResource(
- CoreRString.quick_calculated_on,
- DateFormatUtils.calculatedOn(it.calculatedDate),
+ QuickDateFormatter.pairCalculatedTime(
+ ctx,
+ it.calculatedDate,
),
onClick = { onClick(it) },
)
diff --git a/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/ui/QuickDateFormatter.kt b/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/ui/QuickDateFormatter.kt
new file mode 100644
index 000000000..1521345d5
--- /dev/null
+++ b/feature/quick/src/main/java/dev/arkbuilders/rate/feature/quick/presentation/ui/QuickDateFormatter.kt
@@ -0,0 +1,57 @@
+package dev.arkbuilders.rate.feature.quick.presentation.ui
+
+import android.content.Context
+import dev.arkbuilders.rate.core.presentation.CoreRString
+import dev.arkbuilders.rate.core.presentation.utils.DateFormatUtils
+import java.time.Duration
+import java.time.OffsetDateTime
+
+object QuickDateFormatter {
+ fun pairCalculatedTime(
+ ctx: Context,
+ date: OffsetDateTime,
+ ): String {
+ val now = OffsetDateTime.now()
+ val dur = Duration.between(date, now)
+
+ return when {
+ dur.toDays() >= 7 ->
+ ctx.getString(
+ CoreRString.quick_calculated_on,
+ DateFormatUtils.formatDateOnly(date),
+ )
+
+ dur.toDays() == 0L &&
+ dur.toHours() == 0L &&
+ dur.toMinutes() == 0L &&
+ dur.seconds <= 5L -> ctx.getString(CoreRString.quick_calculated_just_now)
+
+ else ->
+ ctx.getString(
+ CoreRString.quick_calculated_ago,
+ DateFormatUtils.formatElapsedTime(ctx, now, date),
+ )
+ }
+ }
+
+ fun pairRefreshedTime(
+ ctx: Context,
+ date: OffsetDateTime,
+ ): String {
+ val now = OffsetDateTime.now()
+ val dur = Duration.between(date, now)
+
+ return when {
+ dur.toDays() == 0L &&
+ dur.toHours() == 0L &&
+ dur.toMinutes() == 0L &&
+ dur.seconds <= 5L -> ctx.getString(CoreRString.quick_last_refreshed_now)
+
+ else ->
+ ctx.getString(
+ CoreRString.quick_last_refreshed_ago,
+ DateFormatUtils.formatElapsedTime(ctx, now, date),
+ )
+ }
+ }
+}
diff --git a/feature/settings/src/main/java/dev/arkbuilders/rate/feature/settings/presentation/SettingsScreen.kt b/feature/settings/src/main/java/dev/arkbuilders/rate/feature/settings/presentation/SettingsScreen.kt
index 6d5ddd1e8..4bd4cd02f 100644
--- a/feature/settings/src/main/java/dev/arkbuilders/rate/feature/settings/presentation/SettingsScreen.kt
+++ b/feature/settings/src/main/java/dev/arkbuilders/rate/feature/settings/presentation/SettingsScreen.kt
@@ -87,8 +87,8 @@ private fun Content(
val now = OffsetDateTime.now()
fun formatTime(date: OffsetDateTime): String {
- val elapsed = DateFormatUtils.latestCheckElapsedTime(ctx, now, date)
- val time = DateFormatUtils.latestCheckTime(date)
+ val elapsed = DateFormatUtils.formatElapsedTime(ctx, now, date)
+ val time = DateFormatUtils.formatFullDateTime(date)
return ctx.getString(CoreRString.settings_elapsed_ago, elapsed) + time
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 543aa9258..5c0dd9eca 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -6,7 +6,7 @@ minSdk = "26"
compileSdk = "35"
ksp = "2.1.20-1.0.32"
-arkAbout = "0.1.1"
+arkAbout = "0.2.0"
activityCompose = "1.10.1"
composeDestinationsVersion = "2.1.0"
arrowFxCoroutines = "1.2.1"