diff --git a/source/fbi/action/deletecontents.c b/source/fbi/action/deletecontents.c index ed72cb6..34491e5 100644 --- a/source/fbi/action/deletecontents.c +++ b/source/fbi/action/deletecontents.c @@ -78,7 +78,7 @@ static Result action_delete_restore(void* data, u32 index) { } static bool action_delete_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_delete_draw_top, res, "無法刪除档案"); + *errorView = error_display_res(data, action_delete_draw_top, res, "无法删除项目."); return true; } @@ -105,7 +105,7 @@ static void action_delete_update(ui_view* view, void* data, float* progress, cha info_destroy(view); if(R_SUCCEEDED(deleteData->deleteInfo.result)) { - prompt_display_notify("成功", "已刪除", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } action_delete_free_data(deleteData); @@ -127,9 +127,9 @@ static void action_delete_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { Result res = task_data_op(&deleteData->deleteInfo); if(R_SUCCEEDED(res)) { - info_display("刪除中", "按B鍵取消", true, data, action_delete_update, action_delete_draw_top); + info_display("正在删除", "按 B 取消.", true, data, action_delete_update, action_delete_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化刪除操作"); + error_display_res(NULL, NULL, res, "无法启动删除操作."); action_delete_free_data(deleteData); } @@ -161,9 +161,9 @@ static void action_delete_loading_update(ui_view* view, void* data, float* progr loadingData->deleteData->deleteInfo.total = linked_list_size(&loadingData->deleteData->contents); loadingData->deleteData->deleteInfo.processed = loadingData->deleteData->deleteInfo.total; - prompt_display_yes_no("確認", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_draw_top, action_delete_onresponse); + prompt_display_yes_no("确认", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_draw_top, action_delete_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "無法列舉档案列表"); + error_display_res(NULL, NULL, loadingData->popData.result, "无法填充项目列表."); action_delete_free_data(loadingData->deleteData); } @@ -176,13 +176,13 @@ static void action_delete_loading_update(ui_view* view, void* data, float* progr svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "獲取档案列表..."); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取项目列表..."); } static void action_delete_internal(linked_list* items, list_item* selected, const char* message, bool recursive, bool includeBase, bool ciasOnly, bool ticketsOnly) { delete_data* data = (delete_data*) calloc(1, sizeof(delete_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配刪除數據"); + error_display(NULL, NULL, "无法分配删除的数据."); return; } @@ -192,7 +192,7 @@ static void action_delete_internal(linked_list* items, list_item* selected, cons file_info* targetInfo = (file_info*) selected->data; Result targetCreateRes = task_create_file_item(&data->targetItem, targetInfo->archive, targetInfo->path, targetInfo->attributes, false); if(R_FAILED(targetCreateRes)) { - error_display_res(NULL, NULL, targetCreateRes, "無法創建目標档案"); + error_display_res(NULL, NULL, targetCreateRes, "无法创建目标文件."); action_delete_free_data(data); return; @@ -217,7 +217,7 @@ static void action_delete_internal(linked_list* items, list_item* selected, cons delete_loading_data* loadingData = (delete_loading_data*) calloc(1, sizeof(delete_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "無法分配讀取數據"); + error_display(NULL, NULL, "无法分配加载的数据."); action_delete_free_data(data); return; @@ -237,34 +237,32 @@ static void action_delete_internal(linked_list* items, list_item* selected, cons Result listRes = task_populate_files(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "無法初始化档案列表"); + error_display_res(NULL, NULL, listRes, "无法启动项目列表填充."); free(loadingData); action_delete_free_data(data); return; } - info_display("讀取中", "按B鍵取消", false, loadingData, action_delete_loading_update, action_delete_loading_draw_top); + info_display("正在加载", "按 B 取消.", false, loadingData, action_delete_loading_update, action_delete_loading_draw_top); } void action_delete_file(linked_list* items, list_item* selected) { - action_delete_internal(items, selected, "即將刪除選中的档案,是否繼續?", false, true, false, false); + action_delete_internal(items, selected, "删除所选文件?", false, true, false, false); } void action_delete_dir(linked_list* items, list_item* selected) { - action_delete_internal(items, selected, "即將刪除選中的資料夾,是否繼續?", true, true, false, false); + action_delete_internal(items, selected, "删除当前文件夹?", true, true, false, false); } void action_delete_dir_contents(linked_list* items, list_item* selected) { - action_delete_internal(items, selected, "即將刪除資料夾中所有的档案,是否繼續?", true, false, false, false); + action_delete_internal(items, selected, "删除当前文件夹的所有项目?", true, false, false, false); } void action_delete_dir_cias(linked_list* items, list_item* selected) { - action_delete_internal(items, selected, "即將刪除資料夾中所有的 CIAs,是否繼續?", false, false, true, false); + action_delete_internal(items, selected, "删除当前文件夹的所有安装包?", false, false, true, false); } void action_delete_dir_tickets(linked_list* items, list_item* selected) { - action_delete_internal(items, selected, "即將刪除資料夾中所有的 Tickets,是否繼續?", false, false, false, true); + action_delete_internal(items, selected, "删除当前文件夹的所有应用引导表?", false, false, false, true); } - -// オケー \ No newline at end of file diff --git a/source/fbi/action/deleteextsavedata.c b/source/fbi/action/deleteextsavedata.c index 4aa701b..c502f38 100644 --- a/source/fbi/action/deleteextsavedata.c +++ b/source/fbi/action/deleteextsavedata.c @@ -27,12 +27,12 @@ static void action_delete_ext_save_data_update(ui_view* view, void* data, float* info_destroy(view); if(R_FAILED(res)) { - error_display_res(info, task_draw_ext_save_data_info, res, "無法刪除追加儲存數據"); + error_display_res(info, task_draw_ext_save_data_info, res, "无法删除追加数据."); } else { linked_list_remove(deleteData->items, deleteData->selected); task_free_ext_save_data(deleteData->selected); - prompt_display_notify("成功", "已刪除追加儲存數據", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } free(data); @@ -40,7 +40,7 @@ static void action_delete_ext_save_data_update(ui_view* view, void* data, float* static void action_delete_ext_save_data_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("刪除追加讀取數據中", "", false, data, action_delete_ext_save_data_update, action_delete_ext_save_data_draw_top); + info_display("正在删除", "", false, data, action_delete_ext_save_data_update, action_delete_ext_save_data_draw_top); } else { free(data); } @@ -49,7 +49,7 @@ static void action_delete_ext_save_data_onresponse(ui_view* view, void* data, u3 void action_delete_ext_save_data(linked_list* items, list_item* selected) { delete_ext_save_data_data* data = (delete_ext_save_data_data*) calloc(1, sizeof(delete_ext_save_data_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配刪除追加儲存數據的數據"); + error_display(NULL, NULL, "无法分配删除追加数据的数据."); return; } @@ -57,5 +57,5 @@ void action_delete_ext_save_data(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - prompt_display_yes_no("確認", "即將刪除所選的追加儲存數據,是否繼續?", COLOR_TEXT, data, action_delete_ext_save_data_draw_top, action_delete_ext_save_data_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "删除所选追加数据?", COLOR_TEXT, data, action_delete_ext_save_data_draw_top, action_delete_ext_save_data_onresponse); +} diff --git a/source/fbi/action/deletependingtitles.c b/source/fbi/action/deletependingtitles.c index 01580dc..dfd63d6 100644 --- a/source/fbi/action/deletependingtitles.c +++ b/source/fbi/action/deletependingtitles.c @@ -63,7 +63,7 @@ static Result action_delete_pending_titles_restore(void* data, u32 index) { } static bool action_delete_pending_titles_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_delete_pending_titles_draw_top, res, "無法刪除待裝程式"); + *errorView = error_display_res(data, action_delete_pending_titles_draw_top, res, "无法删除未完成的应用."); return true; } @@ -84,7 +84,7 @@ static void action_delete_pending_titles_update(ui_view* view, void* data, float info_destroy(view); if(R_SUCCEEDED(deleteData->deleteInfo.result)) { - prompt_display_notify("成功", "待裝程式已刪除", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } action_delete_pending_titles_free_data(deleteData); @@ -106,9 +106,9 @@ static void action_delete_pending_titles_onresponse(ui_view* view, void* data, u if(response == PROMPT_YES) { Result res = task_data_op(&deleteData->deleteInfo); if(R_SUCCEEDED(res)) { - info_display("刪除待裝程式中", "按B鍵取消", true, data, action_delete_pending_titles_update, action_delete_pending_titles_draw_top); + info_display("正在删除", "按 B 取消.", true, data, action_delete_pending_titles_update, action_delete_pending_titles_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化刪除操作"); + error_display_res(NULL, NULL, res, "无法启动删除操作."); action_delete_pending_titles_free_data(deleteData); } @@ -140,9 +140,9 @@ static void action_delete_pending_titles_loading_update(ui_view* view, void* dat loadingData->deleteData->deleteInfo.total = linked_list_size(&loadingData->deleteData->contents); loadingData->deleteData->deleteInfo.processed = loadingData->deleteData->deleteInfo.total; - prompt_display_yes_no("Confirmation", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_pending_titles_draw_top, action_delete_pending_titles_onresponse); + prompt_display_yes_no("确认", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_pending_titles_draw_top, action_delete_pending_titles_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "Failed to populate pending title list."); + error_display_res(NULL, NULL, loadingData->popData.result, "无法填充未完成的应用列表."); action_delete_pending_titles_free_data(loadingData->deleteData); } @@ -155,13 +155,13 @@ static void action_delete_pending_titles_loading_update(ui_view* view, void* dat svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "Fetching pending title list..."); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取未完成的应用列表..."); } void action_delete_pending_titles(linked_list* items, list_item* selected, const char* message, bool all) { delete_pending_titles_data* data = (delete_pending_titles_data*) calloc(1, sizeof(delete_pending_titles_data)); if(data == NULL) { - error_display(NULL, NULL, "Failed to allocate delete pending titles data."); + error_display(NULL, NULL, "无法分配删除未完成的应用的数据."); return; } @@ -189,7 +189,7 @@ void action_delete_pending_titles(linked_list* items, list_item* selected, const if(all) { delete_pending_titles_loading_data* loadingData = (delete_pending_titles_loading_data*) calloc(1, sizeof(delete_pending_titles_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "Failed to allocate loading data."); + error_display(NULL, NULL, "无法分配加载的数据."); action_delete_pending_titles_free_data(data); return; @@ -202,28 +202,28 @@ void action_delete_pending_titles(linked_list* items, list_item* selected, const Result listRes = task_populate_pending_titles(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "Failed to initiate pending title list population."); + error_display_res(NULL, NULL, listRes, "无法启动未完成的应用列表填充."); free(loadingData); action_delete_pending_titles_free_data(data); return; } - info_display("Loading", "Press B to cancel.", false, loadingData, action_delete_pending_titles_loading_update, action_delete_pending_titles_loading_draw_top); + info_display("正在加载", "按 B 取消.", false, loadingData, action_delete_pending_titles_loading_update, action_delete_pending_titles_loading_draw_top); } else { linked_list_add(&data->contents, selected); data->deleteInfo.total = 1; data->deleteInfo.processed = data->deleteInfo.total; - prompt_display_yes_no("Confirmation", message, COLOR_TEXT, data, action_delete_pending_titles_draw_top, action_delete_pending_titles_onresponse); + prompt_display_yes_no("确认", message, COLOR_TEXT, data, action_delete_pending_titles_draw_top, action_delete_pending_titles_onresponse); } } void action_delete_pending_title(linked_list* items, list_item* selected) { - action_delete_pending_titles(items, selected, "Delete the selected pending title?", false); + action_delete_pending_titles(items, selected, "删除所选未完成的应用?", false); } void action_delete_all_pending_titles(linked_list* items, list_item* selected) { - action_delete_pending_titles(items, selected, "Delete all pending titles?", true); -} \ No newline at end of file + action_delete_pending_titles(items, selected, "删除所有未完成的应用?", true); +} diff --git a/source/fbi/action/deletesecurevalue.c b/source/fbi/action/deletesecurevalue.c index d6cc6a0..fd7f1c4 100644 --- a/source/fbi/action/deletesecurevalue.c +++ b/source/fbi/action/deletesecurevalue.c @@ -18,18 +18,18 @@ static void action_delete_secure_value_update(ui_view* view, void* data, float* info_destroy(view); if(R_FAILED(res)) { - error_display_res(info, task_draw_title_info, res, "無法已刪除安全值"); + error_display_res(info, task_draw_title_info, res, "无法删除安全值."); } else { - prompt_display_notify("成功", "已刪除安全值", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, info, task_draw_title_info, NULL); } } static void action_delete_secure_value_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("刪除安全值中", "", false, data, action_delete_secure_value_update, task_draw_title_info); + info_display("正在删除", "", false, data, action_delete_secure_value_update, task_draw_title_info); } } void action_delete_secure_value(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將刪除所選程式的安全值,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_delete_secure_value_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "删除所选应用的安全值?", COLOR_TEXT, selected->data, task_draw_title_info, action_delete_secure_value_onresponse); +} diff --git a/source/fbi/action/deletesystemsavedata.c b/source/fbi/action/deletesystemsavedata.c index c671d52..a3efa7b 100644 --- a/source/fbi/action/deletesystemsavedata.c +++ b/source/fbi/action/deletesystemsavedata.c @@ -28,12 +28,12 @@ static void action_delete_system_save_data_update(ui_view* view, void* data, flo info_destroy(view); if(R_FAILED(res)) { - error_display_res(info, task_draw_system_save_data_info, res, "Failed to delete 系統儲存數據"); + error_display_res(info, task_draw_system_save_data_info, res, "无法删除系统数据."); } else { linked_list_remove(deleteData->items, deleteData->selected); task_free_system_save_data(deleteData->selected); - prompt_display_notify("成功", "系統儲存數據已刪除", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } free(data); @@ -41,7 +41,7 @@ static void action_delete_system_save_data_update(ui_view* view, void* data, flo static void action_delete_system_save_data_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在刪除系統儲存數據中", "", false, data, action_delete_system_save_data_update, action_delete_system_save_data_draw_top); + info_display("正在删除", "", false, data, action_delete_system_save_data_update, action_delete_system_save_data_draw_top); } else { free(data); } @@ -50,7 +50,7 @@ static void action_delete_system_save_data_onresponse(ui_view* view, void* data, void action_delete_system_save_data(linked_list* items, list_item* selected) { delete_system_save_data_data* data = (delete_system_save_data_data*) calloc(1, sizeof(delete_system_save_data_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配刪除系統儲存數據的數據"); + error_display(NULL, NULL, "无法分配删除系统数据的数据."); return; } @@ -58,5 +58,5 @@ void action_delete_system_save_data(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - prompt_display_yes_no("確認", "即將刪除選定的系統儲存數據,是否繼續?", COLOR_TEXT, data, action_delete_system_save_data_draw_top, action_delete_system_save_data_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "删除所选系统数据?", COLOR_TEXT, data, action_delete_system_save_data_draw_top, action_delete_system_save_data_onresponse); +} diff --git a/source/fbi/action/deletetickets.c b/source/fbi/action/deletetickets.c index f3cca30..6bffb00 100644 --- a/source/fbi/action/deletetickets.c +++ b/source/fbi/action/deletetickets.c @@ -59,7 +59,7 @@ static Result action_delete_tickets_restore(void* data, u32 index) { } static bool action_delete_tickets_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_delete_tickets_draw_top, res, "無法刪除憑據"); + *errorView = error_display_res(data, action_delete_tickets_draw_top, res, "无法删除应用引导表."); return true; } @@ -80,7 +80,7 @@ static void action_delete_tickets_update(ui_view* view, void* data, float* progr info_destroy(view); if(R_SUCCEEDED(deleteData->deleteInfo.result)) { - prompt_display_notify("成功", "憑據已刪除", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } action_delete_tickets_free_data(deleteData); @@ -102,9 +102,9 @@ static void action_delete_tickets_onresponse(ui_view* view, void* data, u32 resp if(response == PROMPT_YES) { Result res = task_data_op(&deleteData->deleteInfo); if(R_SUCCEEDED(res)) { - info_display("正在刪除中", "按B鍵取消", true, data, action_delete_tickets_update, action_delete_tickets_draw_top); + info_display("正在删除", "按 B 取消.", true, data, action_delete_tickets_update, action_delete_tickets_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化刪除操作"); + error_display_res(NULL, NULL, res, "无法启动删除操作."); action_delete_tickets_free_data(deleteData); } @@ -148,9 +148,9 @@ static void action_delete_tickets_loading_update(ui_view* view, void* data, floa loadingData->deleteData->deleteInfo.total = linked_list_size(&loadingData->deleteData->contents); loadingData->deleteData->deleteInfo.processed = loadingData->deleteData->deleteInfo.total; - prompt_display_yes_no("確認", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_tickets_draw_top, action_delete_tickets_onresponse); + prompt_display_yes_no("确认", loadingData->message, COLOR_TEXT, loadingData->deleteData, action_delete_tickets_draw_top, action_delete_tickets_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "無法列舉憑據目錄"); + error_display_res(NULL, NULL, loadingData->popData.result, "无法填充应用引导表列表."); action_delete_tickets_free_data(loadingData->deleteData); } @@ -163,13 +163,13 @@ static void action_delete_tickets_loading_update(ui_view* view, void* data, floa svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "正在獲取憑據目錄中......"); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取应用引导表列表..."); } static void action_delete_tickets_internal(linked_list* items, list_item* selected, const char* message, bool unused) { delete_tickets_data* data = (delete_tickets_data*) calloc(1, sizeof(delete_tickets_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配刪除數據"); + error_display(NULL, NULL, "无法分配删除的数据."); return; } @@ -195,7 +195,7 @@ static void action_delete_tickets_internal(linked_list* items, list_item* select if(unused) { delete_tickets_loading_data* loadingData = (delete_tickets_loading_data*) calloc(1, sizeof(delete_tickets_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "無法分配讀取數據"); + error_display(NULL, NULL, "无法分配加载的数据."); action_delete_tickets_free_data(data); return; @@ -208,28 +208,28 @@ static void action_delete_tickets_internal(linked_list* items, list_item* select Result listRes = task_populate_tickets(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "無法初始化憑據目錄結構"); + error_display_res(NULL, NULL, listRes, "无法启动应用引导表列表填充."); free(loadingData); action_delete_tickets_free_data(data); return; } - info_display("正在讀取中", "按B鍵取消", false, loadingData, action_delete_tickets_loading_update, action_delete_tickets_loading_draw_top); + info_display("正在加载", "按 B 取消.", false, loadingData, action_delete_tickets_loading_update, action_delete_tickets_loading_draw_top); } else { linked_list_add(&data->contents, selected); data->deleteInfo.total = 1; data->deleteInfo.processed = data->deleteInfo.total; - prompt_display_yes_no("確認", message, COLOR_TEXT, data, action_delete_tickets_draw_top, action_delete_tickets_onresponse); + prompt_display_yes_no("确认", message, COLOR_TEXT, data, action_delete_tickets_draw_top, action_delete_tickets_onresponse); } } void action_delete_ticket(linked_list* items, list_item* selected) { - action_delete_tickets_internal(items, selected, "即將刪除所選的憑據,是否繼續?", false); + action_delete_tickets_internal(items, selected, "删除所选应用引导表?", false); } void action_delete_tickets_unused(linked_list* items, list_item* selected) { - action_delete_tickets_internal(items, selected, "即將刪除所有未使用的憑據,是否繼續?", true); + action_delete_tickets_internal(items, selected, "删除所有未使用的应用引导表?", true); } diff --git a/source/fbi/action/deletetitle.c b/source/fbi/action/deletetitle.c index f6557f6..5eb2beb 100644 --- a/source/fbi/action/deletetitle.c +++ b/source/fbi/action/deletetitle.c @@ -32,12 +32,12 @@ static void action_delete_title_update(ui_view* view, void* data, float* progres info_destroy(view); if(R_FAILED(res)) { - error_display_res(info, task_draw_title_info, res, "無法刪除程式"); + error_display_res(info, task_draw_title_info, res, "无法删除应用."); } else { linked_list_remove(deleteData->items, deleteData->selected); task_free_title(deleteData->selected); - prompt_display_notify("成功", "程式已刪除", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已删除.", COLOR_TEXT, NULL, NULL, NULL); } free(data); @@ -45,7 +45,7 @@ static void action_delete_title_update(ui_view* view, void* data, float* progres static void action_delete_title_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在刪除程式中", "", false, data, action_delete_title_update, action_delete_title_draw_top); + info_display("正在删除", "", false, data, action_delete_title_update, action_delete_title_draw_top); } else { free(data); } @@ -54,7 +54,7 @@ static void action_delete_title_onresponse(ui_view* view, void* data, u32 respon static void action_delete_title_internal(linked_list* items, list_item* selected, const char* message, bool ticket) { delete_title_data* data = (delete_title_data*) calloc(1, sizeof(delete_title_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配程式刪除數據"); + error_display(NULL, NULL, "无法分配删除应用的数据."); return; } @@ -63,13 +63,13 @@ static void action_delete_title_internal(linked_list* items, list_item* selected data->selected = selected; data->ticket = ticket; - prompt_display_yes_no("確認", message, COLOR_TEXT, data, action_delete_title_draw_top, action_delete_title_onresponse); + prompt_display_yes_no("确认", message, COLOR_TEXT, data, action_delete_title_draw_top, action_delete_title_onresponse); } void action_delete_title(linked_list* items, list_item* selected) { - action_delete_title_internal(items, selected, "即將刪除所選的程式,是否繼續?", false); + action_delete_title_internal(items, selected, "删除所选应用?", false); } void action_delete_title_ticket(linked_list* items, list_item* selected) { - action_delete_title_internal(items, selected, "即將刪除所選的程式及憑據,是否繼續?", true); -} \ No newline at end of file + action_delete_title_internal(items, selected, "删除所选的应用和应用引导表?", true); +} diff --git a/source/fbi/action/erasetwlsave.c b/source/fbi/action/erasetwlsave.c index 7ba9991..01eb5c6 100644 --- a/source/fbi/action/erasetwlsave.c +++ b/source/fbi/action/erasetwlsave.c @@ -75,7 +75,7 @@ static Result action_erase_twl_save_restore(void* data, u32 index) { } static bool action_erase_twl_save_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(((erase_twl_save_data*) data)->title, task_draw_title_info, res, "無法清楚儲存數據"); + *errorView = error_display_res(((erase_twl_save_data*) data)->title, task_draw_title_info, res, "无法清除数据."); return true; } @@ -87,7 +87,7 @@ static void action_erase_twl_save_update(ui_view* view, void* data, float* progr info_destroy(view); if(R_SUCCEEDED(eraseData->eraseInfo.result)) { - prompt_display_notify("成功", "儲存數據已清理", COLOR_TEXT, eraseData->title, task_draw_title_info, NULL); + prompt_display_notify("成功", "已清除.", COLOR_TEXT, eraseData->title, task_draw_title_info, NULL); } free(data); @@ -116,9 +116,9 @@ static void action_erase_twl_save_onresponse(ui_view* view, void* data, u32 resp Result res = task_data_op(&eraseData->eraseInfo); if(R_SUCCEEDED(res)) { - info_display("正在清理存儲數據中", "按B鍵取消", true, data, action_erase_twl_save_update, action_erase_twl_save_draw_top); + info_display("正在清除", "按 B 取消.", true, data, action_erase_twl_save_update, action_erase_twl_save_draw_top); } else { - error_display_res(eraseData->title, task_draw_title_info, res, "無法初始化清理儲存數據"); + error_display_res(eraseData->title, task_draw_title_info, res, "无法启动清除数据."); free(data); } } else { @@ -129,7 +129,7 @@ static void action_erase_twl_save_onresponse(ui_view* view, void* data, u32 resp void action_erase_twl_save(linked_list* items, list_item* selected) { erase_twl_save_data* data = (erase_twl_save_data*) calloc(1, sizeof(erase_twl_save_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配清理DSi儲存數據"); + error_display(NULL, NULL, "无法分配清除 TWL 数据的数据."); return; } @@ -164,5 +164,5 @@ void action_erase_twl_save(linked_list* items, list_item* selected) { data->eraseInfo.finished = true; - prompt_display_yes_no("確認", "即將清理所選程式的儲存數據,是否繼續?", COLOR_TEXT, data, action_erase_twl_save_draw_top, action_erase_twl_save_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "清除所选应用的数据?", COLOR_TEXT, data, action_erase_twl_save_draw_top, action_erase_twl_save_onresponse); +} diff --git a/source/fbi/action/exportsecurevalue.c b/source/fbi/action/exportsecurevalue.c index 9762f1d..e0952c4 100644 --- a/source/fbi/action/exportsecurevalue.c +++ b/source/fbi/action/exportsecurevalue.c @@ -19,7 +19,7 @@ static void action_export_secure_value_update(ui_view* view, void* data, float* ui_pop(); info_destroy(view); - prompt_display_notify("失敗", "安全值未設置", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("失败", "未设置安全值.", COLOR_TEXT, info, task_draw_title_info, NULL); return; } @@ -53,18 +53,18 @@ static void action_export_secure_value_update(ui_view* view, void* data, float* info_destroy(view); if(R_SUCCEEDED(res)) { - prompt_display_notify("成功", "已導出安全值", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("成功", "已导出.", COLOR_TEXT, info, task_draw_title_info, NULL); } else { - error_display_res(info, task_draw_title_info, res, "無法導出安全值"); + error_display_res(info, task_draw_title_info, res, "无法导出安全值."); } } static void action_export_secure_value_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在導出安全值中", "", false, data, action_export_secure_value_update, task_draw_title_info); + info_display("正在导出", "", false, data, action_export_secure_value_update, task_draw_title_info); } } void action_export_secure_value(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將導出所選程式的安全值,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_export_secure_value_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "导出所选应用的安全值?", COLOR_TEXT, selected->data, task_draw_title_info, action_export_secure_value_onresponse); +} diff --git a/source/fbi/action/exporttwlsave.c b/source/fbi/action/exporttwlsave.c index 404ab40..202e7fe 100644 --- a/source/fbi/action/exporttwlsave.c +++ b/source/fbi/action/exporttwlsave.c @@ -97,7 +97,7 @@ static Result action_export_twl_save_restore(void* data, u32 index) { } static bool action_export_twl_save_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(((export_twl_save_data*) data)->title, task_draw_title_info, res, "無法導出儲存數據"); + *errorView = error_display_res(((export_twl_save_data*) data)->title, task_draw_title_info, res, "无法导出数据."); return true; } @@ -109,7 +109,7 @@ static void action_export_twl_save_update(ui_view* view, void* data, float* prog info_destroy(view); if(R_SUCCEEDED(exportData->exportInfo.result)) { - prompt_display_notify("成功", "儲存數據已導出", COLOR_TEXT, exportData->title, task_draw_title_info, NULL); + prompt_display_notify("成功", "已导出.", COLOR_TEXT, exportData->title, task_draw_title_info, NULL); } free(data); @@ -138,9 +138,9 @@ static void action_export_twl_save_onresponse(ui_view* view, void* data, u32 res Result res = task_data_op(&exportData->exportInfo); if(R_SUCCEEDED(res)) { - info_display("正在導出儲存數據中", "按B鍵取消", true, data, action_export_twl_save_update, action_export_twl_save_draw_top); + info_display("正在导出", "按 B 取消.", true, data, action_export_twl_save_update, action_export_twl_save_draw_top); } else { - error_display_res(exportData->title, task_draw_title_info, res, "無法初始化導出儲存數據"); + error_display_res(exportData->title, task_draw_title_info, res, "无法启动导出数据."); free(data); } } else { @@ -151,7 +151,7 @@ static void action_export_twl_save_onresponse(ui_view* view, void* data, u32 res void action_export_twl_save(linked_list* items, list_item* selected) { export_twl_save_data* data = (export_twl_save_data*) calloc(1, sizeof(export_twl_save_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配導出DSi儲存數據"); + error_display(NULL, NULL, "无法分配导出 TWL 数据的数据."); return; } @@ -186,5 +186,5 @@ void action_export_twl_save(linked_list* items, list_item* selected) { data->exportInfo.finished = true; - prompt_display_yes_no("確認", "即將導出所選程式的儲存數據,是否繼續?", COLOR_TEXT, data, action_export_twl_save_draw_top, action_export_twl_save_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "导出所选应用的数据?", COLOR_TEXT, data, action_export_twl_save_draw_top, action_export_twl_save_onresponse); +} diff --git a/source/fbi/action/extractsmdh.c b/source/fbi/action/extractsmdh.c index b7bce4b..c443bc3 100644 --- a/source/fbi/action/extractsmdh.c +++ b/source/fbi/action/extractsmdh.c @@ -61,18 +61,18 @@ static void action_extract_smdh_update(ui_view* view, void* data, float* progres info_destroy(view); if(R_SUCCEEDED(res)) { - prompt_display_notify("成功", "SMDH 已提取", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("成功", "已提取.", COLOR_TEXT, info, task_draw_title_info, NULL); } else { - error_display_res(info, task_draw_title_info, res, "無法提取 SMDH."); + error_display_res(info, task_draw_title_info, res, "无法提取 SMDH."); } } static void action_extract_smdh_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在提取 SMDH 中", "", false, data, action_extract_smdh_update, task_draw_title_info); + info_display("正在提取", "", false, data, action_extract_smdh_update, task_draw_title_info); } } void action_extract_smdh(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將提取所選程式的 SMDH,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_extract_smdh_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "提取所选应用的 SMDH?", COLOR_TEXT, selected->data, task_draw_title_info, action_extract_smdh_onresponse); +} diff --git a/source/fbi/action/importsecurevalue.c b/source/fbi/action/importsecurevalue.c index 9c266c9..7be4d1c 100644 --- a/source/fbi/action/importsecurevalue.c +++ b/source/fbi/action/importsecurevalue.c @@ -37,18 +37,18 @@ static void action_import_secure_value_update(ui_view* view, void* data, float* info_destroy(view); if(R_SUCCEEDED(res)) { - prompt_display_notify("成功", "已導入安全值", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("成功", "已导入.", COLOR_TEXT, info, task_draw_title_info, NULL); } else { - error_display_res(info, task_draw_title_info, res, "無法導入安全值"); + error_display_res(info, task_draw_title_info, res, "无法导入安全值."); } } static void action_import_secure_value_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在導入安全值中", "", false, data, action_import_secure_value_update, task_draw_title_info); + info_display("正在导入", "", false, data, action_import_secure_value_update, task_draw_title_info); } } void action_import_secure_value(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將導入所選的安全值到所選的程式中,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_import_secure_value_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "导入安全值至所选应用?", COLOR_TEXT, selected->data, task_draw_title_info, action_import_secure_value_onresponse); +} diff --git a/source/fbi/action/importseed.c b/source/fbi/action/importseed.c index 62221ee..a371b4b 100644 --- a/source/fbi/action/importseed.c +++ b/source/fbi/action/importseed.c @@ -16,18 +16,18 @@ static void action_import_seed_update(ui_view* view, void* data, float* progress info_destroy(view); if(R_SUCCEEDED(res)) { - prompt_display_notify("成功", "已導入 Seed.", COLOR_TEXT, info, task_draw_title_info, NULL); + prompt_display_notify("成功", "已导入.", COLOR_TEXT, info, task_draw_title_info, NULL); } else { - error_display_res(info, task_draw_title_info, res, "Failed to import seed."); + error_display_res(info, task_draw_title_info, res, "无法导入种子."); } } static void action_import_seed_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在導入 Seed 中", "", false, data, action_import_seed_update, task_draw_title_info); + info_display("正在导入", "", false, data, action_import_seed_update, task_draw_title_info); } } void action_import_seed(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將導入所選的 Seed 到所選的程式中,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_import_seed_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "导入种子至所选应用?", COLOR_TEXT, selected->data, task_draw_title_info, action_import_seed_onresponse); +} diff --git a/source/fbi/action/importtwlsave.c b/source/fbi/action/importtwlsave.c index afe304c..ef43dd5 100644 --- a/source/fbi/action/importtwlsave.c +++ b/source/fbi/action/importtwlsave.c @@ -83,7 +83,7 @@ static Result action_import_twl_save_restore(void* data, u32 index) { } static bool action_import_twl_save_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(((import_twl_save_data*) data)->title, task_draw_title_info, res, "無法導入儲存數據"); + *errorView = error_display_res(((import_twl_save_data*) data)->title, task_draw_title_info, res, "无法导入数据."); return true; } @@ -95,7 +95,7 @@ static void action_import_twl_save_update(ui_view* view, void* data, float* prog info_destroy(view); if(R_SUCCEEDED(importData->importInfo.result)) { - prompt_display_notify("成功", "已導入儲存數據", COLOR_TEXT, importData->title, task_draw_title_info, NULL); + prompt_display_notify("成功", "已导入.", COLOR_TEXT, importData->title, task_draw_title_info, NULL); } free(data); @@ -124,9 +124,9 @@ static void action_import_twl_save_onresponse(ui_view* view, void* data, u32 res Result res = task_data_op(&importData->importInfo); if(R_SUCCEEDED(res)) { - info_display("正在導入儲存數據中", "按B鍵取消", true, data, action_import_twl_save_update, action_import_twl_save_draw_top); + info_display("正在导入", "按 B 取消.", true, data, action_import_twl_save_update, action_import_twl_save_draw_top); } else { - error_display_res(importData->title, task_draw_title_info, res, "無法初始化儲存數據導入"); + error_display_res(importData->title, task_draw_title_info, res, "无法启动导入数据."); free(data); } } else { @@ -137,7 +137,7 @@ static void action_import_twl_save_onresponse(ui_view* view, void* data, u32 res void action_import_twl_save(linked_list* items, list_item* selected) { import_twl_save_data* data = (import_twl_save_data*) calloc(1, sizeof(import_twl_save_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配DSi儲存數據導入"); + error_display(NULL, NULL, "无法分配导入 TWL 数据的数据."); return; } @@ -172,5 +172,5 @@ void action_import_twl_save(linked_list* items, list_item* selected) { data->importInfo.finished = true; - prompt_display_yes_no("確認", "即將導入所選儲存數據到所選程式中,是否繼續?", COLOR_TEXT, data, action_import_twl_save_draw_top, action_import_twl_save_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "导入数据至所选应用?", COLOR_TEXT, data, action_import_twl_save_draw_top, action_import_twl_save_onresponse); +} diff --git a/source/fbi/action/installcias.c b/source/fbi/action/installcias.c index c75114c..8b0fe9a 100644 --- a/source/fbi/action/installcias.c +++ b/source/fbi/action/installcias.c @@ -120,7 +120,7 @@ static Result action_install_cias_open_dst(void* data, u32 index, void* initialR bool n3ds = false; if(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds && ((info->ciaInfo.titleId >> 28) & 0xF) == 2) { - ui_view* view = prompt_display_yes_no("確認", "此程式是New 3DS專用程式\n是否繼續?", COLOR_TEXT, data, action_install_cias_draw_top, action_install_cias_n3ds_onresponse); + ui_view* view = prompt_display_yes_no("确认", "该应用只适用于 New 3DS.\n继续?", COLOR_TEXT, data, action_install_cias_draw_top, action_install_cias_n3ds_onresponse); if(view != NULL) { svcWaitSynchronization(view->active, U64_MAX); } @@ -180,7 +180,7 @@ static Result action_install_cias_restore(void* data, u32 index) { } bool action_install_cias_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_install_cias_draw_top, res, "無法安裝3DS可導入档案"); + *errorView = error_display_res(data, action_install_cias_draw_top, res, "无法安装安装包."); return true; } @@ -209,7 +209,7 @@ static void action_install_cias_update(ui_view* view, void* data, float* progres info_destroy(view); if(R_SUCCEEDED(installData->installInfo.result)) { - prompt_display_notify("成功", "已完成安裝", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已安装.", COLOR_TEXT, NULL, NULL, NULL); } action_install_cias_free_data(installData); @@ -222,7 +222,7 @@ static void action_install_cias_update(ui_view* view, void* data, float* progres } *progress = installData->installInfo.currTotal != 0 ? (float) ((double) installData->installInfo.currProcessed / (double) installData->installInfo.currTotal) : 0; - snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, 剩余 %s", installData->installInfo.processed, installData->installInfo.total, + snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, ETA %s", installData->installInfo.processed, installData->installInfo.total, ui_get_display_size(installData->installInfo.currProcessed), ui_get_display_size_units(installData->installInfo.currProcessed), ui_get_display_size(installData->installInfo.currTotal), @@ -238,9 +238,9 @@ static void action_install_cias_onresponse(ui_view* view, void* data, u32 respon if(response == PROMPT_YES) { Result res = task_data_op(&installData->installInfo); if(R_SUCCEEDED(res)) { - info_display("安裝 3DS可導入档案", "按B鍵取消", true, data, action_install_cias_update, action_install_cias_draw_top); + info_display("正在安装", "按 B 取消.", true, data, action_install_cias_update, action_install_cias_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化安裝 3DS可導入档案"); + error_display_res(NULL, NULL, res, "无法启动安装包安装."); action_install_cias_free_data(installData); } @@ -273,9 +273,9 @@ static void action_install_cias_loading_update(ui_view* view, void* data, float* loadingData->installData->installInfo.total = linked_list_size(&loadingData->installData->contents); loadingData->installData->installInfo.processed = loadingData->installData->installInfo.total; - prompt_display_yes_no("確認", loadingData->message, COLOR_TEXT, loadingData->installData, action_install_cias_draw_top, action_install_cias_onresponse); + prompt_display_yes_no("确认", loadingData->message, COLOR_TEXT, loadingData->installData, action_install_cias_draw_top, action_install_cias_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "無法列舉3DS可導入档案目錄"); + error_display_res(NULL, NULL, loadingData->popData.result, "无法填充安装包列表."); action_install_cias_free_data(loadingData->installData); } @@ -288,13 +288,13 @@ static void action_install_cias_loading_update(ui_view* view, void* data, float* svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "獲取3DS可導入档案目錄..."); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取安装包列表..."); } static void action_install_cias_internal(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData, const char* message, bool delete) { install_cias_data* data = (install_cias_data*) calloc(1, sizeof(install_cias_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配3DS可導入档案安裝數據"); + error_display(NULL, NULL, "无法分配安装安装包的数据."); return; } @@ -304,7 +304,7 @@ static void action_install_cias_internal(linked_list* items, list_item* selected file_info* targetInfo = (file_info*) selected->data; Result targetCreateRes = task_create_file_item(&data->targetItem, targetInfo->archive, targetInfo->path, targetInfo->attributes, true); if(R_FAILED(targetCreateRes)) { - error_display_res(NULL, NULL, targetCreateRes, "無法創建目標档案"); + error_display_res(NULL, NULL, targetCreateRes, "无法创建目标文件."); action_install_cias_free_data(data); return; @@ -346,7 +346,7 @@ static void action_install_cias_internal(linked_list* items, list_item* selected install_cias_loading_data* loadingData = (install_cias_loading_data*) calloc(1, sizeof(install_cias_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "無法分配讀取數據"); + error_display(NULL, NULL, "无法分配加载的数据."); action_install_cias_free_data(data); return; @@ -369,30 +369,28 @@ static void action_install_cias_internal(linked_list* items, list_item* selected Result listRes = task_populate_files(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "無法初始化3DS可導入档案目錄結構"); + error_display_res(NULL, NULL, listRes, "无法启动安装包列表填充."); free(loadingData); action_install_cias_free_data(data); return; } - info_display("讀取", "按B鍵取消.", false, loadingData, action_install_cias_loading_update, action_install_cias_loading_draw_top); + info_display("正在加载", "按 B 取消.", false, loadingData, action_install_cias_loading_update, action_install_cias_loading_draw_top); } void action_install_cia(linked_list* items, list_item* selected) { - action_install_cias_internal(items, selected, NULL, NULL, "即將安裝所選的3DS可導入档案,是否繼續?", false); + action_install_cias_internal(items, selected, NULL, NULL, "安装所选安装包?", false); } void action_install_cia_delete(linked_list* items, list_item* selected) { - action_install_cias_internal(items, selected, NULL, NULL, "即將安裝並刪除所選的3DS可導入档案,是否繼續?", true); + action_install_cias_internal(items, selected, NULL, NULL, "安装并删除所选安装包?", true); } void action_install_cias(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData) { - action_install_cias_internal(items, selected, filter, filterData, "即將安裝資料夾中所有的3DS可導入档案,是否繼續?", false); + action_install_cias_internal(items, selected, filter, filterData, "安装当前文件夹的所有安装包?", false); } void action_install_cias_delete(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData) { - action_install_cias_internal(items, selected, filter, filterData, "即將安裝並刪除資料夾中所有的3DS可導入档案,是否繼續?", true); + action_install_cias_internal(items, selected, filter, filterData, "安装并删除当前文件夹的所有安装包?", true); } - -// オケー \ No newline at end of file diff --git a/source/fbi/action/installtickets.c b/source/fbi/action/installtickets.c index 782c9ff..444c815 100644 --- a/source/fbi/action/installtickets.c +++ b/source/fbi/action/installtickets.c @@ -129,7 +129,7 @@ static Result action_install_tickets_restore(void* data, u32 index) { } static bool action_install_tickets_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_install_tickets_draw_top, res, "無法安裝憑據"); + *errorView = error_display_res(data, action_install_tickets_draw_top, res, "无法安装应用引导表."); return true; } @@ -158,7 +158,7 @@ static void action_install_tickets_update(ui_view* view, void* data, float* prog info_destroy(view); if(R_SUCCEEDED(installData->installInfo.result)) { - prompt_display_notify("成功", "已成功安裝", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已安装.", COLOR_TEXT, NULL, NULL, NULL); } action_install_tickets_free_data(installData); @@ -171,7 +171,7 @@ static void action_install_tickets_update(ui_view* view, void* data, float* prog } *progress = installData->installInfo.currTotal != 0 ? (float) ((double) installData->installInfo.currProcessed / (double) installData->installInfo.currTotal) : 0; - snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, 剩餘 %s", installData->installInfo.processed, installData->installInfo.total, + snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, ETA %s", installData->installInfo.processed, installData->installInfo.total, ui_get_display_size(installData->installInfo.currProcessed), ui_get_display_size_units(installData->installInfo.currProcessed), ui_get_display_size(installData->installInfo.currTotal), @@ -187,9 +187,9 @@ static void action_install_tickets_onresponse(ui_view* view, void* data, u32 res if(response == PROMPT_YES) { Result res = task_data_op(&installData->installInfo); if(R_SUCCEEDED(res)) { - info_display("正在安裝憑據中", "按B鍵取消", true, data, action_install_tickets_update, action_install_tickets_draw_top); + info_display("正在安装", "按 B 取消.", true, data, action_install_tickets_update, action_install_tickets_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化憑據安裝"); + error_display_res(NULL, NULL, res, "无法启动应用引导表安装."); action_install_tickets_free_data(installData); } @@ -222,9 +222,9 @@ static void action_install_tickets_loading_update(ui_view* view, void* data, flo loadingData->installData->installInfo.total = linked_list_size(&loadingData->installData->contents); loadingData->installData->installInfo.processed = loadingData->installData->installInfo.total; - prompt_display_yes_no("確認", loadingData->message, COLOR_TEXT, loadingData->installData, action_install_tickets_draw_top, action_install_tickets_onresponse); + prompt_display_yes_no("Confirmation", loadingData->message, COLOR_TEXT, loadingData->installData, action_install_tickets_draw_top, action_install_tickets_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "無法列舉憑據目錄"); + error_display_res(NULL, NULL, loadingData->popData.result, "无法填充应用引导表列表."); action_install_tickets_free_data(loadingData->installData); } @@ -237,13 +237,13 @@ static void action_install_tickets_loading_update(ui_view* view, void* data, flo svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "獲取憑據目錄......"); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取应用引导表列表..."); } static void action_install_tickets_internal(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData, const char* message, bool delete) { install_tickets_data* data = (install_tickets_data*) calloc(1, sizeof(install_tickets_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配憑據安裝數據"); + error_display(NULL, NULL, "无法分配安装应用引导表的数据."); return; } @@ -253,7 +253,7 @@ static void action_install_tickets_internal(linked_list* items, list_item* selec file_info* targetInfo = (file_info*) selected->data; Result targetCreateRes = task_create_file_item(&data->targetItem, targetInfo->archive, targetInfo->path, targetInfo->attributes, true); if(R_FAILED(targetCreateRes)) { - error_display_res(NULL, NULL, targetCreateRes, "無法創建目標档案"); + error_display_res(NULL, NULL, targetCreateRes, "无法创建目标文件."); action_install_tickets_free_data(data); return; @@ -293,7 +293,7 @@ static void action_install_tickets_internal(linked_list* items, list_item* selec install_tickets_loading_data* loadingData = (install_tickets_loading_data*) calloc(1, sizeof(install_tickets_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "無法分配讀取數據"); + error_display(NULL, NULL, "无法分配加载的数据."); action_install_tickets_free_data(data); return; @@ -316,28 +316,28 @@ static void action_install_tickets_internal(linked_list* items, list_item* selec Result listRes = task_populate_files(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "無法初始化憑據目錄結構"); + error_display_res(NULL, NULL, listRes, "无法启动应用引导表列表填充."); free(loadingData); action_install_tickets_free_data(data); return; } - info_display("正在讀取中", "按B鍵取消", false, loadingData, action_install_tickets_loading_update, action_install_tickets_loading_draw_top); + info_display("Loading", "Press B to cancel.", false, loadingData, action_install_tickets_loading_update, action_install_tickets_loading_draw_top); } void action_install_ticket(linked_list* items, list_item* selected) { - action_install_tickets_internal(items, selected, NULL, NULL, "即將安裝所選的憑據,是否繼續?", false); + action_install_tickets_internal(items, selected, NULL, NULL, "安装所选应用引导表?", false); } void action_install_ticket_delete(linked_list* items, list_item* selected) { - action_install_tickets_internal(items, selected, NULL, NULL, "即將安裝並刪除所選的憑據,是否繼續?", true); + action_install_tickets_internal(items, selected, NULL, NULL, "安装并删除所选应用引导表?", true); } void action_install_tickets(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData) { - action_install_tickets_internal(items, selected, filter, filterData, "即將安裝當前資料夾中所有的憑據,是否繼續?", false); + action_install_tickets_internal(items, selected, filter, filterData, "安装当前文件夹的所有应用引导表?", false); } void action_install_tickets_delete(linked_list* items, list_item* selected, bool (*filter)(void* data, const char* name, u32 attributes), void* filterData) { - action_install_tickets_internal(items, selected, filter, filterData, "即將安裝並刪除當前資料夾中所有的憑據,是否繼續?", true); -} \ No newline at end of file + action_install_tickets_internal(items, selected, filter, filterData, "安装并删除当前文件夹的所有应用引导表?", true); +} diff --git a/source/fbi/action/installurl.c b/source/fbi/action/installurl.c index ebbc93f..bd4a32d 100644 --- a/source/fbi/action/installurl.c +++ b/source/fbi/action/installurl.c @@ -103,7 +103,7 @@ static Result action_install_url_open_dst(void* data, u32 index, void* initialRe bool n3ds = false; if(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds && ((titleId >> 28) & 0xF) == 2) { - ui_view* view = prompt_display_yes_no("Confirmation", "Title is intended for New 3DS systems.\nContinue?", COLOR_TEXT, data, action_install_url_draw_top, action_install_url_n3ds_onresponse); + ui_view* view = prompt_display_yes_no("确认", "该应用只适用于 New 3DS.\n继续?", COLOR_TEXT, data, action_install_url_draw_top, action_install_url_n3ds_onresponse); if(view != NULL) { svcWaitSynchronization(view->active, U64_MAX); } @@ -245,9 +245,9 @@ static bool action_install_url_error(void* data, u32 index, Result res, ui_view* char* url = installData->urls[index]; if(strlen(url) > 38) { - *errorView = error_display_res(data, action_install_url_draw_top, res, "Failed to install from URL.\n%.35s...", url); + *errorView = error_display_res(data, action_install_url_draw_top, res, "无法从链接安装.\n%.35s...", url); } else { - *errorView = error_display_res(data, action_install_url_draw_top, res, "Failed to install from URL.\n%.38s", url); + *errorView = error_display_res(data, action_install_url_draw_top, res, "无法从链接安装.\n%.38s", url); } return true; @@ -261,7 +261,7 @@ static void action_install_url_install_update(ui_view* view, void* data, float* info_destroy(view); if(R_SUCCEEDED(installData->installInfo.result)) { - prompt_display_notify("成功", "已成功安裝", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已安装.", COLOR_TEXT, NULL, NULL, NULL); } action_install_url_free_data(installData); @@ -274,7 +274,7 @@ static void action_install_url_install_update(ui_view* view, void* data, float* } *progress = installData->installInfo.currTotal != 0 ? (float) ((double) installData->installInfo.currProcessed / (double) installData->installInfo.currTotal) : 0; - snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, 剩餘 %s", installData->installInfo.processed, installData->installInfo.total, + snprintf(text, PROGRESS_TEXT_MAX, "%lu / %lu\n%.2f %s / %.2f %s\n%.2f %s/s, ETA %s", installData->installInfo.processed, installData->installInfo.total, ui_get_display_size(installData->installInfo.currProcessed), ui_get_display_size_units(installData->installInfo.currProcessed), ui_get_display_size(installData->installInfo.currTotal), @@ -290,9 +290,9 @@ static void action_install_url_confirm_onresponse(ui_view* view, void* data, u32 if(response == PROMPT_YES) { Result res = task_data_op(&installData->installInfo); if(R_SUCCEEDED(res)) { - info_display("正在從 URL(s) 安裝", "按B鍵取消", true, data, action_install_url_install_update, action_install_url_draw_top); + info_display("正在安装", "按 B 取消.", true, data, action_install_url_install_update, action_install_url_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化安裝程式"); + error_display_res(NULL, NULL, res, "无法启动链接安装."); action_install_url_free_data(installData); } @@ -307,7 +307,7 @@ void action_install_url(const char* confirmMessage, const char* urls, const char void (*drawTop)(ui_view* view, void* data, float x1, float y1, float x2, float y2, u32 index)) { install_url_data* data = (install_url_data*) calloc(1, sizeof(install_url_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配 URL 安裝數據"); + error_display(NULL, NULL, "无法分配链接安装的数据."); return; } @@ -399,5 +399,5 @@ void action_install_url(const char* confirmMessage, const char* urls, const char data->installInfo.finished = true; - prompt_display_yes_no("確認", confirmMessage, COLOR_TEXT, data, action_install_url_draw_top, action_install_url_confirm_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", confirmMessage, COLOR_TEXT, data, action_install_url_draw_top, action_install_url_confirm_onresponse); +} diff --git a/source/fbi/action/launchtitle.c b/source/fbi/action/launchtitle.c index 583b27e..30d0ccf 100644 --- a/source/fbi/action/launchtitle.c +++ b/source/fbi/action/launchtitle.c @@ -21,16 +21,16 @@ static void action_launch_title_update(ui_view* view, void* data, float* progres ui_pop(); info_destroy(view); - error_display_res(info, task_draw_title_info, res, "無法啟動程式"); + error_display_res(info, task_draw_title_info, res, "无法启动应用."); } } static void action_launch_title_onresponse(ui_view* view, void* data, u32 response) { if(response == PROMPT_YES) { - info_display("正在啟動程式中", "", false, data, action_launch_title_update, task_draw_title_info); + info_display("正在启动", "", false, data, action_launch_title_update, task_draw_title_info); } } void action_launch_title(linked_list* items, list_item* selected) { - prompt_display_yes_no("確認", "即將啟動所選的程式,是否繼續?", COLOR_TEXT, selected->data, task_draw_title_info, action_launch_title_onresponse); -} \ No newline at end of file + prompt_display_yes_no("确认", "启动所选应用?", COLOR_TEXT, selected->data, task_draw_title_info, action_launch_title_onresponse); +} diff --git a/source/fbi/action/newfolder.c b/source/fbi/action/newfolder.c index 6a0b88b..2c66209 100644 --- a/source/fbi/action/newfolder.c +++ b/source/fbi/action/newfolder.c @@ -43,9 +43,9 @@ static void action_new_folder_onresponse(ui_view* view, void* data, SwkbdButton linked_list_sort(newFolderData->items, NULL, task_compare_files); } - prompt_display_notify("成功", "已創建新的資料夾", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已创建.", COLOR_TEXT, NULL, NULL, NULL); } else { - error_display_res(NULL, NULL, res, "無法創建新的資料夾"); + error_display_res(NULL, NULL, res, "无法创建文件夹."); } } @@ -55,7 +55,7 @@ static void action_new_folder_onresponse(ui_view* view, void* data, SwkbdButton void action_new_folder(linked_list* items, list_item* selected) { new_folder_data* data = (new_folder_data*) calloc(1, sizeof(new_folder_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配新資料夾的數據"); + error_display(NULL, NULL, "无法分配新建文件夹的数据."); return; } @@ -63,6 +63,5 @@ void action_new_folder(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - kbd_display("輸入新資料夾的名字", "", SWKBD_TYPE_NORMAL, 0, SWKBD_NOTEMPTY_NOTBLANK, FILE_NAME_MAX, data, action_new_folder_onresponse); + kbd_display("输入文件夹名称", "", SWKBD_TYPE_NORMAL, 0, SWKBD_NOTEMPTY_NOTBLANK, FILE_NAME_MAX, data, action_new_folder_onresponse); } - diff --git a/source/fbi/action/pastecontents.c b/source/fbi/action/pastecontents.c index 5fe5b84..5eacd11 100644 --- a/source/fbi/action/pastecontents.c +++ b/source/fbi/action/pastecontents.c @@ -211,7 +211,7 @@ static Result action_paste_contents_restore(void* data, u32 index) { } static bool action_paste_contents_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(data, action_paste_contents_draw_top, res, "Failed to paste content."); + *errorView = error_display_res(data, action_paste_contents_draw_top, res, "无法粘贴项目."); return true; } @@ -240,7 +240,7 @@ static void action_paste_contents_update(ui_view* view, void* data, float* progr info_destroy(view); if(R_SUCCEEDED(pasteData->pasteInfo.result)) { - prompt_display_notify("成功", "档案以粘貼", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已粘贴.", COLOR_TEXT, NULL, NULL, NULL); } action_paste_contents_free_data(pasteData); @@ -268,9 +268,9 @@ static void action_paste_contents_onresponse(ui_view* view, void* data, u32 resp if(response == PROMPT_YES) { Result res = task_data_op(&pasteData->pasteInfo); if(R_SUCCEEDED(res)) { - info_display("正在粘貼档案中", "按B鍵取消", true, data, action_paste_contents_update, action_paste_contents_draw_top); + info_display("正在粘贴", "按 B 取消.", true, data, action_paste_contents_update, action_paste_contents_draw_top); } else { - error_display_res(NULL, NULL, res, "無法初始化粘貼操作"); + error_display_res(NULL, NULL, res, "无法启动粘贴操作."); action_paste_contents_free_data(pasteData); } @@ -300,9 +300,9 @@ static void action_paste_contents_loading_update(ui_view* view, void* data, floa loadingData->pasteData->pasteInfo.total = linked_list_size(&loadingData->pasteData->contents); loadingData->pasteData->pasteInfo.processed = loadingData->pasteData->pasteInfo.total; - prompt_display_yes_no("確認", "即將粘貼剪貼板档案到當前資料夾下,是否繼續?", COLOR_TEXT, loadingData->pasteData, action_paste_contents_draw_top, action_paste_contents_onresponse); + prompt_display_yes_no("确认", "粘贴至当前文件夹?", COLOR_TEXT, loadingData->pasteData, action_paste_contents_draw_top, action_paste_contents_onresponse); } else { - error_display_res(NULL, NULL, loadingData->popData.result, "無法列舉剪貼板档案目錄"); + error_display_res(NULL, NULL, loadingData->popData.result, "无法启动剪贴板项目填充."); action_paste_contents_free_data(loadingData->pasteData); } @@ -315,18 +315,18 @@ static void action_paste_contents_loading_update(ui_view* view, void* data, floa svcSignalEvent(loadingData->popData.cancelEvent); } - snprintf(text, PROGRESS_TEXT_MAX, "獲取剪貼板档案目錄中......"); + snprintf(text, PROGRESS_TEXT_MAX, "正在获取剪贴板项目..."); } void action_paste_contents(linked_list* items, list_item* selected) { if(!clipboard_has_contents()) { - prompt_display_notify("失敗", "剪貼板無档案.", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("失败", "剪贴板为空.", COLOR_TEXT, NULL, NULL, NULL); return; } paste_contents_data* data = (paste_contents_data*) calloc(1, sizeof(paste_contents_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配粘貼档案數據"); + error_display(NULL, NULL, "无法分配粘贴项目的数据."); return; } @@ -336,7 +336,7 @@ void action_paste_contents(linked_list* items, list_item* selected) { file_info* targetInfo = (file_info*) selected->data; Result targetCreateRes = task_create_file_item(&data->targetItem, targetInfo->archive, targetInfo->path, targetInfo->attributes, false); if(R_FAILED(targetCreateRes)) { - error_display_res(NULL, NULL, targetCreateRes, "無法創建目標档案"); + error_display_res(NULL, NULL, targetCreateRes, "无法创建目标文件."); action_paste_contents_free_data(data); return; @@ -374,7 +374,7 @@ void action_paste_contents(linked_list* items, list_item* selected) { paste_contents_loading_data* loadingData = (paste_contents_loading_data*) calloc(1, sizeof(paste_contents_loading_data)); if(loadingData == NULL) { - error_display(NULL, NULL, "無法分配讀取數據"); + error_display(NULL, NULL, "无法分配加载的数据."); action_paste_contents_free_data(data); return; @@ -393,12 +393,12 @@ void action_paste_contents(linked_list* items, list_item* selected) { Result listRes = task_populate_files(&loadingData->popData); if(R_FAILED(listRes)) { - error_display_res(NULL, NULL, listRes, "無法初始化剪貼板档案目錄結構"); + error_display_res(NULL, NULL, listRes, "无法启动剪贴板项目填充."); free(loadingData); action_paste_contents_free_data(data); return; } - info_display("正在讀期中", "按B鍵取消", false, loadingData, action_paste_contents_loading_update, action_paste_contents_loading_draw_top); -} \ No newline at end of file + info_display("正在加载", "按 B 取消.", false, loadingData, action_paste_contents_loading_update, action_paste_contents_loading_draw_top); +} diff --git a/source/fbi/action/rename.c b/source/fbi/action/rename.c index 07ec728..f17e4a4 100644 --- a/source/fbi/action/rename.c +++ b/source/fbi/action/rename.c @@ -57,7 +57,7 @@ static void action_rename_onresponse(ui_view* view, void* data, SwkbdButton butt } if(R_SUCCEEDED(res)) { - if(strncmp(selected->name, "<當前目錄>", LIST_ITEM_NAME_MAX) != 0 && strncmp(selected->name, "<當前檔案>", LIST_ITEM_NAME_MAX) != 0) { + if(strncmp(selected->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) != 0 && strncmp(selected->name, "<当前文件>", LIST_ITEM_NAME_MAX) != 0) { string_copy(selected->name, fileName, LIST_ITEM_NAME_MAX); } @@ -66,9 +66,9 @@ static void action_rename_onresponse(ui_view* view, void* data, SwkbdButton butt linked_list_sort(renameData->items, NULL, task_compare_files); - prompt_display_notify("成功", "已重命名", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已重命名.", COLOR_TEXT, NULL, NULL, NULL); } else { - error_display_res(NULL, NULL, res, "無法重命名"); + error_display_res(NULL, NULL, res, "无法执行重命名."); } } @@ -78,7 +78,7 @@ static void action_rename_onresponse(ui_view* view, void* data, SwkbdButton butt void action_rename(linked_list* items, list_item* selected) { rename_data* data = (rename_data*) calloc(1, sizeof(rename_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配重命名數據"); + error_display(NULL, NULL, "无法分配重命名的数据."); return; } @@ -86,7 +86,5 @@ void action_rename(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - kbd_display("輸入新的名字", ((file_info*) selected->data)->name, SWKBD_TYPE_NORMAL, 0, SWKBD_NOTEMPTY_NOTBLANK, FILE_NAME_MAX, data, action_rename_onresponse); + kbd_display("输入新名称", ((file_info*) selected->data)->name, SWKBD_TYPE_NORMAL, 0, SWKBD_NOTEMPTY_NOTBLANK, FILE_NAME_MAX, data, action_rename_onresponse); } - -// オケー \ No newline at end of file diff --git a/source/fbi/dumpnand.c b/source/fbi/dumpnand.c index 098c253..b23391a 100644 --- a/source/fbi/dumpnand.c +++ b/source/fbi/dumpnand.c @@ -80,7 +80,7 @@ static Result dumpnand_restore(void* data, u32 index) { } static bool dumpnand_error(void* data, u32 index, Result res, ui_view** errorView) { - *errorView = error_display_res(NULL, NULL, res, "無法導出NAND"); + *errorView = error_display_res(NULL, NULL, res, "无法导出 NAND."); return true; } @@ -92,7 +92,7 @@ static void dumpnand_update(ui_view* view, void* data, float* progress, char* te info_destroy(view); if(R_SUCCEEDED(dumpData->result)) { - prompt_display_notify("成功", "成功導出NAND", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已导出.", COLOR_TEXT, NULL, NULL, NULL); } free(dumpData); @@ -118,9 +118,9 @@ static void dumpnand_onresponse(ui_view* view, void* data, u32 response) { Result res = task_data_op(dumpData); if(R_SUCCEEDED(res)) { - info_display("導出NAND", "按B鍵停止", true, data, dumpnand_update, NULL); + info_display("正在导出", "按 B 取消.", true, data, dumpnand_update, NULL); } else { - error_display_res(NULL, NULL, res, "無法初始化導出NAND"); + error_display_res(NULL, NULL, res, "无法启动导出 NAND."); free(data); } } else { @@ -131,7 +131,7 @@ static void dumpnand_onresponse(ui_view* view, void* data, u32 response) { void dumpnand_open() { data_op_data* data = (data_op_data*) calloc(1, sizeof(data_op_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配導出NAND數據"); + error_display(NULL, NULL, "无法分配导出 NAND 的数据."); return; } @@ -164,7 +164,5 @@ void dumpnand_open() { data->finished = true; - prompt_display_yes_no("確認", "是否導出原始NAND鏡像?", COLOR_TEXT, data, NULL, dumpnand_onresponse); + prompt_display_yes_no("确认", "导出原始 NAND 镜像至 SD 卡?", COLOR_TEXT, data, NULL, dumpnand_onresponse); } - -// オケー \ No newline at end of file diff --git a/source/fbi/extsavedata.c b/source/fbi/extsavedata.c index 4b176df..1ad0605 100644 --- a/source/fbi/extsavedata.c +++ b/source/fbi/extsavedata.c @@ -10,9 +10,9 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item browse_user_save_data = {"瀏覽使用者儲存資料", COLOR_TEXT, action_browse_user_ext_save_data}; -static list_item browse_spotpass_save_data = {"瀏覽悄然連接儲存資料", COLOR_TEXT, action_browse_boss_ext_save_data}; -static list_item delete_save_data = {"刪除儲存資料", COLOR_TEXT, action_delete_ext_save_data}; +static list_item browse_user_save_data = {"浏览用户数据", COLOR_TEXT, action_browse_user_ext_save_data}; +static list_item browse_spotpass_save_data = {"浏览悄然连接数据", COLOR_TEXT, action_browse_boss_ext_save_data}; +static list_item delete_save_data = {"删除数据", COLOR_TEXT, action_delete_ext_save_data}; typedef struct { populate_ext_save_data_data populateData; @@ -69,7 +69,7 @@ static void extsavedata_action_update(ui_view* view, void* data, linked_list* it static void extsavedata_action_open(linked_list* items, list_item* selected) { extsavedata_action_data* data = (extsavedata_action_data*) calloc(1, sizeof(extsavedata_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配追加儲存數據操作的數據."); + error_display(NULL, NULL, "无法分配追加数据操作的数据."); return; } @@ -77,7 +77,7 @@ static void extsavedata_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("追加儲存數據操作", "A: 選擇, B: 返回", data, extsavedata_action_update, extsavedata_action_draw_top); + list_display("追加数据操作", "A: 选择, B: 返回", data, extsavedata_action_update, extsavedata_action_draw_top); } static void extsavedata_options_add_entry(linked_list* items, const char* name, bool* val) { @@ -135,15 +135,15 @@ static void extsavedata_options_update(ui_view* view, void* data, linked_list* i } if(linked_list_size(items) == 0) { - extsavedata_options_add_entry(items, "顯示SD卡", &listData->showSD); - extsavedata_options_add_entry(items, "顯示NAND", &listData->showNAND); - extsavedata_options_add_entry(items, "按ID排列", &listData->sortById); - extsavedata_options_add_entry(items, "按名稱排列", &listData->sortByName); + extsavedata_options_add_entry(items, "显示 SD 卡中的数据", &listData->showSD); + extsavedata_options_add_entry(items, "显示 NAND 中的数据", &listData->showNAND); + extsavedata_options_add_entry(items, "按 ID 排序", &listData->sortById); + extsavedata_options_add_entry(items, "按名称排序", &listData->sortByName); } } static void extsavedata_options_open(extsavedata_data* data) { - list_display("選項", "A: 切換, B: 返回", data, extsavedata_options_update, NULL); + list_display("选项", "A: 切换, B: 返回", data, extsavedata_options_update, NULL); } static void extsavedata_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -188,14 +188,14 @@ static void extsavedata_update(ui_view* view, void* data, linked_list* items, li listData->populateData.items = items; Result res = task_populate_ext_save_data(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化追加儲存數據目錄結構"); + error_display_res(NULL, NULL, res, "无法启动追加数据列表填充."); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉追加儲存數據目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充追加数据列表."); listData->populateData.result = 0; } @@ -255,7 +255,7 @@ static int extsavedata_compare(void* data, const void* p1, const void* p2) { void extsavedata_open() { extsavedata_data* data = (extsavedata_data*) calloc(1, sizeof(extsavedata_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配追加儲存數據數據"); + error_display(NULL, NULL, "无法分配追加数据的数据."); return; } @@ -271,7 +271,5 @@ void extsavedata_open() { data->sortById = false; data->sortByName = true; - list_display("追加儲存數據", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, extsavedata_update, extsavedata_draw_top); + list_display("追加数据", "A: 选择, B: 返回, X: 刷新, SELECT: 选项", data, extsavedata_update, extsavedata_draw_top); } - -// オケー \ No newline at end of file diff --git a/source/fbi/files.c b/source/fbi/files.c index e5b1f50..fe56dc5 100644 --- a/source/fbi/files.c +++ b/source/fbi/files.c @@ -11,29 +11,29 @@ #include "../core/core.h" static list_item rename_opt = {"重命名", COLOR_TEXT, action_rename}; -static list_item copy = {"拷貝", COLOR_TEXT, NULL}; -static list_item paste = {"粘貼", COLOR_TEXT, action_paste_contents}; +static list_item copy = {"复制", COLOR_TEXT, NULL}; +static list_item paste = {"粘贴", COLOR_TEXT, action_paste_contents}; -static list_item delete_file = {"刪除", COLOR_TEXT, action_delete_file}; +static list_item delete_file = {"删除", COLOR_TEXT, action_delete_file}; -static list_item install_cia = {"安裝3DS可導入档案", COLOR_TEXT, action_install_cia}; -static list_item install_and_delete_cia = {"安裝並刪除3DS可導入档案", COLOR_TEXT, action_install_cia_delete}; +static list_item install_cia = {"安装安装包", COLOR_TEXT, action_install_cia}; +static list_item install_and_delete_cia = {"安装并删除安装包", COLOR_TEXT, action_install_cia_delete}; -static list_item install_ticket = {"安裝ticket", COLOR_TEXT, action_install_ticket}; -static list_item install_and_delete_ticket = {"安裝並刪除憑據", COLOR_TEXT, action_install_ticket_delete}; +static list_item install_ticket = {"安装应用引导表", COLOR_TEXT, action_install_ticket}; +static list_item install_and_delete_ticket = {"安装并删除应用引导表", COLOR_TEXT, action_install_ticket_delete}; -static list_item delete_dir = {"刪除", COLOR_TEXT, action_delete_dir}; -static list_item copy_all_contents = {"拷貝所有档案", COLOR_TEXT, NULL}; -static list_item delete_all_contents = {"刪除所有档案", COLOR_TEXT, action_delete_dir_contents}; -static list_item new_folder = {"新建資料夾", COLOR_TEXT, action_new_folder}; +static list_item delete_dir = {"删除", COLOR_TEXT, action_delete_dir}; +static list_item copy_all_contents = {"复制所有项目", COLOR_TEXT, NULL}; +static list_item delete_all_contents = {"删除所有项目", COLOR_TEXT, action_delete_dir_contents}; +static list_item new_folder = {"新建文件夹", COLOR_TEXT, action_new_folder}; -static list_item install_all_cias = {"安裝所有3DS可導入档案", COLOR_TEXT, action_install_cias}; -static list_item install_and_delete_all_cias = {"安裝並刪除所有3DS可導入档案", COLOR_TEXT, action_install_cias_delete}; -static list_item delete_all_cias = {"刪除所有3DS可導入档案", COLOR_TEXT, action_delete_dir_cias}; +static list_item install_all_cias = {"安装所有安装包", COLOR_TEXT, action_install_cias}; +static list_item install_and_delete_all_cias = {"安装并删除所有安装包", COLOR_TEXT, action_install_cias_delete}; +static list_item delete_all_cias = {"删除安装包", COLOR_TEXT, action_delete_dir_cias}; -static list_item install_all_tickets = {"安裝所有憑據", COLOR_TEXT, action_install_tickets}; -static list_item install_and_delete_all_tickets = {"安裝並刪除所有憑據", COLOR_TEXT, action_install_tickets_delete}; -static list_item delete_all_tickets = {"刪除所有憑據", COLOR_TEXT, action_delete_dir_tickets}; +static list_item install_all_tickets = {"安装所有应用引导表", COLOR_TEXT, action_install_tickets}; +static list_item install_and_delete_all_tickets = {"安装并删除所有应用引导表", COLOR_TEXT, action_install_tickets_delete}; +static list_item delete_all_tickets = {"删除所有应用引导表", COLOR_TEXT, action_delete_dir_tickets}; typedef struct { populate_files_data populateData; @@ -107,9 +107,9 @@ static void files_action_update(ui_view* view, void* data, linked_list* items, l Result res = 0; if(R_SUCCEEDED(res = clipboard_set_contents(actionData->parent->archive, info->path, selected == ©_all_contents))) { - prompt_display_notify("成功", selected == ©_all_contents ? "當前資料夾的档案已拷貝到剪貼板上" : (info->attributes & FS_ATTRIBUTE_DIRECTORY) ? "當前資料夾已拷貝到剪貼板上" : "档案已拷貝到剪貼板上", COLOR_TEXT, info, task_draw_file_info, NULL); + prompt_display_notify("成功", selected == ©_all_contents ? "当前文件夹的所有项目已复制到剪贴板." : (info->attributes & FS_ATTRIBUTE_DIRECTORY) ? "当前文件夹已复制到剪贴板." : "文件已复制到剪贴板.", COLOR_TEXT, info, task_draw_file_info, NULL); } else { - error_display_res(info, task_draw_file_info, res, "無法拷貝到剪貼板上"); + error_display_res(info, task_draw_file_info, res, "无法复制到剪贴板."); } } else if(selected == &install_all_cias || selected == &install_and_delete_all_cias || selected == &install_all_tickets || selected == &install_and_delete_all_tickets) { void (*filteredAction)(linked_list*, list_item*, bool (*)(void*, const char*, u32), void*) = action; @@ -171,7 +171,7 @@ static void files_action_update(ui_view* view, void* data, linked_list* items, l static void files_action_open(linked_list* items, list_item* selected, files_data* parent) { files_action_data* data = (files_action_data*) calloc(1, sizeof(files_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配档案操作數據"); + error_display(NULL, NULL, "无法分配文件操作的数据."); return; } @@ -196,7 +196,7 @@ static void files_action_open(linked_list* items, list_item* selected, files_dat } } - list_display((((file_info*) selected->data)->attributes & FS_ATTRIBUTE_DIRECTORY) ? "資料夾操作" : "档案操作", "A: 選擇, B: 返回", data, files_action_update, files_action_draw_top); + list_display((((file_info*) selected->data)->attributes & FS_ATTRIBUTE_DIRECTORY) ? "文件夹操作" : "文件操作", "A: 选择, B: 返回", data, files_action_update, files_action_draw_top); } static void files_options_add_entry(linked_list* items, const char* name, bool* val) { @@ -238,16 +238,16 @@ static void files_options_update(ui_view* view, void* data, linked_list* items, } if(linked_list_size(items) == 0) { - files_options_add_entry(items, "顯示隠藏档案", &listData->showHidden); - files_options_add_entry(items, "顯示資料夾", &listData->showDirectories); - files_options_add_entry(items, "顯示档案", &listData->showFiles); - files_options_add_entry(items, "顯示 CIAs", &listData->showCias); - files_options_add_entry(items, "顯示 Tickets", &listData->showTickets); + files_options_add_entry(items, "显示隐藏的项目", &listData->showHidden); + files_options_add_entry(items, "显示文件夹", &listData->showDirectories); + files_options_add_entry(items, "显示文件", &listData->showFiles); + files_options_add_entry(items, "显示安装包", &listData->showCias); + files_options_add_entry(items, "显示应用引导表", &listData->showTickets); } } static void files_options_open(files_data* data) { - list_display("選項", "A: 切換, B: 返回", data, files_options_update, NULL); + list_display("选项", "A: 切换, B: 返回", data, files_options_update, NULL); } static void files_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -270,7 +270,7 @@ static void files_repopulate(files_data* listData, linked_list* items) { Result res = task_populate_files(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化档案目錄結構"); + error_display_res(NULL, NULL, res, "无法启动文件列表填充."); } listData->populated = true; @@ -347,7 +347,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite if(selected != NULL && selected->data != NULL && (selectedTouched || (hidKeysDown() & KEY_A))) { file_info* fileInfo = (file_info*) selected->data; - if((fileInfo->attributes & FS_ATTRIBUTE_DIRECTORY) && strncmp(selected->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) != 0) { + if((fileInfo->attributes & FS_ATTRIBUTE_DIRECTORY) && strncmp(selected->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) != 0) { files_navigate(listData, items, fileInfo->path); } else { files_action_open(items, selected, listData); @@ -360,7 +360,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉档案目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充文件列表."); listData->populateData.result = 0; } @@ -369,7 +369,7 @@ static void files_update(ui_view* view, void* data, linked_list* items, list_ite void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { files_data* data = (files_data*) calloc(1, sizeof(files_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配档案數據"); + error_display(NULL, NULL, "无法分配文件的数据."); return; } @@ -397,7 +397,7 @@ void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { if(archivePath.data != NULL) { data->archivePath.data = calloc(1, data->archivePath.size); if(data->archivePath.data == NULL) { - error_display(NULL, NULL, "無法分配档案數據"); + error_display(NULL, NULL, "无法分配文件的数据."); files_free_data(data); return; @@ -412,13 +412,13 @@ void files_open(FS_ArchiveID archiveId, FS_Path archivePath) { Result res = 0; if(R_FAILED(res = fs_open_archive(&data->archive, archiveId, archivePath))) { - error_display_res(NULL, NULL, res, "無法打開档案列表存档"); + error_display_res(NULL, NULL, res, "没有找到文件夹."); files_free_data(data); return; } - list_display("档案", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, files_update, files_draw_top); + list_display("文件", "A: 选择, B: 返回, X: 刷新, SELECT: 选项", data, files_update, files_draw_top); } static void files_open_nand_warning_onresponse(ui_view* view, void* data, u32 response) { @@ -430,7 +430,7 @@ static void files_open_nand_warning_onresponse(ui_view* view, void* data, u32 re } void files_open_nand_warning(FS_ArchiveID archive) { - prompt_display_yes_no("確認", "修改NAND是危險的,可能會導致\n 系統無法正常運行。\n確保自己知道行為造成的後果。\n\n是否繼續?", COLOR_TEXT, (void*) archive, NULL, files_open_nand_warning_onresponse); + prompt_display_yes_no("确认", "修改 NAND 是危险的,\n这可能导致系统无法正常运行,\n请您确保自己知道正在做什么.\n\n继续?", COLOR_TEXT, (void*) archive, NULL, files_open_nand_warning_onresponse); } void files_open_sd() { @@ -452,5 +452,3 @@ void files_open_twl_photo() { void files_open_twl_sound() { files_open(ARCHIVE_TWL_SOUND, fsMakePath(PATH_EMPTY, "")); } - -// オケー \ No newline at end of file diff --git a/source/fbi/main.c b/source/fbi/main.c index f19682a..14c1ee7 100644 --- a/source/fbi/main.c +++ b/source/fbi/main.c @@ -120,19 +120,19 @@ void init() { Result romfsRes = romfsInit(); if(R_FAILED(romfsRes)) { - error_panic("無法掛載 RomFS: %08lX", romfsRes); + error_panic("无法挂载 RomFS: %08lX", romfsRes); return; } if(R_FAILED(init_services())) { if(!attempt_patch_pid()) { - error_panic("無法操控內核\n請確認已獲得內核權限"); + error_panic("内核破解未安装.\n请运行内核破解并重试."); return; } Result initRes = init_services(); if(R_FAILED(initRes)) { - error_panic("無法初始化服務: %08lX", initRes); + error_panic("无法初始化服务: %08lX", initRes); return; } } @@ -142,7 +142,7 @@ void init() { APT_GetAppCpuTimeLimit(&old_time_limit); Result cpuRes = APT_SetAppCpuTimeLimit(30); if(R_FAILED(cpuRes)) { - error_panic("無法設置 Syscore CPU 時間限制: %08lX", cpuRes); + error_panic("无法设置系统核心 CPU 时间限制: %08lX", cpuRes); return; } @@ -186,4 +186,4 @@ int main(int argc, const char* argv[]) { cleanup(); return 0; -} \ No newline at end of file +} diff --git a/source/fbi/mainmenu.c b/source/fbi/mainmenu.c index 8ac1361..9823bd5 100644 --- a/source/fbi/mainmenu.c +++ b/source/fbi/mainmenu.c @@ -7,19 +7,19 @@ #include "section.h" #include "../core/core.h" -static list_item sd = {"SD Card", COLOR_TEXT, files_open_sd}; +static list_item sd = {"SD 卡", COLOR_TEXT, files_open_sd}; static list_item ctr_nand = {"CTR NAND", COLOR_TEXT, files_open_ctr_nand}; static list_item twl_nand = {"TWL NAND", COLOR_TEXT, files_open_twl_nand}; -static list_item twl_photo = {"TWL Photo", COLOR_TEXT, files_open_twl_photo}; -static list_item twl_sound = {"TWL Sound", COLOR_TEXT, files_open_twl_sound}; -static list_item dump_nand = {"導出 NAND", COLOR_TEXT, dumpnand_open}; -static list_item titles = {"程式", COLOR_TEXT, titles_open}; -static list_item pending_titles = {"待裝程式", COLOR_TEXT, pendingtitles_open}; -static list_item tickets = {"憑據", COLOR_TEXT, tickets_open}; -static list_item ext_save_data = {"追加儲存數據", COLOR_TEXT, extsavedata_open}; -static list_item system_save_data = {"系統儲存數據", COLOR_TEXT, systemsavedata_open}; -static list_item remote_install = {"遠程安裝", COLOR_TEXT, remoteinstall_open}; -static list_item update = {"升級至最新(Latest Not Releases)", COLOR_TEXT, update_open}; +static list_item twl_photo = {"TWL 照片", COLOR_TEXT, files_open_twl_photo}; +static list_item twl_sound = {"TWL 声音", COLOR_TEXT, files_open_twl_sound}; +static list_item dump_nand = {"导出 NAND", COLOR_TEXT, dumpnand_open}; +static list_item titles = {"应用", COLOR_TEXT, titles_open}; +static list_item pending_titles = {"未完成的应用", COLOR_TEXT, pendingtitles_open}; +static list_item tickets = {"应用引导表", COLOR_TEXT, tickets_open}; +static list_item ext_save_data = {"追加数据", COLOR_TEXT, extsavedata_open}; +static list_item system_save_data = {"系统数据", COLOR_TEXT, systemsavedata_open}; +static list_item remote_install = {"远程安装", COLOR_TEXT, remoteinstall_open}; +static list_item update = {"检查更新", COLOR_TEXT, update_open}; static void mainmenu_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { u32 logoWidth; @@ -64,5 +64,5 @@ static void mainmenu_update(ui_view* view, void* data, linked_list* items, list_ void mainmenu_open() { resources_load(); - list_display("主選單", "A: 選擇, START: 退出", NULL, mainmenu_update, mainmenu_draw_top); + list_display("主菜单", "A: 选择, START: 退出", NULL, mainmenu_update, mainmenu_draw_top); } diff --git a/source/fbi/pendingtitles.c b/source/fbi/pendingtitles.c index 72fcb2d..b369f2b 100644 --- a/source/fbi/pendingtitles.c +++ b/source/fbi/pendingtitles.c @@ -9,8 +9,8 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item delete_pending_title = {"刪除待裝程式", COLOR_TEXT, action_delete_pending_title}; -static list_item delete_all_pending_titles = {"刪除全部待裝程式", COLOR_TEXT, action_delete_all_pending_titles}; +static list_item delete_pending_title = {"删除未完成的应用", COLOR_TEXT, action_delete_pending_title}; +static list_item delete_all_pending_titles = {"删除所有未完成的应用", COLOR_TEXT, action_delete_all_pending_titles}; typedef struct { populate_pending_titles_data populateData; @@ -61,7 +61,7 @@ static void pendingtitles_action_update(ui_view* view, void* data, linked_list* static void pendingtitles_action_open(linked_list* items, list_item* selected) { pendingtitles_action_data* data = (pendingtitles_action_data*) calloc(1, sizeof(pendingtitles_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配待裝程式操作數據"); + error_display(NULL, NULL, "无法分配未完成的应用操作的数据."); return; } @@ -69,7 +69,7 @@ static void pendingtitles_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("待裝程式操作", "A: 選擇, B: 返回", data, pendingtitles_action_update, pendingtitles_action_draw_top); + list_display("未完成的应用操作", "A: 选择, B: 返回", data, pendingtitles_action_update, pendingtitles_action_draw_top); } static void pendingtitles_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -109,14 +109,14 @@ static void pendingtitles_update(ui_view* view, void* data, linked_list* items, listData->populateData.items = items; Result res = task_populate_pending_titles(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化待裝程式目錄結構"); + error_display_res(NULL, NULL, res, "无法启动未完成的应用列表填充."); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉待裝程式目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充未完成的应用列表."); listData->populateData.result = 0; } @@ -130,14 +130,12 @@ static void pendingtitles_update(ui_view* view, void* data, linked_list* items, void pendingtitles_open() { pendingtitles_data* data = (pendingtitles_data*) calloc(1, sizeof(pendingtitles_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配待裝程式數據"); + error_display(NULL, NULL, "无法分配未完成的应用的数据."); return; } data->populateData.finished = true; - list_display("待裝程式 (Pending Titles)", "A: 選擇, B: 返回, X: 刷新", data, pendingtitles_update, pendingtitles_draw_top); + list_display("未完成的应用", "A: 选择, B: 返回, X: 刷新", data, pendingtitles_update, pendingtitles_draw_top); } - -// オケー \ No newline at end of file diff --git a/source/fbi/remoteinstall.c b/source/fbi/remoteinstall.c index e2381d7..62ccc65 100644 --- a/source/fbi/remoteinstall.c +++ b/source/fbi/remoteinstall.c @@ -144,7 +144,7 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr u32 size = 0; if(remoteinstall_network_recvwait(networkData->clientSocket, &size, sizeof(size), 0) != sizeof(size)) { - error_display_errno(NULL, NULL, errno, "無法讀取載荷長度"); + error_display_errno(NULL, NULL, errno, "无法读取载荷大小."); remoteinstall_network_close_client(data); return; @@ -152,7 +152,7 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr size = ntohl(size); if(size >= DOWNLOAD_URL_MAX * INSTALL_URLS_MAX) { - error_display(NULL, NULL, "載荷過長"); + error_display(NULL, NULL, "载荷过大."); remoteinstall_network_close_client(data); return; @@ -160,14 +160,14 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr char* urls = (char*) calloc(size + 1, sizeof(char)); if(urls == NULL) { - error_display(NULL, NULL, "無法分配 URL 緩存"); + error_display(NULL, NULL, "无法分配链接的缓存."); remoteinstall_network_close_client(data); return; } if(remoteinstall_network_recvwait(networkData->clientSocket, urls, size, 0) != size) { - error_display_errno(NULL, NULL, errno, "無法讀取 URL"); + error_display_errno(NULL, NULL, errno, "无法读取链接."); free(urls); remoteinstall_network_close_client(data); @@ -175,7 +175,7 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr } remoteinstall_set_last_urls(urls); - action_install_url("從收到的 URL 中安裝?", urls, NULL, data, NULL, remoteinstall_network_close_client, NULL); + action_install_url("从接收到的链接安装?", urls, NULL, data, NULL, remoteinstall_network_close_client, NULL); free(urls); } else if(errno != EAGAIN) { @@ -184,7 +184,7 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr info_destroy(view); } - error_display_errno(NULL, NULL, errno, "無法打開接口"); + error_display_errno(NULL, NULL, errno, "无法打开接口."); if(errno == 22 || errno == 115) { remoteinstall_network_free_data(networkData); @@ -194,20 +194,20 @@ static void remoteinstall_network_update(ui_view* view, void* data, float* progr } struct in_addr addr = {(in_addr_t) gethostid()}; - snprintf(text, PROGRESS_TEXT_MAX, "等待連接中...\nIP: %s\n端口: 5000", inet_ntoa(addr)); + snprintf(text, PROGRESS_TEXT_MAX, "等待连接中...\nIP: %s\n端口: 5000", inet_ntoa(addr)); } static void remoteinstall_receive_urls_network() { remoteinstall_network_data* data = (remoteinstall_network_data*) calloc(1, sizeof(remoteinstall_network_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配互聯網安裝數據"); + error_display(NULL, NULL, "无法分配网络安装的数据."); return; } int sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); if(sock < 0) { - error_display_errno(NULL, NULL, errno, "無法打開伺服器接口"); + error_display_errno(NULL, NULL, errno, "无法打开服务接口."); remoteinstall_network_free_data(data); return; @@ -221,7 +221,7 @@ static void remoteinstall_receive_urls_network() { server.sin_addr.s_addr = (in_addr_t) gethostid(); if(bind(data->serverSocket, (struct sockaddr*) &server, sizeof(server)) < 0) { - error_display_errno(NULL, NULL, errno, "無法綁定伺服器接口"); + error_display_errno(NULL, NULL, errno, "无法绑定服务接口."); remoteinstall_network_free_data(data); return; @@ -230,13 +230,13 @@ static void remoteinstall_receive_urls_network() { fcntl(data->serverSocket, F_SETFL, fcntl(data->serverSocket, F_GETFL, 0) | O_NONBLOCK); if(listen(data->serverSocket, 5) < 0) { - error_display_errno(NULL, NULL, errno, "無法監聽伺服器接口"); + error_display_errno(NULL, NULL, errno, "无法监听服务接口."); remoteinstall_network_free_data(data); return; } - info_display("接受URL(s)", "B: 返回", false, data, remoteinstall_network_update, NULL); + info_display("接收链接", "B: 返回", false, data, remoteinstall_network_update, NULL); } #define QR_IMAGE_WIDTH 400 @@ -324,7 +324,7 @@ static void remoteinstall_qr_update(ui_view* view, void* data, float* progress, ui_pop(); info_destroy(view); - error_display_res(NULL, NULL, capRes, "無法啟動後鏡頭捕獲"); + error_display_res(NULL, NULL, capRes, "无法打开相机捕获."); remoteinstall_qr_free_data(installData); return; @@ -338,7 +338,7 @@ static void remoteinstall_qr_update(ui_view* view, void* data, float* progress, info_destroy(view); if(R_FAILED(installData->captureInfo.result)) { - error_display_res(NULL, NULL, installData->captureInfo.result, "捕獲圖像時發生錯誤"); + error_display_res(NULL, NULL, installData->captureInfo.result, "捕获相机画面时出错."); } remoteinstall_qr_free_data(installData); @@ -376,18 +376,18 @@ static void remoteinstall_qr_update(ui_view* view, void* data, float* progress, remoteinstall_set_last_urls((const char*) qrData.payload); - action_install_url("即將從掃描到的 QR Code 中安裝,是否繼續?", (const char*) qrData.payload, NULL, NULL, NULL, NULL, NULL); + action_install_url("从扫描到的二维码安装?", (const char*) qrData.payload, NULL, NULL, NULL, NULL, NULL); return; } } - snprintf(text, PROGRESS_TEXT_MAX, "等待 QR code..."); + snprintf(text, PROGRESS_TEXT_MAX, "等待扫描二维码中..."); } static void remoteinstall_scan_qr_code() { remoteinstall_qr_data* data = (remoteinstall_qr_data*) calloc(1, sizeof(remoteinstall_qr_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配 QR 安裝數據"); + error_display(NULL, NULL, "无法分配二维码安装的数据."); return; } @@ -405,14 +405,14 @@ static void remoteinstall_scan_qr_code() { data->qrContext = quirc_new(); if(data->qrContext == NULL) { - error_display(NULL, NULL, "無法創建 QR 環境"); + error_display(NULL, NULL, "无法创建二维码框."); remoteinstall_qr_free_data(data); return; } if(quirc_resize(data->qrContext, QR_IMAGE_WIDTH, QR_IMAGE_HEIGHT) != 0) { - error_display(NULL, NULL, "無法調整 QR 環境"); + error_display(NULL, NULL, "无法调整二维码框大小."); remoteinstall_qr_free_data(data); return; @@ -420,7 +420,7 @@ static void remoteinstall_scan_qr_code() { data->captureInfo.buffer = (u16*) calloc(1, QR_IMAGE_WIDTH * QR_IMAGE_HEIGHT * sizeof(u16)); if(data->captureInfo.buffer == NULL) { - error_display(NULL, NULL, "無法創建圖像緩存"); + error_display(NULL, NULL, "无法创建图像缓存."); remoteinstall_qr_free_data(data); return; @@ -428,50 +428,50 @@ static void remoteinstall_scan_qr_code() { data->tex = screen_allocate_free_texture(); - info_display("QR Code 安裝", "B: 返回, X: 切換鏡頭", false, data, remoteinstall_qr_update, remoteinstall_qr_draw_top); + info_display("二维码安装", "B: 返回, X: 切换相机", false, data, remoteinstall_qr_update, remoteinstall_qr_draw_top); } static void remoteinstall_manually_enter_urls_onresponse(ui_view* view, void* data, SwkbdButton button, const char* response) { if(button == SWKBD_BUTTON_CONFIRM) { remoteinstall_set_last_urls(response); - action_install_url("即將從輸入的 URL(s) 安裝,是否繼續?", response, NULL, NULL, NULL, NULL, NULL); + action_install_url("从输入的链接安装?", response, NULL, NULL, NULL, NULL, NULL); } } static void remoteinstall_manually_enter_urls() { - kbd_display("輸入 URL(s)", "", SWKBD_TYPE_NORMAL, SWKBD_MULTILINE, SWKBD_NOTEMPTY_NOTBLANK, DOWNLOAD_URL_MAX * INSTALL_URLS_MAX, NULL, remoteinstall_manually_enter_urls_onresponse); + kbd_display("输入链接", "", SWKBD_TYPE_NORMAL, SWKBD_MULTILINE, SWKBD_NOTEMPTY_NOTBLANK, DOWNLOAD_URL_MAX * INSTALL_URLS_MAX, NULL, remoteinstall_manually_enter_urls_onresponse); } static void remoteinstall_repeat_last_request() { char* textBuf = (char*) calloc(1, DOWNLOAD_URL_MAX * INSTALL_URLS_MAX); if(textBuf != NULL) { if(remoteinstall_get_last_urls(textBuf, DOWNLOAD_URL_MAX * INSTALL_URLS_MAX)) { - action_install_url("即將從上一需要的 URL(s) 中安裝,是否繼續?", textBuf, NULL, NULL, NULL, NULL, NULL); + action_install_url("从上次请求的链接安装?", textBuf, NULL, NULL, NULL, NULL, NULL); } else { - prompt_display_notify("失敗", "沒有先前需要的 URL(s)", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("失败", "没有找到以前请求的链接.", COLOR_TEXT, NULL, NULL, NULL); } free(textBuf); } else { - error_display_res(NULL, NULL, R_APP_OUT_OF_MEMORY, "無法分配 URL 文本緩存"); + error_display_res(NULL, NULL, R_APP_OUT_OF_MEMORY, "无法分配链接文本的缓存."); } } static void remoteinstall_forget_last_request() { Result forgetRes = remoteinstall_set_last_urls(NULL); if(R_SUCCEEDED(forgetRes)) { - prompt_display_notify("成功", "已清除上一需要的 URL(s)", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "已清除.", COLOR_TEXT, NULL, NULL, NULL); } else { - error_display_res(NULL, NULL, forgetRes, "無法清除上一需要的 URL(s)."); + error_display_res(NULL, NULL, forgetRes, "无法清除上次请求的链接."); } } -static list_item receive_urls_network = {"接受互聯網的 URLs", COLOR_TEXT, remoteinstall_receive_urls_network}; -static list_item scan_qr_code = {"掃描 QR Code", COLOR_TEXT, remoteinstall_scan_qr_code}; -static list_item manually_enter_urls = {"手動輸入 URLs", COLOR_TEXT, remoteinstall_manually_enter_urls}; -static list_item repeat_last_request = {"重復上一需要的 URLs", COLOR_TEXT, remoteinstall_repeat_last_request}; -static list_item forget_last_request = {"清除上一需要的 URLs", COLOR_TEXT, remoteinstall_forget_last_request}; +static list_item receive_urls_network = {"网络接收链接", COLOR_TEXT, remoteinstall_receive_urls_network}; +static list_item scan_qr_code = {"扫描二维码", COLOR_TEXT, remoteinstall_scan_qr_code}; +static list_item manually_enter_urls = {"手动输入链接", COLOR_TEXT, remoteinstall_manually_enter_urls}; +static list_item repeat_last_request = {"重复上次请求的链接", COLOR_TEXT, remoteinstall_repeat_last_request}; +static list_item forget_last_request = {"清除上次请求的链接", COLOR_TEXT, remoteinstall_forget_last_request}; static void remoteinstall_update(ui_view* view, void* data, linked_list* items, list_item* selected, bool selectedTouched) { if(hidKeysDown() & KEY_B) { @@ -496,7 +496,5 @@ static void remoteinstall_update(ui_view* view, void* data, linked_list* items, } void remoteinstall_open() { - list_display("遠程安裝", "A: 選擇, B: 返回", NULL, remoteinstall_update, NULL); + list_display("远程安装", "A: 选择, B: 返回", NULL, remoteinstall_update, NULL); } - -// オケー \ No newline at end of file diff --git a/source/fbi/resources.c b/source/fbi/resources.c index 3c14632..0dd8b98 100644 --- a/source/fbi/resources.c +++ b/source/fbi/resources.c @@ -25,7 +25,7 @@ static FILE* resources_open_file(const char* path) { static void resources_load_texture(u32 id, const char* name) { FILE* fd = resources_open_file(name); if(fd == NULL) { - error_panic("無法打開 texture \"%s\": %s\n", name, strerror(errno)); + error_panic("无法打开纹理 \"%s\": %s\n", name, strerror(errno)); return; } @@ -37,7 +37,7 @@ static void resources_load_texture(u32 id, const char* name) { void resources_load() { FILE* fd = resources_open_file("textcolor.cfg"); if(fd == NULL) { - error_panic("無法打開文字顏色配置: %s\n", strerror(errno)); + error_panic("无法打开文本颜色配置: %s\n", strerror(errno)); return; } @@ -105,4 +105,4 @@ void resources_load() { resources_load_texture(TEXTURE_WIFI_1, "wifi1.png"); resources_load_texture(TEXTURE_WIFI_2, "wifi2.png"); resources_load_texture(TEXTURE_WIFI_3, "wifi3.png"); -} \ No newline at end of file +} diff --git a/source/fbi/systemsavedata.c b/source/fbi/systemsavedata.c index 21e2274..72a0381 100644 --- a/source/fbi/systemsavedata.c +++ b/source/fbi/systemsavedata.c @@ -9,8 +9,8 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item browse_save_data = {"瀏覽儲存數據", COLOR_TEXT, action_browse_system_save_data}; -static list_item delete_save_data = {"刪除儲存數據", COLOR_TEXT, action_delete_system_save_data}; +static list_item browse_save_data = {"浏览数据", COLOR_TEXT, action_browse_system_save_data}; +static list_item delete_save_data = {"删除数据", COLOR_TEXT, action_delete_system_save_data}; typedef struct { populate_system_save_data_data populateData; @@ -61,7 +61,7 @@ static void systemsavedata_action_update(ui_view* view, void* data, linked_list* static void systemsavedata_action_open(linked_list* items, list_item* selected) { systemsavedata_action_data* data = (systemsavedata_action_data*) calloc(1, sizeof(systemsavedata_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配系統儲存數據操作的數據"); + error_display(NULL, NULL, "无法分配系统数据操作的数据."); return; } @@ -69,7 +69,7 @@ static void systemsavedata_action_open(linked_list* items, list_item* selected) data->items = items; data->selected = selected; - list_display("系統儲存數據操作", "A: 選擇, B: 返回", data, systemsavedata_action_update, systemsavedata_action_draw_top); + list_display("系统数据操作", "A: 选择, B: 返回", data, systemsavedata_action_update, systemsavedata_action_draw_top); } static void systemsavedata_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -109,14 +109,14 @@ static void systemsavedata_update(ui_view* view, void* data, linked_list* items, listData->populateData.items = items; Result res = task_populate_system_save_data(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化系統儲存數據目錄結構"); + error_display_res(NULL, NULL, res, "无法启动系统数据列表填充."); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉系統儲存數據目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充系统数据列表."); listData->populateData.result = 0; } @@ -130,12 +130,12 @@ static void systemsavedata_update(ui_view* view, void* data, linked_list* items, void systemsavedata_open() { systemsavedata_data* data = (systemsavedata_data*) calloc(1, sizeof(systemsavedata_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配系統儲存數據的數據"); + error_display(NULL, NULL, "无法分配系统数据的数据."); return; } data->populateData.finished = true; - list_display("系統儲存數據", "A: 選擇, B: 返回, X: 刷新", data, systemsavedata_update, systemsavedata_draw_top); -} \ No newline at end of file + list_display("系统数据", "A: 选择, B: 返回, X: 刷新", data, systemsavedata_update, systemsavedata_draw_top); +} diff --git a/source/fbi/task/listfiles.c b/source/fbi/task/listfiles.c index d2d5172..0d5cc02 100644 --- a/source/fbi/task/listfiles.c +++ b/source/fbi/task/listfiles.c @@ -16,8 +16,8 @@ int task_compare_files(void* userData, const void* p1, const void* p2) { list_item* info1 = (list_item*) p1; list_item* info2 = (list_item*) p2; - bool info1Base = strncmp(info1->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info1->name, "<當前档案>", LIST_ITEM_NAME_MAX) == 0; - bool info2Base = strncmp(info2->name, "<當前資料夾>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info2->name, "<當前档案>", LIST_ITEM_NAME_MAX) == 0; + bool info1Base = strncmp(info1->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info1->name, "<当前文件>", LIST_ITEM_NAME_MAX) == 0; + bool info2Base = strncmp(info2->name, "<当前文件夹>", LIST_ITEM_NAME_MAX) == 0 || strncmp(info2->name, "<当前文件>", LIST_ITEM_NAME_MAX) == 0; if(info1Base && !info2Base) { return -1; @@ -199,9 +199,9 @@ static void task_populate_files_thread(void* arg) { if(R_SUCCEEDED(res = task_create_file_item(&baseItem, data->archive, data->path, 0, false))) { file_info* baseInfo = (file_info*) baseItem->data; if(baseInfo->attributes & FS_ATTRIBUTE_DIRECTORY) { - string_copy(baseItem->name, "<當前資料夾>", LIST_ITEM_NAME_MAX); + string_copy(baseItem->name, "<当前文件夹>", LIST_ITEM_NAME_MAX); } else { - string_copy(baseItem->name, "<當前档案>", LIST_ITEM_NAME_MAX); + string_copy(baseItem->name, "<当前文件>", LIST_ITEM_NAME_MAX); } linked_list queue; @@ -363,6 +363,4 @@ Result task_populate_files(populate_files_data* data) { } return res; -} - -// オケー \ No newline at end of file +} \ No newline at end of file diff --git a/source/fbi/task/uitask.c b/source/fbi/task/uitask.c index 54631be..ff80e7f 100644 --- a/source/fbi/task/uitask.c +++ b/source/fbi/task/uitask.c @@ -67,8 +67,8 @@ void task_draw_ext_save_data_info(ui_view* view, void* data, float x1, float y1, char infoText[512]; snprintf(infoText, sizeof(infoText), - "額外儲存數據 ID: %016llX\n" - "動態: %s", + "追加数据 ID: %016llX\n" + "共享: %s", info->extSaveDataId, info->shared ? "是" : "否"); @@ -87,18 +87,18 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 size_t infoTextPos = 0; if(strlen(info->name) > 48) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名稱: %.45s...\n", info->name); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名称: %.45s...\n", info->name); } else { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名稱: %.48s\n", info->name); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "名称: %.48s\n", info->name); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "屬性: "); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "属性: "); if(info->attributes & (FS_ATTRIBUTE_DIRECTORY | FS_ATTRIBUTE_HIDDEN | FS_ATTRIBUTE_ARCHIVE | FS_ATTRIBUTE_READ_ONLY)) { bool needsSeparator = false; if(info->attributes & FS_ATTRIBUTE_DIRECTORY) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "資料夾"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "文件夹"); needsSeparator = true; } @@ -107,7 +107,7 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "隠藏档案"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "隐藏的项目"); needsSeparator = true; } @@ -116,7 +116,7 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "档案"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "文件"); needsSeparator = true; } @@ -125,11 +125,11 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, ", "); } - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "只讀"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "只读"); needsSeparator = true; } } else { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "無"); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "无"); } infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "\n"); @@ -150,17 +150,17 @@ void task_draw_file_info(ui_view* view, void* data, float x1, float y1, float x2 } infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, - "程式 ID: %016llX\n" + "应用 ID: %016llX\n" "版本: %hu (%d.%d.%d)\n" - "區域: %s\n" - "安裝後大小: %.2f %s", + "区域: %s\n" + "安装后大小: %.2f %s", info->ciaInfo.titleId, info->ciaInfo.version, (info->ciaInfo.version >> 10) & 0x3F, (info->ciaInfo.version >> 4) & 0x3F, info->ciaInfo.version & 0xF, regionString, ui_get_display_size(info->ciaInfo.installedSize), ui_get_display_size_units(info->ciaInfo.installedSize)); } else if(info->isTicket && info->ticketInfo.loaded) { - infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "數據 ID: %016llX", info->ticketInfo.titleId); + infoTextPos += snprintf(infoText + infoTextPos, sizeof(infoText) - infoTextPos, "应用 ID: %016llX", info->ticketInfo.titleId); } } @@ -178,11 +178,11 @@ void task_draw_pending_title_info(ui_view* view, void* data, float x1, float y1, char infoText[512]; snprintf(infoText, sizeof(infoText), - "待裝程式 ID: %016llX\n" + "未完成的应用 ID: %016llX\n" "位置: %s\n" "版本: %hu (%d.%d.%d)", info->titleId, - info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD Card" : "遊戲 Card", + info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "游戏卡带", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF); float infoWidth; @@ -198,7 +198,7 @@ void task_draw_system_save_data_info(ui_view* view, void* data, float x1, float char infoText[512]; - snprintf(infoText, sizeof(infoText), "系統儲存數據 ID: %08lX", info->systemSaveDataId); + snprintf(infoText, sizeof(infoText), "系统数据 ID: %08lX", info->systemSaveDataId); float infoWidth; screen_get_string_size(&infoWidth, NULL, infoText, 0.5f, 0.5f); @@ -214,7 +214,7 @@ void task_draw_ticket_info(ui_view* view, void* data, float x1, float y1, float if(info->loaded) { char infoText[512]; - snprintf(infoText, sizeof(infoText), "憑據 ID: %016llX", info->titleId); + snprintf(infoText, sizeof(infoText), "应用 ID: %016llX", info->titleId); float infoWidth; screen_get_string_size(&infoWidth, NULL, infoText, 0.5f, 0.5f); @@ -241,14 +241,14 @@ void task_draw_title_info(ui_view* view, void* data, float x1, float y1, float x char infoText[512]; snprintf(infoText, sizeof(infoText), - "程式 ID: %016llX\n" + "应用 ID: %016llX\n" "位置: %s\n" "版本: %hu (%d.%d.%d)\n" - "産品代碼: %s\n" - "區域: %s\n" + "产品代码: %s\n" + "区域: %s\n" "大小: %.2f %s", info->titleId, - info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD Card" : "遊戲 Card", + info->mediaType == MEDIATYPE_NAND ? "NAND" : info->mediaType == MEDIATYPE_SD ? "SD 卡" : "游戏卡带", info->version, (info->version >> 10) & 0x3F, (info->version >> 4) & 0x3F, info->version & 0xF, info->productCode, regionString, @@ -261,5 +261,3 @@ void task_draw_title_info(ui_view* view, void* data, float x1, float y1, float x float infoY = y1 + (y2 - y1) / 2 - 8; screen_draw_string(infoText, infoX, infoY, 0.5f, 0.5f, COLOR_TEXT, true); } - -// オケー \ No newline at end of file diff --git a/source/fbi/tickets.c b/source/fbi/tickets.c index 39b5553..2ee2d07 100644 --- a/source/fbi/tickets.c +++ b/source/fbi/tickets.c @@ -9,8 +9,8 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item delete_ticket = {"刪除憑據", COLOR_TEXT, action_delete_ticket}; -static list_item delete_unused_tickets = {"刪除未使用的憑據", COLOR_TEXT, action_delete_tickets_unused}; +static list_item delete_ticket = {"删除应用引导表", COLOR_TEXT, action_delete_ticket}; +static list_item delete_unused_tickets = {"删除未使用的应用引导表", COLOR_TEXT, action_delete_tickets_unused}; typedef struct { populate_tickets_data populateData; @@ -61,7 +61,7 @@ static void tickets_action_update(ui_view* view, void* data, linked_list* items, static void tickets_action_open(linked_list* items, list_item* selected) { tickets_action_data* data = (tickets_action_data*) calloc(1, sizeof(tickets_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配憑據操作數據"); + error_display(NULL, NULL, "无法分配应用引导表操作的数据."); return; } @@ -69,7 +69,7 @@ static void tickets_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("憑據操作", "A: 選擇, B: 返回", data, tickets_action_update, tickets_action_draw_top); + list_display("应用引导表操作", "A: 选择, B: 返回", data, tickets_action_update, tickets_action_draw_top); } static void tickets_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -109,14 +109,14 @@ static void tickets_update(ui_view* view, void* data, linked_list* items, list_i listData->populateData.items = items; Result res = task_populate_tickets(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化憑據目錄結構"); + error_display_res(NULL, NULL, res, "无法启动应用引导表列表填充."); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉憑據目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充应用引导表列表."); listData->populateData.result = 0; } @@ -130,14 +130,12 @@ static void tickets_update(ui_view* view, void* data, linked_list* items, list_i void tickets_open() { tickets_data* data = (tickets_data*) calloc(1, sizeof(tickets_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配憑據數據"); + error_display(NULL, NULL, "无法分配应用引导表的数据."); return; } data->populateData.finished = true; - list_display("憑據", "A: 選擇, B: 返回, X: 刷新", data, tickets_update, tickets_draw_top); + list_display("应用引导表", "A: 选择, B: 返回, X: 刷新", data, tickets_update, tickets_draw_top); } - -// オケー \ No newline at end of file diff --git a/source/fbi/titles.c b/source/fbi/titles.c index 9b6a99e..01c79fd 100644 --- a/source/fbi/titles.c +++ b/source/fbi/titles.c @@ -10,18 +10,18 @@ #include "task/uitask.h" #include "../core/core.h" -static list_item launch_title = {"啓動程式", COLOR_TEXT, action_launch_title}; -static list_item delete_title = {"刪除程式", COLOR_TEXT, action_delete_title}; -static list_item delete_title_ticket = {"刪除程式和儲存數據", COLOR_TEXT, action_delete_title_ticket}; +static list_item launch_title = {"启动应用", COLOR_TEXT, action_launch_title}; +static list_item delete_title = {"删除应用", COLOR_TEXT, action_delete_title}; +static list_item delete_title_ticket = {"删除应用和应用引导表", COLOR_TEXT, action_delete_title_ticket}; static list_item extract_smdh = {"提取 SMDH", COLOR_TEXT, action_extract_smdh}; -static list_item import_seed = {"導入 Seed", COLOR_TEXT, action_import_seed}; -static list_item browse_save_data = {"瀏覽儲存文件", COLOR_TEXT, action_browse_title_save_data}; -static list_item import_save_data = {"導入儲存文件", COLOR_TEXT, action_import_twl_save}; -static list_item export_save_data = {"導出儲存文件", COLOR_TEXT, action_export_twl_save}; -static list_item erase_save_data = {"清除儲存文件", COLOR_TEXT, action_erase_twl_save}; -static list_item import_secure_value = {"導入安全値", COLOR_TEXT, action_import_secure_value}; -static list_item export_secure_value = {"導出安全値", COLOR_TEXT, action_export_secure_value}; -static list_item delete_secure_value = {"刪除安全値", COLOR_TEXT, action_delete_secure_value}; +static list_item import_seed = {"导入种子", COLOR_TEXT, action_import_seed}; +static list_item browse_save_data = {"浏览数据", COLOR_TEXT, action_browse_title_save_data}; +static list_item import_save_data = {"导入数据", COLOR_TEXT, action_import_twl_save}; +static list_item export_save_data = {"导出数据", COLOR_TEXT, action_export_twl_save}; +static list_item erase_save_data = {"清除数据", COLOR_TEXT, action_erase_twl_save}; +static list_item import_secure_value = {"导入安全值", COLOR_TEXT, action_import_secure_value}; +static list_item export_secure_value = {"导出安全值", COLOR_TEXT, action_export_secure_value}; +static list_item delete_secure_value = {"删除安全值", COLOR_TEXT, action_delete_secure_value}; typedef struct { populate_titles_data populateData; @@ -105,7 +105,7 @@ static void titles_action_update(ui_view* view, void* data, linked_list* items, static void titles_action_open(linked_list* items, list_item* selected) { titles_action_data* data = (titles_action_data*) calloc(1, sizeof(titles_action_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配程式操作數據"); + error_display(NULL, NULL, "无法分配应用操作的数据."); return; } @@ -113,7 +113,7 @@ static void titles_action_open(linked_list* items, list_item* selected) { data->items = items; data->selected = selected; - list_display("程式操作", "A: 選擇, B: 返回", data, titles_action_update, titles_action_draw_top); + list_display("应用操作", "A: 选择, B: 返回", data, titles_action_update, titles_action_draw_top); } static void titles_options_add_entry(linked_list* items, const char* name, bool* val) { @@ -176,17 +176,17 @@ static void titles_options_update(ui_view* view, void* data, linked_list* items, } if(linked_list_size(items) == 0) { - titles_options_add_entry(items, "顯示遊戲 Card", &listData->showGameCard); - titles_options_add_entry(items, "顯示 SD Card 程式", &listData->showSD); - titles_options_add_entry(items, "顯示 NAND 程式", &listData->showNAND); - titles_options_add_entry(items, "按 ID 排列", &listData->sortById); - titles_options_add_entry(items, "按名稱排列", &listData->sortByName); - titles_options_add_entry(items, "按大小排列", &listData->sortBySize); + titles_options_add_entry(items, "显示游戏卡带中的应用", &listData->showGameCard); + titles_options_add_entry(items, "显示 SD 卡中的应用", &listData->showSD); + titles_options_add_entry(items, "显示 NAND 中的应用", &listData->showNAND); + titles_options_add_entry(items, "按 ID 排序", &listData->sortById); + titles_options_add_entry(items, "按名称排序", &listData->sortByName); + titles_options_add_entry(items, "按大小排序", &listData->sortBySize); } } static void titles_options_open(titles_data* data) { - list_display("選項", "A: 切換, B: 返回", data, titles_options_update, NULL); + list_display("选项", "A: 切换, B: 返回", data, titles_options_update, NULL); } static void titles_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) { @@ -231,14 +231,14 @@ static void titles_update(ui_view* view, void* data, linked_list* items, list_it listData->populateData.items = items; Result res = task_populate_titles(&listData->populateData); if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法初始化程式目錄結構"); + error_display_res(NULL, NULL, res, "无法启动应用列表填充."); } listData->populated = true; } if(listData->populateData.finished && R_FAILED(listData->populateData.result)) { - error_display_res(NULL, NULL, listData->populateData.result, "無法列舉程式目錄"); + error_display_res(NULL, NULL, listData->populateData.result, "无法填充应用列表."); listData->populateData.result = 0; } @@ -312,7 +312,7 @@ static int titles_compare(void* data, const void* p1, const void* p2) { void titles_open() { titles_data* data = (titles_data*) calloc(1, sizeof(titles_data)); if(data == NULL) { - error_display(NULL, NULL, "無法分配程式數據."); + error_display(NULL, NULL, "无法分配应用的数据."); return; } @@ -330,7 +330,5 @@ void titles_open() { data->sortByName = true; data->sortBySize = false; - list_display("程式(Titles)", "A: 選擇, B: 返回, X: 刷新, Select: 選項", data, titles_update, titles_draw_top); + list_display("应用", "A: 选择, B: 返回, X: 刷新, SELECT: 选项", data, titles_update, titles_draw_top); } - -// オケー \ No newline at end of file diff --git a/source/fbi/update.c b/source/fbi/update.c index 8cd50d9..9aafd94 100644 --- a/source/fbi/update.c +++ b/source/fbi/update.c @@ -18,7 +18,7 @@ static void update_check_update(ui_view* view, void* data, float* progress, char Result res = 0; json_t* json = NULL; - if(R_SUCCEEDED(res = http_download_json("https://api.github.com/repos/Rintim/FBI-i18n-zh-tw/releases/latest", &json, 16 * 1024))) { + if(R_SUCCEEDED(res = http_download_json("https://api.github.com/repos/qianxu2001/fbi-i18n-zh-cn/releases/latest", &json, 16 * 1024))) { if(json_is_object(json)) { json_t* name = json_object_get(json, "name"); json_t* assets = json_object_get(json, "assets"); @@ -66,16 +66,16 @@ static void update_check_update(ui_view* view, void* data, float* progress, char info_destroy(view); if(hasUpdate) { - action_install_url("即將升級 FBI 到最新版本,是否繼續?", updateURL, fs_get_3dsx_path(), NULL, NULL, NULL, NULL); + action_install_url("更新 FBI 至最新版本?", updateURL, fs_get_3dsx_path(), NULL, NULL, NULL, NULL); } else { if(R_FAILED(res)) { - error_display_res(NULL, NULL, res, "無法連接伺服器"); + error_display_res(NULL, NULL, res, "无法检查更新."); } else { - prompt_display_notify("成功", "已完成升級", COLOR_TEXT, NULL, NULL, NULL); + prompt_display_notify("成功", "无可用的更新.", COLOR_TEXT, NULL, NULL, NULL); } } } void update_open() { - info_display("檢查升級", "", false, NULL, update_check_update, NULL); + info_display("正在检查更新", "", false, NULL, update_check_update, NULL); }