{
  "command.config_display_language": "Change display language",
  "command.config_locales": "Manually configure locales path",
  "command.config_locales_auto": "Auto-detect locales path",
  "command.config_source_language": "Change source language",
  "command.copy_key": "Copy i18n key",
  "command.deepl_usage": "DeepL API usage",
  "command.delete_key": "Delete key",
  "command.duplicate_key": "Duplicate key",
  "command.edit_key": "Edit translation",
  "command.extract.disable-auto-detect": "Disable hard-coded strings auto detection",
  "command.extract.enable-auto-detect": "Enable hard-coded strings auto detection",
  "command.fulfill_keys": "Fulfill keys with empty strings",
  "command.go_to_next_usage": "Go to next usage",
  "command.go_to_prev_usage": "Go to previous usage",
  "command.go_to_range": "Go to range",
  "command.insert_key": "Insert key",
  "command.locale_visibility_hide": "Hide locale",
  "command.locale_visibility_show": "Show locale",
  "command.mark_key_as_in_use": "Mark this key as \"in use\"",
  "command.new_key": "Create a new key",
  "command.open_editor": "Open Editor",
  "command.open_in_editor": "Open in editor",
  "command.open_key": "Go to definition",
  "command.open_review": "Open review",
  "command.open_url": "Open url",
  "command.possible_hard_string": "Possible Hard string",
  "command.refresh_usage": "Refresh usage report",
  "command.rename_key": "Rename key",
  "command.set_display_language": "Set as display language",
  "command.set_source_language": "Set as source language",
  "command.show_docs": "Show documentation",
  "command.translate_key": "Translate",
  "command.translate_key_from": "Translate from \"{0}\"",
  "config.annotation_delimiter": "The delimiter for annotations",
  "config.annotation_in_place": "Show annotation in place instead of appending to the tail",
  "config.annotation_max_length": "Max number of characters shown in the inline annotations. Excess characters will display as an ellipses (...)",
  "config.annotations": "Enable the inline annotations.",
  "config.auto_detection": "Enable locales auto detection for projects",
  "config.baidu_app_secret": "APP Secret to use Baidu translate engine",
  "config.baidu_appid": "APP ID to use Baidu translate engine",
  "config.deepl_api_key": "API key to use DeepL translate engine",
  "config.deepl_log": "Show DeepL engine debug logs",
  "config.deepl_use_free_api_entry": "Use DeepL Free API entry point",
  "config.default_namespace": "Global default namespace",
  "config.deprecated": "Deprecated. Use \"i18n-ally.\" prefix instead.",
  "config.derived_keys": "Rules to mark derived keys in the usage report",
  "config.dir_structure": "Preferred directory structure to organize locale files",
  "config.disable_path_parsing": "Disable path resolution",
  "config.disabled": "Disable i18n Ally for the project",
  "config.display_language": "Displaying language",
  "config.editor_prefer_editor": "Prefer to use webview editor for locale editing.",
  "config.enabled_frameworks": "Specify the supported framework(s) to enable. If no value is set, the extension will detect frameworks automatically.",
  "config.enabled_parsers": "Locale file format parsers. By default, It will be handled by activated frameworks",
  "config.encoding": "File encoding for reading and writing locale files",
  "config.full_reload_on_changed": "Perform a full reload on locale file changes. (for .js/.ts dynamic import)",
  "config.google_api_key": "API key for Google Translate (Optional)",
  "config.ignore_files": "Locale files to ignore on loading. Accepting an array of glob.",
  "config.ignored_locales": "Locale codes to ignore",
  "config.include_subfolders": "Search recursively inside locale directories",
  "config.indent": "Indent space size for locale files",
  "config.keep_fulfill": "Always keep all keys fulfilled with empty strings",
  "config.key_max_length": "If specified, the generated key on extracting will be truncated to this number of characters (excluding the keyPrefix). Defaults to unlimited.",
  "config.key_prefix": "String to prepend to the extracting key. You can use {fileName} for the file name, and {fileNameWithoutExt} for the part of the file name before the first dot.",
  "config.keygen_strategy": "Strategy of generating key.",
  "config.keygen_style": "Case style for generating key.",
  "config.keys_in_use": "Keys to mark as in use despite not appearing in the code",
  "config.keystyle": "Locale key style",
  "config.language_tag_system": "Language tag system use are using.",
  "config.libretranslate_api_root": "LibreTranslate API root URL",
  "config.locale_country_map": "An object to map two letters locale code to country code",
  "config.locales_paths": "Path to locales directory (relative to project root). Glob pattern is also acceptable.",
  "config.namespace": "Enable namespaces. Check out the docs for more details.",
  "config.namespaceSeparator": "Namespace separator",
  "config.openai_api_key": "OpenAI API key",
  "config.openai_api_model": "OpenAI chatgpt model",
  "config.openai_api_root": "OpenAI API root URL",
  "config.path_matcher": "Match path for custom locale/namespace. Check out the docs for more details.",
  "config.preferred_delimiter": "Preferred delimiter of composed keypath, default to \"-\"(dash)",
  "config.prompt_translating_source": "Prompt to select source locale on translating every time. If set false, the source language in the config will be used.",
  "config.readonly": "Read-only mode",
  "config.refactor_templates": "Array of template strings. Use `{key}` for placeholder of keypaths.",
  "config.regex_key": "RegEx string to match keypath",
  "config.regex_usage_match": "Array of RegEx strings to match key usages in code. It will override Regex provided by frameworks.",
  "config.regex_usage_match_append": "Array of RegEx strings to match key usages in code. Unlike \"regex.usageMatch\", it will append to the Regex list instead of replacing it.",
  "config.review_email": "Email for reviewing, also used as Gravatar for profile avatar.",
  "config.review_enabled": "Enable reviewing system",
  "config.review_gutters": "Show review panel on gutters",
  "config.review_remove_on_resolved": "Remove the comment instead of marking it as resolved.",
  "config.review_username": "Username for reviewing",
  "config.show_flags": "Show flags along with locale codes",
  "config.sort_compare": "Strategy for sorting keys.",
  "config.sort_keys": "Sort keys when saving to JSON/YAML",
  "config.sort_locale": "Locale to with if locale sort is used (will use the file's own locale if not specified)",
  "config.source_language": "Source language for machine translation",
  "config.tab_style": "Tab style for locale files",
  "config.target_picking_strategy": "Strategy dealing with more than one locale files were found.",
  "config.target_picking_strategy.file-previous": "Extract text to current file's previous selected locale file",
  "config.target_picking_strategy.global-previous": "Extract text to (current or other) file 's previous selected locale file",
  "config.target_picking_strategy.most-similar": "Automatically extract text to the file which path most matches to current file's path",
  "config.target_picking_strategy.most-similar-by-key": "Automatically fill the extracted copy into the language file that best matches the current i18n key",
  "config.target_picking_strategy.none": "User manually select which file to extract text to",
  "config.translate.engines": "Translation services.",
  "config.translate.fallbackToKey": "Use key itself to translate when there is no source translation for that key.",
  "config.translate.parallels": "Maximum amount of translating workers at the same time.",
  "config.translate_override_existing": "Override existing messages on translating",
  "config.translate_save_as_candidates": "Save translations result to \"Translation Candidates\" instead of writting to the locale files.",
  "config.usage.scanning_ignore": "Ignore glob patterns for scanning key usage",
  "editor.add_description": "Add description...",
  "editor.empty": "(empty)",
  "editor.title": "i18n Ally Editor",
  "editor.translate": "Translate",
  "editor.translate_all_missing": "Translate All Missing",
  "errors.keystyle_not_set": "Keystyle is not specified, operation cancelled.",
  "errors.translating_empty_source_value": "Source translation of \"{0}\" is not found. Translation aborted.",
  "errors.translating_same_locale": "Translate to same locale is not allowed.",
  "errors.translating_unknown_error": "Unknown error occured on translating.",
  "errors.unsupported_file_type": "Unsupported file type: \"{0}\"",
  "errors.write_in_readonly_mode": "Writing in readonly mode is disabled.",
  "extname": "i18n Ally",
  "feedback.document": "Read Documentation",
  "feedback.github": "Star on GitHub",
  "feedback.report_issues": "Report Issues",
  "feedback.support": "Support Us",
  "feedback.twitter_feedback": "Provide Feedback",
  "misc.missing_key": "{0}: i18n key \"{1}\" does not exist",
  "misc.missing_translation": "{0}: Translation of \"{1}\" is missing",
  "notification.migrate": "Migrate",
  "notification.v2-update": "i18n Ally is updated to v2.0!\nPlease check out the migration guide.",
  "prompt.applying_suggestion": "Applying following suggestion to key \"{0}\"?\n\n{1}",
  "prompt.applying_translation_candidate": "Applying following translation to key \"{0}\"?\n\n{1}",
  "prompt.applying_translation_candidate_multiple": "Are you sure to apply all {0} translations?",
  "prompt.button_apply": "Apply",
  "prompt.button_cancel": "Cancel",
  "prompt.button_discard": "Discard",
  "prompt.button_edit_end_apply": "Edit",
  "prompt.button_override": "Override",
  "prompt.button_reenter": "Re-enter",
  "prompt.button_skip": "Continue without override",
  "prompt.button_yes": "Yes",
  "prompt.choice_key_to_insert": "Choose a key to insert",
  "prompt.choice_key_to_open": "Choose a key to open in the editor...",
  "prompt.choice_locale": "Choose a locale",
  "prompt.config_locales_auto_success": "Locales path auto set to \"{0}\".",
  "prompt.config_locales_button": "Config Now",
  "prompt.config_locales_info": "Configure the locales directory for your project",
  "prompt.config_locales_success": "Locales path successfully configured.",
  "prompt.create_new_path": "Create a new path",
  "prompt.deepl_api_key_required": "DeepL API Key is required",
  "prompt.deepl_error_get_usage": "Error on get usage data",
  "prompt.deepl_usage": "DeepL API usage {0} of {1} character translate",
  "prompt.delete_key": "Are you sure to remove key \"{0}\" from all locales?\n\nThis operation can NOT be undone.",
  "prompt.delete_keys_not_in_use": "Are you sure you want to remove {0} keys that are not in use?\n\nThis operation can NOT be undone.",
  "prompt.donate": "Donate",
  "prompt.edit_key_in_locale": "{1} | Editing key \"{0}\"",
  "prompt.enter_file_path_to_store_key": "Enter the file path to store key \"{0}\"",
  "prompt.enter_key_path": "Enter the keypath for \"{0}\"",
  "prompt.enter_new_keypath": "Enter the new keypath",
  "prompt.error_on_parse_custom_regex": "Failed to parse RegEx string {0}. Please check your config",
  "prompt.existing_translation": "Existing translation",
  "prompt.extraction_canceled": "Extraction canceled",
  "prompt.failed_to_locate_key": "Failed to locate key \"{0}\".",
  "prompt.frameworks_not_found": "The following framework(s) are not found. Please check your settings.\n{0}",
  "prompt.fullfill_missing_all_confirm": "Are you sure you want to fulfill all missing keys with empty strings cross all locales?\n\nThis operation cannot be undone!",
  "prompt.fullfill_missing_confirm": "Are you sure you want to fulfill {0} missing keys with empty strings in {1}?\n\nThis operation cannot be undone!",
  "prompt.invalid_keypath": "Invalid keypath!",
  "prompt.key_already_exists": "Key already exists. Do you want to override the existing value or re-enter the path?",
  "prompt.key_copied": "Key copied.",
  "prompt.keys_removed": "{0} keys removed",
  "prompt.keystyle_flat": "Flat style",
  "prompt.keystyle_flat_example": "for example: { \"a.b.c\": \"...\" }",
  "prompt.keystyle_nested": "Nested style",
  "prompt.keystyle_nested_example": "for example: { \"a\": { \"b\": { \"c\": \"...\" } } }",
  "prompt.keystyle_select": "Which kind of key style do you use to organize your locales?",
  "prompt.locales_dir_not_found": "Locales directory not found. i18n Ally is disabled.",
  "prompt.new_key_path": "Enter the keypath for the new key",
  "prompt.no_locale_loaded": "No locale files loaded. Probably there is something wrong with your project config.",
  "prompt.replace_text_as": "Replace text as:",
  "prompt.select_display_locale": "Select display language ({0})",
  "prompt.select_file_to_open": "Select file to open",
  "prompt.select_file_to_store_key": "Select file to store key \"{0}\"",
  "prompt.select_source_language_for_translating": "Select source language for translating ({0})",
  "prompt.select_source_locale": "Select source language ({0})",
  "prompt.show_error_log": "Show logs",
  "prompt.star_on_github": "Star on GitHub",
  "prompt.support": "i18n Ally is offered to everyone for free. If you find it useful, please consider supporting it. Thank you! ❤",
  "prompt.translate_cancelled_multiple": "{0} keys translation cancelled.",
  "prompt.translate_done_multiple": "{0} keys translated.",
  "prompt.translate_done_single": "Translating of \"{0}\" finished.",
  "prompt.translate_edit_translated": "Edit result",
  "prompt.translate_failed_multiple": "{0} keys are failed to translate.",
  "prompt.translate_failed_single": "\"{0}\" is failed to translate to \"{1}\"",
  "prompt.translate_in_progress": "Translating",
  "prompt.translate_multiple_confirm": "Are you sure to translate {0} keys?",
  "prompt.translate_no_jobs": "No translation needed.",
  "prompt.writing_js": "Writing to js/ts files is not supported.",
  "refactor.extract_ignore": "Ignore detection \"{0}\" globally",
  "refactor.extract_ignore_by_file": "Ignore detection \"{0}\" for current file",
  "refactor.extract_text": "🌍 Extract text into i18n messages",
  "refactor.extracting_not_support_for_lang": "Extracting for language \"{0}\" is not supported yet",
  "refactor.replace_with": "Replace text with existing translation: \"{0}\"",
  "review.accept_suggestion": "Accept Suggestion",
  "review.apply_suggestion": "Apply suggestion",
  "review.apply_translation_candidate": "Apply translation candidate",
  "review.approve": "Approve",
  "review.comment": "Comment",
  "review.edit": "Edit",
  "review.leave_comment": "Leave Comment",
  "review.optional": "(Optional)",
  "review.placeholder.approve": "Approved",
  "review.placeholder.comment": "Said nothing",
  "review.placeholder.request_change": "Change requested",
  "review.request_change": "Request Change",
  "review.request_change_messages": "Change Requested",
  "review.resolve": "Resolve",
  "review.resolve_all": "Resolve all",
  "review.review": "Review",
  "review.suggestion": "Suggestion",
  "review.suggestions": "Suggestions",
  "review.title": "i18n Ally Review",
  "review.translation_candidates": "Translation Candidates",
  "review.unknown_user": "Unknown",
  "view.current_file": "Current file",
  "view.current_file_hard_strings": "Hard-coded strings [beta]",
  "view.current_file_hard_strings_expand_to_detect": "(Expand to detect)",
  "view.current_file_hard_strings_not_supported": "\"{0}\" is not supported yet",
  "view.current_file_keys_in_use": "Keys in use",
  "view.current_file_keys_not_found": "Keys not found",
  "view.help_feedback": "Help & Feedback",
  "view.i18n_keys": "i18n Ally",
  "view.progress": "Progress",
  "view.progress_submenu.empty_keys": "Empty",
  "view.progress_submenu.missing_keys": "No Translation",
  "view.progress_submenu.translated_keys": "Translated",
  "view.tree": "Tree",
  "view.usage": "Usage Report",
  "view.usage_keys_in_use": "{0} keys are in use",
  "view.usage_keys_missing": "{0} keys are missing",
  "view.usage_keys_not_in_use": "{0} keys are NOT in use",
  "view.usage_report_none": "Press refresh to start analysing key usage"
}
