mirror of
https://github.com/yeongpin/cursor-free-vip.git
synced 2025-08-02 12:47:34 +08:00
Merge pull request #788 from Ahmed-Nagi1/auto-translate-missing-keys
Add script to auto-translate missing keys in translation files
This commit is contained in:
commit
0e4d91843f
361
fill_missing_translations.py
Normal file
361
fill_missing_translations.py
Normal file
@ -0,0 +1,361 @@
|
||||
"""
|
||||
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 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 sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
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()
|
||||
for k, v in d.items():
|
||||
full_key = f"{prefix}.{k}" if prefix else k
|
||||
if isinstance(v, dict):
|
||||
keys |= get_keys(v, full_key)
|
||||
else:
|
||||
keys.add(full_key)
|
||||
return keys
|
||||
|
||||
# Get value from nested dict by dot-separated path
|
||||
def get_by_path(d, path):
|
||||
for p in path.split('.'):
|
||||
d = d[p]
|
||||
return d
|
||||
|
||||
# Set value in nested dict by dot-separated path
|
||||
def set_by_path(d, path, value):
|
||||
parts = path.split('.')
|
||||
for p in parts[:-1]:
|
||||
if p not in d:
|
||||
d[p] = {}
|
||||
d = d[p]
|
||||
d[parts[-1]] = value
|
||||
|
||||
# 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):
|
||||
# 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:
|
||||
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
|
||||
|
||||
# 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
|
||||
# Infer language code from filename (before .json)
|
||||
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)
|
||||
|
||||
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(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=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()
|
||||
completed += 1
|
||||
print(f"{Fore.CYAN}[{completed}/{total}] Translated [{key}]: '{value}' -> " + Fore.MAGENTA + f"'{translated}'")
|
||||
except Exception as exc:
|
||||
print(f"{Fore.RED}Error translating {key}: {exc}")
|
||||
translated = value
|
||||
set_by_path(other, key, translated)
|
||||
|
||||
# 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(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__":
|
||||
# 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()
|
@ -32,7 +32,10 @@
|
||||
"exiting": "جاري الخروج ……",
|
||||
"bypass_version_check": "تجاوز فحص إصدار Cursor",
|
||||
"check_user_authorized": "فحص صلاحية المستخدم",
|
||||
"bypass_token_limit": "تجاوز حد الرمز المميز (Token)"
|
||||
"bypass_token_limit": "تجاوز حد الرمز المميز (Token)",
|
||||
"restore_machine_id": "استعادة معرف الجهاز من النسخ الاحتياطي",
|
||||
"lang_invalid_choice": "اختيار غير صالح. الرجاء إدخال أحد الخيارات التالية: ({lang_choices})",
|
||||
"language_config_saved": "تم حفظ تكوين اللغة بنجاح"
|
||||
},
|
||||
"languages": {
|
||||
"en": "الإنجليزية",
|
||||
@ -765,5 +768,48 @@
|
||||
"connection_error": "خطأ في الاتصال بخادم التحديث",
|
||||
"unexpected_error": "خطأ غير متوقع أثناء تحديث الرمز: {error}",
|
||||
"extraction_error": "خطأ في استخراج الرمز: {error}"
|
||||
},
|
||||
"restore": {
|
||||
"update_failed": "Failed to update storage file: {error}",
|
||||
"read_backup_failed": "Failed to read backup file: {error}",
|
||||
"please_enter_number": "Please enter a valid number",
|
||||
"no_backups_found": "No backup files found",
|
||||
"title": "Restore Machine ID from Backup",
|
||||
"sqlite_updated": "SQLite database updated successfully",
|
||||
"permission_denied": "Permission denied. Please try running as administrator",
|
||||
"sqlite_not_found": "SQLite database not found",
|
||||
"backup_creation_failed": "فشل في إنشاء نسخة احتياطية: {error}",
|
||||
"windows_machine_guid_updated": "تم تحديث GUID Machine Windows بنجاح",
|
||||
"select_backup": "حدد النسخ الاحتياطي لاستعادة",
|
||||
"sqm_client_key_not_found": "لم يتم العثور على مفتاح تسجيل SQMClient",
|
||||
"machine_id_backup_created": "تم إنشاء نسخة احتياطية من ملف الجهاز",
|
||||
"system_ids_update_failed": "فشل في تحديث معرفات النظام: {error}",
|
||||
"current_backup_created": "تم إنشاء نسخة احتياطية من ملف التخزين الحالي",
|
||||
"update_windows_machine_guid_failed": "فشل في تحديث GUID MAVEN",
|
||||
"updating_pair": "تحديث زوج القيمة الرئيسية",
|
||||
"press_enter": "اضغط على Enter للمتابعة",
|
||||
"missing_id": "معرف مفقود: {id}",
|
||||
"current_file_not_found": "لم يتم العثور على ملف التخزين الحالي",
|
||||
"sqlite_update_failed": "فشل في تحديث قاعدة بيانات SQLite: {error}",
|
||||
"success": "تم استعادة معرف الجهاز بنجاح",
|
||||
"process_error": "استعادة خطأ العملية: {error}",
|
||||
"update_macos_system_ids_failed": "فشل في تحديث معرفات نظام MacOS: {error}",
|
||||
"machine_id_update_failed": "فشل في تحديث ملف الماكينة: {error}",
|
||||
"available_backups": "ملفات النسخ الاحتياطي المتاحة",
|
||||
"windows_machine_id_updated": "معرف جهاز Windows تم تحديثه بنجاح",
|
||||
"updating_sqlite": "تحديث قاعدة بيانات SQLite",
|
||||
"invalid_selection": "اختيار غير صالح",
|
||||
"update_windows_system_ids_failed": "فشل في تحديث معرفات نظام Windows: {error}",
|
||||
"macos_platform_uuid_updated": "تم تحديث منصة MacOS UUID بنجاح",
|
||||
"ids_to_restore": "معرفات الماكينة لاستعادة",
|
||||
"operation_cancelled": "تم إلغاء العملية",
|
||||
"machine_id_updated": "تم تحديث ملف الجهاز بنجاح",
|
||||
"update_windows_machine_id_failed": "فشل في تحديث معرف جهاز Windows: {error}",
|
||||
"storage_updated": "تم تحديث ملف التخزين بنجاح",
|
||||
"failed_to_execute_plutil_command": "فشل تنفيذ أمر بلوتيل",
|
||||
"updating_system_ids": "تحديث معرفات النظام",
|
||||
"starting": "بدء عملية استعادة معرف الجهاز",
|
||||
"confirm": "هل أنت متأكد من أنك تريد استعادة هذه المعرفات؟",
|
||||
"to_cancel": "للإلغاء"
|
||||
}
|
||||
}
|
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ファイルを変更して、トークン制限をバイパスします"
|
||||
}
|
||||
}
|
||||
}
|
@ -242,7 +242,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": "生成新邮箱",
|
||||
@ -273,7 +274,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": "启动浏览器",
|
||||
@ -470,7 +473,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 注册自动化",
|
||||
|
@ -199,6 +199,19 @@
|
||||
"total_usage": "總使用量: {usage}",
|
||||
"setting_on_password": "設置密碼",
|
||||
"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} {瀏覽器}進程"
|
||||
"using_tempmail_plus": "使用TempMailPlus進行郵箱驗證",
|
||||
"tempmail_plus_enabled": "TempMailPlus已啟用",
|
||||
"tempmail_plus_disabled": "TempMailPlus已禁用",
|
||||
@ -229,7 +242,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": "生成新郵箱",
|
||||
@ -260,7 +274,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": "啟動瀏覽器",
|
||||
@ -457,7 +473,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 注册自动化",
|
||||
@ -554,7 +587,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": "未找到認證按鈕",
|
||||
@ -623,7 +659,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配置檔案選擇",
|
||||
@ -777,5 +818,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