msgid "ai.tab"
msgstr "AI"

msgid "ai.heading"
msgstr "AI connection"

msgid "ai.intro"
msgstr "Connect this shop to an AI provider: pick a provider, paste your API key, test — done. The key is stored encrypted and never shown again."

msgid "ai.group.provider"
msgstr "Provider & key"

msgid "ai.field.provider"
msgstr "Provider"

msgid "ai.field.provider.help"
msgstr "OpenAI or Anthropic for the official services. “OpenAI-compatible” for any service with the same interface (e.g. local models) — then the API address is required."

msgid "ai.field.key"
msgstr "API key"

msgid "ai.field.key.help.empty"
msgstr "You get the key from your provider's account. It is stored encrypted; only the last four characters remain visible."

msgid "ai.field.key.help.set"
msgstr "A key (…%s) is stored. Leave empty to keep it; a new value replaces it."

msgid "ai.field.model"
msgstr "Default model"

msgid "ai.field.model.help"
msgstr "The model this shop's AI actions run with, e.g. gpt-4.1-mini. After the first test the field suggests the models your key can use."

msgid "ai.field.baseurl"
msgstr "API address"

msgid "ai.field.baseurl.help"
msgstr "The base URL of your OpenAI-compatible service, e.g. https://ai.example.com/v1."

msgid "ai.group.budget"
msgstr "Cost brake"

msgid "ai.group.budget.help"
msgstr "Upper limits for this shop's AI costs. 0 or empty means: no limit. When reached, only AI actions fail — the shop keeps running normally."

msgid "ai.field.budget.daily"
msgstr "Maximum AI cost per day (USD)"

msgid "ai.field.budget.daily.help"
msgstr "Estimated from the token counts your provider reports. Only your provider's invoice is binding."

msgid "ai.field.budget.hourly"
msgstr "Maximum AI calls per hour"

msgid "ai.field.budget.hourly.help"
msgstr "Also works for unknown models and stops runaway loops. Failed calls count too."

msgid "ai.btn.save_test"
msgstr "Save & test"

msgid "ai.btn.save_only"
msgstr "Save only"

msgid "ai.btn.edit"
msgstr "Edit"

msgid "ai.missing.provider"
msgstr "Provider missing"

msgid "ai.missing.key"
msgstr "API key missing"

msgid "ai.missing.model"
msgstr "Default model missing"

msgid "ai.missing.baseurl"
msgstr "API address missing"

msgid "ai.err.auth"
msgstr "The provider rejected the key. Check the key in your provider account."

msgid "ai.err.network"
msgstr "The provider is unreachable. Check internet access and the API address."

msgid "ai.err.model"
msgstr "This key does not know that model. Pick one of the suggested models."

msgid "ai.err.generic"
msgstr "The test failed: %s"

msgid "ai.saved"
msgstr "Saved."

msgid "ai.saved_tested"
msgstr "Saved — connection verified."

msgid "ai.saved_pick_model"
msgstr "Saved. Now pick a model from the list under the \"Model\" field and save again."

msgid "ai.status.none"
msgstr "Not set up yet"

msgid "ai.status.active"
msgstr "Active"

msgid "ai.status.degraded"
msgstr "Degraded"

msgid "ai.status.down"
msgstr "Down"

msgid "ai.status.checked"
msgstr "Checked: %s"

msgid "ai.status.spend"
msgstr "Today: %s of %s USD"

msgid "ai.status.budget_hit"
msgstr "Daily budget reached — AI actions pause until midnight (shop timezone)."

msgid "ai.status.rate_hit"
msgstr "Hourly limit reached — AI actions pause until the next hour."

msgid "ai.status.baseurl_notice"
msgstr "Non-default API address active: %s"

msgid "ai.status.recheck"
msgstr "Check now"

msgid "ai.entry.note"
msgstr "Your AI assistant prepared this form. Just enter your API key and click “Save & test”."

msgid "ai.entry.expired"
msgstr "This setup link has expired. Ask your assistant for a new one."

msgid "ai.btn.disconnect"
msgstr "Remove connection"

msgid "ai.btn.disconnect.confirm"
msgstr "Really remove the stored key and provider? AI actions will stop working."

msgid "ai.btn.test"
msgstr "Test again"

msgid "ai.status.detail"
msgstr "%s · model %s · key …%s"

msgid "ai.field.provider.placeholder"
msgstr "– Select a provider –"

msgid "JTL Shop - AI Connector"
msgstr "🤖 JTL Shop - AI Connector"
