Skip to content

Commit e409cd4

Browse files
authored
Add files via upload
1 parent 47d6008 commit e409cd4

File tree

7 files changed

+2292
-2186
lines changed

7 files changed

+2292
-2186
lines changed

fw/application/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ SRC_FILES += \
305305
$(PROJ_DIR)/i18n/nl_NL.c \
306306
$(PROJ_DIR)/i18n/pt_BR.c \
307307
$(PROJ_DIR)/i18n/pt_PT.c \
308+
$(PROJ_DIR)/i18n/ru_RU.c \
308309
$(PROJ_DIR)/i18n/language.c \
309310
$(PROJ_DIR)/hal/hal_nfc_t2t.c \
310311
$(PROJ_DIR)/amiidb/db_amiibo.c \

fw/application/src/i18n/language.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ typedef struct {
88
const LanguageData const languageData[LANGUAGE_COUNT] = {
99
[LANGUAGE_ZH_HANS] = {.strings = lang_zh_Hans}, [LANGUAGE_EN_US] = {.strings = lang_en_US},
1010
[LANGUAGE_ZH_TW] = {.strings = lang_zh_TW}, [LANGUAGE_ES_ES] = {.strings = lang_es_ES},
11-
[LANGUAGE_IT_IT] = {.strings = lang_it_IT}, [LANGUAGE_HU_HU] = {.strings = lang_hu_HU},
12-
[LANGUAGE_DE_DE] = {.strings = lang_de_DE}, [LANGUAGE_FR_FR] = {.strings = lang_fr_FR},
13-
[LANGUAGE_NL_NL] = {.strings = lang_nl_NL}, [LANGUAGE_PT_BR] = {.strings = lang_pt_BR},
11+
[LANGUAGE_IT_IT] = {.strings = lang_it_IT}, [LANGUAGE_HU_HU] = {.strings = lang_hu_HU},
12+
[LANGUAGE_DE_DE] = {.strings = lang_de_DE}, [LANGUAGE_FR_FR] = {.strings = lang_fr_FR},
13+
[LANGUAGE_NL_NL] = {.strings = lang_nl_NL}, [LANGUAGE_PT_BR] = {.strings = lang_pt_BR},
1414
[LANGUAGE_JA_JP] = {.strings = lang_ja_JP}, [LANGUAGE_PT_PT] = {.strings = lang_pt_PT},
15+
[LANGUAGE_RU_RU] = {.strings = lang_ru_RU},
1516
};
1617

1718
// 当前语言设置 (Current language setting)
@@ -55,6 +56,8 @@ const char *getLangDesc(Language lang) {
5556
return "日本語";
5657
} else if (lang == LANGUAGE_PT_PT) {
5758
return "Português(Portugal)";
59+
} else if (lang == LANGUAGE_RU_RU) {
60+
return "Русский";
5861
} else {
5962
return "@@LANG@@";
6063
}

fw/application/src/i18n/language.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ typedef enum {
2323
LANGUAGE_JA_JP,
2424
LANGUAGE_PT_PT,
2525
LANGUAGE_IT_IT,
26+
LANGUAGE_RU_RU,
2627
LANGUAGE_COUNT
2728
} Language;
2829

@@ -38,6 +39,7 @@ extern const char* lang_pt_BR[_L_COUNT];
3839
extern const char* lang_ja_JP[_L_COUNT];
3940
extern const char* lang_pt_PT[_L_COUNT];
4041
extern const char* lang_it_IT[_L_COUNT];
42+
extern const char* lang_ru_RU[_L_COUNT];
4143

4244
// 获取字符串的函数 (Get language string function)
4345
const char* getLangString(L_StringID stringID);

fw/application/src/i18n/ru_RU.c

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
#include "string_id.h"
2+
const char * const lang_ru_RU[_L_COUNT] = {
3+
[_L_ON] = "Вкл",
4+
[_L_OFF] = "Выкл",
5+
[_L_ON_F] = "[Вкл]",
6+
[_L_OFF_F] = "[Выкл]",
7+
[_L_BACK] = "[Назад]",
8+
[_L_ERR] = "Ошибка",
9+
[_L_ERR_CODE] = "Код ошибки",
10+
[_L_APP_AMIIBO] = "Эмулятор Amiibo",
11+
[_L_APP_AMIIBOLINK] = "AmiiboLink",
12+
[_L_APP_BLE] = "Передача файлов",
13+
[_L_APP_BLE_TITLE] = "по Bluetooth",
14+
[_L_APP_PLAYER] = "Видеоплеер",
15+
[_L_APP_SET] = "Настройки",
16+
[_L_APP_SET_VERSION] = "Версия",
17+
[_L_APP_SET_STORAGE_USED] = "Занято",
18+
[_L_APP_SET_STORAGE] = "Накопитель",
19+
[_L_APP_SET_OLED_CONTRAST] = "Контрастность",
20+
[_L_APP_SET_OLED_CONTRAST_TITLE] = "Контраст OLED",
21+
[_L_APP_SET_LCD_BACKLIGHT] = "Подсветка",
22+
[_L_APP_SET_LCD_BACKLIGHT_TITLE] = "Яркость подсветки",
23+
[_L_APP_SET_ANIM] = "Анимация меню",
24+
[_L_APP_SET_LIPO_BAT] = "Батарея LiPO",
25+
[_L_APP_SET_SHOW_MEM_USAGE] = "Статус памяти",
26+
[_L_APP_SET_HIBERNATE] = "Гибернация",
27+
[_L_APP_SET_SLEEP_TIMEOUT] = "Таймаут сна",
28+
[_L_APP_SET_LANGUAGE] = "Язык",
29+
[_L_APP_SET_DFU] = "Обновление ПО",
30+
[_L_APP_SET_REBOOT] = "Перезагрузка",
31+
[_L_APP_SET_RESET_DEFAULT] = "Сброс настроек",
32+
[_L_APP_SET_RESET_DEFAULT_SUCCESS] = "Сброс выполнен",
33+
[_L_APP_SET_RESET_DEFAULT_CONFIRM] = "Выполнить?",
34+
[_L_15S] = "15 секунд",
35+
[_L_30S] = "30 секунд",
36+
[_L_45S] = "45 секунд",
37+
[_L_1MIN] = "1 минута",
38+
[_L_2MIN] = "2 минуты",
39+
[_L_3MIN] = "3 минуты",
40+
[_L_AMIIBO_KEY_UNLOADED] = "Отсутствует файл ключа",
41+
[_L_UPLOAD_KEY_RETAIL_BIN] = "Поместите key_retail.bin\n в корень накопителя",
42+
[_L_KNOW] = "[Понятно]",
43+
[_L_RANDOM_GENERATION] = "Сгенерировать UUID",
44+
[_L_AUTO_RANDOM_GENERATION] = "Автогенерация",
45+
[_L_SHOW_QRCODE] = "QR-код",
46+
[_L_DELETE_TAG] = "Удалить тег",
47+
[_L_DELETE_TAG_CONFIRM] = "Удалить %s?",
48+
[_L_BACK_TO_DETAILS] = "[Назад к деталям]",
49+
[_L_BACK_TO_FILE_LIST] = "[Назад к списку]",
50+
[_L_BACK_TO_MAIN_MENU] = "[В главное меню]",
51+
[_L_FORMAT] = "Отформатировать",
52+
[_L_FORMAT_STORAGE] = "Форматирование",
53+
[_L_DELETE_ALL_DATA] = "Это удалит все данные.\nВыполнить?",
54+
[_L_DELETING_MESSAGE] = "Форматирование...",
55+
[_L_MESSAGE] = "Сообщение",
56+
[_L_CONFIRM] = "Да",
57+
[_L_CANCEL] = "Отмена",
58+
[_L_BACK_TO_LIST] = "[Назад к списку]",
59+
[_L_NOT_MOUNTED] = "==[Не подключён]==",
60+
[_L_MOUNTED_LFS] = "==Подключён[LFS]==",
61+
[_L_MOUNTED_FFS] = "==Подключён[FFS]==",
62+
[_L_TOTAL_SPACE] = "Ёмкость",
63+
[_L_AVAILABLE_SPACE] = "Свободно",
64+
[_L_NOT_AMIIBO_FILE] = "Этот файл не Amiibo",
65+
[_L_READ_FILE_FAILED] = "Ошибка чтения файла",
66+
[_L_INPUT_FOLDER_NAME] = "Задайте имя папки:",
67+
[_L_INPUT_AMIIBO_NAME] = "Задайте имя Amiibo:",
68+
[_L_DELETE_FILE] = "Удалить %s?",
69+
[_L_DELETE] = "Удалить...",
70+
[_L_INPUT_NEW_NAME] = "Задайте новое имя:",
71+
[_L_INVALID_INPUT] = "Недопустимый ввод",
72+
[_L_CREATE_NEW_FOLDER] = "Создать новую папку...",
73+
[_L_CREATE_NEW_TAG] = "Создать новый тег...",
74+
[_L_CREATE_NEW_TAG_BATCH] = "Создать группу тегов...",
75+
[_L_INPUT_TAG_NUM] = "Задайте число тегов:",
76+
[_L_CREATE_TOO_MANY_NUM] = "За раз можно создать\n не более %d тегов",
77+
[_L_CREATING_TAG_BATCH] = "Создание тега",
78+
[_L_CREATING_TAG_FAILED] = "Ошибка создания тега %s",
79+
[_L_RENAME] = "Переименовать...",
80+
[_L_OPEN_FOLDER_FAILED] = "Ошибка открытия папки",
81+
[_L_RENAME_FAILED] = "Ошибка переименования",
82+
[_L_MAIN_RETURN] = "[Назад]",
83+
[_L_RANDOM_MODE_MANUAL] = "Ручная генерация UUID",
84+
[_L_RANDOM_MODE_AUTO] = "Автогенерация UUID",
85+
[_L_SEQUENCE_MODE] = "Последовательный",
86+
[_L_READ_WRITE_MODE] = "Чтение-запись",
87+
[_L_AMIIBOLINK_V1] = "V1",
88+
[_L_AMIIBOLINK_V2] = "V2",
89+
[_L_AMILOOP] = "AmiLoop",
90+
[_L_MODE] = "Режим",
91+
[_L_AUTO_RANDOM] = "Автогенерация",
92+
[_L_COMPATIBLE_MODE] = "Совместимость",
93+
[_L_TAG_DETAILS] = "[Назад к деталям]",
94+
[_L_MAIN_MENU] = "[В главное меню]",
95+
[_L_MODE_RANDOM] = "Ручная генерация",
96+
[_L_MODE_CYCLE] = "Последовательный",
97+
[_L_MODE_NTAG] = "Чтение-запись",
98+
[_L_MODE_RANDOM_AUTO_GEN] = "Автогенерация",
99+
[_L_BLANK_TAG] = "Пустой тег",
100+
[_L_APP_AMIIDB] = "База данных Amiibo",
101+
[_L_APP_AMMIDB_BROWSER] = "Обозреватель...",
102+
[_L_APP_AMIIDB_SEARCH] = "Поиск...",
103+
[_L_APP_AMIIDB_MY_FAVORITES] = "Моё избранное...",
104+
[_L_APP_AMIIDB_MY_TAGS] = "Мои Amiibo...",
105+
[_L_APP_AMIIDB_SETTINGS] = "Настройки...",
106+
[_L_APP_AMIIDB_EXIT] = "[Выход]",
107+
[_L_APP_AMIIDB_BACK] = "[Назад]",
108+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY] = "Ключ",
109+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY_LOADED] = "Загружен",
110+
[_L_APP_AMIIDB_SETTINGS_AMIIBO_KEY_NOT_LOADED] = "Отсутствует",
111+
[_L_APP_AMIIDB_SETTINGS_SLOT_NUM] = "Число ячеек",
112+
[_L_APP_AMIIDB_DETAIL_FAVORITE] = "В избранное...",
113+
[_L_APP_AMIIDB_DETAIL_SAVE_AS] = "Сохранить как...",
114+
[_L_APP_AMIIDB_DETAIL_BACK_DETAIL] = "[Назад к деталям]",
115+
[_L_APP_AMIIDB_DETAIL_BACK_LIST] = "[Назад к списку]",
116+
[_L_APP_AMIIDB_SEARCH_HEAD] = "Поиск:",
117+
[_L_APP_AMIIDB_MORE] = "[Дальше...]",
118+
[_L_APP_AMIIDB_EMPTY_TAG] = "<пустой тег>",
119+
[_L_APP_AMIIDB_SLOT_DELETE] = "Сброс...",
120+
[_L_APP_AMIIDB_CONFIRM] = "Да",
121+
[_L_APP_AMIIDB_CANCEL] = "Отмена",
122+
[_L_APP_AMIIDB_TIPS] = "Внимание",
123+
[_L_APP_AMIIDB_NEW] = "Новая папка...",
124+
[_L_APP_AMIIDB_EMPTY] = "Очистить...",
125+
[_L_APP_AMIIDB_DELETE] = "Удалить...",
126+
[_L_APP_AMIIDB_FAV_NEW_HEAD] = "Новая папка избранного:",
127+
[_L_APP_AMIIDB_FAV_EMPTY_MSG] = "Выполнить удаление\n избранного?",
128+
[_L_APP_AMIIDB_FAV_DELETE_MSG] = "Выполнить удаление?",
129+
[_L_APP_AMIIDB_FAV_SELECT_FOLDER] = "Выбрать папку избранного...",
130+
[_L_APP_AMIIDB_FAV_SUCCESS] = "Добавлено",
131+
[_L_APP_AMIIDB_FAV_FAILED] = "Ошибка добавления",
132+
[_L_APP_AMIIDB_SLOT_SAVE_SUCCESS] = "Сохранено",
133+
[_L_APP_AMIIDB_SLOT_SAVE_FAILED] = "Ошибка сохранения",
134+
[_L_APP_CHAMELEON] = "Эмулятор карт",
135+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_NORMAL] = "Разрешена",
136+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DENIED] = "Запрещена",
137+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_DECEIVE] = "Игнорируется",
138+
[_L_APP_CHAMELEON_TAG_MF1_WRITE_SHADOW] = "В кэш",
139+
[_L_APP_CHAMELEON_INITIALIZING] = "Инициализация...",
140+
[_L_APP_CHAMELEON_CARD_SLOT] = "Ячейка",
141+
[_L_APP_CHAMELEON_CARD_NICK] = "Название",
142+
[_L_APP_CHAMELEON_CARD_ID] = "ID",
143+
[_L_APP_CHAMELEON_CARD_TYPE] = "Тип",
144+
[_L_APP_CHAMELEON_CARD_DATA] = "Данные...",
145+
[_L_APP_CHAMELEON_CARD_ADVANCED] = "Дополнительно...",
146+
[_L_APP_CHAMELEON_CARD_SLOT_SETTINGS] = "Управление ячейками...",
147+
[_L_APP_CHAMELEON_CARD_SLOT_NUM] = "Число ячеек...",
148+
[_L_APP_CHAMELEON_CARD_SET_NICK_SUCCESS] = "Название задано",
149+
[_L_APP_CHAMELEON_CARD_SET_NICK_FAILED] = "Недопустимое название",
150+
[_L_APP_CHAMELEON_CARD_INPUT_NICK] = "Задайте название карты:",
151+
[_L_APP_CHAMELEON_CARD_DATA_LOAD] = "Загрузка...",
152+
[_L_APP_CHAMELEON_CARD_DATA_SAVE] = "Сохранение...",
153+
[_L_APP_CHAMELEON_CARD_DATA_FACTORY] = "Сброс...",
154+
[_L_APP_CHAMELEON_CARD_DATA_FACTORY_SUCCESS] = "Данные сброшены",
155+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_NOT_FOUND] = "Файл не обнаружен",
156+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_SIZE_NOT_MATCH] = "Файл несоразмерен",
157+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_FAILED] = "Ошибка загрузки файла",
158+
[_L_APP_CHAMELEON_CARD_DATA_LOAD_SUCCESS] = "Данные загружены",
159+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_INPUT_FILE_NAME] = "Задайте имя файла:",
160+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_FAILED] = "Ошибка сохранения файла",
161+
[_L_APP_CHAMELEON_CARD_DATA_SAVE_SUCCESS] = "Данные сохранены",
162+
[_L_APP_CHAMELEON_CARD_ADV_CUSTOM_MODE] = "Заказной режим",
163+
[_L_APP_CHAMELEON_CARD_GEN1A_MODE] = "Gen1A",
164+
[_L_APP_CHAMELEON_CARD_GENERATE_UID] = "Сгенерировать UID",
165+
[_L_APP_CHAMELEON_CARD_GENERATE_UID_SUCCESS] = "UID сгенерирован",
166+
[_L_APP_CHAMELEON_CARD_GEN2_MODE] = "Gen2",
167+
[_L_APP_CHAMELEON_CARD_WRITE_MODE] = "Запись",
168+
[_L_APP_CHAMELEON_CARD_ADV_ID_EDIT_INVALID_INPUT] = "Недопустимый ввод",
169+
[_L_APP_CHAMELEON_CARD_TYPE_FACTORY_DATA_CONFRIM] = "Тип карты изменен.\nСбросить данные карты?",
170+
};

0 commit comments

Comments
 (0)