common:
  yes: "Yes"
  no: "No"
  cancelled: "Interaction cancelled"
  saved: "Saved."
  cancelled_action: "Cancelled."
  config_load_failed: "Failed to load config: %{error}"
  no_providers: "No provider is configured. Run `config add-provider` first."
  no_models: "No model is configured. Run `config add-model` first."
  overwrite_provider: "Provider '%{name}' already exists. Overwrite?"
  overwrite_model: "Model '%{name}' already exists. Overwrite?"

prompt_ui:
  internal_empty_options: "internal error: option list is empty"
  render_failed: "failed to render terminal UI: %{error}"
  init_failed: "failed to initialize terminal UI: %{error}"
  read_input_failed: "failed to read terminal input: %{error}"
  line_count: "%{count} line(s)"
  help_select: "↑↓ / j k move  Enter confirm  Esc cancel"
  help_text: "←→ move  Home/End jump  Backspace/Delete edit  Enter confirm  Esc cancel"
  help_detail: "↑↓ / j k scroll  PgUp/PgDn page  Home/End jump  Enter / Esc back"
  loading_body: "Please wait..."
  loading_help: "Waiting for remote response"
  non_negative_integer: "Enter a non-negative integer"

setup:
  title: "Daat Locus setup"
  language_prompt: "Language / 语言"
  language_english: "English"
  language_chinese: "简体中文"
  welcome: "Welcome to Daat Locus"
  missing_config: "No config file was found. Let's initialize it first."
  init_mode: "How do you want to initialize?"
  interactive: "Interactive setup (recommended)"
  skip_default: "Skip and create a default config (edit config.toml manually)"
  default_created: "Created default config. Edit ~/.daat-locus/config.toml and restart."
  provider_step: "Step 1/2: Add Provider"
  model_step: "Step 2/2: Add Model"
  written: "Config written to ~/.daat-locus/config.toml"

config:
  provider_kind: "Provider type"
  provider_openai_compatible: "OpenAI-compatible"
  provider_ollama_local: "Ollama (local)"
  provider_ollama_cloud: "Ollama Cloud (ollama.com)"
  provider_name: "Provider name (key in config.toml)"
  openai_api_key: "OpenAI API key (sk-...)"
  custom_base_url: "Use a custom base URL? (default: api.openai.com)"
  base_url_openai: "Base URL (API root, for example https://api.openai.com/v1)"
  base_url_local: "Base URL (API root, for example https://api.openai.com/v1)"
  local_api_key: "API key"
  ollama_host: "Ollama host (e.g. http://127.0.0.1:11434)"
  ollama_cloud_api_key: "Ollama API key (obtain from ollama.com/settings/api-keys)"
  ollama_keep_alive_enable: "Set keep_alive duration? (keep model loaded in memory)"
  ollama_keep_alive: "keep_alive duration (e.g. 5m, 1h, -1 for forever)"
  github_auth_method: "GitHub authentication method"
  github_device_login: "Device code login (recommended, browser authorization)"
  github_manual_token: "Enter GitHub Token manually (PAT)"
  github_env_token: "Use environment variable (GITHUB_TOKEN / GH_TOKEN)"
  github_token: "GitHub Token (ghp_...)"
  codex_oauth_auth_method: "OpenAI Codex authentication method"
  codex_oauth_browser_login: "Browser login (recommended, local callback)"
  codex_oauth_device_login: "Device code login (fallback/headless)"
  codex_oauth_import_local_codex: "Import from local Codex"
  codex_oauth_import_codex_auth_file: "Import from Codex auth.json path"
  codex_oauth_auth_file: "Use existing Daat Locus OpenAI Codex auth file"
  codex_oauth_auth_file_path: "Daat Locus OpenAI Codex auth file path"
  codex_oauth_codex_auth_file_path: "Codex auth.json path"
  discover_models: "Fetching model list"
  manual_model: "Manual input..."
  select_model: "Select model"
  model_name: "Model name (key in config.toml)"
  reasoning_config: "Reasoning effort"
  reasoning_skip: "skip (use model default)"
  bind_provider: "Bind Provider"
  add_provider: "Add Provider"
  add_model: "Add Model"
  select_main_model: "Select main_model"
  use_main_model: "Same as main_model (default)"
  telegram_enable: "Enable Telegram transport?"
  telegram_token_source: "Telegram bot token source"
  telegram_keep_existing_token: "Keep existing token"
  telegram_env_token: "Use environment variable (TELEGRAM_BOT_TOKEN)"
  telegram_manual_token: "Enter Telegram bot token manually"
  telegram_token_env_name: "Telegram bot token environment variable name"
  telegram_bot_token: "Telegram bot token"
  telegram_poll_timeout_secs: "Telegram poll timeout seconds"
  configure_telegram: "Configure Telegram"
  telegram_saved: "Telegram config saved."
  set_as_main: "Set '%{name}' as main_model?"
  provider_saved: "Provider '%{name}' saved."
  model_saved: "Model '%{name}' saved."
  main_model_set: "main_model set to '%{name}'."
  select_efficient_model: "Select efficient_model (default for non-main-loop operations)"
  efficient_model_set: "efficient_model set to '%{name}'."
  change_efficient_model: "Set efficient model"
  show_details: "Show config details"
  change_main_model: "Set main model"
  exit: "Exit"
  menu_title: "Config management  %{status}"
  status_configured: "main_model=%{main_model} | providers=%{providers} | models=%{models} | locale=%{locale_name}"
  status_load_error: "config load error: %{error}"
  status_unconfigured: "not configured"
  details_title: "Config details"
  fallback_to_main: " (same as main_model)"
  telegram_active: "active"
  telegram_disabled: "disabled"
  telegram_waiting_for_token: "enabled but missing token"
  telegram_token_missing: "<missing>"
  locale_heading: "Locale"
  providers_heading: "Providers"
  models_heading: "Models"
  judge_heading: "Judge"
  telegram_heading: "Telegram"

github:
  http_client_failed: "failed to initialize HTTP client: %{error}"
  request_device_code: "Requesting device code from GitHub..."
  request_device_code_failed: "failed to request device code: %{error}"
  http_error: "GitHub returned HTTP %{status}: %{body}"
  parse_device_code_failed: "failed to parse device code response: %{error}"
  missing_device_code: "response is missing the device_code field"
  missing_user_code: "response is missing the user_code field"
  authorization: "GitHub Authorization"
  open_url: "Open: %{url}"
  enter_code: "Enter code: %{code}"
  expired: "device code expired. Run setup again."
  waiting: "Waiting for GitHub authorization%{dots}   "
  poll_failed: "failed to poll access token: %{error}"
  parse_token_failed: "failed to parse token response: %{error}"
  success: "Authorization succeeded"
  access_denied: "Authorization was cancelled"
  auth_error: "GitHub authorization error: %{error}"
  unknown_response: "unknown token response: %{body}"

codex_oauth:
  request_browser_login: "Starting local OpenAI Codex callback server..."
  request_device_code: "Requesting device code from OpenAI Codex..."
  authorization: "OpenAI Codex Authorization"
  open_url: "Open: %{url}"
  callback_waiting: "Waiting for browser callback at %{url}"
  enter_code: "Enter code: %{code}"
  code_warning: "Device codes are sensitive. Do not share this code."
  waiting: "Waiting for OpenAI Codex authorization%{dots}   "
  success: "Authorization succeeded"
  browser_failed: "Browser authorization failed: %{error}"
  import_success: "Imported Codex auth from %{source} into %{destination}"
  import_failed: "Failed to import Codex auth from %{path}: %{error}"
  import_write_failed: "Failed to write imported Codex auth to %{path}: %{error}"

daemon:
  stopped: "daemon stopped"
  restarted: "daemon restarted: %{status}"

cli:
  setup_failed: "setup failed: %{error}"
