mirror of
https://github.com/yeongpin/cursor-free-vip.git
synced 2025-08-01 12:27:35 +08:00
Enhance translation script to utilize Google Translate API, add error handling, and improve language code mapping. Introduce interactive menu for processing language files and backup options. Update Bulgarian, Japanese, and Chinese translations with new keys and improved error messages.
This commit is contained in:
parent
1158068a31
commit
a1588c7e00
@ -1,19 +1,53 @@
|
||||
"""
|
||||
Compares two JSON translation files in /locales (e.g., en.json and ar.json).
|
||||
Finds keys missing in the target file, translates their values using Google Translate (web scraping),
|
||||
Finds keys missing in the target file, translates their values using Google Translate API (googletrans 4.0.2),
|
||||
and inserts the translations. Runs in parallel for speed and creates a backup of the target file.
|
||||
"""
|
||||
import json
|
||||
import requests
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
import urllib.parse
|
||||
import re
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
from colorama import init, Fore, Style
|
||||
import time
|
||||
import shutil
|
||||
import asyncio
|
||||
|
||||
# Import googletrans with error handling
|
||||
try:
|
||||
from googletrans import Translator as GoogleTranslator
|
||||
GOOGLETRANS_AVAILABLE = True
|
||||
print(f"{Fore.GREEN}Using googletrans for translation.{Style.RESET_ALL}")
|
||||
except ImportError:
|
||||
GOOGLETRANS_AVAILABLE = False
|
||||
print(f"{Fore.YELLOW}googletrans library not found. Will use web scraping fallback method.{Style.RESET_ALL}")
|
||||
print(f"{Fore.YELLOW}To install googletrans: pip install googletrans==4.0.2{Style.RESET_ALL}")
|
||||
import requests
|
||||
|
||||
init(autoreset=True)
|
||||
|
||||
# Language code mapping to Google Translate language codes
|
||||
LANGUAGE_MAPPING = {
|
||||
"zh_cn": "zh-CN", # Simplified Chinese
|
||||
"zh_tw": "zh-TW", # Traditional Chinese
|
||||
"ar": "ar", # Arabic
|
||||
"bg": "bg", # Bulgarian
|
||||
"de": "de", # German
|
||||
"en": "en", # English
|
||||
"es": "es", # Spanish
|
||||
"fr": "fr", # French
|
||||
"it": "it", # Italian
|
||||
"ja": "ja", # Japanese
|
||||
"ko": "ko", # Korean
|
||||
"nl": "nl", # Dutch
|
||||
"pt": "pt", # Portuguese
|
||||
"ru": "ru", # Russian
|
||||
"tr": "tr", # Turkish
|
||||
"vi": "vi", # Vietnamese
|
||||
# Add more mappings as needed
|
||||
}
|
||||
|
||||
# Recursively get all keys in the JSON as dot-separated paths
|
||||
def get_keys(d, prefix=''):
|
||||
keys = set()
|
||||
@ -40,24 +74,65 @@ def set_by_path(d, path, value):
|
||||
d = d[p]
|
||||
d[parts[-1]] = value
|
||||
|
||||
# Translate text using Google Translate web scraping (mobile version)
|
||||
# Get Google Translate language code from file name
|
||||
def get_google_lang_code(file_lang):
|
||||
# Remove .json extension if present
|
||||
if file_lang.endswith('.json'):
|
||||
file_lang = file_lang[:-5]
|
||||
|
||||
# Return mapped language code or the original if not in mapping
|
||||
return LANGUAGE_MAPPING.get(file_lang, file_lang)
|
||||
|
||||
# Translate text using Google Translate API if available, otherwise fallback to web scraping
|
||||
def translate(text, source, target):
|
||||
url = f"https://translate.google.com/m?sl={source}&tl={target}&q={requests.utils.quote(text)}"
|
||||
headers = {"User-Agent": "Mozilla/5.0"}
|
||||
response = requests.get(url, headers=headers)
|
||||
if response.status_code == 200:
|
||||
m = re.search(r'class=\"result-container\">(.*?)<', response.text)
|
||||
if m:
|
||||
return m.group(1)
|
||||
else:
|
||||
print(Fore.RED + f"Translation not found for: {text}")
|
||||
return text
|
||||
# Map language codes to Google Translate format
|
||||
source_lang = get_google_lang_code(source)
|
||||
target_lang = get_google_lang_code(target)
|
||||
|
||||
print(f"{Fore.CYAN}Translating from {source_lang} to {target_lang}{Style.RESET_ALL}")
|
||||
|
||||
if GOOGLETRANS_AVAILABLE:
|
||||
try:
|
||||
# Use synchronous web scraping instead of async googletrans
|
||||
return translate_web_scraping(text, source_lang, target_lang)
|
||||
except Exception as e:
|
||||
print(Fore.YELLOW + f"Translation error: {e}. Trying alternative method.")
|
||||
return translate_web_scraping(text, source_lang, target_lang)
|
||||
else:
|
||||
print(Fore.RED + f"Request failed for: {text}")
|
||||
return translate_web_scraping(text, source_lang, target_lang)
|
||||
|
||||
# Fallback translation method using web scraping
|
||||
def translate_web_scraping(text, source, target):
|
||||
try:
|
||||
import requests
|
||||
# 使用更可靠的 Google 翻译 API URL
|
||||
url = f"https://translate.googleapis.com/translate_a/single?client=gtx&sl={source}&tl={target}&dt=t&q={requests.utils.quote(text)}"
|
||||
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}
|
||||
|
||||
response = requests.get(url, headers=headers, timeout=10)
|
||||
if response.status_code == 200:
|
||||
# 解析 JSON 响应
|
||||
result = response.json()
|
||||
# 提取翻译结果
|
||||
translated_text = ''
|
||||
for sentence in result[0]:
|
||||
if len(sentence) > 0:
|
||||
translated_text += sentence[0]
|
||||
|
||||
if translated_text:
|
||||
return translated_text
|
||||
else:
|
||||
print(Fore.RED + f"Translation not found for: {text}")
|
||||
return text
|
||||
else:
|
||||
print(Fore.RED + f"Request failed with status code {response.status_code} for: {text}")
|
||||
return text
|
||||
except Exception as e:
|
||||
print(Fore.RED + f"Web scraping translation error: {e}")
|
||||
return text
|
||||
|
||||
# Main logic: compare keys, translate missing, and update file
|
||||
def main(en_filename, other_filename):
|
||||
# Process a single language file
|
||||
def process_language(en_filename, other_filename, create_backup=None):
|
||||
# Always use the /locales directory
|
||||
en_path = Path("locales") / en_filename
|
||||
other_path = Path("locales") / other_filename
|
||||
@ -65,44 +140,222 @@ def main(en_filename, other_filename):
|
||||
en_lang = Path(en_filename).stem
|
||||
other_lang = Path(other_filename).stem
|
||||
|
||||
print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
|
||||
print(f"{Fore.CYAN}Processing: {other_filename} (Translating to {get_google_lang_code(other_lang)}){Style.RESET_ALL}")
|
||||
print(f"{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
|
||||
|
||||
print(f"{Fore.CYAN}Reading source file: {en_path}{Style.RESET_ALL}")
|
||||
with open(en_path, encoding='utf-8') as f:
|
||||
en = json.load(f)
|
||||
with open(other_path, encoding='utf-8') as f:
|
||||
other = json.load(f)
|
||||
|
||||
print(f"{Fore.CYAN}Reading target file: {other_path}{Style.RESET_ALL}")
|
||||
try:
|
||||
with open(other_path, encoding='utf-8') as f:
|
||||
other = json.load(f)
|
||||
except FileNotFoundError:
|
||||
# If target file doesn't exist, create an empty one
|
||||
print(f"{Fore.YELLOW}Target file not found. Creating a new file.{Style.RESET_ALL}")
|
||||
other = {}
|
||||
except json.JSONDecodeError:
|
||||
# If target file is invalid JSON, create an empty one
|
||||
print(f"{Fore.YELLOW}Target file contains invalid JSON. Creating a new file.{Style.RESET_ALL}")
|
||||
other = {}
|
||||
|
||||
en_keys = get_keys(en)
|
||||
other_keys = get_keys(other)
|
||||
|
||||
missing = en_keys - other_keys
|
||||
print(Fore.YELLOW + f"Missing keys: {len(missing)}")
|
||||
print(f"{Fore.YELLOW}Found {len(missing)} missing keys{Style.RESET_ALL}")
|
||||
|
||||
if not missing:
|
||||
print(f"{Fore.GREEN}No missing keys found. Translation is complete!{Style.RESET_ALL}")
|
||||
return True
|
||||
|
||||
# Parallel translation using ThreadPoolExecutor
|
||||
with ThreadPoolExecutor(max_workers=8) as executor:
|
||||
with ThreadPoolExecutor(max_workers=3) as executor: # Further reduced workers for googletrans 4.0.2
|
||||
future_to_key = {
|
||||
executor.submit(translate, get_by_path(en, key), en_lang, other_lang): key
|
||||
for key in missing
|
||||
}
|
||||
|
||||
completed = 0
|
||||
total = len(missing)
|
||||
|
||||
for future in as_completed(future_to_key):
|
||||
key = future_to_key[future]
|
||||
value = get_by_path(en, key)
|
||||
try:
|
||||
translated = future.result()
|
||||
print(Fore.CYAN + f"Translated [{key}]: '{value}' -> " + Fore.MAGENTA + f"'{translated}'")
|
||||
completed += 1
|
||||
print(f"{Fore.CYAN}[{completed}/{total}] Translated [{key}]: '{value}' -> " + Fore.MAGENTA + f"'{translated}'")
|
||||
except Exception as exc:
|
||||
print(Fore.RED + f"Error translating {key}: {exc}")
|
||||
print(f"{Fore.RED}Error translating {key}: {exc}")
|
||||
translated = value
|
||||
set_by_path(other, key, translated)
|
||||
|
||||
# Save the updated file and create a backup
|
||||
backup_path = other_path.with_suffix('.bak.json')
|
||||
other_path.rename(backup_path)
|
||||
# Ask about backup if not specified
|
||||
if create_backup is None and os.path.exists(other_path):
|
||||
while True:
|
||||
backup_choice = input(f"{Fore.CYAN}Create backup file? (y/N): {Style.RESET_ALL}").lower()
|
||||
if backup_choice in ['y', 'yes']:
|
||||
create_backup = True
|
||||
break
|
||||
elif backup_choice in ['', 'n', 'no']:
|
||||
create_backup = False
|
||||
break
|
||||
else:
|
||||
print(f"{Fore.RED}Invalid choice. Please enter 'y' or 'n'.{Style.RESET_ALL}")
|
||||
|
||||
# Create backup if requested and file exists
|
||||
if create_backup and os.path.exists(other_path):
|
||||
backup_path = other_path.with_suffix('.bak.json')
|
||||
shutil.copy2(other_path, backup_path)
|
||||
print(f"{Fore.GREEN}Backup created at {backup_path}{Style.RESET_ALL}")
|
||||
|
||||
# Save the updated file
|
||||
with open(other_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(other, f, ensure_ascii=False, indent=4)
|
||||
print(Fore.GREEN + f"File updated. Backup saved to {backup_path}")
|
||||
print(f"{Fore.GREEN}File updated: {other_path}{Style.RESET_ALL}")
|
||||
return True
|
||||
|
||||
# Main function with interactive menu
|
||||
def main():
|
||||
# Check if locales directory exists
|
||||
locales_dir = Path("locales")
|
||||
if not locales_dir.exists():
|
||||
print(f"{Fore.YELLOW}Creating 'locales' directory...{Style.RESET_ALL}")
|
||||
locales_dir.mkdir(parents=True)
|
||||
|
||||
# Get all JSON files in locales directory (excluding backup files)
|
||||
json_files = [f for f in os.listdir(locales_dir) if f.endswith('.json') and not f.endswith('.bak.json')]
|
||||
|
||||
# Check if en.json exists (source file)
|
||||
if 'en.json' not in json_files:
|
||||
print(f"{Fore.RED}Error: 'en.json' not found in locales directory. This file is required as the source for translations.{Style.RESET_ALL}")
|
||||
return False
|
||||
|
||||
# Get all target language files (excluding en.json)
|
||||
target_files = [f for f in json_files if f != 'en.json']
|
||||
|
||||
# Add option to create a new language file
|
||||
available_languages = list(LANGUAGE_MAPPING.keys())
|
||||
if 'en' in available_languages:
|
||||
available_languages.remove('en') # Remove English as it's the source
|
||||
|
||||
# Filter out languages that already have files
|
||||
existing_lang_codes = [f.split('.')[0] for f in target_files]
|
||||
available_languages = [lang for lang in available_languages if lang not in existing_lang_codes]
|
||||
|
||||
# Display menu
|
||||
print(f"\n{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
|
||||
print(f"{Fore.CYAN}Translation Tool - Select target language to update{Style.RESET_ALL}")
|
||||
print(f"{Fore.CYAN}{'='*50}{Style.RESET_ALL}")
|
||||
|
||||
print(f"{Fore.GREEN}0{Style.RESET_ALL}. Translate all existing language files")
|
||||
|
||||
# List existing language files
|
||||
for i, file in enumerate(target_files, 1):
|
||||
lang_code = file.split('.')[0]
|
||||
google_lang = get_google_lang_code(lang_code)
|
||||
print(f"{Fore.GREEN}{i}{Style.RESET_ALL}. {lang_code} ({google_lang})")
|
||||
|
||||
# Option to create a new language file (only if there are available languages)
|
||||
next_option = len(target_files) + 1
|
||||
|
||||
if available_languages:
|
||||
print(f"\n{Fore.CYAN}Create new language file:{Style.RESET_ALL}")
|
||||
print(f"{Fore.GREEN}{next_option}{Style.RESET_ALL}. Create a new language file")
|
||||
max_choice = next_option
|
||||
else:
|
||||
max_choice = len(target_files)
|
||||
|
||||
# Get user choice
|
||||
while True:
|
||||
try:
|
||||
choice = input(f"\n{Fore.CYAN}Enter your choice (0-{max_choice}): {Style.RESET_ALL}")
|
||||
|
||||
if choice.strip() == '':
|
||||
print(f"{Fore.RED}Please enter a number.{Style.RESET_ALL}")
|
||||
continue
|
||||
|
||||
choice = int(choice)
|
||||
|
||||
if choice < 0 or choice > max_choice:
|
||||
print(f"{Fore.RED}Invalid choice. Please enter a number between 0 and {max_choice}.{Style.RESET_ALL}")
|
||||
continue
|
||||
|
||||
break
|
||||
except ValueError:
|
||||
print(f"{Fore.RED}Invalid input. Please enter a number.{Style.RESET_ALL}")
|
||||
|
||||
# Ask about backup for all files
|
||||
create_backup = None
|
||||
if choice == 0:
|
||||
while True:
|
||||
backup_choice = input(f"{Fore.CYAN}Create backup files? (y/N): {Style.RESET_ALL}").lower()
|
||||
if backup_choice in ['y', 'yes']:
|
||||
create_backup = True
|
||||
break
|
||||
elif backup_choice in ['', 'n', 'no']:
|
||||
create_backup = False
|
||||
break
|
||||
else:
|
||||
print(f"{Fore.RED}Invalid choice. Please enter 'y' or 'n'.{Style.RESET_ALL}")
|
||||
|
||||
# Process selected language(s)
|
||||
if choice == 0:
|
||||
print(f"{Fore.CYAN}Translating all existing languages...{Style.RESET_ALL}")
|
||||
success_count = 0
|
||||
|
||||
for target_file in target_files:
|
||||
try:
|
||||
if process_language('en.json', target_file, create_backup):
|
||||
success_count += 1
|
||||
except Exception as e:
|
||||
print(f"{Fore.RED}Error processing {target_file}: {str(e)}{Style.RESET_ALL}")
|
||||
|
||||
print(f"\n{Fore.GREEN}Translation completed for {success_count} out of {len(target_files)} languages.{Style.RESET_ALL}")
|
||||
elif available_languages and choice == next_option:
|
||||
# Create a new language file
|
||||
print(f"\n{Fore.CYAN}Available languages:{Style.RESET_ALL}")
|
||||
for i, lang in enumerate(available_languages):
|
||||
google_lang = get_google_lang_code(lang)
|
||||
print(f"{Fore.GREEN}{i+1}{Style.RESET_ALL}. {lang} ({google_lang})")
|
||||
|
||||
while True:
|
||||
try:
|
||||
lang_choice = input(f"\n{Fore.CYAN}Select language (1-{len(available_languages)}): {Style.RESET_ALL}")
|
||||
lang_choice = int(lang_choice)
|
||||
|
||||
if lang_choice < 1 or lang_choice > len(available_languages):
|
||||
print(f"{Fore.RED}Invalid choice. Please enter a number between 1 and {len(available_languages)}.{Style.RESET_ALL}")
|
||||
continue
|
||||
|
||||
selected_lang = available_languages[lang_choice-1]
|
||||
new_file = f"{selected_lang}.json"
|
||||
|
||||
if new_file in json_files:
|
||||
print(f"{Fore.YELLOW}Warning: {new_file} already exists. It will be updated with missing translations.{Style.RESET_ALL}")
|
||||
|
||||
process_language('en.json', new_file)
|
||||
print(f"\n{Fore.GREEN}Created and translated {new_file}.{Style.RESET_ALL}")
|
||||
break
|
||||
except ValueError:
|
||||
print(f"{Fore.RED}Invalid input. Please enter a number.{Style.RESET_ALL}")
|
||||
else:
|
||||
target_file = target_files[choice - 1]
|
||||
try:
|
||||
process_language('en.json', target_file)
|
||||
print(f"\n{Fore.GREEN}Translation completed for {target_file}.{Style.RESET_ALL}")
|
||||
except Exception as e:
|
||||
print(f"{Fore.RED}Error processing {target_file}: {str(e)}{Style.RESET_ALL}")
|
||||
|
||||
return True
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Example: python3 fill_missing_translations.py en.json ar.json
|
||||
if len(sys.argv) != 3:
|
||||
print("Usage: python3 fill_missing_translations.py en.json ar.json")
|
||||
sys.exit(1)
|
||||
main(sys.argv[1], sys.argv[2])
|
||||
# If arguments are provided, use the old method
|
||||
if len(sys.argv) == 3:
|
||||
process_language(sys.argv[1], sys.argv[2])
|
||||
else:
|
||||
# Otherwise, show the interactive menu
|
||||
main()
|
382
locales/bg.json
382
locales/bg.json
@ -32,7 +32,11 @@
|
||||
"check_user_authorized": "Провери оторизацията на потребителя",
|
||||
"select_chrome_profile": "Избери Chrome профил",
|
||||
"bypass_token_limit": "Заобикаляне на ограничението на токените",
|
||||
"restore_machine_id": "Възстановяване на машинен идентификатор от резервно копие"
|
||||
"restore_machine_id": "Възстановяване на машинен идентификатор от резервно копие",
|
||||
"lang_invalid_choice": "Невалиден избор. Моля, въведете една от следните опции: ({lang_choices})",
|
||||
"admin_required": "Изпълнявайки се като изпълними, администраторските привилегии са необходими.",
|
||||
"language_config_saved": "Езиковата конфигурация се запази успешно",
|
||||
"admin_required_continue": "Продължаване без привилегии на администратор."
|
||||
},
|
||||
"languages": {
|
||||
"ar": "Арабски",
|
||||
@ -114,7 +118,14 @@
|
||||
"package_not_found": "Package.json не беше намерен: {path}",
|
||||
"check_version_failed": "Грешка при проверка на версията: {error}",
|
||||
"stack_trace": "Проследяване на стека",
|
||||
"version_too_low": "Версията на Курсор е твърде ниска: {version} < 0.45.0"
|
||||
"version_too_low": "Версията на Курсор е твърде ниска: {version} < 0.45.0",
|
||||
"windows_machine_id_updated": "Успешно актуализиран ID на машината на Windows актуализиран",
|
||||
"modify_file_failed": "Променете файла не е успешен: {Грешка}",
|
||||
"file_not_found": "Файлът не е намерен: {path}",
|
||||
"update_windows_machine_guid_failed": "Актуализирайте Windows Machine Guid неуспешно: {Грешка}",
|
||||
"update_windows_machine_id_failed": "Актуализиране на ID на Windows Machine не успя: {грешка}",
|
||||
"path_not_found": "Пътят не е намерен: {path}",
|
||||
"no_write_permission": "Без разрешение за запис: {path}"
|
||||
},
|
||||
"register": {
|
||||
"title": "Инструмент за регистрация в Курсор",
|
||||
@ -193,7 +204,15 @@
|
||||
"setting_on_password": "Задаване на парола",
|
||||
"getting_code": "Получаване на код за потвърждение, ще бъде опит след 60 секунди",
|
||||
"human_verify_error": "Не може да се потвърди, че потребителят е човек. Опитва се отново...",
|
||||
"max_retries_reached": "Достигнат максимален брой опити. Регистрацията беше неуспешна."
|
||||
"max_retries_reached": "Достигнат максимален брой опити. Регистрацията беше неуспешна.",
|
||||
"using_browser": "Използване на браузър} браузър: {path}",
|
||||
"tracking_processes": "Проследяване {count} {браузър} процеси",
|
||||
"using_browser_profile": "Използване на {браузър} профил от: {user_data_dir}",
|
||||
"could_not_track_processes": "Не можах да проследяваме {браузър} процеси: {грешка}",
|
||||
"browser_path_invalid": "{браузър} Пътят е невалиден, използвайки пътя по подразбиране",
|
||||
"try_install_browser": "Опитайте да инсталирате браузъра с вашия мениджър на пакети",
|
||||
"no_new_processes_detected": "Няма нови {браузър} процеси, открити за проследяване",
|
||||
"make_sure_browser_is_properly_installed": "Уверете се, че {браузърът} е инсталиран правилно"
|
||||
},
|
||||
"auth": {
|
||||
"title": "Управление на удостоверяването на Курсор",
|
||||
@ -283,7 +302,13 @@
|
||||
"available_domains_loaded": "Налични домейни са заредени: {count}",
|
||||
"domains_filtered": "Филтрирани домейни: {count}",
|
||||
"trying_to_create_email": "Опит за създаване на имейл: {email}",
|
||||
"domain_blocked": "Домейнът е блокиран: {domain}"
|
||||
"domain_blocked": "Домейнът е блокиран: {domain}",
|
||||
"no_display_found": "Не е намерен дисплей. Уверете се, че X сървърът работи.",
|
||||
"try_install_chromium": "Опитайте: Sudo Apt Инсталирайте хром-браузър",
|
||||
"extension_load_error": "Грешка в натоварването на удължаване: {Грешка}",
|
||||
"try_export_display": "Опитайте: Експортиране на дисплея =: 0",
|
||||
"make_sure_chrome_chromium_is_properly_installed": "Уверете се, че хромът/хромът е правилно инсталиран",
|
||||
"using_chrome_profile": "Използване на Chrome профил от: {user_data_dir}"
|
||||
},
|
||||
"update": {
|
||||
"title": "Деактивиране на автоматичните актуализации на Курсор",
|
||||
@ -296,7 +321,23 @@
|
||||
"removing_directory": "Премахване на директория",
|
||||
"directory_removed": "Директорията беше премахната",
|
||||
"creating_block_file": "Създаване на блокиращ файл",
|
||||
"block_file_created": "Блокиращият файл беше създаден"
|
||||
"block_file_created": "Блокиращият файл беше създаден",
|
||||
"block_file_locked_error": "Заключена грешка в блок файл: {Грешка}",
|
||||
"clear_update_yml_failed": "Неуспешно изчистване на Update.yml файл: {грешка}",
|
||||
"yml_already_locked_error": "Update.yml файл вече заключена грешка: {грешка}",
|
||||
"yml_locked": "Update.yml файл е заключен",
|
||||
"yml_locked_error": "Update.yml Заключена файл Грешка: {Грешка}",
|
||||
"block_file_already_locked": "Блок файлът вече е заключен",
|
||||
"directory_locked": "Директорията е заключена: {path}",
|
||||
"create_block_file_failed": "Неуспешно създаване на блок файл: {грешка}",
|
||||
"block_file_locked": "блок файл е заключен",
|
||||
"update_yml_not_found": "Update.yml файл не е намерен",
|
||||
"remove_directory_failed": "Неуспешно премахване на директорията: {грешка}",
|
||||
"block_file_already_locked_error": "Блок файл вече заключена грешка: {грешка}",
|
||||
"update_yml_cleared": "Update.yml файл, изчистен",
|
||||
"yml_already_locked": "Update.yml файл вече е заключен",
|
||||
"unsupported_os": "Неподдържана ОС: {Система}",
|
||||
"clearing_update_yml": "Изчистване на актуализация.yml файл"
|
||||
},
|
||||
"updater": {
|
||||
"checking": "Проверка за актуализации...",
|
||||
@ -309,7 +350,8 @@
|
||||
"update_skipped": "Актуализацията беше пропусната.",
|
||||
"invalid_choice": "Невалиден избор. Моля, въведете 'Y' или 'n'.",
|
||||
"development_version": "Версия за разработка {current} > {latest}",
|
||||
"changelog_title": "Списък с промени"
|
||||
"changelog_title": "Списък с промени",
|
||||
"rate_limit_exceeded": "Превишена граница на скоростта на API на GitHub. Проверка на актуализацията на пропускане."
|
||||
},
|
||||
"totally_reset": {
|
||||
"title": "Пълно нулиране на Курсор",
|
||||
@ -400,7 +442,45 @@
|
||||
"removing_electron_localstorage_files": "Премахване на Electron localStorage файлове",
|
||||
"electron_localstorage_files_removed": "Electron localStorage файлове бяха премахнати",
|
||||
"electron_localstorage_files_removal_error": "Грешка при премахване на Electron localStorage файлове: {error}",
|
||||
"removing_electron_localstorage_files_completed": "Премахването на Electron localStorage файлове беше завършено"
|
||||
"removing_electron_localstorage_files_completed": "Премахването на Electron localStorage файлове беше завършено",
|
||||
"failed_to_reset_machine_guid": "Неуспешно нулиране на машината GUID",
|
||||
"delete_input_retry": "Изтриването на входа не е намерено, опит {опит}/{max_attempts}",
|
||||
"warning_6": "Ще трябва да настроите курсора AI отново, след като стартирате този инструмент.",
|
||||
"warning_5": "Други приложения във вашата система няма да бъдат засегнати.",
|
||||
"warning_4": "За да се насочите само към файловете на редактора на курсора и механизмите за откриване на проби.",
|
||||
"completed_in": "Завършено за {време} секунди",
|
||||
"removed": "Премахнато: {path}",
|
||||
"cursor_reset_completed": "Редакторът на Cursor AI е напълно нулиран и пробният откриване на проби!",
|
||||
"warning_1": "Това действие ще изтрие всички настройки на курсора AI,",
|
||||
"delete_input_error": "Грешка за намиране на вход за изтриване: {Грешка}",
|
||||
"warning_2": "конфигурации и кеширани данни. Това действие не може да бъде отменено.",
|
||||
"advanced_tab_retry": "Разширен раздел не е намерен, опит {опит}/{max_attempts}",
|
||||
"failed_to_delete_file": "Неуспешно изтриване на файл: {path}",
|
||||
"warning_3": "Вашите кодови файлове няма да бъдат засегнати и инструментът е проектиран",
|
||||
"delete_button_retry": "Бутонът за изтриване не е намерен, опит {опит}/{max_attempts}",
|
||||
"cursor_reset_cancelled": "Cursor AI Editor Reset отменено. Излизане, без да прави никакви промени.",
|
||||
"deep_scanning": "Извършване на дълбоко сканиране за допълнителни пробни/лицензионни файлове",
|
||||
"failed_to_delete_file_or_directory": "Неуспешно изтриване на файл или директория: {path}",
|
||||
"delete_button_not_found": "Бутонът за изтриване на акаунта не е намерен след множество опити",
|
||||
"delete_button_error": "Грешка за намиране на бутон за изтриване: {Грешка}",
|
||||
"already_on_settings": "Вече на страницата Настройки",
|
||||
"failed_to_delete_directory": "Неуспешно изтриване на директория: {path}",
|
||||
"found_danger_zone": "Намерено сечение на опасната зона",
|
||||
"cursor_reset_failed": "Ревелиране на Cursor AI Editor Неуспешно: {Грешка}",
|
||||
"navigating_to_settings": "Навигация до страницата на настройките ...",
|
||||
"warning_title": "Предупреждение",
|
||||
"resetting_cursor": "Нулиране на курсора AI редактор ... Моля, почакайте.",
|
||||
"login_redirect_failed": "Пренасочването на вход не успя, опитвайки се директна навигация ...",
|
||||
"advanced_tab_not_found": "Разширен раздел не е намерен след множество опити",
|
||||
"direct_advanced_navigation": "Опитване на директна навигация към раздел Advanced",
|
||||
"delete_button_clicked": "Щракнете върху бутона за изтриване на акаунта",
|
||||
"advanced_tab_error": "Грешка за намиране на разширен раздел: {Грешка}",
|
||||
"delete_input_not_found": "Изтриване на входа за потвърждение не е намерен след множество опити",
|
||||
"operation_cancelled": "Операция отменена. Излизане, без да прави никакви промени.",
|
||||
"failed_to_remove": "Неуспешно премахване: {path}",
|
||||
"warning_7": "Използвайте на свой риск",
|
||||
"delete_input_not_found_continuing": "Изтриването на входа за потвърждение не е намерено, опитвайки се да продължите така или иначе",
|
||||
"advanced_tab_clicked": "Щракна върху раздела Advanced"
|
||||
},
|
||||
"chrome_profile": {
|
||||
"title": "Избор на Chrome Профил",
|
||||
@ -456,5 +536,293 @@
|
||||
"success": "Машинният идентификатор е успешно възстановен",
|
||||
"process_error": "Грешка при процеса на възстановяване: {error}",
|
||||
"press_enter": "Натиснете Enter, за да продължите"
|
||||
},
|
||||
"config": {
|
||||
"configuration": "Конфигурация",
|
||||
"config_not_available": "Конфигурацията не е налична",
|
||||
"config_directory": "Конфигурационна директория",
|
||||
"disabled": "Деактивиран",
|
||||
"using_temp_dir": "Използване на временна директория поради грешка: {path} (Грешка: {Грешка})",
|
||||
"file_permissions": "Разрешения за файлове: {разрешения}",
|
||||
"config_option_added": "Опция за конфигурация Добавена е: {опция}",
|
||||
"config_setup_error": "Грешка Настройване на конфигурация: {Грешка}",
|
||||
"config_dir_created": "Създадена директория Config: {path}",
|
||||
"config_force_update_disabled": "Конфигуриране на актуализацията на силата на файлове Деактивиране, пропускане на принудителна актуализация",
|
||||
"backup_created": "Създадено архивиране: {path}",
|
||||
"also_checked": "Също така проверен {path}",
|
||||
"force_update_failed": "Конфигурация за актуализация на силата не успя: {грешка}",
|
||||
"file_group": "Файлова група: {Group}",
|
||||
"config_created": "Config създаден: {config_file}",
|
||||
"config_force_update_enabled": "Конфигуриране на актуализацията на силата на файла, изпълняваща принудителна актуализация",
|
||||
"error_getting_file_stats": "Грешка Получаване на статистика на файловете: {Грешка}",
|
||||
"file_owner": "Собственик на файлове: {собственик}",
|
||||
"and": "И",
|
||||
"enabled": "Активиран",
|
||||
"error_checking_linux_paths": "Проверка на грешки в Linux пътища: {Грешка}",
|
||||
"the_file_might_be_corrupted_please_reinstall_cursor": "Файлът може да бъде покварен, моля, инсталирайте отново курсор",
|
||||
"please_make_sure_cursor_is_installed_and_has_been_run_at_least_once": "Моля, уверете се, че курсорът е инсталиран и е бил стартиран поне веднъж",
|
||||
"storage_file_is_valid_and_contains_data": "Файлът за съхранение е валиден и съдържа данни",
|
||||
"documents_path_not_found": "Документът не е намерен, използвайки текущата директория",
|
||||
"file_size": "Размер на файла: {размер} байта",
|
||||
"try_running": "Опитайте да стартирате: {команда}",
|
||||
"backup_failed": "Неуспешно архивиране на конфигурация: {грешка}",
|
||||
"neither_cursor_nor_cursor_directory_found": "Нито курсор, нито директория на курсора, намерени в {config_base}",
|
||||
"storage_file_is_empty": "Файлът за съхранение е празен: {Storage_path}",
|
||||
"storage_directory_not_found": "Директорията за съхранение не е намерена: {Storage_dir}",
|
||||
"storage_file_not_found": "Файлът за съхранение не е намерен: {Storage_path}",
|
||||
"error_reading_storage_file": "Грешка за четене на файл за съхранение: {Грешка}",
|
||||
"config_updated": "Config актуализирана",
|
||||
"config_removed": "Конфигурационният файл е премахнат за принудителна актуализация",
|
||||
"storage_file_found": "Намерен файл за съхранение: {Storage_path}",
|
||||
"permission_denied": "Разрешение е отказано: {storage_path}"
|
||||
},
|
||||
"account_info": {
|
||||
"config_not_found": "Конфигурацията не е намерена.",
|
||||
"days_remaining": "Остават дни",
|
||||
"inactive": "Неактивен",
|
||||
"failed_to_get_subscription": "Не успя да получи информация за абонамента",
|
||||
"usage_not_found": "Използването не е намерено",
|
||||
"title": "Информация за акаунта",
|
||||
"days": "дни",
|
||||
"email": "Имейл",
|
||||
"premium": "Премия",
|
||||
"trial_remaining": "Останал професионален опит",
|
||||
"basic_usage": "Основно използване",
|
||||
"failed_to_get_token": "Не успя да получи знак",
|
||||
"pro": "Про",
|
||||
"email_not_found": "Имейл не е намерен",
|
||||
"lifetime_access_enabled": "Достъп до целия живот е активиран",
|
||||
"active": "Активен",
|
||||
"failed_to_get_account": "Не успя да получи информация за акаунта",
|
||||
"pro_trial": "Pro Trial",
|
||||
"subscription_type": "Тип абонамент",
|
||||
"token": "Токен",
|
||||
"usage": "Употреба",
|
||||
"token_not_found": "Токена не е намерен",
|
||||
"failed_to_get_email": "Не успя да получи имейл адрес",
|
||||
"enterprise": "Предприятие",
|
||||
"premium_usage": "Използване на премиум",
|
||||
"free": "Безплатно",
|
||||
"remaining_trial": "Останал опит",
|
||||
"failed_to_get_usage": "Не успя да получи информация за използване",
|
||||
"subscription_not_found": "Информацията за абонамента не е намерена",
|
||||
"subscription": "Абонамент",
|
||||
"team": "Екип",
|
||||
"failed_to_get_account_info": "Не успя да получи информация за акаунта"
|
||||
},
|
||||
"account_delete": {
|
||||
"select_google_account": "Моля, изберете вашия акаунт в Google ...",
|
||||
"advanced_tab_retry": "Разширен раздел не е намерен, опит {опит}/{max_attempts}",
|
||||
"advanced_tab_clicked": "Щракна върху раздела Advanced",
|
||||
"login_redirect_failed": "Пренасочването на вход не успя, опитвайки се директна навигация ...",
|
||||
"navigating_to_settings": "Навигация до страницата на настройките ...",
|
||||
"unexpected_error": "Неочаквана грешка: {грешка}",
|
||||
"starting_process": "Начален процес на изтриване на акаунта ...",
|
||||
"unexpected_page": "Неочаквана страница след влизане: {url}",
|
||||
"cancelled": "Изтриване на акаунт Анулира.",
|
||||
"success": "Вашият Cursor акаунт е успешно изтрит!",
|
||||
"warning": "Предупреждение: Това ще изтрие постоянно вашия акаунт на курсор. Това действие не може да бъде отменено.",
|
||||
"delete_input_retry": "Изтриването на входа не е намерено, опит {опит}/{max_attempts}",
|
||||
"confirm_button_error": "Грешка за намиране на бутон за потвърждение: {Грешка}",
|
||||
"confirm_prompt": "Сигурни ли сте, че искате да продължите? (Y/N):",
|
||||
"trying_settings": "Опитвам се да се ориентирате към страницата за настройки ...",
|
||||
"advanced_tab_error": "Грешка за намиране на разширен раздел: {Грешка}",
|
||||
"found_danger_zone": "Намерено сечение на опасната зона",
|
||||
"waiting_for_auth": "В очакване на удостоверяване на Google ...",
|
||||
"logging_in": "Влезте в Google ...",
|
||||
"title": "Инструмент за изтриване на акаунта на Cursor Google",
|
||||
"login_successful": "Вход е успешен",
|
||||
"already_on_settings": "Вече на страницата Настройки",
|
||||
"direct_advanced_navigation": "Опитване на директна навигация към раздел Advanced",
|
||||
"account_deleted": "Сметката се изтрива успешно!",
|
||||
"advanced_tab_not_found": "Разширен раздел не е намерен след множество опити",
|
||||
"confirm_button_retry": "Бутон за потвърждение не е намерен, опит {опит}/{max_attempts}",
|
||||
"delete_button_clicked": "Щракнете върху бутона за изтриване на акаунта",
|
||||
"delete_input_not_found": "Изтриване на входа за потвърждение не е намерен след множество опити",
|
||||
"email_not_found": "Имейл не е намерен: {Грешка}",
|
||||
"found_email": "Намерен имейл: {имейл}",
|
||||
"failed": "Процесът на изтриване на акаунта не е успешен или е анулиран.",
|
||||
"delete_button_not_found": "Бутонът за изтриване на акаунта не е намерен след множество опити",
|
||||
"error": "Грешка по време на изтриване на акаунта: {Грешка}",
|
||||
"delete_button_error": "Грешка за намиране на бутон за изтриване: {Грешка}",
|
||||
"delete_button_retry": "Бутонът за изтриване не е намерен, опит {опит}/{max_attempts}",
|
||||
"auth_timeout": "Тайм -аут за удостоверяване, продължаващо така или иначе ...",
|
||||
"google_button_not_found": "Бутонът за влизане в Google не е намерен",
|
||||
"delete_input_error": "Грешка за намиране на вход за изтриване: {Грешка}",
|
||||
"interrupted": "Процесът на изтриване на акаунта, прекъснат от потребителя.",
|
||||
"confirm_button_not_found": "Бутон за потвърждение не е намерен след множество опити",
|
||||
"delete_input_not_found_continuing": "Изтриването на входа за потвърждение не е намерено, опитвайки се да продължите така или иначе",
|
||||
"typed_delete": "Въведено \"Изтриване\" в полето за потвърждение"
|
||||
},
|
||||
"github_register": {
|
||||
"invalid_choice": "Невалиден избор. Моля, въведете „Да“ или „Не“",
|
||||
"warning2": "Изисква достъп до интернет и административни привилегии.",
|
||||
"check_browser_windows_for_manual_intervention_or_try_again_later": "Проверете прозорците на браузъра за ръчна намеса или опитайте отново по -късно.",
|
||||
"title": "GitHub + Cursor AI регистрация автоматизация",
|
||||
"warning1": "Този скрипт автоматизира създаването на акаунти, което може да наруши условията за обслужване на GitHub/Cursor.",
|
||||
"completed_successfully": "Регистрацията на GitHub + Cursor приключи успешно!",
|
||||
"credentials_saved": "Тези идентификационни данни са запазени в github_cursor_accounts.txt",
|
||||
"confirm": "Сигурни ли сте, че искате да продължите?",
|
||||
"email_address": "Имейл адрес",
|
||||
"github_password": "Парола за github",
|
||||
"cancelled": "Операция отменена",
|
||||
"warnings_header": "Предупреждения",
|
||||
"github_username": "Потребителско име на GitHub",
|
||||
"starting_automation": "Стартиране на автоматизация ...",
|
||||
"feature1": "Генерира временен имейл с помощта на 1SecMail.",
|
||||
"feature3": "Проверява автоматично имейла на GitHub.",
|
||||
"feature2": "Регистрира нов акаунт в GitHub със случайни идентификационни данни.",
|
||||
"program_terminated": "Програма, прекратена от потребителя",
|
||||
"features_header": "Характеристики",
|
||||
"registration_encountered_issues": "Регистрацията на GitHub + курсор срещна проблеми.",
|
||||
"feature5": "Възстановява идентификатора на машината, за да заобиколи пробното откриване.",
|
||||
"warning3": "Captcha или допълнителна проверка може да прекъсне автоматизацията.",
|
||||
"feature6": "Запазва всички идентификационни данни във файл.",
|
||||
"feature4": "Влиза в курсора AI, използвайки автентификация на GitHub.",
|
||||
"warning4": "Използвайте отговорно и на свой риск."
|
||||
},
|
||||
"oauth": {
|
||||
"could_not_check_usage_count": "Не можах да проверя броя на употребата: {Грешка}",
|
||||
"try_running_without_sudo_admin": "Опитайте да стартирате без привилегии за SUDO/администратор",
|
||||
"browser_setup_completed": "Настройката на браузъра приключи успешно",
|
||||
"status_check_error": "Грешка в проверката на състоянието: {Грешка}",
|
||||
"warning_could_not_kill_existing_browser_processes": "Предупреждение: Не можа да убие съществуващите процеси на браузъра: {Грешка}",
|
||||
"failed_to_extract_auth_info": "Неуспешно извличане на Auth Info: {Грешка}",
|
||||
"browser_setup_failed": "Настройката на браузъра не бе успешна: {грешка}",
|
||||
"detected_platform": "Открита платформа: {платформа}",
|
||||
"auth_update_success": "AUTH актуализиране на успеха",
|
||||
"account_is_still_valid": "Акаунт все още е валиден (Използване: {usage})",
|
||||
"running_as_root_warning": "Изпълнението като root не се препоръчва за автоматизация на браузъра",
|
||||
"using_browser_profile": "Използване на профил на браузъра: {профил}",
|
||||
"warning_browser_close": "ПРЕДУПРЕЖДЕНИЕ: Това ще затвори всички работещи {браузър} процеси",
|
||||
"google_start": "Google Start",
|
||||
"failed_to_delete_account": "Неуспешно изтриване на акаунт: {Грешка}",
|
||||
"initializing_browser_setup": "Инициализиране на настройка на браузъра ...",
|
||||
"consider_running_without_sudo": "Помислете за стартиране на скрипта без sudo",
|
||||
"found_browser_user_data_dir": "Намерено {браузър} директория на потребителски данни: {path}",
|
||||
"using_first_available_chrome_profile": "Използване на първи наличен хромиран профил: {профил}",
|
||||
"invalid_authentication_type": "Невалиден тип удостоверяване",
|
||||
"could_not_find_email": "Не можах да намеря имейл: {грешка}",
|
||||
"found_default_chrome_profile": "Намерен хромиран профил по подразбиране",
|
||||
"user_data_dir_not_found": "{Браузър} Директория за потребителски данни не е намерена в {path}, вместо това ще опитате Chrome",
|
||||
"using_configured_browser_path": "Използване на конфигуриран {браузър} път: {path}",
|
||||
"could_not_find_usage_count": "Не можах да намеря броя на употребата: {грешка}",
|
||||
"waiting_for_authentication": "В очакване на удостоверяване ...",
|
||||
"browser_not_found_trying_chrome": "Не можах да намеря {браузър}, да опитаме хром вместо това",
|
||||
"found_cookies": "Намерени {count} бисквитки",
|
||||
"no_chrome_profiles_found": "Не са намерени хромирани профили, използвайки по подразбиране",
|
||||
"authentication_button_not_found": "Бутонът за удостоверяване не е намерен",
|
||||
"starting_google_authentication": "Започване на автентификация на Google ...",
|
||||
"starting_re_authentication_process": "Стартиране на процес на повторна устойчивост ...",
|
||||
"authentication_successful": "Успехът на удостоверяването - имейл: {имейл}",
|
||||
"failed_to_delete_expired_account": "Неуспешно изтриване на изтекъл акаунт",
|
||||
"authentication_failed": "Удостоверяването не бе успешно: {Грешка}",
|
||||
"error_getting_user_data_directory": "Грешка Получаване на директория за потребителски данни: {Грешка}",
|
||||
"found_email": "Намерен имейл: {имейл}",
|
||||
"token_extraction_error": "Грешка в извличането на токени: {Грешка}",
|
||||
"account_has_reached_maximum_usage": "Акаунт е достигнал максимално използване, {изтриване}",
|
||||
"found_chrome_at": "Намерен хром на: {path}",
|
||||
"starting_new_authentication_process": "Стартиране на нов процес на удостоверяване ...",
|
||||
"github_start": "Github start",
|
||||
"error_finding_chrome_profile": "Грешка за намиране на хромиран профил, използвайки по подразбиране: {грешка}",
|
||||
"navigating_to_authentication_page": "Навигация към страницата за удостоверяване ...",
|
||||
"failed_to_delete_account_or_re_authenticate": "Неуспешно изтриване на акаунт или повторно автентика: {Грешка}",
|
||||
"starting_browser": "Стартиращ браузър на: {path}",
|
||||
"no_compatible_browser_found": "Не е намерен съвместим браузър. Моля, инсталирайте Google Chrome или Chromium.",
|
||||
"killing_browser_processes": "Убиване {браузър} процеси ...",
|
||||
"browser_failed": "Браузърът не успя да започне: {грешка}",
|
||||
"browser_closed": "Браузърът е затворен",
|
||||
"starting_new_google_authentication": "Стартиране на ново удостоверяване на Google ...",
|
||||
"usage_count": "Брой на употребата: {Използване}",
|
||||
"authentication_timeout": "Време за изчакване на удостоверяване",
|
||||
"found_browser_data_directory": "Намерена директория за данни на браузъра: {path}",
|
||||
"already_on_settings_page": "Вече на страницата Настройки!",
|
||||
"supported_browsers": "Поддържани браузъри за {платформа}",
|
||||
"page_changed_checking_auth": "Страницата се промени, проверка на Auth ...",
|
||||
"browser_failed_to_start": "Браузърът не успя да започне: {грешка}",
|
||||
"starting_github_authentication": "Стартиране на автентификация на GitHub ...",
|
||||
"auth_update_failed": "Auth Update не успя",
|
||||
"missing_authentication_data": "Липсващи данни за удостоверяване: {data}",
|
||||
"please_select_your_google_account_to_continue": "Моля, изберете вашия акаунт в Google, за да продължите ...",
|
||||
"authentication_successful_getting_account_info": "Удостоверяване е успешно, получаване на информация за акаунта ...",
|
||||
"redirecting_to_authenticator_cursor_sh": "Пренасочване към Authenticator.Cursor.sh ...",
|
||||
"profile_selection_error": "Грешка по време на избор на профил: {Грешка}",
|
||||
"browser_failed_to_start_fallback": "Браузърът не успя да започне: {грешка}"
|
||||
},
|
||||
"auth_check": {
|
||||
"connection_error": "Грешка в връзката",
|
||||
"operation_cancelled": "Операция, анулирана от потребителя",
|
||||
"error_generating_checksum": "Грешка Генериране на контролна сума: {Грешка}",
|
||||
"user_unauthorized": "Потребителят е неоторизиран",
|
||||
"authorization_failed": "Упълномощаването не успя!",
|
||||
"error_getting_token_from_db": "Грешка Получаване на знака от база данни: {Грешка}",
|
||||
"checking_usage_information": "Проверка на информацията за използването ...",
|
||||
"token_found_in_db": "Токен, намерен в базата данни",
|
||||
"unexpected_status_code": "Неочакван код на състоянието: {код}",
|
||||
"token_source": "Вземете знак от база данни или въведете ръчно? (D/M, по подразбиране: D)",
|
||||
"usage_response_status": "Състояние на отговора на употребата: {Отговор}",
|
||||
"enter_token": "Въведете вашия токен на курсора:",
|
||||
"getting_token_from_db": "Получаване на знака от база данни ...",
|
||||
"invalid_token": "Невалиден маркер",
|
||||
"token_length": "Дължина на токена: {дължина} символи",
|
||||
"authorization_successful": "Разрешение успешно!",
|
||||
"unexpected_error": "Неочаквана грешка: {грешка}",
|
||||
"user_authorized": "Потребителят е упълномощен",
|
||||
"cursor_acc_info_not_found": "cursor_acc_info.py не е намерен",
|
||||
"check_error": "Разрешение за проверка на грешки: {Грешка}",
|
||||
"usage_response": "Отговор на употреба: {Отговор}",
|
||||
"check_usage_response": "Проверете отговора на употребата: {Отговор}",
|
||||
"checking_authorization": "Проверка на разрешението ...",
|
||||
"request_timeout": "Заявка изтече",
|
||||
"jwt_token_warning": "Изглежда, че Token е във формат JWT, но API Check върна неочакван код на състоянието. Маркерът може да е валиден, но достъпът до API е ограничен.",
|
||||
"token_not_found_in_db": "Токена не е намерен в базата данни"
|
||||
},
|
||||
"token": {
|
||||
"unexpected_error": "Неочаквана грешка по време на опресняване на маркера: {грешка}",
|
||||
"request_timeout": "Заявка за опресняване на сървъра се изчерпа",
|
||||
"no_access_token": "Няма маркер за достъп в отговор",
|
||||
"extraction_error": "Грешка при извличане на токен: {Грешка}",
|
||||
"refresh_failed": "Опресняване на токена не успя: {грешка}",
|
||||
"refreshing": "Освежаващ жетон ...",
|
||||
"refresh_success": "Токенът се освежи! Валидно за {дни} дни (изтича: {изтича})",
|
||||
"invalid_response": "Невалиден json отговор от опреснен сървър",
|
||||
"server_error": "Опреснителна грешка в сървъра: http {status}",
|
||||
"connection_error": "Грешка в връзката за опресняване на сървъра"
|
||||
},
|
||||
"bypass": {
|
||||
"menu_option": "Проверка на версията на байпас курсор",
|
||||
"backup_created": "Създадено архивиране: {path}",
|
||||
"write_failed": "Неуспешно напишете product.json: {грешка}",
|
||||
"description": "Този инструмент променя продукта на Cursor.json, за да заобиколи ограниченията на версията",
|
||||
"found_product_json": "Намерен product.json: {path}",
|
||||
"current_version": "Текуща версия: {версия}",
|
||||
"version_updated": "Версията се актуализира от {old} до {new}",
|
||||
"title": "Байпасен инструмент за версия на курсора",
|
||||
"file_not_found": "Файлът не е намерен: {path}",
|
||||
"no_write_permission": "Без разрешение за запис за файл: {path}",
|
||||
"stack_trace": "Сметка на стек",
|
||||
"product_json_not_found": "product.json не е намерен в обикновените Linux пътеки",
|
||||
"no_update_needed": "Не е необходима актуализация. Текущата версия {версия} вече е> = 0,46.0",
|
||||
"starting": "Стартиране на байпас на версията на курсора ...",
|
||||
"unsupported_os": "Неподдържана операционна система: {Система}",
|
||||
"read_failed": "Неуспешно четене на product.json: {грешка}",
|
||||
"localappdata_not_found": "LocalAppData Environment Променлива не е намерена",
|
||||
"bypass_failed": "Байпас на версията не бе успешен: {Грешка}"
|
||||
},
|
||||
"bypass_token_limit": {
|
||||
"title": "Байпасен инструмент за ограничаване на маркера",
|
||||
"press_enter": "Натиснете Enter, за да продължите ...",
|
||||
"description": "Този инструмент променя файла workbench.desktop.main.js, за да заобиколи ограничението на маркера"
|
||||
},
|
||||
"browser_profile": {
|
||||
"profile": "Профил {номер}",
|
||||
"no_profiles": "Не {браузър} профили, намерени",
|
||||
"error_loading": "Грешка за зареждане {браузър} профили: {грешка}",
|
||||
"profile_list": "Налични {браузър} профили:",
|
||||
"invalid_selection": "Невалидна селекция. Моля, опитайте отново.",
|
||||
"profile_selected": "Избран профил: {профил}",
|
||||
"select_profile": "Изберете {Browser} профил, който да използвате:",
|
||||
"title": "Избор на профил на браузъра",
|
||||
"default_profile": "Профил по подразбиране"
|
||||
}
|
||||
}
|
762
locales/ja.json
762
locales/ja.json
@ -53,5 +53,765 @@
|
||||
"es": "スペイン語",
|
||||
"ja": "日本語",
|
||||
"it": "イタリア語"
|
||||
},
|
||||
"register": {
|
||||
"waiting_for_second_verification": "電子メールの確認を待っています...",
|
||||
"browser_started": "ブラウザは正常にオープンしました",
|
||||
"config_updated": "config updated",
|
||||
"manual_email_input": "手動の電子メール入力",
|
||||
"verification_start": "確認コードの取得を開始します",
|
||||
"last_name": "苗字",
|
||||
"press_enter": "Enterを押して終了します",
|
||||
"get_verification_code_timeout": "検証コードタイムアウトを取得します",
|
||||
"detect_turnstile": "セキュリティ検証の確認...",
|
||||
"start_getting_verification_code": "確認コードの取得を開始し、60年代に試してみます",
|
||||
"human_verify_error": "ユーザーが人間であることを確認できません。再試行...",
|
||||
"token_failed": "トークンに失敗する:{エラー}",
|
||||
"verification_not_found": "検証コードは見つかりません",
|
||||
"getting_code": "検証コードを取得すると、60年代に試してみます",
|
||||
"turnstile_passed": "ターンスタイルが通過しました",
|
||||
"email_address": "電子メールアドレス",
|
||||
"setting_on_password": "パスワードの設定",
|
||||
"login_success_and_jump_to_settings_page": "成功をログインし、[設定]ページにジャンプします",
|
||||
"register_start": "登録を開始します",
|
||||
"verification_failed": "検証に失敗しました",
|
||||
"title": "カーソル登録ツール",
|
||||
"visiting_url": "訪問URL",
|
||||
"try_get_code": "試してみてください| {pirch}検証コードを取得|残りの時間:{時間} s",
|
||||
"try_get_verification_code": "試してみてください| {pirch}検証コードを取得|残りの時間:{resight_time} s",
|
||||
"open_mailbox": "メールボックスページを開く",
|
||||
"filling_form": "フォームに記入します",
|
||||
"no_turnstile": "ターンスタイルを検出しないでください",
|
||||
"set_password": "パスワードを設定します",
|
||||
"waiting_for_page_load": "ページの読み込み...",
|
||||
"browser_path_invalid": "{ブラウザー}パスは、デフォルトパスを使用して無効です",
|
||||
"account_error": "アカウント情報が失敗します:{エラー}",
|
||||
"detect_login_page": "ログインページを検出し、ログインを開始します...",
|
||||
"manual_code_input": "手動コード入力",
|
||||
"using_browser_profile": "{browser}プロファイルを使用:{user_data_dir}",
|
||||
"verification_code_filled": "検証コードが記入されています",
|
||||
"password_error": "パスワードを設定できませんでした:{エラー}。もう一度やり直してください",
|
||||
"reset_machine_id": "マシンIDをリセットします",
|
||||
"cursor_auth_info_updated": "カーソル認証情報が更新されました",
|
||||
"form_submitted": "フォーム送信、検証を開始...",
|
||||
"handling_turnstile": "セキュリティ検証の処理...",
|
||||
"handle_turnstile": "ターンスタイルを処理します",
|
||||
"password_submitted": "提出されたパスワード",
|
||||
"email_error": "メールアドレスを取得できませんでした",
|
||||
"cursor_auth_info_update_failed": "カーソル認証情報の更新は失敗しました",
|
||||
"total_usage": "合計使用量:{使用}",
|
||||
"exit_signal": "終了信号",
|
||||
"make_sure_browser_is_properly_installed": "{ブラウザー}が適切にインストールされていることを確認してください",
|
||||
"verification_error": "検証エラー:{エラー}",
|
||||
"get_verification_code_success": "検証コードの成功を取得します",
|
||||
"starting_browser": "オープニングブラウザ...",
|
||||
"get_token": "カーソルセッショントークンを取得します",
|
||||
"config_created": "作成された構成",
|
||||
"register_process_error": "登録プロセスエラー:{エラー}",
|
||||
"using_browser": "{browser}ブラウザの使用:{path}",
|
||||
"tracking_processes": "追跡{count} {browser}プロセス",
|
||||
"max_retries_reached": "最大再試行に達しました。登録に失敗しました。",
|
||||
"browser_start": "起動ブラウザ",
|
||||
"first_verification_passed": "最初の検証が成功しました",
|
||||
"setting_password": "パスワードの設定",
|
||||
"account_info_saved": "アカウント情報が保存されています",
|
||||
"form_success": "フォームが正常に送信されました",
|
||||
"get_account": "アカウント情報を取得します",
|
||||
"get_email_address": "メールアドレスを取得します",
|
||||
"verification_timeout": "検証コードタイムアウトを取得します",
|
||||
"basic_info_submitted": "提出された基本情報",
|
||||
"first_name": "ファーストネーム",
|
||||
"setup_error": "電子メールのセットアップエラー:{エラー}",
|
||||
"waiting_for_verification_code": "確認コードを待っています...",
|
||||
"cursor_registration_completed": "カーソル登録が完了しました!",
|
||||
"token_max_attempts": "到達最大試み({max})|トークンを取得できませんでした",
|
||||
"save_account_info_failed": "アカウント情報の保存失敗",
|
||||
"could_not_track_processes": "{browser}プロセスを追跡できませんでした:{エラー}",
|
||||
"start": "登録プロセスの開始...",
|
||||
"password_success": "パスワードを正常に設定します",
|
||||
"password": "パスワード",
|
||||
"no_new_processes_detected": "追跡するために検出された新しい{ブラウザー}プロセスはありません",
|
||||
"basic_info": "提出された基本情報",
|
||||
"verification_success": "セキュリティ検証は成功しました",
|
||||
"config_option_added": "configオプション追加:{オプション}",
|
||||
"mailbox": "電子メールの受信トレイに正常にアクセスしました",
|
||||
"token_attempt": "試してみてください| {Tirem} Times Token | {time}で再試行します",
|
||||
"try_install_browser": "パッケージマネージャーと一緒にブラウザをインストールしてみてください",
|
||||
"retry_verification": "検証を再試行...",
|
||||
"update_cursor_auth_info": "カーソル認証情報を更新します",
|
||||
"token_success": "トークンの成功を取得します"
|
||||
},
|
||||
"config": {
|
||||
"backup_failed": "configにバックアップに失敗しました:{error}",
|
||||
"enabled": "有効になっています",
|
||||
"try_running": "実行してみてください:{コマンド}",
|
||||
"permission_denied": "許可拒否:{Storage_Path}",
|
||||
"neither_cursor_nor_cursor_directory_found": "{config_base}で見つかったカーソルもカーソルディレクトリもありません",
|
||||
"storage_file_found": "見つかったストレージファイル:{Storage_Path}",
|
||||
"please_make_sure_cursor_is_installed_and_has_been_run_at_least_once": "カーソルがインストールされており、少なくとも1回は実行されていることを確認してください",
|
||||
"file_group": "ファイルグループ:{グループ}",
|
||||
"the_file_might_be_corrupted_please_reinstall_cursor": "ファイルが破損している可能性があります。カーソルを再インストールしてください",
|
||||
"using_temp_dir": "エラーによる一時的なディレクトリの使用:{path}(エラー:{エラー})",
|
||||
"documents_path_not_found": "現在のディレクトリを使用して、パスが見つかりません",
|
||||
"and": "そして",
|
||||
"storage_file_is_empty": "ストレージファイルは空です:{Storage_Path}",
|
||||
"storage_directory_not_found": "ストレージディレクトリが見つかりません:{Storage_dir}",
|
||||
"config_created": "構成作成:{config_file}",
|
||||
"config_not_available": "構成は使用できません",
|
||||
"file_size": "ファイルサイズ:{サイズ}バイト",
|
||||
"also_checked": "{パス}もチェックしました",
|
||||
"config_removed": "強制更新のために削除された構成ファイル",
|
||||
"error_getting_file_stats": "エラーファイル統計の取得:{エラー}",
|
||||
"force_update_failed": "フォースアップデート構成が失敗しました:{エラー}",
|
||||
"disabled": "無効",
|
||||
"config_force_update_enabled": "Config File Force Updateが有効になり、強制更新が実行されます",
|
||||
"error_checking_linux_paths": "Linuxパスのエラーチェック:{エラー}",
|
||||
"backup_created": "作成されたバックアップ:{パス}",
|
||||
"config_setup_error": "設定のエラー:{エラー}",
|
||||
"config_directory": "構成ディレクトリ",
|
||||
"file_owner": "ファイル所有者:{所有者}",
|
||||
"config_force_update_disabled": "Config File Force Updateは無効になり、強制更新をスキップします",
|
||||
"config_option_added": "configオプション追加:{オプション}",
|
||||
"config_updated": "config updated",
|
||||
"config_dir_created": "作成された構成ディレクトリ:{path}",
|
||||
"storage_file_is_valid_and_contains_data": "ストレージファイルは有効で、データが含まれています",
|
||||
"error_reading_storage_file": "エラーストレージファイルの読み取り:{エラー}",
|
||||
"storage_file_not_found": "Storageファイルが見つかりません:{Storage_Path}",
|
||||
"file_permissions": "ファイル許可:{permissions}",
|
||||
"configuration": "構成"
|
||||
},
|
||||
"restore": {
|
||||
"update_macos_system_ids_failed": "MacOSシステムIDの更新に失敗しました:{エラー}",
|
||||
"current_backup_created": "現在のストレージファイルのバックアップを作成しました",
|
||||
"current_file_not_found": "現在のストレージファイルが見つかりません",
|
||||
"windows_machine_guid_updated": "Windows Machine GUIDは正常に更新されました",
|
||||
"please_enter_number": "有効な番号を入力してください",
|
||||
"title": "バックアップからマシンIDを復元します",
|
||||
"machine_id_updated": "MachineIDファイルは正常に更新されました",
|
||||
"update_failed": "ストレージファイルの更新に失敗しました:{エラー}",
|
||||
"sqlite_updated": "SQLiteデータベースは正常に更新されました",
|
||||
"starting": "開始マシンID復元プロセス",
|
||||
"select_backup": "バックアップを選択して復元します",
|
||||
"sqm_client_key_not_found": "sqmclientレジストリキーが見つかりません",
|
||||
"update_windows_system_ids_failed": "WindowsシステムIDの更新に失敗しました:{エラー}",
|
||||
"missing_id": "IDがありません:{id}",
|
||||
"sqlite_not_found": "SQLiteデータベースが見つかりません",
|
||||
"updating_pair": "キー価値ペアの更新",
|
||||
"to_cancel": "キャンセルします",
|
||||
"storage_updated": "ストレージファイルが正常に更新されました",
|
||||
"read_backup_failed": "バックアップファイルの読み取りに失敗しました:{エラー}",
|
||||
"success": "マシンIDは正常に復元されました",
|
||||
"permission_denied": "許可が拒否されました。管理者として実行してみてください",
|
||||
"update_windows_machine_guid_failed": "WindowsマシンGUIDの更新に失敗しました:{エラー}",
|
||||
"operation_cancelled": "操作はキャンセルされました",
|
||||
"updating_sqlite": "SQLiteデータベースの更新",
|
||||
"sqlite_update_failed": "sqliteデータベースの更新に失敗しました:{エラー}",
|
||||
"failed_to_execute_plutil_command": "Plutilコマンドの実行に失敗しました",
|
||||
"update_windows_machine_id_failed": "WindowsマシンIDの更新に失敗しました:{エラー}",
|
||||
"confirm": "これらのIDを復元したいですか?",
|
||||
"updating_system_ids": "システムIDの更新",
|
||||
"system_ids_update_failed": "システムIDの更新に失敗しました:{エラー}",
|
||||
"machine_id_backup_created": "MachineIDファイルのバックアップを作成しました",
|
||||
"machine_id_update_failed": "MachineIDファイルの更新に失敗しました:{エラー}",
|
||||
"invalid_selection": "無効な選択",
|
||||
"ids_to_restore": "復元するマシンID",
|
||||
"backup_creation_failed": "バックアップの作成に失敗しました:{エラー}",
|
||||
"no_backups_found": "バックアップファイルは見つかりません",
|
||||
"available_backups": "利用可能なバックアップファイル",
|
||||
"macos_platform_uuid_updated": "MacOSプラットフォームUUIDは正常に更新されました",
|
||||
"press_enter": "Enterを押して続行します",
|
||||
"process_error": "プロセスエラーの復元:{エラー}",
|
||||
"windows_machine_id_updated": "Windows Machine IDは正常に更新されました"
|
||||
},
|
||||
"totally_reset": {
|
||||
"delete_button_error": "エラー検索削除ボタン:{エラー}",
|
||||
"login_redirect_failed": "ログインリダイレクトが失敗し、直接ナビゲーションを試みます...",
|
||||
"reset_log_3": "カーソルAIを再インストールする必要があり、これで新鮮な試用期間が必要です。",
|
||||
"note_complete_machine_id_reset_may_require_running_as_administrator": "注:完全なマシンIDリセットは、管理者として実行する必要がある場合があります",
|
||||
"feature_2": "AIの履歴やプロンプトを含むすべてのキャッシュデータをクリアします",
|
||||
"reset_log_7": "カーソルAIのウェブサイトにアクセスする前に、ブラウザのクッキーとキャッシュをクリアします",
|
||||
"reset_log_9": "問題が発生した場合は、GitHub Issue Trackerにアクセスして、https://github.com/yeongpin/cursor-free-vip/issuesで問題を作成します",
|
||||
"warning_4": "ターゲットカーソルAIエディターファイルと試行検出メカニズムのみをターゲットにします。",
|
||||
"windows_registry_instructions_2": "「regedit」を実行し、hkey_current_user \\ software \\の下で「カーソル」または「cursorai」を含むキーを検索して削除します。",
|
||||
"error": "カーソルリセットに失敗しました:{エラー}",
|
||||
"navigating_to_settings": "[設定]ページへのナビゲート...",
|
||||
"success": "カーソルリセットに正常にリセットされます",
|
||||
"feature_9": "Windows、MacOS、Linuxと互換性があります",
|
||||
"press_enter": "Enterを押して終了します",
|
||||
"advanced_tab_not_found": "複数の試行後には高度なタブが見つかりません",
|
||||
"deep_scanning": "追加のトライアル/ライセンスファイルのディープスキャンを実行します",
|
||||
"warning_5": "システム上の他のアプリケーションは影響を受けません。",
|
||||
"failed_to_delete_file_or_directory": "ファイルまたはディレクトリの削除に失敗しました:{path}",
|
||||
"cursor_reset_failed": "カーソルAIエディターリセットに失敗しました:{エラー}",
|
||||
"feature_title": "特徴",
|
||||
"reset_log_6": "利用可能な場合は、VPNを使用してIPアドレスを変更します",
|
||||
"delete_input_error": "ERRORの検索入力の削除:{エラー}",
|
||||
"feature_3": "マシンIDをリセットして試験検出をバイパスします",
|
||||
"db_connection_error": "データベースへの接続に失敗しました:{エラー}",
|
||||
"error_creating_machine_id": "マシンIDファイルの作成エラー{PATH}:{エラー}",
|
||||
"process_interrupted": "中断されたプロセス。終了...",
|
||||
"reset_log_5": "新しいトライアルに登録するときに別のメールアドレスを使用する",
|
||||
"resetting_cursor": "カーソルAIエディターのリセット...待ってください。",
|
||||
"reset_log_2": "変更を有効にするためにシステムを再起動してください。",
|
||||
"title": "完全にカーソルをリセットします",
|
||||
"cursor_reset_cancelled": "カーソルAIエディターリセットキャンセル。変更せずに終了します。",
|
||||
"advanced_tab_clicked": "[詳細]タブをクリックしました",
|
||||
"completed_in": "{時間}秒で完了します",
|
||||
"confirm_6": "このツールを実行した後、再びカーソルAIをセットアップする必要があります。",
|
||||
"connected_to_database": "データベースに接続されています",
|
||||
"resetting_machine_id": "試行検出をバイパスするためにマシン識別子をリセット...",
|
||||
"checking_for_electron_localstorage_files": "電子ローカルストレージファイルの確認",
|
||||
"already_on_settings": "すでに設定ページにあります",
|
||||
"delete_button_not_found": "複数の試行後にアカウントボタンを削除しません",
|
||||
"disclaimer_title": "免責事項",
|
||||
"linux_machine_id_modification_skipped": "Linux Machine-IDの変更スキップ:{エラー}",
|
||||
"keyboard_interrupt": "ユーザーが中断したプロセス。終了...",
|
||||
"failed_to_reset_machine_guid": "マシンGUIDのリセットに失敗しました",
|
||||
"confirm_4": "ターゲットカーソルAIエディターファイルと試行検出メカニズムのみをターゲットにします。",
|
||||
"confirm_title": "先に進みたいですか?",
|
||||
"warning_2": "構成、およびキャッシュデータ。このアクションを元に戻すことはできません。",
|
||||
"reading_config": "現在の構成を読み取ります",
|
||||
"updating_pair": "キー価値ペアの更新",
|
||||
"found_additional_potential_license_trial_files": "{count}追加の潜在的なライセンス/トライアルファイルが見つかりました",
|
||||
"failed_to_delete_file": "ファイルの削除に失敗しました:{path}",
|
||||
"disclaimer_7": "あなた自身の責任で使用してください",
|
||||
"performing_deep_scan": "追加のトライアル/ライセンスファイルのディープスキャンを実行します",
|
||||
"database_connection_closed": "データベース接続が閉じられました",
|
||||
"deleted": "削除:{パス}",
|
||||
"feature_8": "非装飾用ファイルとアプリケーションを安全に保存します",
|
||||
"unexpected_error": "予期しないエラーが発生しました:{エラー}",
|
||||
"warning_7": "あなた自身の責任で使用してください",
|
||||
"warning_3": "コードファイルは影響を受けず、ツールは設計されています",
|
||||
"confirm_7": "あなた自身の責任で使用してください",
|
||||
"delete_button_retry": "削除ボタンが見つかりません、{pirte}/{max_attempts}を削除します}",
|
||||
"feature_4": "新しいランダム化されたマシン識別子を作成します",
|
||||
"delete_input_not_found_continuing": "とにかく続行しようとしている確認の入力を削除します",
|
||||
"not_found": "ファイルが見つかりません:{path}",
|
||||
"advanced_tab_error": "ERRORINSING ADVANCED TAB:{エラー}",
|
||||
"reset_log_8": "問題が発生した場合は、別の場所にカーソルAIをインストールしてみてください",
|
||||
"windows_machine_id_modification_skipped": "Windows Machine IDの変更スキップ:{エラー}",
|
||||
"press_enter_to_return_to_main_menu": "Enterを押してメインメニューに戻ります...",
|
||||
"db_permission_error": "データベースファイルにアクセスできません。許可を確認してください",
|
||||
"removing_electron_localstorage_files_completed": "Electron LocalStorageファイルの削除が完了しました",
|
||||
"delete_input_retry": "入力が見つかっていない削除、{pirte}/{max_attempts}",
|
||||
"confirm_2": "構成、およびキャッシュデータ。このアクションを元に戻すことはできません。",
|
||||
"reset_log_4": "最良の結果については、考えてみてください。",
|
||||
"saving_new_config": "JSONに新しい構成を保存します",
|
||||
"invalid_choice": "「Y」または「n」を入力してください",
|
||||
"note_complete_system_machine_id_reset_may_require_sudo_privileges": "注:System Machine-IDリセットが必要になる場合は、SUDO特権が必要になる場合があります",
|
||||
"electron_localstorage_files_removed": "Electron LocalStorageファイルが削除されました",
|
||||
"config_not_found": "構成ファイルが見つかりません",
|
||||
"no_permission": "構成ファイルの読み取りまたは書き込みはできません。ファイル許可を確認してください",
|
||||
"confirm_1": "このアクションは、すべてのカーソルAI設定を削除します。",
|
||||
"no_additional_license_trial_files_found_in_deep_scan": "ディープスキャンに追加のライセンス/試用ファイルは見つかりません",
|
||||
"disclaimer_2": "構成、およびキャッシュデータ。このアクションを元に戻すことはできません。",
|
||||
"checking_config": "構成ファイルの確認",
|
||||
"disclaimer_4": "ターゲットカーソルAIエディターファイルと試行検出メカニズムのみをターゲットにします。",
|
||||
"feature_7": "非表示ライセンスおよび試用関連ファイルのディープスキャン",
|
||||
"warning_title": "警告",
|
||||
"skipped_for_safety": "安全のためにスキップ(カーソル関連ではない):{パス}",
|
||||
"disclaimer_3": "コードファイルは影響を受けず、ツールは設計されています",
|
||||
"disclaimer_1": "このツールは、すべてのカーソルAI設定を永続的に削除します。",
|
||||
"removed": "削除:{パス}",
|
||||
"report_issue": "この問題をhttps://github.com/yeongpin/cursor-free-vip/issues(",
|
||||
"found_danger_zone": "Danger Zoneセクションが見つかりました",
|
||||
"creating_backup": "構成バックアップの作成",
|
||||
"cursor_reset_completed": "カーソルAIエディターは完全にリセットされ、試行検出がバイパスされました!",
|
||||
"operation_cancelled": "操作はキャンセルされました。変更せずに終了します。",
|
||||
"direct_advanced_navigation": "[Advanced Tab]に直接ナビゲーションを試します",
|
||||
"removing_electron_localstorage_files": "電子ローカルストレージファイルの削除",
|
||||
"disclaimer_5": "システム上の他のアプリケーションは影響を受けません。",
|
||||
"feature_6": "試行情報とアクティベーションデータをリセットします",
|
||||
"created_extended_trial_info": "新しい拡張トライアル情報を作成した:{Path}",
|
||||
"failed_to_remove": "削除に失敗しました:{path}",
|
||||
"db_not_found": "データベースファイルが見つかりません:{path}",
|
||||
"backup_exists": "バックアップファイルはすでに存在し、バックアップステップをスキップします",
|
||||
"error_searching": "{path}でファイルを検索するエラー:{エラー}",
|
||||
"feature_1": "カーソルAIの設定と構成の完全な削除",
|
||||
"error_deleting": "エラー削除{path}:{エラー}",
|
||||
"error_creating_trial_info": "トライアル情報ファイルの作成エラー{path}:{error}",
|
||||
"delete_button_clicked": "[アカウントの削除]ボタンをクリックしました",
|
||||
"reset_machine_id": "マシンIDをリセットします",
|
||||
"generating_new_machine_id": "新しいマシンIDの生成",
|
||||
"warning_1": "このアクションは、すべてのカーソルAI設定を削除します。",
|
||||
"failed_to_delete_directory": "ディレクトリの削除に失敗しました:{path}",
|
||||
"resetting_cursor_ai_editor": "カーソルAIエディターのリセット...待ってください。",
|
||||
"windows_registry_instructions": "📝注:Windowsで完全にリセットするには、レジストリエントリをクリーンする必要がある場合もあります。",
|
||||
"feature_5": "カスタム拡張機能と設定を削除します",
|
||||
"removing_known": "既知のトライアル/ライセンスファイルの削除",
|
||||
"created_machine_id": "新しいマシンIDを作成しました:{パス}",
|
||||
"disclaimer_6": "このツールを実行した後、再びカーソルAIをセットアップする必要があります。",
|
||||
"database_updated_successfully": "データベースは正常に更新されました",
|
||||
"advanced_tab_retry": "高度なタブが見つかりません、試み{pirter}/{max_attempts}",
|
||||
"return_to_main_menu": "メインメニューに戻る...",
|
||||
"electron_localstorage_files_removal_error": "エラー電子localStorageファイルの削除エラー:{エラー}",
|
||||
"reset_log_1": "カーソルAIは完全にリセットされ、試行検出がバイパスされました!",
|
||||
"warning_6": "このツールを実行した後、再びカーソルAIをセットアップする必要があります。",
|
||||
"confirm_5": "システム上の他のアプリケーションは影響を受けません。",
|
||||
"confirm_3": "コードファイルは影響を受けず、ツールは設計されています",
|
||||
"delete_input_not_found": "複数の試行後に確認されていない確認入力を削除します",
|
||||
"reset_cancelled": "リセットキャンセル。変更せずに終了します。"
|
||||
},
|
||||
"updater": {
|
||||
"up_to_date": "最新バージョンを使用しています。",
|
||||
"update_skipped": "更新をスキップします。",
|
||||
"new_version_available": "利用可能な新しいバージョン! (現在:{現在}、最新:{最新})",
|
||||
"changelog_title": "Changelog",
|
||||
"updating": "最新バージョンへの更新。プログラムは自動的に再起動します。",
|
||||
"rate_limit_exceeded": "Github APIレート制限は超えました。更新チェックをスキップします。",
|
||||
"invalid_choice": "無効な選択。 「Y」または「n」を入力してください。",
|
||||
"development_version": "開発バージョン{current}> {最新}",
|
||||
"update_confirm": "最新バージョンに更新しますか? (y/n)",
|
||||
"check_failed": "更新の確認に失敗しました:{エラー}",
|
||||
"continue_anyway": "現在のバージョンを続けています...",
|
||||
"checking": "更新のチェック..."
|
||||
},
|
||||
"oauth": {
|
||||
"no_chrome_profiles_found": "デフォルトを使用して、Chromeプロファイルは見つかりませんでした",
|
||||
"found_browser_data_directory": "ブラウザデータディレクトリを見つけました:{path}",
|
||||
"github_start": "githubスタート",
|
||||
"using_browser_profile": "ブラウザプロファイルの使用:{プロファイル}",
|
||||
"waiting_for_authentication": "認証を待っています...",
|
||||
"error_finding_chrome_profile": "エラーChromeプロファイルの検索、デフォルトを使用:{エラー}",
|
||||
"browser_failed_to_start": "ブラウザが起動に失敗しました:{エラー}",
|
||||
"starting_browser": "ブラウザの起動:{パス}",
|
||||
"browser_setup_failed": "ブラウザのセットアップが失敗しました:{エラー}",
|
||||
"page_changed_checking_auth": "ページが変更され、認証を確認してください...",
|
||||
"user_data_dir_not_found": "{browser}ユーザーデータディレクトリ{path}で見つかりません、代わりにChromeを試してみます",
|
||||
"warning_browser_close": "警告:これにより、すべての実行中の{ブラウザー}プロセスが閉じられます",
|
||||
"initializing_browser_setup": "ブラウザのセットアップを初期化...",
|
||||
"redirecting_to_authenticator_cursor_sh": "Authenticator.cursor.shへのリダイレクト...",
|
||||
"missing_authentication_data": "認証データの欠落:{データ}",
|
||||
"browser_closed": "ブラウザは閉じました",
|
||||
"profile_selection_error": "プロフィール選択中のエラー:{エラー}",
|
||||
"found_cookies": "{count}クッキーが見つかりました",
|
||||
"authentication_failed": "認証が失敗した:{エラー}",
|
||||
"using_first_available_chrome_profile": "最初に利用可能なChromeプロファイルを使用する:{プロファイル}",
|
||||
"auth_update_failed": "AUTHアップデートは失敗しました",
|
||||
"failed_to_extract_auth_info": "認証情報の抽出に失敗しました:{エラー}",
|
||||
"status_check_error": "ステータスチェックエラー:{エラー}",
|
||||
"starting_new_google_authentication": "新しいGoogle認証を開始します...",
|
||||
"starting_re_authentication_process": "再認証プロセスを開始...",
|
||||
"could_not_find_usage_count": "使用量が見つかりませんでした:{エラー}",
|
||||
"running_as_root_warning": "ルートとして実行することは、ブラウザの自動化には推奨されません",
|
||||
"killing_browser_processes": "Killing {browser}プロセス...",
|
||||
"could_not_check_usage_count": "使用量カウントを確認できませんでした:{エラー}",
|
||||
"found_default_chrome_profile": "デフォルトのChromeプロファイルが見つかりました",
|
||||
"auth_update_success": "AUTHアップデートの成功",
|
||||
"authentication_successful": "認証成功 - 電子メール:{電子メール}",
|
||||
"browser_not_found_trying_chrome": "代わりにChromeを試して、{ブラウザー}を見つけることができませんでした",
|
||||
"starting_github_authentication": "GitHub認証を開始...",
|
||||
"please_select_your_google_account_to_continue": "Googleアカウントを選択して続行してください...",
|
||||
"warning_could_not_kill_existing_browser_processes": "警告:既存のブラウザプロセスを殺すことができませんでした:{エラー}",
|
||||
"browser_failed": "ブラウザが起動に失敗しました:{エラー}",
|
||||
"browser_failed_to_start_fallback": "ブラウザが起動に失敗しました:{エラー}",
|
||||
"authentication_timeout": "認証タイムアウト",
|
||||
"error_getting_user_data_directory": "ユーザーデータディレクトリの取得エラー:{エラー}",
|
||||
"using_configured_browser_path": "configured {browser}パスを使用:{path}",
|
||||
"could_not_find_email": "電子メールが見つかりませんでした:{エラー}",
|
||||
"starting_google_authentication": "Google認証を開始...",
|
||||
"google_start": "Google Start",
|
||||
"browser_setup_completed": "ブラウザのセットアップが正常に完了しました",
|
||||
"navigating_to_authentication_page": "認証ページへのナビゲート...",
|
||||
"invalid_authentication_type": "無効な認証タイプ",
|
||||
"try_running_without_sudo_admin": "Sudo/管理者の特権なしで実行してみてください",
|
||||
"authentication_successful_getting_account_info": "認証は成功し、アカウント情報を取得します...",
|
||||
"usage_count": "使用法数:{使用}",
|
||||
"failed_to_delete_account": "アカウントの削除に失敗しました:{エラー}",
|
||||
"already_on_settings_page": "すでに設定ページにあります!",
|
||||
"authentication_button_not_found": "認証ボタンが見つかりません",
|
||||
"consider_running_without_sudo": "Sudoなしでスクリプトを実行することを検討してください",
|
||||
"detected_platform": "検出されたプラットフォーム:{プラットフォーム}",
|
||||
"account_has_reached_maximum_usage": "アカウントは最大使用に達しました、{削除}",
|
||||
"found_email": "メールを見つけた:{電子メール}",
|
||||
"found_browser_user_data_dir": "見つかった{ブラウザー}ユーザーデータディレクトリ:{path}",
|
||||
"failed_to_delete_account_or_re_authenticate": "アカウントを削除したり、再認証したりできませんでした:{エラー}",
|
||||
"failed_to_delete_expired_account": "期限切れのアカウントを削除できませんでした",
|
||||
"token_extraction_error": "トークン抽出エラー:{エラー}",
|
||||
"supported_browsers": "{プラットフォーム}のサポートブラウザ",
|
||||
"found_chrome_at": "クロムを見つけました:{path}",
|
||||
"starting_new_authentication_process": "新しい認証プロセスを開始...",
|
||||
"no_compatible_browser_found": "互換性のあるブラウザは見つかりません。 Google ChromeまたはChromiumをインストールしてください。",
|
||||
"account_is_still_valid": "アカウントはまだ有効です(使用法:{使用})"
|
||||
},
|
||||
"github_register": {
|
||||
"invalid_choice": "無効な選択。 「はい」または「いいえ」を入力してください",
|
||||
"feature6": "すべての資格情報をファイルに保存します。",
|
||||
"warning3": "Captchaまたは追加の検証は、自動化を中断する可能性があります。",
|
||||
"starting_automation": "開始自動化...",
|
||||
"feature1": "1セックスを使用して一時的な電子メールを生成します。",
|
||||
"credentials_saved": "これらの資格情報は、github_cursor_accounts.txtに保存されています",
|
||||
"warning1": "このスクリプトは、GitHub/Cursorのサービス条件に違反する可能性があるアカウント作成を自動化します。",
|
||||
"completed_successfully": "GitHub +カーソル登録は正常に完了しました!",
|
||||
"program_terminated": "ユーザーによって終了したプログラム",
|
||||
"title": "Github + Cursor AI登録自動化",
|
||||
"email_address": "電子メールアドレス",
|
||||
"feature3": "GitHubメールを自動的に検証します。",
|
||||
"feature2": "ランダムな資格情報を使用して、新しいGitHubアカウントを登録します。",
|
||||
"features_header": "特徴",
|
||||
"warning4": "責任を持って自分の責任で使用してください。",
|
||||
"github_username": "githubユーザー名",
|
||||
"feature5": "トライアル検出をバイパスするために、マシンIDをリセットします。",
|
||||
"check_browser_windows_for_manual_intervention_or_try_again_later": "手動介入についてはブラウザのウィンドウを確認するか、後でもう一度やり直してください。",
|
||||
"github_password": "githubパスワード",
|
||||
"warning2": "インターネットアクセスと管理特権が必要です。",
|
||||
"confirm": "先に進みたいですか?",
|
||||
"registration_encountered_issues": "Github +カーソル登録に問題が発生しました。",
|
||||
"cancelled": "操作はキャンセルされました",
|
||||
"feature4": "GitHub認証を使用して、カーソルAIにログインします。",
|
||||
"warnings_header": "警告"
|
||||
},
|
||||
"account_delete": {
|
||||
"confirm_button_not_found": "複数の試行後に見つかっていない確認ボタンを確認してください",
|
||||
"typed_delete": "確認ボックスに「削除」と入力されました",
|
||||
"error": "アカウントの削除中のエラー:{エラー}",
|
||||
"delete_input_retry": "入力が見つかっていない削除、{pirte}/{max_attempts}",
|
||||
"starting_process": "アカウントの削除プロセスを開始...",
|
||||
"advanced_tab_error": "ERRORINSING ADVANCED TAB:{エラー}",
|
||||
"delete_button_clicked": "[アカウントの削除]ボタンをクリックしました",
|
||||
"auth_timeout": "認証タイムアウト、とにかく続行...",
|
||||
"logging_in": "Googleでログインしています...",
|
||||
"login_redirect_failed": "ログインリダイレクトが失敗し、直接ナビゲーションを試みます...",
|
||||
"already_on_settings": "すでに設定ページにあります",
|
||||
"delete_button_not_found": "複数の試行後にアカウントボタンを削除しません",
|
||||
"delete_button_retry": "削除ボタンが見つかりません、{pirte}/{max_attempts}を削除します}",
|
||||
"trying_settings": "[設定]ページに移動しようとしています...",
|
||||
"delete_input_not_found_continuing": "とにかく続行しようとしている確認の入力を削除します",
|
||||
"interrupted": "ユーザーが中断したアカウント削除プロセス。",
|
||||
"email_not_found": "電子メールが見つかりません:{エラー}",
|
||||
"delete_input_not_found": "複数の試行後に確認されていない確認入力を削除します",
|
||||
"title": "カーソルGoogleアカウント削除ツール",
|
||||
"waiting_for_auth": "Google認証を待っています...",
|
||||
"google_button_not_found": "Googleログインボタンが見つかりません",
|
||||
"navigating_to_settings": "[設定]ページへのナビゲート...",
|
||||
"advanced_tab_clicked": "[詳細]タブをクリックしました",
|
||||
"advanced_tab_not_found": "複数の試行後には高度なタブが見つかりません",
|
||||
"cancelled": "アカウントの削除がキャンセルされました。",
|
||||
"account_deleted": "アカウントが正常に削除されました!",
|
||||
"warning": "警告:これにより、カーソルアカウントが永久に削除されます。このアクションを元に戻すことはできません。",
|
||||
"delete_button_error": "エラー検索削除ボタン:{エラー}",
|
||||
"delete_input_error": "ERRORの検索入力の削除:{エラー}",
|
||||
"found_danger_zone": "Danger Zoneセクションが見つかりました",
|
||||
"confirm_button_error": "エラー検索確認ボタン:{エラー}",
|
||||
"unexpected_error": "予期しないエラー:{エラー}",
|
||||
"unexpected_page": "ログイン後の予期しないページ:{url}",
|
||||
"confirm_prompt": "先に進みたいですか? (y/n):",
|
||||
"found_email": "メールを見つけた:{電子メール}",
|
||||
"login_successful": "ログインが成功します",
|
||||
"direct_advanced_navigation": "[Advanced Tab]に直接ナビゲーションを試します",
|
||||
"advanced_tab_retry": "高度なタブが見つかりません、試み{pirter}/{max_attempts}",
|
||||
"select_google_account": "Googleアカウントを選択してください...",
|
||||
"confirm_button_retry": "確認ボタンが見つかりません、{pirte}/{max_attempts}を確認します",
|
||||
"failed": "アカウントの削除プロセスが失敗するか、キャンセルされました。",
|
||||
"success": "カーソルアカウントが正常に削除されました!"
|
||||
},
|
||||
"browser_profile": {
|
||||
"default_profile": "デフォルトのプロファイル",
|
||||
"profile_selected": "選択したプロファイル:{プロフィール}",
|
||||
"title": "ブラウザプロファイルの選択",
|
||||
"invalid_selection": "無効な選択。もう一度やり直してください。",
|
||||
"profile_list": "利用可能{ブラウザー}プロファイル:",
|
||||
"error_loading": "エラーロード{ブラウザー}プロファイル:{エラー}",
|
||||
"profile": "プロフィール{番号}",
|
||||
"select_profile": "使用する{browser}プロファイルを選択します。",
|
||||
"no_profiles": "{ブラウザー}プロファイルは見つかりません"
|
||||
},
|
||||
"account_info": {
|
||||
"active": "アクティブ",
|
||||
"team": "チーム",
|
||||
"premium": "プレミアム",
|
||||
"inactive": "非アクティブ",
|
||||
"failed_to_get_account": "アカウント情報を取得できませんでした",
|
||||
"lifetime_access_enabled": "Lifetimeアクセスが有効になっています",
|
||||
"subscription_not_found": "サブスクリプション情報が見つかりません",
|
||||
"usage": "使用法",
|
||||
"failed_to_get_account_info": "アカウント情報を取得できませんでした",
|
||||
"failed_to_get_token": "トークンを取得できませんでした",
|
||||
"basic_usage": "基本的な使用法",
|
||||
"failed_to_get_usage": "使用情報を取得できませんでした",
|
||||
"subscription_type": "サブスクリプションタイプ",
|
||||
"subscription": "サブスクリプション",
|
||||
"trial_remaining": "残りのプロトライアル",
|
||||
"token_not_found": "トークンが見つかりません",
|
||||
"free": "無料",
|
||||
"pro": "プロ",
|
||||
"token": "トークン",
|
||||
"days_remaining": "残りの日",
|
||||
"usage_not_found": "使用は見つかりません",
|
||||
"failed_to_get_subscription": "サブスクリプション情報を取得できませんでした",
|
||||
"email": "メール",
|
||||
"enterprise": "企業",
|
||||
"failed_to_get_email": "メールアドレスを取得できませんでした",
|
||||
"pro_trial": "プロトライアル",
|
||||
"days": "日",
|
||||
"remaining_trial": "残りの試験",
|
||||
"title": "アカウント情報",
|
||||
"email_not_found": "電子メールが見つかりません",
|
||||
"config_not_found": "構成が見つかりません。",
|
||||
"premium_usage": "プレミアム使用"
|
||||
},
|
||||
"reset": {
|
||||
"version_check_passed": "カーソルバージョンチェックが合格しました",
|
||||
"reading_package_json": "Package.jsonを読む{パス}",
|
||||
"no_write_permission": "書き込み許可なし:{パス}",
|
||||
"invalid_json_object": "無効なJSONオブジェクト",
|
||||
"update_success": "成功を更新します",
|
||||
"creating_backup": "構成バックアップの作成",
|
||||
"updating_pair": "キー価値ペアの更新",
|
||||
"system_ids_updated": "システムIDは正常に更新されました",
|
||||
"version_field_empty": "バージョンフィールドは空です",
|
||||
"sqlite_error": "sqliteデータベースの更新に失敗した:{エラー}",
|
||||
"update_windows_machine_guid_failed": "Windows Machine Guidの更新失敗:{エラー}",
|
||||
"update_windows_machine_id_failed": "WindowsマシンIDの更新失敗:{エラー}",
|
||||
"windows_permission_denied": "Windowsの許可は拒否されました",
|
||||
"start_patching": "GetMachineIDのパッチを開始します",
|
||||
"run_as_admin": "このプログラムを管理者として実行してみてください",
|
||||
"permission_denied": "許可拒否:{エラー}",
|
||||
"system_ids_update_failed": "システムIDの更新が失敗しました:{エラー}",
|
||||
"invalid_version_format": "無効なバージョン形式:{バージョン}",
|
||||
"backup_exists": "バックアップファイルはすでに存在し、バックアップステップをスキップします",
|
||||
"title": "カーソルマシンIDリセットツール",
|
||||
"file_modified": "ファイルが変更されました",
|
||||
"reading": "現在の構成を読み取ります",
|
||||
"macos_uuid_update_failed": "MacOS UUIDアップデートは失敗しました",
|
||||
"windows_guid_update_failed": "Windows GUIDの更新に失敗しました",
|
||||
"update_failed": "更新が失敗しました:{エラー}",
|
||||
"no_permission": "構成ファイルの読み取りまたは書き込みはできません。ファイル許可を確認してください",
|
||||
"patch_completed": "GetMachineIDが完了しました",
|
||||
"detecting_version": "カーソルバージョンの検出",
|
||||
"generating": "新しいマシンIDの生成",
|
||||
"version_greater_than_0_45": "カーソルバージョン> = 0.45.0、getMachineIDのパッチング",
|
||||
"path_not_found": "パスが見つかりません:{パス}",
|
||||
"process_error": "プロセスエラーのリセット:{エラー}",
|
||||
"version_too_low": "カーソルバージョンが低すぎる:{バージョン} <0.45.0",
|
||||
"patching_getmachineid": "getMachineidのパッチング",
|
||||
"sqlite_success": "SQLiteデータベースは正常に更新されました",
|
||||
"stack_trace": "スタックトレース",
|
||||
"patch_failed": "getMachineIDが失敗したパッチング:{エラー}",
|
||||
"permission_error": "許可エラー:{エラー}",
|
||||
"updating_system_ids": "システムIDの更新",
|
||||
"press_enter": "Enterを押して終了します",
|
||||
"updating_sqlite": "SQLiteデータベースの更新",
|
||||
"windows_machine_guid_updated": "Windows Machine GUIDは正常に更新されました",
|
||||
"windows_machine_id_updated": "Windows Machine IDは正常に更新されました",
|
||||
"backup_created": "作成されたバックアップ",
|
||||
"current_version": "現在のカーソルバージョン:{バージョン}",
|
||||
"unsupported_os": "サポートされていないOS:{os}",
|
||||
"success": "マシンIDが正常にリセットされます",
|
||||
"package_not_found": "package.jsonが見つかりません:{path}",
|
||||
"plutil_command_failed": "Plutilコマンドが失敗しました",
|
||||
"not_found": "構成ファイルが見つかりません",
|
||||
"found_version": "見つかったバージョン:{バージョン}",
|
||||
"linux_path_not_found": "Linuxパスが見つかりません",
|
||||
"version_parse_error": "バージョン解析エラー:{エラー}",
|
||||
"macos_uuid_updated": "MacOS UUIDは正常に更新されました",
|
||||
"new_id": "新しいマシンID",
|
||||
"checking": "構成ファイルの確認",
|
||||
"no_version_field": "package.jsonにあるバージョンフィールドはありません",
|
||||
"check_version_failed": "バージョンに失敗したチェック:{エラー}",
|
||||
"file_not_found": "ファイルが見つかりません:{path}",
|
||||
"modify_file_failed": "ファイルに失敗した変更:{エラー}",
|
||||
"saving_json": "JSONに新しい構成を保存します",
|
||||
"windows_guid_updated": "Windows GUIDは正常に更新されました",
|
||||
"version_less_than_0_45": "カーソルバージョン<0.45.0、getMachineidのパッチをスキップします"
|
||||
},
|
||||
"auth_check": {
|
||||
"user_unauthorized": "ユーザーは不正です",
|
||||
"jwt_token_warning": "トークンはJWT形式のように見えますが、APIチェックは予期しないステータスコードを返しました。トークンは有効かもしれませんが、APIアクセスは制限されています。",
|
||||
"error_generating_checksum": "エラーチェックサムの生成:{エラー}",
|
||||
"operation_cancelled": "操作はユーザーによってキャンセルされました",
|
||||
"token_source": "データベースからトークンを取得するか、手動で入力しますか? (D/M、デフォルト:D)",
|
||||
"user_authorized": "ユーザーは承認されています",
|
||||
"checking_authorization": "認可を確認...",
|
||||
"token_length": "トークンの長さ:{長さ}文字",
|
||||
"connection_error": "接続エラー",
|
||||
"token_found_in_db": "データベースにあるトークン",
|
||||
"check_error": "エラーチェック承認:{エラー}",
|
||||
"usage_response_status": "使用率応答ステータス:{応答}",
|
||||
"check_usage_response": "使用状況の応答を確認する:{応答}",
|
||||
"request_timeout": "リクエストがタイムアウトします",
|
||||
"unexpected_error": "予期しないエラー:{エラー}",
|
||||
"enter_token": "カーソルトークンを入力してください:",
|
||||
"invalid_token": "無効なトークン",
|
||||
"cursor_acc_info_not_found": "cursor_acc_info.pyが見つかりません",
|
||||
"authorization_failed": "承認は失敗しました!",
|
||||
"usage_response": "使用率:{応答}",
|
||||
"getting_token_from_db": "データベースからトークンを取得します...",
|
||||
"unexpected_status_code": "予期しないステータスコード:{code}",
|
||||
"checking_usage_information": "使用情報の確認...",
|
||||
"authorization_successful": "承認は成功しました!",
|
||||
"error_getting_token_from_db": "データベースからトークンの取得エラー:{エラー}",
|
||||
"token_not_found_in_db": "データベースにはありません"
|
||||
},
|
||||
"update": {
|
||||
"disable_failed": "自動更新の無効化失敗:{エラー}",
|
||||
"block_file_locked_error": "ブロックファイルロックされたエラー:{エラー}",
|
||||
"yml_locked_error": "update.ymlファイルロックされたエラー:{エラー}",
|
||||
"press_enter": "Enterを押して終了します",
|
||||
"block_file_locked": "ブロックファイルがロックされています",
|
||||
"removing_directory": "ディレクトリの削除",
|
||||
"update_yml_not_found": "update.ymlファイルが見つかりません",
|
||||
"directory_locked": "ディレクトリがロックされています:{path}",
|
||||
"yml_already_locked_error": "update.ymlファイル既にロックされたエラー:{エラー}",
|
||||
"remove_directory_failed": "ディレクトリの削除に失敗しました:{エラー}",
|
||||
"unsupported_os": "サポートされていないOS:{システム}",
|
||||
"block_file_already_locked_error": "ブロックファイル既にロックされたエラー:{エラー}",
|
||||
"yml_locked": "update.ymlファイルがロックされています",
|
||||
"yml_already_locked": "update.ymlファイルはすでにロックされています",
|
||||
"start_disable": "自動更新の無効化を開始します",
|
||||
"block_file_created": "作成されたブロックファイル",
|
||||
"create_block_file_failed": "ブロックファイルの作成に失敗しました:{エラー}",
|
||||
"directory_removed": "ディレクトリが削除されました",
|
||||
"clearing_update_yml": "update.ymlファイルのクリア",
|
||||
"title": "Cursor Auto Updateを無効にします",
|
||||
"processes_killed": "殺されたプロセス",
|
||||
"creating_block_file": "ブロックファイルの作成",
|
||||
"killing_processes": "殺害プロセス",
|
||||
"disable_success": "自動更新は無効になっています",
|
||||
"block_file_already_locked": "ブロックファイルはすでにロックされています",
|
||||
"update_yml_cleared": "update.ymlファイルがクリアされました",
|
||||
"clear_update_yml_failed": "update.ymlファイルをクリアできなかった:{エラー}"
|
||||
},
|
||||
"token": {
|
||||
"refresh_success": "トークンは正常にリフレッシュしました! {Days} Days(期限切れ:{期限切れ})に有効",
|
||||
"extraction_error": "トークンの抽出エラー:{エラー}",
|
||||
"server_error": "サーバーエラーの更新:http {status}",
|
||||
"unexpected_error": "トークン更新中の予期しないエラー:{エラー}",
|
||||
"connection_error": "サーバーを更新するための接続エラー",
|
||||
"refreshing": "リフレッシュトークン...",
|
||||
"no_access_token": "それに応じてアクセストークンはありません",
|
||||
"invalid_response": "更新サーバーからの無効なJSON応答",
|
||||
"refresh_failed": "トークンの更新失敗:{エラー}",
|
||||
"request_timeout": "タイミングでサーバーを更新するリクエスト"
|
||||
},
|
||||
"email": {
|
||||
"try_export_display": "試してください:display =:0をエクスポートします",
|
||||
"create_failed": "メールの作成に失敗しました",
|
||||
"domains_list_error": "ドメインリストの取得に失敗しました:{エラー}",
|
||||
"domains_excluded": "ドメインを除外する:{ドメイン}",
|
||||
"blocked_domains_loaded_success": "ブロックされたドメインが正常にロードされました",
|
||||
"no_available_domains_after_filtering": "フィルタリング後の利用可能なドメインはありません",
|
||||
"make_sure_chrome_chromium_is_properly_installed": "Chrome/Chromiumが適切に取り付けられていることを確認してください",
|
||||
"visiting_site": "メールドメインにアクセスします",
|
||||
"create_success": "電子メールが正常に作成されました",
|
||||
"trying_to_create_email": "電子メールを作成しようとしています:{電子メール}",
|
||||
"starting_browser": "起動ブラウザ",
|
||||
"refresh_error": "電子メールの更新エラー:{エラー}",
|
||||
"refresh_button_not_found": "更新ボタンが見つかりません",
|
||||
"blocked_domains_loaded_timeout_error": "ブロックされたドメインロードされたタイムアウトエラー:{エラー}",
|
||||
"verification_error": "検証エラー:{エラー}",
|
||||
"verification_found": "検証が見つかりました",
|
||||
"refreshing": "更新されたメール",
|
||||
"verification_code_found": "検証コードが見つかりました",
|
||||
"extension_load_error": "拡張ロードエラー:{エラー}",
|
||||
"domains_filtered": "フィルタリングされたドメイン:{count}",
|
||||
"blocked_domains_loaded_timeout": "ブロックされたドメインがロードされたタイムアウト:{タイムアウト} s",
|
||||
"address": "電子メールアドレス",
|
||||
"all_domains_blocked": "すべてのドメインがブロックされ、スイッチングサービス",
|
||||
"blocked_domains_loaded": "ロードされたブロックドメイン:{count}",
|
||||
"account_creation_error": "アカウント作成エラー:{エラー}",
|
||||
"create_error": "電子メールの作成エラー:{エラー}",
|
||||
"verification_code_error": "検証コードエラー:{エラー}",
|
||||
"switching_service": "{Service}サービスに切り替えます",
|
||||
"failed_to_create_account": "アカウントの作成に失敗しました",
|
||||
"blocked_domains_loaded_error": "ブロックされたドメインロードエラー:{エラー}",
|
||||
"no_display_found": "ディスプレイは見つかりません。 Xサーバーが実行されていることを確認してください。",
|
||||
"verification_code_not_found": "検証コードが見つかりません",
|
||||
"refresh_success": "電子メールが正常に更新されました",
|
||||
"using_chrome_profile": "クロムプロファイルの使用:{user_data_dir}",
|
||||
"failed_to_get_available_domains": "利用可能なドメインを取得できませんでした",
|
||||
"blocked_domains": "ブロックされたドメイン:{ドメイン}",
|
||||
"verification_not_found": "検証が見つかりません",
|
||||
"available_domains_loaded": "使用可能なドメインロード:{count}",
|
||||
"try_install_chromium": "試してください:sudo apt install chrom-browser",
|
||||
"domain_blocked": "ブロックされたドメイン:{ドメイン}"
|
||||
},
|
||||
"control": {
|
||||
"verification_not_found": "検証コードは見つかりません",
|
||||
"found_verification_code": "検証コードが見つかりました",
|
||||
"email_copy_error": "電子メールコピーエラー:{エラー}",
|
||||
"generate_email_success": "電子メールの成功を生成します",
|
||||
"copy_email": "メールアドレスのコピー",
|
||||
"database_connection_closed": "データベース接続が閉じられました",
|
||||
"navigate_to": "{url}に移動する",
|
||||
"enter_mailbox_success": "メールボックスの成功を入力します",
|
||||
"check_verification": "確認コードの確認",
|
||||
"get_cursor_session_token_success": "カーソルセッショントークンの成功を取得します",
|
||||
"navigation_error": "ナビゲーションエラー:{エラー}",
|
||||
"database_updated_successfully": "データベースは正常に更新されました",
|
||||
"token_saved_to_file": "cursor_tokens.txtに保存されたトークン",
|
||||
"mailbox_error": "メールボックスエラー:{エラー}",
|
||||
"no_valid_verification_code": "有効な検証コードはありません",
|
||||
"save_token_failed": "保存トークンが失敗しました",
|
||||
"get_cursor_session_token": "カーソルセッショントークンを取得します",
|
||||
"enter_mailbox": "メールボックスを入力します",
|
||||
"get_email_address_success": "メールアドレスの成功を取得します",
|
||||
"get_email_name": "メール名を取得します",
|
||||
"blocked_domain": "ブロックドメイン",
|
||||
"get_email_address": "メールアドレスを取得します",
|
||||
"refresh_mailbox": "更新されたメールボックス",
|
||||
"get_cursor_session_token_failed": "カーソルセッショントークンを取得しました",
|
||||
"browser_error": "ブラウザ制御エラー:{エラー}",
|
||||
"select_domain": "ランダムドメインの選択",
|
||||
"select_email_domain": "電子メールドメインを選択します",
|
||||
"select_email_domain_success": "電子メールドメインの成功を選択します",
|
||||
"verification_found": "検証コードが見つかりました",
|
||||
"get_email_name_success": "電子メール名の成功を取得します",
|
||||
"generate_email": "新しい電子メールの生成"
|
||||
},
|
||||
"bypass": {
|
||||
"current_version": "現在のバージョン:{バージョン}",
|
||||
"title": "カーソルバージョンバイパスツール",
|
||||
"no_write_permission": "ファイルの書き込み許可はありません:{path}",
|
||||
"write_failed": "Product.jsonの書き込みに失敗しました:{エラー}",
|
||||
"menu_option": "バイパスカーソルバージョンチェック",
|
||||
"bypass_failed": "バージョンバイパスが失敗しました:{エラー}",
|
||||
"starting": "カーソルバージョンバイパスを開始...",
|
||||
"read_failed": "crods.jsonの読みに失敗しました:{エラー}",
|
||||
"unsupported_os": "サポートされていないオペレーティングシステム:{システム}",
|
||||
"description": "このツールは、cursorのcrods.jsonをバージョンの制限をバイパスするように変更します",
|
||||
"product_json_not_found": "Product.jsonは、一般的なLinuxパスにはありません",
|
||||
"version_updated": "{old}から{new}に更新されたバージョン",
|
||||
"no_update_needed": "更新は必要ありません。現在のバージョン{バージョン}はすでに> = 0.46.0です",
|
||||
"file_not_found": "ファイルが見つかりません:{path}",
|
||||
"backup_created": "作成されたバックアップ:{パス}",
|
||||
"found_product_json": "FOUND PRODUCT.JSON:{PATH}",
|
||||
"stack_trace": "スタックトレース",
|
||||
"localappdata_not_found": "LocalAppData環境変数が見つかりません"
|
||||
},
|
||||
"quit_cursor": {
|
||||
"start": "カーソルの終了を開始します",
|
||||
"terminating": "終了プロセス{pid}",
|
||||
"error": "エラーが発生しました:{エラー}",
|
||||
"waiting": "プロセスが終了するのを待っています",
|
||||
"no_process": "実行中のカーソルプロセスはありません",
|
||||
"timeout": "プロセスタイムアウト:{pids}",
|
||||
"success": "すべてのカーソルプロセスは閉じられました"
|
||||
},
|
||||
"auth": {
|
||||
"press_enter": "Enterを押して終了します",
|
||||
"auth_file_create_failed": "AUTHファイルの作成失敗:{エラー}",
|
||||
"database_updated_successfully": "データベースは正常に更新されました",
|
||||
"db_connection_error": "データベースへの接続に失敗しました:{エラー}",
|
||||
"updating_auth": "認証情報の更新",
|
||||
"auth_update_failed": "認証情報の更新失敗:{エラー}",
|
||||
"connected_to_database": "データベースに接続されています",
|
||||
"title": "カーソル認証マネージャー",
|
||||
"updating_pair": "キー価値ペアの更新",
|
||||
"database_connection_closed": "データベース接続が閉じられました",
|
||||
"reading_auth": "認証ファイルを読み取ります",
|
||||
"db_not_found": "データベースファイルが見つかりません:{path}",
|
||||
"auth_updated": "AUTH情報は正常に更新されました",
|
||||
"auth_not_found": "認証ファイルが見つかりません",
|
||||
"checking_auth": "認証ファイルの確認",
|
||||
"auth_file_error": "AUTHファイルエラー:{エラー}",
|
||||
"db_permission_error": "データベースファイルにアクセスできません。許可を確認してください",
|
||||
"auth_file_created": "作成されたAUTHファイル",
|
||||
"reset_machine_id": "マシンIDをリセットします"
|
||||
},
|
||||
"bypass_token_limit": {
|
||||
"title": "バイパストークン制限ツール",
|
||||
"press_enter": "Enterを押して続行します...",
|
||||
"description": "このツールは、workbench.desktop.main.jsファイルを変更して、トークン制限をバイパスします"
|
||||
}
|
||||
}
|
||||
}
|
@ -231,7 +231,8 @@
|
||||
"updating_pair": "更新键值对",
|
||||
"db_not_found": "未找到数据库文件:{path}",
|
||||
"db_permission_error": "无法访问数据库文件,请检查权限",
|
||||
"db_connection_error": "连接数据库失败:{error}"
|
||||
"db_connection_error": "连接数据库失败:{error}",
|
||||
"reset_machine_id": "重置机ID"
|
||||
},
|
||||
"control": {
|
||||
"generate_email": "生成新邮箱",
|
||||
@ -262,7 +263,9 @@
|
||||
"get_cursor_session_token_success": "获取Cursor Session Token成功",
|
||||
"get_cursor_session_token_failed": "获取Cursor Session Token失败",
|
||||
"save_token_failed": "保存Token失败",
|
||||
"no_valid_verification_code": "没有有效的验证码"
|
||||
"no_valid_verification_code": "没有有效的验证码",
|
||||
"database_updated_successfully": "数据库成功更新",
|
||||
"database_connection_closed": "数据库连接关闭"
|
||||
},
|
||||
"email": {
|
||||
"starting_browser": "启动浏览器",
|
||||
@ -459,7 +462,24 @@
|
||||
"cursor_reset_completed": "Cursor AI 编辑器已完全重置且绕过试用检测!",
|
||||
"cursor_reset_failed": "Cursor AI 编辑器重置失败:{error}",
|
||||
"cursor_reset_cancelled": "Cursor AI 编辑器重置已取消,未进行任何更改。",
|
||||
"operation_cancelled": "操作已取消,未进行任何更改。"
|
||||
"operation_cancelled": "操作已取消,未进行任何更改。",
|
||||
"advanced_tab_error": "错误查找高级选项卡:{错误}",
|
||||
"already_on_settings": "已经在设置页面上",
|
||||
"advanced_tab_retry": "找不到高级选项卡,尝试{尝试}/{max_attempts}",
|
||||
"navigating_to_settings": "导航到设置页面...",
|
||||
"advanced_tab_not_found": "多次尝试后找不到高级标签",
|
||||
"login_redirect_failed": "登录重定向失败,尝试直接导航...",
|
||||
"delete_input_error": "错误查找删除输入:{error}",
|
||||
"delete_button_clicked": "单击删除帐户按钮",
|
||||
"direct_advanced_navigation": "尝试直接导航到高级选项卡",
|
||||
"delete_input_retry": "删除未找到输入,尝试{尝试}/{max_attempts}",
|
||||
"delete_input_not_found_continuing": "找不到删除确认输入,试图继续继续",
|
||||
"delete_button_retry": "找不到删除按钮,尝试{尝试}/{max_attempts}",
|
||||
"advanced_tab_clicked": "单击高级选项卡",
|
||||
"found_danger_zone": "发现的危险区域部分",
|
||||
"delete_input_not_found": "多次尝试后找不到删除确认输入",
|
||||
"delete_button_not_found": "多次尝试后找不到帐户按钮",
|
||||
"delete_button_error": "错误查找删除按钮:{错误}"
|
||||
},
|
||||
"github_register": {
|
||||
"title": "GitHub + Cursor AI 注册自动化",
|
||||
|
@ -198,7 +198,20 @@
|
||||
"password_submitted": "密碼已提交",
|
||||
"total_usage": "總使用量: {usage}",
|
||||
"setting_on_password": "設置密碼",
|
||||
"getting_code": "正在獲取驗證碼,將在60秒內嘗試..."
|
||||
"getting_code": "正在獲取驗證碼,將在60秒內嘗試...",
|
||||
"using_browser": "使用{瀏覽器}瀏覽器:{path}",
|
||||
"press_enter": "按Enter退出",
|
||||
"try_install_browser": "嘗試使用您的軟件包管理器安裝瀏覽器",
|
||||
"open_mailbox": "打開郵箱頁面",
|
||||
"browser_path_invalid": "{瀏覽器}路徑無效,使用默認路徑",
|
||||
"make_sure_browser_is_properly_installed": "確保正確安裝{瀏覽器}",
|
||||
"using_browser_profile": "使用{browser} profile來自:{user_data_dir}",
|
||||
"no_new_processes_detected": "未檢測到跟踪的新{瀏覽器}進程",
|
||||
"browser_start": "啟動瀏覽器",
|
||||
"max_retries_reached": "達到了最大的重試嘗試。註冊失敗。",
|
||||
"could_not_track_processes": "無法跟踪{瀏覽器}進程:{error}",
|
||||
"human_verify_error": "無法驗證用戶是人類。重試...",
|
||||
"tracking_processes": "跟踪{count} {瀏覽器}進程"
|
||||
},
|
||||
"auth": {
|
||||
"title": "Cursor 認證管理器",
|
||||
@ -218,7 +231,8 @@
|
||||
"updating_pair": "更新鍵值對",
|
||||
"db_not_found": "未找到數據庫文件:{path}",
|
||||
"db_permission_error": "無法訪問數據庫文件,請檢查權限",
|
||||
"db_connection_error": "連接數據庫失敗:{error}"
|
||||
"db_connection_error": "連接數據庫失敗:{error}",
|
||||
"reset_machine_id": "重置機ID"
|
||||
},
|
||||
"control": {
|
||||
"generate_email": "生成新郵箱",
|
||||
@ -249,7 +263,9 @@
|
||||
"get_cursor_session_token_failed": "獲取Cursor Session Token失敗",
|
||||
"save_token_failed": "保存Token失敗",
|
||||
"blocked_domain": "被屏蔽的域名",
|
||||
"no_valid_verification_code": "沒有有效的驗證碼"
|
||||
"no_valid_verification_code": "沒有有效的驗證碼",
|
||||
"database_updated_successfully": "數據庫成功更新",
|
||||
"database_connection_closed": "數據庫連接關閉"
|
||||
},
|
||||
"email": {
|
||||
"starting_browser": "啟動瀏覽器",
|
||||
@ -446,7 +462,24 @@
|
||||
"cursor_reset_completed": "Cursor AI 編輯器已完全重置且繞過試用偵測!",
|
||||
"cursor_reset_failed": "Cursor AI 編輯器重置失敗:{error}",
|
||||
"cursor_reset_cancelled": "Cursor AI 編輯器重置已取消,未進行任何更改。",
|
||||
"operation_cancelled": "操作已取消,未進行任何更改。"
|
||||
"operation_cancelled": "操作已取消,未進行任何更改。",
|
||||
"delete_button_clicked": "單擊刪除帳戶按鈕",
|
||||
"advanced_tab_clicked": "單擊高級選項卡",
|
||||
"found_danger_zone": "發現的危險區域部分",
|
||||
"advanced_tab_not_found": "多次嘗試後找不到高級標籤",
|
||||
"delete_input_not_found": "多次嘗試後找不到刪除確認輸入",
|
||||
"navigating_to_settings": "導航到設置頁面...",
|
||||
"advanced_tab_error": "錯誤查找高級選項卡:{錯誤}",
|
||||
"delete_input_retry": "刪除未找到輸入,嘗試{嘗試}/{max_attempts}",
|
||||
"direct_advanced_navigation": "嘗試直接導航到高級選項卡",
|
||||
"advanced_tab_retry": "找不到高級選項卡,嘗試{嘗試}/{max_attempts}",
|
||||
"already_on_settings": "已經在設置頁面上",
|
||||
"delete_input_error": "錯誤查找刪除輸入:{error}",
|
||||
"delete_button_retry": "找不到刪除按鈕,嘗試{嘗試}/{max_attempts}",
|
||||
"delete_button_not_found": "多次嘗試後找不到帳戶按鈕",
|
||||
"delete_button_error": "錯誤查找刪除按鈕:{錯誤}",
|
||||
"delete_input_not_found_continuing": "找不到刪除確認輸入,試圖繼續繼續",
|
||||
"login_redirect_failed": "登錄重定向失敗,嘗試直接導航..."
|
||||
},
|
||||
"github_register": {
|
||||
"title": "GitHub + Cursor AI 注册自动化",
|
||||
@ -543,7 +576,10 @@
|
||||
"backup_failed": "備份失敗: {error}",
|
||||
"force_update_failed": "強制更新配置失敗: {error}",
|
||||
"config_force_update_disabled": "配置文件強制更新已禁用,跳過強制更新",
|
||||
"config_force_update_enabled": "配置文件強制更新已啟用,正在執行強制更新"
|
||||
"config_force_update_enabled": "配置文件強制更新已啟用,正在執行強制更新",
|
||||
"documents_path_not_found": "使用當前目錄找不到文檔路徑",
|
||||
"config_dir_created": "配置目錄創建:{path}",
|
||||
"using_temp_dir": "由於錯誤而使用臨時目錄:{path}(錯誤:{error})"
|
||||
},
|
||||
"oauth": {
|
||||
"authentication_button_not_found": "未找到認證按鈕",
|
||||
@ -612,7 +648,12 @@
|
||||
"no_profiles": "未找到 {browser} 配置文件",
|
||||
"error_loading": "載入 {browser} 配置文件時出錯:{error}",
|
||||
"profile_selected": "已選擇配置文件:{profile}",
|
||||
"invalid_selection": "選擇無效。請重試"
|
||||
"invalid_selection": "選擇無效。請重試",
|
||||
"starting_google_authentication": "開始Google身份驗證...",
|
||||
"found_chrome_at": "在:{path}中找到鉻",
|
||||
"browser_not_found_trying_chrome": "找不到{瀏覽器},而是嘗試chrome",
|
||||
"error_getting_user_data_directory": "錯誤獲取用戶數據目錄:{error}",
|
||||
"user_data_dir_not_found": "{瀏覽器}用戶數據目錄在{path}上找不到,而是嘗試Chrome"
|
||||
},
|
||||
"chrome_profile": {
|
||||
"title": "Chrome配置檔案選擇",
|
||||
@ -766,5 +807,28 @@
|
||||
"success": "機器ID已成功恢復",
|
||||
"process_error": "恢復過程錯誤: {error}",
|
||||
"press_enter": "按Enter鍵繼續"
|
||||
},
|
||||
"browser_profile": {
|
||||
"invalid_selection": "無效的選擇。請重試。",
|
||||
"profile_list": "可用{瀏覽器}配置文件:",
|
||||
"profile_selected": "選定的個人資料:{配置文件}",
|
||||
"error_loading": "錯誤加載{瀏覽器} profiles:{error}",
|
||||
"default_profile": "默認配置文件",
|
||||
"no_profiles": "找不到{瀏覽器}配置文件",
|
||||
"select_profile": "選擇要使用的{瀏覽器}配置文件:",
|
||||
"profile": "個人資料{數字}",
|
||||
"title": "瀏覽器配置文件選擇"
|
||||
},
|
||||
"token": {
|
||||
"refresh_failed": "令牌刷新失敗:{error}",
|
||||
"refreshing": "刷新的代幣...",
|
||||
"connection_error": "連接錯誤刷新服務器",
|
||||
"refresh_success": "令牌成功刷新了!有效{天}天(到期:{expire})",
|
||||
"extraction_error": "錯誤提取令牌:{error}",
|
||||
"request_timeout": "要求刷新服務器的要求",
|
||||
"unexpected_error": "令牌刷新期間的意外錯誤:{error}",
|
||||
"server_error": "刷新服務器錯誤:http {status}",
|
||||
"no_access_token": "沒有訪問令牌",
|
||||
"invalid_response": "刷新服務器的JSON響應無效"
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user