diff --git a/cmd/geni18n/main.go b/cmd/geni18n/main.go index a5845cc..6c87718 100644 --- a/cmd/geni18n/main.go +++ b/cmd/geni18n/main.go @@ -3,8 +3,10 @@ package main import ( "bufio" + "bytes" "flag" "fmt" + "go/format" "io/fs" "os" "path/filepath" @@ -54,14 +56,9 @@ func main() { } sort.Strings(list) - f, err := os.Create(*out) - if err != nil { - fmt.Fprintf(os.Stderr, "Error creating output file: %v\n", err) - os.Exit(1) - } - defer f.Close() - - w := bufio.NewWriter(f) + // Generate code to buffer + var buf bytes.Buffer + w := bufio.NewWriter(&buf) fmt.Fprintf(w, "// Code generated by cmd/geni18n. DO NOT EDIT.\n") fmt.Fprintf(w, "package %s\n\n", *pkg) fmt.Fprintf(w, "type Key string\n\n") @@ -72,16 +69,29 @@ func main() { } fmt.Fprintf(w, ")\n") w.Flush() + + // Format the generated code + formatted, err := format.Source(buf.Bytes()) + if err != nil { + fmt.Fprintf(os.Stderr, "Warning: failed to format generated code: %v\n", err) + formatted = buf.Bytes() + } + + // Write to output file + if err := os.WriteFile(*out, formatted, 0644); err != nil { + fmt.Fprintf(os.Stderr, "Error writing output file: %v\n", err) + os.Exit(1) + } } -func collectKeys(node map[string]interface{}, prefix string, keys map[string]struct{}) { +func collectKeys(node map[string]any, prefix string, keys map[string]struct{}) { for k, v := range node { fullKey := k if prefix != "" { fullKey = prefix + "." + k } switch val := v.(type) { - case map[string]interface{}: + case map[string]any: collectKeys(val, fullKey, keys) default: keys[fullKey] = struct{}{} diff --git a/common/i18n/i18nk/keys.go b/common/i18n/i18nk/keys.go index 6c55b19..abf9193 100644 --- a/common/i18n/i18nk/keys.go +++ b/common/i18n/i18nk/keys.go @@ -4,231 +4,231 @@ package i18nk type Key string const ( - BotMsgCancelErrorCancelFailed Key = "bot.msg.cancel.error_cancel_failed" - BotMsgCancelInfoCancelRequested Key = "bot.msg.cancel.info_cancel_requested" - BotMsgCancelInfoCancellingTask Key = "bot.msg.cancel.info_cancelling_task" - BotMsgCancelUsage Key = "bot.msg.cancel.usage" - BotMsgCmdCancel Key = "bot.msg.cmd.cancel" - BotMsgCmdConfig Key = "bot.msg.cmd.config" - BotMsgCmdDir Key = "bot.msg.cmd.dir" - BotMsgCmdDl Key = "bot.msg.cmd.dl" - BotMsgCmdFnametmpl Key = "bot.msg.cmd.fnametmpl" - BotMsgCmdHelp Key = "bot.msg.cmd.help" - BotMsgCmdLswatch Key = "bot.msg.cmd.lswatch" - BotMsgCmdParser Key = "bot.msg.cmd.parser" - BotMsgCmdRule Key = "bot.msg.cmd.rule" - BotMsgCmdSave Key = "bot.msg.cmd.save" - BotMsgCmdSilent Key = "bot.msg.cmd.silent" - BotMsgCmdStart Key = "bot.msg.cmd.start" - BotMsgCmdStorage Key = "bot.msg.cmd.storage" - BotMsgCmdTask Key = "bot.msg.cmd.task" - BotMsgCmdUnwatch Key = "bot.msg.cmd.unwatch" - BotMsgCmdUpdate Key = "bot.msg.cmd.update" - BotMsgCmdWatch Key = "bot.msg.cmd.watch" - BotMsgCommonCancelButtonText Key = "bot.msg.common.cancel_button_text" - BotMsgCommonErrorBuildDirSelectKeyboardFailed Key = "bot.msg.common.error_build_dir_select_keyboard_failed" - BotMsgCommonErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.common.error_build_storage_select_keyboard_failed" - BotMsgCommonErrorBuildStorageSelectMessageFailed Key = "bot.msg.common.error_build_storage_select_message_failed" - BotMsgCommonErrorDataExpired Key = "bot.msg.common.error_data_expired" - BotMsgCommonErrorDefaultStorageNotSet Key = "bot.msg.common.error_default_storage_not_set" - BotMsgCommonErrorGetDirFailed Key = "bot.msg.common.error_get_dir_failed" - BotMsgCommonErrorGetFileFailed Key = "bot.msg.common.error_get_file_failed" - BotMsgCommonErrorGetMessagesFailed Key = "bot.msg.common.error_get_messages_failed" - BotMsgCommonErrorGetStorageFailed Key = "bot.msg.common.error_get_storage_failed" - BotMsgCommonErrorGetTelegraphPageFailed Key = "bot.msg.common.error_get_telegraph_page_failed" - BotMsgCommonErrorGetUserFailed Key = "bot.msg.common.error_get_user_failed" - BotMsgCommonErrorGetUserInfoFailed Key = "bot.msg.common.error_get_user_info_failed" - BotMsgCommonErrorGetUserWithErrFailed Key = "bot.msg.common.error_get_user_with_err_failed" - BotMsgCommonErrorInvalidIdOrUsername Key = "bot.msg.common.error_invalid_id_or_username" - BotMsgCommonErrorInvalidMsgIdRange Key = "bot.msg.common.error_invalid_msg_id_range" - BotMsgCommonErrorInvalidRegex Key = "bot.msg.common.error_invalid_regex" - BotMsgCommonErrorNoAvailableStorage Key = "bot.msg.common.error_no_available_storage" - BotMsgCommonErrorNoImagesInTelegraphPage Key = "bot.msg.common.error_no_images_in_telegraph_page" - BotMsgCommonErrorNoMessagesInRange Key = "bot.msg.common.error_no_messages_in_range" - BotMsgCommonErrorNoPermission Key = "bot.msg.common.error_no_permission" - BotMsgCommonErrorNoSavableFilesFound Key = "bot.msg.common.error_no_savable_files_found" - BotMsgCommonErrorNoSavableMessagesInRange Key = "bot.msg.common.error_no_savable_messages_in_range" - BotMsgCommonErrorParseTelegraphPathFailed Key = "bot.msg.common.error_parse_telegraph_path_failed" - BotMsgCommonErrorTaskAddFailed Key = "bot.msg.common.error_task_add_failed" - BotMsgCommonErrorTaskCreateFailed Key = "bot.msg.common.error_task_create_failed" - BotMsgCommonErrorUpdateUserInfoFailed Key = "bot.msg.common.error_update_user_info_failed" - BotMsgCommonInfoBatchTasksAdded Key = "bot.msg.common.info_batch_tasks_added" - BotMsgCommonInfoDefaultStorageSet Key = "bot.msg.common.info_default_storage_set" - BotMsgCommonInfoDefaultStorageWithDirSet Key = "bot.msg.common.info_default_storage_with_dir_set" - BotMsgCommonInfoFetchingFileInfo Key = "bot.msg.common.info_fetching_file_info" - BotMsgCommonInfoFetchingMessages Key = "bot.msg.common.info_fetching_messages" - BotMsgCommonInfoFetchingTelegraphPage Key = "bot.msg.common.info_fetching_telegraph_page" - BotMsgCommonInfoFoundFilesSelectStorage Key = "bot.msg.common.info_found_files_select_storage" - BotMsgCommonInfoSilentModeOff Key = "bot.msg.common.info_silent_mode_off" - BotMsgCommonInfoSilentModeOn Key = "bot.msg.common.info_silent_mode_on" - BotMsgCommonInfoTaskAdded Key = "bot.msg.common.info_task_added" - BotMsgCommonPromptSelectDefaultDir Key = "bot.msg.common.prompt_select_default_dir" - BotMsgCommonPromptSelectDefaultStorage Key = "bot.msg.common.prompt_select_default_storage" - BotMsgCommonPromptSelectDir Key = "bot.msg.common.prompt_select_dir" - BotMsgConfigButtonFilenameStrategy Key = "bot.msg.config.button_filename_strategy" - BotMsgConfigErrorInvalidCallbackData Key = "bot.msg.config.error_invalid_callback_data" - BotMsgConfigErrorInvalidTemplate Key = "bot.msg.config.error_invalid_template" - BotMsgConfigFnametmplHelp Key = "bot.msg.config.fnametmpl_help" - BotMsgConfigInfoCurrentTemplatePrefix Key = "bot.msg.config.info_current_template_prefix" - BotMsgConfigInfoFilenameStrategySet Key = "bot.msg.config.info_filename_strategy_set" - BotMsgConfigInfoTemplateUpdated Key = "bot.msg.config.info_template_updated" - BotMsgConfigPromptSelectFilenameStrategy Key = "bot.msg.config.prompt_select_filename_strategy" - BotMsgConfigPromptSelectOption Key = "bot.msg.config.prompt_select_option" - BotMsgDirButtonDefault Key = "bot.msg.dir.button_default" - BotMsgDirErrorCreateDirFailed Key = "bot.msg.dir.error_create_dir_failed" - BotMsgDirErrorDeleteDirFailed Key = "bot.msg.dir.error_delete_dir_failed" - BotMsgDirErrorGetUserDirsFailed Key = "bot.msg.dir.error_get_user_dirs_failed" - BotMsgDirErrorGetUserFailed Key = "bot.msg.dir.error_get_user_failed" - BotMsgDirErrorInvalidDirId Key = "bot.msg.dir.error_invalid_dir_id" - BotMsgDirErrorUnknownOperation Key = "bot.msg.dir.error_unknown_operation" - BotMsgDirHelpAddExampleCmd Key = "bot.msg.dir.help_add_example_cmd" - BotMsgDirHelpAddExamplePrefix Key = "bot.msg.dir.help_add_example_prefix" - BotMsgDirHelpAddSuffix Key = "bot.msg.dir.help_add_suffix" - BotMsgDirHelpAvailableOps Key = "bot.msg.dir.help_available_ops" - BotMsgDirHelpDelExampleCmd Key = "bot.msg.dir.help_del_example_cmd" - BotMsgDirHelpDelExamplePrefix Key = "bot.msg.dir.help_del_example_prefix" - BotMsgDirHelpDelSuffix Key = "bot.msg.dir.help_del_suffix" - BotMsgDirHelpExistingDirsPrefix Key = "bot.msg.dir.help_existing_dirs_prefix" - BotMsgDirHelpUsage Key = "bot.msg.dir.help_usage" - BotMsgDirInfoCreateDirSuccess Key = "bot.msg.dir.info_create_dir_success" - BotMsgDirInfoDeleteDirSuccess Key = "bot.msg.dir.info_delete_dir_success" - BotMsgDlErrorNoValidLinks Key = "bot.msg.dl.error_no_valid_links" - BotMsgDlInfoFilesSelectStorage Key = "bot.msg.dl.info_files_select_storage" - BotMsgDlUsage Key = "bot.msg.dl.usage" - BotMsgHelpTextFmt Key = "bot.msg.help_text_fmt" + BotMsgCancelErrorCancelFailed Key = "bot.msg.cancel.error_cancel_failed" + BotMsgCancelInfoCancelRequested Key = "bot.msg.cancel.info_cancel_requested" + BotMsgCancelInfoCancellingTask Key = "bot.msg.cancel.info_cancelling_task" + BotMsgCancelUsage Key = "bot.msg.cancel.usage" + BotMsgCmdCancel Key = "bot.msg.cmd.cancel" + BotMsgCmdConfig Key = "bot.msg.cmd.config" + BotMsgCmdDir Key = "bot.msg.cmd.dir" + BotMsgCmdDl Key = "bot.msg.cmd.dl" + BotMsgCmdFnametmpl Key = "bot.msg.cmd.fnametmpl" + BotMsgCmdHelp Key = "bot.msg.cmd.help" + BotMsgCmdLswatch Key = "bot.msg.cmd.lswatch" + BotMsgCmdParser Key = "bot.msg.cmd.parser" + BotMsgCmdRule Key = "bot.msg.cmd.rule" + BotMsgCmdSave Key = "bot.msg.cmd.save" + BotMsgCmdSilent Key = "bot.msg.cmd.silent" + BotMsgCmdStart Key = "bot.msg.cmd.start" + BotMsgCmdStorage Key = "bot.msg.cmd.storage" + BotMsgCmdTask Key = "bot.msg.cmd.task" + BotMsgCmdUnwatch Key = "bot.msg.cmd.unwatch" + BotMsgCmdUpdate Key = "bot.msg.cmd.update" + BotMsgCmdWatch Key = "bot.msg.cmd.watch" + BotMsgCommonCancelButtonText Key = "bot.msg.common.cancel_button_text" + BotMsgCommonErrorBuildDirSelectKeyboardFailed Key = "bot.msg.common.error_build_dir_select_keyboard_failed" + BotMsgCommonErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.common.error_build_storage_select_keyboard_failed" + BotMsgCommonErrorBuildStorageSelectMessageFailed Key = "bot.msg.common.error_build_storage_select_message_failed" + BotMsgCommonErrorDataExpired Key = "bot.msg.common.error_data_expired" + BotMsgCommonErrorDefaultStorageNotSet Key = "bot.msg.common.error_default_storage_not_set" + BotMsgCommonErrorGetDirFailed Key = "bot.msg.common.error_get_dir_failed" + BotMsgCommonErrorGetFileFailed Key = "bot.msg.common.error_get_file_failed" + BotMsgCommonErrorGetMessagesFailed Key = "bot.msg.common.error_get_messages_failed" + BotMsgCommonErrorGetStorageFailed Key = "bot.msg.common.error_get_storage_failed" + BotMsgCommonErrorGetTelegraphPageFailed Key = "bot.msg.common.error_get_telegraph_page_failed" + BotMsgCommonErrorGetUserFailed Key = "bot.msg.common.error_get_user_failed" + BotMsgCommonErrorGetUserInfoFailed Key = "bot.msg.common.error_get_user_info_failed" + BotMsgCommonErrorGetUserWithErrFailed Key = "bot.msg.common.error_get_user_with_err_failed" + BotMsgCommonErrorInvalidIdOrUsername Key = "bot.msg.common.error_invalid_id_or_username" + BotMsgCommonErrorInvalidMsgIdRange Key = "bot.msg.common.error_invalid_msg_id_range" + BotMsgCommonErrorInvalidRegex Key = "bot.msg.common.error_invalid_regex" + BotMsgCommonErrorNoAvailableStorage Key = "bot.msg.common.error_no_available_storage" + BotMsgCommonErrorNoImagesInTelegraphPage Key = "bot.msg.common.error_no_images_in_telegraph_page" + BotMsgCommonErrorNoMessagesInRange Key = "bot.msg.common.error_no_messages_in_range" + BotMsgCommonErrorNoPermission Key = "bot.msg.common.error_no_permission" + BotMsgCommonErrorNoSavableFilesFound Key = "bot.msg.common.error_no_savable_files_found" + BotMsgCommonErrorNoSavableMessagesInRange Key = "bot.msg.common.error_no_savable_messages_in_range" + BotMsgCommonErrorParseTelegraphPathFailed Key = "bot.msg.common.error_parse_telegraph_path_failed" + BotMsgCommonErrorTaskAddFailed Key = "bot.msg.common.error_task_add_failed" + BotMsgCommonErrorTaskCreateFailed Key = "bot.msg.common.error_task_create_failed" + BotMsgCommonErrorUpdateUserInfoFailed Key = "bot.msg.common.error_update_user_info_failed" + BotMsgCommonInfoBatchTasksAdded Key = "bot.msg.common.info_batch_tasks_added" + BotMsgCommonInfoDefaultStorageSet Key = "bot.msg.common.info_default_storage_set" + BotMsgCommonInfoDefaultStorageWithDirSet Key = "bot.msg.common.info_default_storage_with_dir_set" + BotMsgCommonInfoFetchingFileInfo Key = "bot.msg.common.info_fetching_file_info" + BotMsgCommonInfoFetchingMessages Key = "bot.msg.common.info_fetching_messages" + BotMsgCommonInfoFetchingTelegraphPage Key = "bot.msg.common.info_fetching_telegraph_page" + BotMsgCommonInfoFoundFilesSelectStorage Key = "bot.msg.common.info_found_files_select_storage" + BotMsgCommonInfoSilentModeOff Key = "bot.msg.common.info_silent_mode_off" + BotMsgCommonInfoSilentModeOn Key = "bot.msg.common.info_silent_mode_on" + BotMsgCommonInfoTaskAdded Key = "bot.msg.common.info_task_added" + BotMsgCommonPromptSelectDefaultDir Key = "bot.msg.common.prompt_select_default_dir" + BotMsgCommonPromptSelectDefaultStorage Key = "bot.msg.common.prompt_select_default_storage" + BotMsgCommonPromptSelectDir Key = "bot.msg.common.prompt_select_dir" + BotMsgConfigButtonFilenameStrategy Key = "bot.msg.config.button_filename_strategy" + BotMsgConfigErrorInvalidCallbackData Key = "bot.msg.config.error_invalid_callback_data" + BotMsgConfigErrorInvalidTemplate Key = "bot.msg.config.error_invalid_template" + BotMsgConfigFnametmplHelp Key = "bot.msg.config.fnametmpl_help" + BotMsgConfigInfoCurrentTemplatePrefix Key = "bot.msg.config.info_current_template_prefix" + BotMsgConfigInfoFilenameStrategySet Key = "bot.msg.config.info_filename_strategy_set" + BotMsgConfigInfoTemplateUpdated Key = "bot.msg.config.info_template_updated" + BotMsgConfigPromptSelectFilenameStrategy Key = "bot.msg.config.prompt_select_filename_strategy" + BotMsgConfigPromptSelectOption Key = "bot.msg.config.prompt_select_option" + BotMsgDirButtonDefault Key = "bot.msg.dir.button_default" + BotMsgDirErrorCreateDirFailed Key = "bot.msg.dir.error_create_dir_failed" + BotMsgDirErrorDeleteDirFailed Key = "bot.msg.dir.error_delete_dir_failed" + BotMsgDirErrorGetUserDirsFailed Key = "bot.msg.dir.error_get_user_dirs_failed" + BotMsgDirErrorGetUserFailed Key = "bot.msg.dir.error_get_user_failed" + BotMsgDirErrorInvalidDirId Key = "bot.msg.dir.error_invalid_dir_id" + BotMsgDirErrorUnknownOperation Key = "bot.msg.dir.error_unknown_operation" + BotMsgDirHelpAddExampleCmd Key = "bot.msg.dir.help_add_example_cmd" + BotMsgDirHelpAddExamplePrefix Key = "bot.msg.dir.help_add_example_prefix" + BotMsgDirHelpAddSuffix Key = "bot.msg.dir.help_add_suffix" + BotMsgDirHelpAvailableOps Key = "bot.msg.dir.help_available_ops" + BotMsgDirHelpDelExampleCmd Key = "bot.msg.dir.help_del_example_cmd" + BotMsgDirHelpDelExamplePrefix Key = "bot.msg.dir.help_del_example_prefix" + BotMsgDirHelpDelSuffix Key = "bot.msg.dir.help_del_suffix" + BotMsgDirHelpExistingDirsPrefix Key = "bot.msg.dir.help_existing_dirs_prefix" + BotMsgDirHelpUsage Key = "bot.msg.dir.help_usage" + BotMsgDirInfoCreateDirSuccess Key = "bot.msg.dir.info_create_dir_success" + BotMsgDirInfoDeleteDirSuccess Key = "bot.msg.dir.info_delete_dir_success" + BotMsgDlErrorNoValidLinks Key = "bot.msg.dl.error_no_valid_links" + BotMsgDlInfoFilesSelectStorage Key = "bot.msg.dl.info_files_select_storage" + BotMsgDlUsage Key = "bot.msg.dl.usage" + BotMsgHelpTextFmt Key = "bot.msg.help_text_fmt" BotMsgMediaGroupErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.media_group.error_build_storage_select_keyboard_failed" - BotMsgMediaGroupInfoGroupFoundFilesSelectStorage Key = "bot.msg.media_group.info_group_found_files_select_storage" - BotMsgMediaGroupInfoSavingFiles Key = "bot.msg.media_group.info_saving_files" - BotMsgParseErrorBuildParsedTextEntityFailed Key = "bot.msg.parse.error_build_parsed_text_entity_failed" - BotMsgParseErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.parse.error_build_storage_select_keyboard_failed" - BotMsgParseErrorParseTextFailed Key = "bot.msg.parse.error_parse_text_failed" - BotMsgParseInfoAuthorPrefix Key = "bot.msg.parse.info_author_prefix" - BotMsgParseInfoDescriptionPrefix Key = "bot.msg.parse.info_description_prefix" - BotMsgParseInfoFileCountPrefix Key = "bot.msg.parse.info_file_count_prefix" - BotMsgParseInfoLinkPrefix Key = "bot.msg.parse.info_link_prefix" - BotMsgParseInfoParsing Key = "bot.msg.parse.info_parsing" - BotMsgParseInfoPromptSelectStorage Key = "bot.msg.parse.info_prompt_select_storage" - BotMsgParseInfoTotalSizePrefix Key = "bot.msg.parse.info_total_size_prefix" - BotMsgParserErrorDownloadFileFailed Key = "bot.msg.parser.error_download_file_failed" - BotMsgParserErrorFileTooLarge Key = "bot.msg.parser.error_file_too_large" - BotMsgParserErrorGetFilenameFailed Key = "bot.msg.parser.error_get_filename_failed" - BotMsgParserErrorInstallPluginFailed Key = "bot.msg.parser.error_install_plugin_failed" - BotMsgParserErrorNoValidFileInReply Key = "bot.msg.parser.error_no_valid_file_in_reply" - BotMsgParserErrorOnlyJsSupported Key = "bot.msg.parser.error_only_js_supported" - BotMsgParserErrorWrongFileType Key = "bot.msg.parser.error_wrong_file_type" - BotMsgParserHelpText Key = "bot.msg.parser.help_text" - BotMsgParserInfoInstallPluginSuccess Key = "bot.msg.parser.info_install_plugin_success" - BotMsgParserPluginNotEnabled Key = "bot.msg.parser.plugin_not_enabled" - BotMsgParserPromptReplyWithParserFile Key = "bot.msg.parser.prompt_reply_with_parser_file" - BotMsgProgressAvgSpeedPrefix Key = "bot.msg.progress.avg_speed_prefix" - BotMsgProgressBatchDonePrefix Key = "bot.msg.progress.batch_done_prefix" - BotMsgProgressBatchProcessingPrefix Key = "bot.msg.progress.batch_processing_prefix" - BotMsgProgressBatchStartPrefix Key = "bot.msg.progress.batch_start_prefix" - BotMsgProgressCurrentProgressPrefix Key = "bot.msg.progress.current_progress_prefix" - BotMsgProgressDirectDonePrefix Key = "bot.msg.progress.direct_done_prefix" - BotMsgProgressDirectStart Key = "bot.msg.progress.direct_start" - BotMsgProgressDownloadDonePrefix Key = "bot.msg.progress.download_done_prefix" - BotMsgProgressDownloadFailedPrefix Key = "bot.msg.progress.download_failed_prefix" - BotMsgProgressDownloadingPrefix Key = "bot.msg.progress.downloading_prefix" - BotMsgProgressErrorPrefix Key = "bot.msg.progress.error_prefix" - BotMsgProgressFileNamePrefix Key = "bot.msg.progress.file_name_prefix" - BotMsgProgressFileProcessingPrefix Key = "bot.msg.progress.file_processing_prefix" - BotMsgProgressFileSizePrefix Key = "bot.msg.progress.file_size_prefix" - BotMsgProgressFileStartPrefix Key = "bot.msg.progress.file_start_prefix" - BotMsgProgressParsedDonePrefix Key = "bot.msg.progress.parsed_done_prefix" - BotMsgProgressParsedStartPrefix Key = "bot.msg.progress.parsed_start_prefix" - BotMsgProgressProcessingListPrefix Key = "bot.msg.progress.processing_list_prefix" - BotMsgProgressProcessingNone Key = "bot.msg.progress.processing_none" - BotMsgProgressSavePathPrefix Key = "bot.msg.progress.save_path_prefix" - BotMsgProgressTaskCanceled Key = "bot.msg.progress.task_canceled" - BotMsgProgressTaskCanceledWithId Key = "bot.msg.progress.task_canceled_with_id" - BotMsgProgressTaskFailedWithError Key = "bot.msg.progress.task_failed_with_error" - BotMsgProgressTelegraphDonePrefix Key = "bot.msg.progress.telegraph_done_prefix" - BotMsgProgressTelegraphProgressPrefix Key = "bot.msg.progress.telegraph_progress_prefix" - BotMsgProgressTelegraphStartPrefix Key = "bot.msg.progress.telegraph_start_prefix" - BotMsgProgressTotalSizePrefix Key = "bot.msg.progress.total_size_prefix" - BotMsgRuleErrorCreateRuleFailed Key = "bot.msg.rule.error_create_rule_failed" - BotMsgRuleErrorDeleteRuleFailed Key = "bot.msg.rule.error_delete_rule_failed" - BotMsgRuleErrorGetUserRulesFailed Key = "bot.msg.rule.error_get_user_rules_failed" - BotMsgRuleErrorInvalidRuleId Key = "bot.msg.rule.error_invalid_rule_id" - BotMsgRuleErrorInvalidRuleType Key = "bot.msg.rule.error_invalid_rule_type" - BotMsgRuleErrorUpdateUserFailed Key = "bot.msg.rule.error_update_user_failed" - BotMsgRuleHelpAddSuffix Key = "bot.msg.rule.help_add_suffix" - BotMsgRuleHelpAvailableOps Key = "bot.msg.rule.help_available_ops" - BotMsgRuleHelpCurrentModeDisabled Key = "bot.msg.rule.help_current_mode_disabled" - BotMsgRuleHelpCurrentModeEnabled Key = "bot.msg.rule.help_current_mode_enabled" - BotMsgRuleHelpDelSuffix Key = "bot.msg.rule.help_del_suffix" - BotMsgRuleHelpExistingRulesPrefix Key = "bot.msg.rule.help_existing_rules_prefix" - BotMsgRuleHelpSwitchSuffix Key = "bot.msg.rule.help_switch_suffix" - BotMsgRuleHelpUsage Key = "bot.msg.rule.help_usage" - BotMsgRuleInfoCreateRuleSuccess Key = "bot.msg.rule.info_create_rule_success" - BotMsgRuleInfoDeleteRuleSuccess Key = "bot.msg.rule.info_delete_rule_success" - BotMsgRuleInfoRuleModeDisabled Key = "bot.msg.rule.info_rule_mode_disabled" - BotMsgRuleInfoRuleModeEnabled Key = "bot.msg.rule.info_rule_mode_enabled" - BotMsgRulePromptProvideRuleId Key = "bot.msg.rule.prompt_provide_rule_id" - BotMsgSaveErrorInvalidIdOrUsername Key = "bot.msg.save.error_invalid_id_or_username" - BotMsgSaveHelpText Key = "bot.msg.save_help_text" - BotMsgStorageInfoFilenamePrefix Key = "bot.msg.storage.info_filename_prefix" - BotMsgStorageInfoPromptSelectStorage Key = "bot.msg.storage.info_prompt_select_storage" - BotMsgTasksCancelFailed Key = "bot.msg.tasks.cancel_failed" - BotMsgTasksCancelRequestedPrefix Key = "bot.msg.tasks.cancel_requested_prefix" - BotMsgTasksFieldCreated Key = "bot.msg.tasks.field_created" - BotMsgTasksFieldId Key = "bot.msg.tasks.field_id" - BotMsgTasksFieldStatus Key = "bot.msg.tasks.field_status" - BotMsgTasksFieldTitle Key = "bot.msg.tasks.field_title" - BotMsgTasksInfoAddedToQueueFull Key = "bot.msg.tasks.info_added_to_queue_full" - BotMsgTasksInfoAddedToQueuePrefix Key = "bot.msg.tasks.info_added_to_queue_prefix" - BotMsgTasksInfoFilenamePrefix Key = "bot.msg.tasks.info_filename_prefix" - BotMsgTasksInfoQueueLengthPrefix Key = "bot.msg.tasks.info_queue_length_prefix" - BotMsgTasksQueuedEmpty Key = "bot.msg.tasks.queued_empty" - BotMsgTasksQueuedTitle Key = "bot.msg.tasks.queued_title" - BotMsgTasksRunningEmpty Key = "bot.msg.tasks.running_empty" - BotMsgTasksRunningTitle Key = "bot.msg.tasks.running_title" - BotMsgTasksStatusCancelRequested Key = "bot.msg.tasks.status_cancel_requested" - BotMsgTasksStatusQueued Key = "bot.msg.tasks.status_queued" - BotMsgTasksStatusRunning Key = "bot.msg.tasks.status_running" - BotMsgTasksTotalPrefix Key = "bot.msg.tasks.total_prefix" - BotMsgTasksTruncatedNote Key = "bot.msg.tasks.truncated_note" - BotMsgTasksUsage Key = "bot.msg.tasks.usage" - BotMsgTasksUsageCancel Key = "bot.msg.tasks.usage_cancel" - BotMsgTelegraphErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.telegraph.error_build_storage_select_keyboard_failed" - BotMsgTelegraphInfoPicCountPrefix Key = "bot.msg.telegraph.info_pic_count_prefix" - BotMsgTelegraphInfoPromptSelectStorage Key = "bot.msg.telegraph.info_prompt_select_storage" - BotMsgTelegraphInfoTitlePrefix Key = "bot.msg.telegraph.info_title_prefix" - BotMsgUpdateButtonUpgrade Key = "bot.msg.update.button_upgrade" - BotMsgUpdateErrorCheckLatestFailed Key = "bot.msg.update.error_check_latest_failed" - BotMsgUpdateErrorNoReleaseFound Key = "bot.msg.update.error_no_release_found" - BotMsgUpdateErrorUpgradeFailed Key = "bot.msg.update.error_upgrade_failed" - BotMsgUpdateErrorVersionVarInvalid Key = "bot.msg.update.error_version_var_invalid" - BotMsgUpdateInfoAlreadyLatest Key = "bot.msg.update.info_already_latest" - BotMsgUpdateInfoMajorUpgradeRequired Key = "bot.msg.update.info_major_upgrade_required" - BotMsgUpdateInfoNewVersionInDocker Key = "bot.msg.update.info_new_version_in_docker" - BotMsgUpdateInfoNewVersionPromptUpgrade Key = "bot.msg.update.info_new_version_prompt_upgrade" - BotMsgUpdateInfoUpgradeSuccess Key = "bot.msg.update.info_upgrade_success" - BotMsgUpdateInfoUpgradingWithVersion Key = "bot.msg.update.info_upgrading_with_version" - BotMsgWatchErrorFilterFormatInvalid Key = "bot.msg.watch.error_filter_format_invalid" - BotMsgWatchErrorFilterTypeUnsupported Key = "bot.msg.watch.error_filter_type_unsupported" - BotMsgWatchErrorUnwatchChatFailed Key = "bot.msg.watch.error_unwatch_chat_failed" - BotMsgWatchErrorUnwatchNoChatProvided Key = "bot.msg.watch.error_unwatch_no_chat_provided" - BotMsgWatchErrorWatchChatFailed Key = "bot.msg.watch.error_watch_chat_failed" - BotMsgWatchInfoAlreadyWatchingChat Key = "bot.msg.watch.info_already_watching_chat" - BotMsgWatchInfoWatchChatStarted Key = "bot.msg.watch.info_watch_chat_started" - BotMsgWatchInfoWatchChatStopped Key = "bot.msg.watch.info_watch_chat_stopped" - BotMsgWatchInfoWatchListEmpty Key = "bot.msg.watch.info_watch_list_empty" - BotMsgWatchInfoWatchListFilterPrefix Key = "bot.msg.watch.info_watch_list_filter_prefix" - BotMsgWatchInfoWatchListHeader Key = "bot.msg.watch.info_watch_list_header" - BotMsgWatchHelpText Key = "bot.msg.watch_help_text" - ConfigErrDuplicateStorageName Key = "config.err.duplicate_storage_name" - ConfigErrInvalidCacheDir Key = "config.err.invalid_cache_dir" - ErrCleanCacheFailed Key = "err.clean_cache_failed" - ErrGetCacheAbsPathFailed Key = "err.get_cache_abs_path_failed" - ErrGetWorkdirFailed Key = "err.get_workdir_failed" - LifetimeBye Key = "lifetime.bye" - LifetimeCleaningCache Key = "lifetime.cleaning_cache" - LifetimeExiting Key = "lifetime.exiting" - LifetimeInitfailed Key = "lifetime.initfailed" - LifetimeIniting Key = "lifetime.initing" - LifetimeUserLoginFailed Key = "lifetime.user_login_failed" - ParserPluginLoadFailed Key = "parser.plugin.load_failed" - ParserPluginLoadedDir Key = "parser.plugin.loaded_dir" + BotMsgMediaGroupInfoGroupFoundFilesSelectStorage Key = "bot.msg.media_group.info_group_found_files_select_storage" + BotMsgMediaGroupInfoSavingFiles Key = "bot.msg.media_group.info_saving_files" + BotMsgParseErrorBuildParsedTextEntityFailed Key = "bot.msg.parse.error_build_parsed_text_entity_failed" + BotMsgParseErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.parse.error_build_storage_select_keyboard_failed" + BotMsgParseErrorParseTextFailed Key = "bot.msg.parse.error_parse_text_failed" + BotMsgParseInfoAuthorPrefix Key = "bot.msg.parse.info_author_prefix" + BotMsgParseInfoDescriptionPrefix Key = "bot.msg.parse.info_description_prefix" + BotMsgParseInfoFileCountPrefix Key = "bot.msg.parse.info_file_count_prefix" + BotMsgParseInfoLinkPrefix Key = "bot.msg.parse.info_link_prefix" + BotMsgParseInfoParsing Key = "bot.msg.parse.info_parsing" + BotMsgParseInfoPromptSelectStorage Key = "bot.msg.parse.info_prompt_select_storage" + BotMsgParseInfoTotalSizePrefix Key = "bot.msg.parse.info_total_size_prefix" + BotMsgParserErrorDownloadFileFailed Key = "bot.msg.parser.error_download_file_failed" + BotMsgParserErrorFileTooLarge Key = "bot.msg.parser.error_file_too_large" + BotMsgParserErrorGetFilenameFailed Key = "bot.msg.parser.error_get_filename_failed" + BotMsgParserErrorInstallPluginFailed Key = "bot.msg.parser.error_install_plugin_failed" + BotMsgParserErrorNoValidFileInReply Key = "bot.msg.parser.error_no_valid_file_in_reply" + BotMsgParserErrorOnlyJsSupported Key = "bot.msg.parser.error_only_js_supported" + BotMsgParserErrorWrongFileType Key = "bot.msg.parser.error_wrong_file_type" + BotMsgParserHelpText Key = "bot.msg.parser.help_text" + BotMsgParserInfoInstallPluginSuccess Key = "bot.msg.parser.info_install_plugin_success" + BotMsgParserPluginNotEnabled Key = "bot.msg.parser.plugin_not_enabled" + BotMsgParserPromptReplyWithParserFile Key = "bot.msg.parser.prompt_reply_with_parser_file" + BotMsgProgressAvgSpeedPrefix Key = "bot.msg.progress.avg_speed_prefix" + BotMsgProgressBatchDonePrefix Key = "bot.msg.progress.batch_done_prefix" + BotMsgProgressBatchProcessingPrefix Key = "bot.msg.progress.batch_processing_prefix" + BotMsgProgressBatchStartPrefix Key = "bot.msg.progress.batch_start_prefix" + BotMsgProgressCurrentProgressPrefix Key = "bot.msg.progress.current_progress_prefix" + BotMsgProgressDirectDonePrefix Key = "bot.msg.progress.direct_done_prefix" + BotMsgProgressDirectStart Key = "bot.msg.progress.direct_start" + BotMsgProgressDownloadDonePrefix Key = "bot.msg.progress.download_done_prefix" + BotMsgProgressDownloadFailedPrefix Key = "bot.msg.progress.download_failed_prefix" + BotMsgProgressDownloadingPrefix Key = "bot.msg.progress.downloading_prefix" + BotMsgProgressErrorPrefix Key = "bot.msg.progress.error_prefix" + BotMsgProgressFileNamePrefix Key = "bot.msg.progress.file_name_prefix" + BotMsgProgressFileProcessingPrefix Key = "bot.msg.progress.file_processing_prefix" + BotMsgProgressFileSizePrefix Key = "bot.msg.progress.file_size_prefix" + BotMsgProgressFileStartPrefix Key = "bot.msg.progress.file_start_prefix" + BotMsgProgressParsedDonePrefix Key = "bot.msg.progress.parsed_done_prefix" + BotMsgProgressParsedStartPrefix Key = "bot.msg.progress.parsed_start_prefix" + BotMsgProgressProcessingListPrefix Key = "bot.msg.progress.processing_list_prefix" + BotMsgProgressProcessingNone Key = "bot.msg.progress.processing_none" + BotMsgProgressSavePathPrefix Key = "bot.msg.progress.save_path_prefix" + BotMsgProgressTaskCanceled Key = "bot.msg.progress.task_canceled" + BotMsgProgressTaskCanceledWithId Key = "bot.msg.progress.task_canceled_with_id" + BotMsgProgressTaskFailedWithError Key = "bot.msg.progress.task_failed_with_error" + BotMsgProgressTelegraphDonePrefix Key = "bot.msg.progress.telegraph_done_prefix" + BotMsgProgressTelegraphProgressPrefix Key = "bot.msg.progress.telegraph_progress_prefix" + BotMsgProgressTelegraphStartPrefix Key = "bot.msg.progress.telegraph_start_prefix" + BotMsgProgressTotalSizePrefix Key = "bot.msg.progress.total_size_prefix" + BotMsgRuleErrorCreateRuleFailed Key = "bot.msg.rule.error_create_rule_failed" + BotMsgRuleErrorDeleteRuleFailed Key = "bot.msg.rule.error_delete_rule_failed" + BotMsgRuleErrorGetUserRulesFailed Key = "bot.msg.rule.error_get_user_rules_failed" + BotMsgRuleErrorInvalidRuleId Key = "bot.msg.rule.error_invalid_rule_id" + BotMsgRuleErrorInvalidRuleType Key = "bot.msg.rule.error_invalid_rule_type" + BotMsgRuleErrorUpdateUserFailed Key = "bot.msg.rule.error_update_user_failed" + BotMsgRuleHelpAddSuffix Key = "bot.msg.rule.help_add_suffix" + BotMsgRuleHelpAvailableOps Key = "bot.msg.rule.help_available_ops" + BotMsgRuleHelpCurrentModeDisabled Key = "bot.msg.rule.help_current_mode_disabled" + BotMsgRuleHelpCurrentModeEnabled Key = "bot.msg.rule.help_current_mode_enabled" + BotMsgRuleHelpDelSuffix Key = "bot.msg.rule.help_del_suffix" + BotMsgRuleHelpExistingRulesPrefix Key = "bot.msg.rule.help_existing_rules_prefix" + BotMsgRuleHelpSwitchSuffix Key = "bot.msg.rule.help_switch_suffix" + BotMsgRuleHelpUsage Key = "bot.msg.rule.help_usage" + BotMsgRuleInfoCreateRuleSuccess Key = "bot.msg.rule.info_create_rule_success" + BotMsgRuleInfoDeleteRuleSuccess Key = "bot.msg.rule.info_delete_rule_success" + BotMsgRuleInfoRuleModeDisabled Key = "bot.msg.rule.info_rule_mode_disabled" + BotMsgRuleInfoRuleModeEnabled Key = "bot.msg.rule.info_rule_mode_enabled" + BotMsgRulePromptProvideRuleId Key = "bot.msg.rule.prompt_provide_rule_id" + BotMsgSaveErrorInvalidIdOrUsername Key = "bot.msg.save.error_invalid_id_or_username" + BotMsgSaveHelpText Key = "bot.msg.save_help_text" + BotMsgStorageInfoFilenamePrefix Key = "bot.msg.storage.info_filename_prefix" + BotMsgStorageInfoPromptSelectStorage Key = "bot.msg.storage.info_prompt_select_storage" + BotMsgTasksCancelFailed Key = "bot.msg.tasks.cancel_failed" + BotMsgTasksCancelRequestedPrefix Key = "bot.msg.tasks.cancel_requested_prefix" + BotMsgTasksFieldCreated Key = "bot.msg.tasks.field_created" + BotMsgTasksFieldId Key = "bot.msg.tasks.field_id" + BotMsgTasksFieldStatus Key = "bot.msg.tasks.field_status" + BotMsgTasksFieldTitle Key = "bot.msg.tasks.field_title" + BotMsgTasksInfoAddedToQueueFull Key = "bot.msg.tasks.info_added_to_queue_full" + BotMsgTasksInfoAddedToQueuePrefix Key = "bot.msg.tasks.info_added_to_queue_prefix" + BotMsgTasksInfoFilenamePrefix Key = "bot.msg.tasks.info_filename_prefix" + BotMsgTasksInfoQueueLengthPrefix Key = "bot.msg.tasks.info_queue_length_prefix" + BotMsgTasksQueuedEmpty Key = "bot.msg.tasks.queued_empty" + BotMsgTasksQueuedTitle Key = "bot.msg.tasks.queued_title" + BotMsgTasksRunningEmpty Key = "bot.msg.tasks.running_empty" + BotMsgTasksRunningTitle Key = "bot.msg.tasks.running_title" + BotMsgTasksStatusCancelRequested Key = "bot.msg.tasks.status_cancel_requested" + BotMsgTasksStatusQueued Key = "bot.msg.tasks.status_queued" + BotMsgTasksStatusRunning Key = "bot.msg.tasks.status_running" + BotMsgTasksTotalPrefix Key = "bot.msg.tasks.total_prefix" + BotMsgTasksTruncatedNote Key = "bot.msg.tasks.truncated_note" + BotMsgTasksUsage Key = "bot.msg.tasks.usage" + BotMsgTasksUsageCancel Key = "bot.msg.tasks.usage_cancel" + BotMsgTelegraphErrorBuildStorageSelectKeyboardFailed Key = "bot.msg.telegraph.error_build_storage_select_keyboard_failed" + BotMsgTelegraphInfoPicCountPrefix Key = "bot.msg.telegraph.info_pic_count_prefix" + BotMsgTelegraphInfoPromptSelectStorage Key = "bot.msg.telegraph.info_prompt_select_storage" + BotMsgTelegraphInfoTitlePrefix Key = "bot.msg.telegraph.info_title_prefix" + BotMsgUpdateButtonUpgrade Key = "bot.msg.update.button_upgrade" + BotMsgUpdateErrorCheckLatestFailed Key = "bot.msg.update.error_check_latest_failed" + BotMsgUpdateErrorNoReleaseFound Key = "bot.msg.update.error_no_release_found" + BotMsgUpdateErrorUpgradeFailed Key = "bot.msg.update.error_upgrade_failed" + BotMsgUpdateErrorVersionVarInvalid Key = "bot.msg.update.error_version_var_invalid" + BotMsgUpdateInfoAlreadyLatest Key = "bot.msg.update.info_already_latest" + BotMsgUpdateInfoMajorUpgradeRequired Key = "bot.msg.update.info_major_upgrade_required" + BotMsgUpdateInfoNewVersionInDocker Key = "bot.msg.update.info_new_version_in_docker" + BotMsgUpdateInfoNewVersionPromptUpgrade Key = "bot.msg.update.info_new_version_prompt_upgrade" + BotMsgUpdateInfoUpgradeSuccess Key = "bot.msg.update.info_upgrade_success" + BotMsgUpdateInfoUpgradingWithVersion Key = "bot.msg.update.info_upgrading_with_version" + BotMsgWatchErrorFilterFormatInvalid Key = "bot.msg.watch.error_filter_format_invalid" + BotMsgWatchErrorFilterTypeUnsupported Key = "bot.msg.watch.error_filter_type_unsupported" + BotMsgWatchErrorUnwatchChatFailed Key = "bot.msg.watch.error_unwatch_chat_failed" + BotMsgWatchErrorUnwatchNoChatProvided Key = "bot.msg.watch.error_unwatch_no_chat_provided" + BotMsgWatchErrorWatchChatFailed Key = "bot.msg.watch.error_watch_chat_failed" + BotMsgWatchInfoAlreadyWatchingChat Key = "bot.msg.watch.info_already_watching_chat" + BotMsgWatchInfoWatchChatStarted Key = "bot.msg.watch.info_watch_chat_started" + BotMsgWatchInfoWatchChatStopped Key = "bot.msg.watch.info_watch_chat_stopped" + BotMsgWatchInfoWatchListEmpty Key = "bot.msg.watch.info_watch_list_empty" + BotMsgWatchInfoWatchListFilterPrefix Key = "bot.msg.watch.info_watch_list_filter_prefix" + BotMsgWatchInfoWatchListHeader Key = "bot.msg.watch.info_watch_list_header" + BotMsgWatchHelpText Key = "bot.msg.watch_help_text" + ConfigErrDuplicateStorageName Key = "config.err.duplicate_storage_name" + ConfigErrInvalidCacheDir Key = "config.err.invalid_cache_dir" + ErrCleanCacheFailed Key = "err.clean_cache_failed" + ErrGetCacheAbsPathFailed Key = "err.get_cache_abs_path_failed" + ErrGetWorkdirFailed Key = "err.get_workdir_failed" + LifetimeBye Key = "lifetime.bye" + LifetimeCleaningCache Key = "lifetime.cleaning_cache" + LifetimeExiting Key = "lifetime.exiting" + LifetimeInitfailed Key = "lifetime.initfailed" + LifetimeIniting Key = "lifetime.initing" + LifetimeUserLoginFailed Key = "lifetime.user_login_failed" + ParserPluginLoadFailed Key = "parser.plugin.load_failed" + ParserPluginLoadedDir Key = "parser.plugin.loaded_dir" )