Fixes the operator-reported MiniMax configuration bug: the API key appeared to be 'not saved' on every refresh.
The api backend is correct — direct repro against api-v2.truckwash.io (2026-08-10 07:58) showed 200 on POST and `isSet: true` on subsequent GET for both `{variable, value}` and raw-key payload shapes. The bugs were all on the frontend.
## What was actually broken
1. **Read response shape mismatch (root cause).** `ConfigurationXLVask.refreshMiniMaxStatus` parsed the GET response as an object, but the endpoint returns `[{module, variable, type, value, isSecret, isSet}]`. `typeof array === 'string'` is false → `minimaxApiKeyIsSet` was reset to `false` after every reload.
2. **Inline edit-save flow never notified the parent.** `ConfigurationSecretKey` had no event out, so the inline edit-and-save on the api_key field always left `isSet=false` (and the warning visible) until the user fully reloaded the page.
3. **MiniMax 'Enable' toggle was bound to a function reference.** `:value="SessionUser.superUser.modules.minimax.config.enabled.get ? true : false"` evaluates as `function ? true : false` = `true` (every function is truthy), so the switch always rendered as on.
4. **Hardcoded English warning text** in `ConfigurationSecretKey.vue` — i18n-v2 violation.
5. **Missing key registration in `xlvask/Config.vue.keys`.** PR #269 added a switch for `minimax_integration_enabled` on `xlvask.config.keys`, but never registered the key — accessing `.set` on `undefined.set` throws `TypeError` and aborts the Vue render mid-tree. Production build #c353bfa only renders 3 of 4 categories because of this.
## Changes
- `ConfigurationSecretKey.vue` — emits `saved` after a successful `onSave`; stays in edit mode + surfaces error on failure. Warning title/body come from `useI18n` (`configuration.secret_key_not_set` + `common.warning`) with optional prop overrides.
- `ConfigurationXLVask.vue` — `extractConfigEntry` helper unwraps the array response and trusts the explicit `isSet` flag. The MiniMax enable toggle reads `minimaxEnabled` (real boolean) and re-fetches via `onMiniMaxEnabledSwitch` (optimistic rollback on failure). After re-authenticate/remove/inline-save the parent re-fetches status so the UI matches persistence.
- `xlvask/Config.vue.keys` — registers the missing `minimax_integration_enabled` key.
- New i18n key `configuration.secret_key_not_set` + global shared alias; added to da/de/en/no/sv.
- New `tests/unit/configuration-secret-key.spec.js` (4 tests).
## Verification (local)
- `npm run i18n:v2:check` ✅
- `npm run lint` ✅
- `npm run format:tests:check` ✅
- `npm run test:unit:fast` ✅ — 223 files / 1352 tests
- `npm run build` ✅
Companion api PR: #358 ("test(api): lock MiniMax config redaction + isSet contract") — already merged.
406 lines
47 KiB
JSON
406 lines
47 KiB
JSON
{
|
|
"compat": {
|
|
"configuration": {
|
|
"secret_key_not_set": "The secret key is not set, please set it before enabling the integration.",
|
|
"backups": {
|
|
"active_jobs": "Active jobs",
|
|
"actions": "Actions",
|
|
"app_data_enabled": "Include app data",
|
|
"app_data_enabled_desc": "Back up app-owned object buckets together with the database.",
|
|
"backup": "Backup",
|
|
"backup_created": "@.capitalize:{'terms.glossary.backup'} oprettet",
|
|
"backup_created_success": "Säkerhetskopian @:{'terms.glossary.skapades'}.",
|
|
"backup_error": "@.capitalize:{'terms.glossary.der'} opstod @:{'terms.replication.host_definite_suffix'} @:{'terms.glossary.fejl'} @:{'terms.glossary.under'} oprettelse @:{'terms.glossary.af'} @:{'terms.glossary.backup'}.",
|
|
"backup_queued": "Backup queued",
|
|
"backup_queued_success": "The backup job has been queued.",
|
|
"backup_schedule": "Säkerhetskopieringsschema",
|
|
"backups": "Backups",
|
|
"completed_at": "Completed",
|
|
"create_backup": "@:{'terms.glossary.opret'} @:{'terms.glossary.backup'}",
|
|
"create_backup_confirm": "@.capitalize:{'terms.glossary.ar'} @:{'terms.glossary.du'} @:{'terms.glossary.saker'} @:{'terms.glossary.pa'} @:{'terms.glossary.att'} @:{'terms.glossary.du'} @:{'terms.glossary.vill'} @:{'terms.glossary.skapa'} @:{'terms.replication.host_definite_suffix'} @:{'terms.glossary.sakerhetskopia'}?",
|
|
"delete_backup": "@.capitalize:{'terms.glossary.radera'} @:{'terms.glossary.sakerhetskopia'}",
|
|
"disabled": "Disabled",
|
|
"download_backup": "@.capitalize:{'terms.glossary.ladda'} @:{'terms.glossary.ner'} @:{'terms.glossary.sakerhetskopia'}",
|
|
"enable_system": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.backup'} @:{'terms.glossary.system'}",
|
|
"enable_system_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.backup'} @:{'terms.glossary.systemet'}.",
|
|
"enabled": "Enabled",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.generelle'} @:{'terms.glossary.indstillinger'} @:{'terms.glossary.for_2'} @:{'terms.glossary.backup'} @:{'terms.glossary.systemet'}.",
|
|
"last_backup": "@.capitalize:{'terms.glossary.senaste'} @:{'terms.glossary.sakerhetskopia'}",
|
|
"latest_backup": "Latest backup",
|
|
"latest_verified": "Latest verified backup",
|
|
"legacy_backups": "Legacy backups",
|
|
"name": "Name",
|
|
"no_backups": "No backups found.",
|
|
"no_restore_audit": "No restore audit entries found.",
|
|
"not_available": "Not available",
|
|
"objects": "Objects",
|
|
"refresh": "Refresh",
|
|
"restore_audit": "Restore audit",
|
|
"restore_backup": "@:{'terms.glossary.aterstall'} @:{'terms.glossary.sakerhetskopia'}",
|
|
"restore_confirm_intro": "Restoring a backup will replace the production database and app data. Review the checks and type the exact confirmation phrase before continuing.",
|
|
"restore_confirmation": "Confirmation phrase",
|
|
"restore_enabled": "Allow production restore",
|
|
"restore_enabled_desc": "Allow superusers to queue production restores after preview and typed confirmation.",
|
|
"restore_error": "Could not queue the restore job.",
|
|
"restore_queued": "Restore queued",
|
|
"restore_queued_success": "The restore job has been queued.",
|
|
"restore_reason": "Restore reason",
|
|
"restore_state": "Restore",
|
|
"restore_state_desc": "Production restore requires this setting plus preview confirmation.",
|
|
"restore_validation_error": "Enter a reason and the exact confirmation phrase.",
|
|
"retention": "Retention",
|
|
"retention_daily_days": "Daily retention days",
|
|
"retention_daily_days_desc": "Keep one verified backup per day for this many days.",
|
|
"retention_monthly_months": "Monthly retention months",
|
|
"retention_monthly_months_desc": "Keep one verified backup per month for this many months.",
|
|
"retention_recent_hours": "Recent retention hours",
|
|
"retention_recent_hours_desc": "Keep all verified backups from this recent hourly window.",
|
|
"retention_weekly_weeks": "Weekly retention weeks",
|
|
"retention_weekly_weeks_desc": "Keep one verified backup per week for this many weeks.",
|
|
"size": "Size",
|
|
"started_at": "Started",
|
|
"status": "Status",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.backup'} @:{'terms.glossary.systemet'}.",
|
|
"title": "@.capitalize:{'terms.glossary.backup'} @:{'terms.glossary.konfiguration'}",
|
|
"verification_required": "Require verification",
|
|
"verification_required_desc": "Mark backups as available only after verification succeeds.",
|
|
"verified_at": "Verified",
|
|
"verify": "Verify"
|
|
},
|
|
"economic": {
|
|
"admin_fee_desc": "@.capitalize:{'terms.glossary.installningar'} @:{'terms.glossary.for'} @:{'terms.glossary.administrations'}- @:{'terms.glossary.och'} @:{'terms.glossary.miljoavgift'} @:{'terms.glossary.for'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'}-@:{'terms.glossary.integrationen'}.",
|
|
"admin_fee_monthly": "@:{'terms.glossary.administrationsgebyr'} (månedligt)",
|
|
"admin_fee_monthly_desc": "@.capitalize:{'terms.glossary.ange'} @:{'terms.glossary.administrations'}- @:{'terms.glossary.och'} @:{'terms.glossary.miljoavgiften'} @:{'terms.glossary.som'} @:{'terms.glossary.debiteras'} @:{'terms.glossary.manadsvis'}.",
|
|
"admin_fee_order": "@:{'terms.glossary.administrationsgebyr'} (@:{'terms.glossary.per'} @:{'terms.glossary.ordre'})",
|
|
"admin_fee_order_desc": "@.capitalize:{'terms.glossary.ange'} @:{'terms.glossary.administrations'}- @:{'terms.glossary.och'} miljäavgiften @:{'terms.glossary.som'} @:{'terms.glossary.debiteras'} @:{'terms.glossary.manadsvis'} @:{'terms.glossary.nar'} @:{'terms.glossary.fakturering'} sker @:{'terms.glossary.per'} @:{'terms.glossary.order'}.",
|
|
"admin_fee_title": "@.capitalize:{'terms.glossary.administrations'}- @:{'terms.glossary.och'} @:{'terms.glossary.miljoavgift'}",
|
|
"agreement_grant_token": "Avtalets @:{'terms.glossary.grant'}-@:{'terms.glossary.token'}",
|
|
"agreement_grant_token_desc": "@.capitalize:{'terms.glossary.din'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} @:{'terms.glossary.grant'}-@:{'terms.glossary.token'} @:{'terms.glossary.for'} avtal",
|
|
"app_secret_token": "@.capitalize:{'terms.glossary.app'} @.capitalize:{'terms.glossary.secret'} @.capitalize:{'terms.glossary.token'}",
|
|
"app_secret_token_desc": "@.capitalize:{'terms.glossary.din'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} @:{'terms.glossary.app'} @:{'terms.glossary.secret'} @:{'terms.glossary.token'}",
|
|
"default_distribution_department_id": "@:{'terms.glossary.standard'} @:{'terms.glossary.fallback'}-@:{'terms.glossary.avdelning'}",
|
|
"default_distribution_department_id_desc": "@.capitalize:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.fordelning'} @:{'terms.glossary.av'} tvättavtal @:{'terms.glossary.och'} fastpris @:{'terms.glossary.nar'} @:{'terms.glossary.kunden'} @:{'terms.glossary.saknar'} @:{'terms.glossary.standardavdelning'}.",
|
|
"env_fee_product_id": "@.capitalize:{'terms.glossary.miljoavgift'} @:{'terms.glossary.produkt'}-@.upper:{'terms.glossary.id'}",
|
|
"env_fee_product_id_desc": "@.capitalize:{'terms.glossary.ange'} @:{'terms.glossary.produkt'}-@.upper:{'terms.glossary.id'} @:{'terms.glossary.som'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.miljoavgiften'}.",
|
|
"invoice_settings": "@.capitalize:{'terms.glossary.faktura'} @:{'terms.glossary.indstillinger'}",
|
|
"invoice_settings_desc": "@.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'}-@:{'terms.glossary.konfigurationen'} låter @:{'terms.glossary.dig'} @:{'terms.glossary.konfigurera'} @:{'terms.glossary.integrationen'} @:{'terms.glossary.med'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} bokföringssystem.",
|
|
"invoice_template": "@.capitalize:{'terms.glossary.faktura'} skabelon",
|
|
"invoice_template_desc": "@.capitalize:{'terms.glossary.valj'} fakturamallen @:{'terms.glossary.for'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'}-@:{'terms.glossary.integrationen'}.",
|
|
"show_payment_terms": "@:{'terms.glossary.vis'} betalingsbetingelser",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} @:{'terms.glossary.konfiguration'}",
|
|
"transaction_draft_customer_number": "@.capitalize:{'terms.glossary.kundnummer'} @:{'terms.glossary.for'} @:{'terms.glossary.transaktionsutkast'}",
|
|
"transaction_draft_customer_number_desc": "@.capitalize:{'terms.glossary.ange'} kundnumret @:{'terms.glossary.som'} markerar @:{'terms.glossary.order'} @:{'terms.glossary.och'} fakturasamlingar @:{'terms.glossary.som'} @:{'terms.glossary.utkast'}. Lämna @:{'terms.glossary.tomt'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.inaktivera'} @:{'terms.glossary.funktionen'}.",
|
|
"transaction_draft_desc": "@.capitalize:{'terms.glossary.anvand'} @:{'terms.replication.host_definite_suffix'} dedikerad @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'}-@:{'terms.glossary.kund'} @:{'terms.glossary.for'} @:{'terms.glossary.transaktioner'} @:{'terms.glossary.som'} @:{'terms.glossary.ska'} förbli @:{'terms.glossary.utkast'} @:{'terms.glossary.och'} aldrig @:{'terms.glossary.exporteras'} @:{'terms.glossary.automatiskt'}.",
|
|
"transaction_draft_title": "@.capitalize:{'terms.glossary.transaktionsutkast'}-@:{'terms.glossary.kund'}"
|
|
},
|
|
"email": {
|
|
"enable_mailersend": "@:{'terms.glossary.enable'} @:{'terms.glossary.mailersend'}",
|
|
"enable_mailersend_desc": "@:{'terms.glossary.enable'} @:{'terms.glossary.or'} @:{'terms.glossary.disable'} @:{'terms.glossary.the'} @:{'terms.glossary.mailersend'} @:{'terms.glossary.integration'}",
|
|
"enable_system": "@:{'terms.glossary.enable'} @.capitalize:{'terms.glossary.email'} @.capitalize:{'terms.glossary.system'}",
|
|
"enable_system_desc": "@.capitalize:{'terms.glossary.aktivera'} @:{'terms.glossary.eller'} @:{'terms.glossary.inaktivera'} @:{'terms.glossary.e'}-postsystemet",
|
|
"from_address": "Avsändaradress",
|
|
"from_email": "@.capitalize:{'terms.glossary.from'} @.capitalize:{'terms.glossary.email'}",
|
|
"from_email_desc": "@.upper:{'terms.glossary.e'}-@:{'terms.glossary.postadressen'} @:{'terms.glossary.som'} @:{'terms.glossary.e'}-postmeddelanden @:{'terms.glossary.skickas'} @:{'terms.glossary.fran'}",
|
|
"from_name": "@.capitalize:{'terms.glossary.from'} @.capitalize:{'terms.glossary.name'}",
|
|
"from_name_desc": "@:{'terms.glossary.namnet'} @:{'terms.glossary.som'} @:{'terms.glossary.visas'} @:{'terms.glossary.som'} avsändare",
|
|
"general_settings": "@:{'terms.glossary.general'} @.capitalize:{'terms.glossary.settings'}",
|
|
"general_settings_desc": "@:{'terms.glossary.general'} @:{'terms.glossary.email'} @:{'terms.glossary.settings'}",
|
|
"mailersend_api_key": "@:{'terms.glossary.mailersend'} @:{'terms.glossary.api'} @.capitalize:{'terms.glossary.key'}",
|
|
"mailersend_api_key_desc": "@:{'phrases.compat.configuration.mailersend.api_key_desc'}",
|
|
"mailersend_integration": "@:{'terms.glossary.mailersend'} @.capitalize:{'terms.glossary.integration'}",
|
|
"mailersend_integration_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.mailersend'} @:{'terms.glossary.integration'} @:{'terms.glossary.settings'}",
|
|
"reply_to_email": "@:{'terms.glossary.reply'}-@.capitalize:{'terms.glossary.to'} @.capitalize:{'terms.glossary.email'}",
|
|
"reply_to_email_desc": "@.upper:{'terms.glossary.e'}-@:{'terms.glossary.postadressen'} @:{'terms.glossary.som'} @:{'terms.glossary.svar'} @:{'terms.glossary.skickas'} @:{'terms.glossary.till'}",
|
|
"reply_to_name": "@:{'terms.glossary.reply'}-@.capitalize:{'terms.glossary.to'} @.capitalize:{'terms.glossary.name'}",
|
|
"reply_to_name_desc": "@:{'terms.glossary.namnet'} @:{'terms.glossary.som'} @:{'terms.glossary.visas'} @:{'terms.glossary.for'} @:{'terms.glossary.svar'}",
|
|
"sender_identity_desc": "@.capitalize:{'terms.glossary.konfigurera'} @:{'terms.glossary.avsandaridentitet'} @:{'terms.glossary.for'} @:{'terms.glossary.utgaende'} @:{'terms.glossary.e'}-@:{'terms.glossary.post'}",
|
|
"smtp_encryption": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.encryption'}",
|
|
"smtp_encryption_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.encryption'} method @:{'terms.glossary.for_2'} @:{'terms.glossary.smtp'}",
|
|
"smtp_host": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.host'}",
|
|
"smtp_host_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.smtp'} @:{'terms.glossary.server'} hostname",
|
|
"smtp_password": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.password'}",
|
|
"smtp_password_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.smtp'} @:{'terms.glossary.authentication'} @:{'terms.glossary.password'}",
|
|
"smtp_port": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.port'}",
|
|
"smtp_port_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.smtp'} @:{'terms.glossary.server'} @:{'terms.glossary.port'}",
|
|
"smtp_settings": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.settings'}",
|
|
"smtp_settings_desc": "@.capitalize:{'terms.glossary.configure'} @:{'terms.glossary.smtp'} @:{'terms.glossary.server'} @:{'terms.glossary.settings'}",
|
|
"smtp_user": "@:{'terms.glossary.smtp'}-@:{'terms.glossary.anvandare'}",
|
|
"smtp_username": "@:{'terms.glossary.smtp'} @.capitalize:{'terms.glossary.username'}",
|
|
"smtp_username_desc": "@.capitalize:{'terms.glossary.anvandarnamn'} @:{'terms.glossary.for'} @:{'terms.glossary.smtp'}-autentisering",
|
|
"subtitle": "@.capitalize:{'terms.glossary.configure'} @:{'terms.glossary.email'} @:{'terms.glossary.settings'}",
|
|
"test_email_error": "@.capitalize:{'terms.glossary.ett'} @:{'terms.glossary.fel'} @:{'terms.glossary.uppstod'} @:{'terms.glossary.nar'} @:{'terms.glossary.testmejlet'} @:{'terms.glossary.skickades'}",
|
|
"test_email_sent": "@.capitalize:{'terms.glossary.test'} @.capitalize:{'terms.glossary.email'} @.capitalize:{'terms.glossary.sent'}",
|
|
"test_email_sent_success": "@.capitalize:{'terms.glossary.testmejlet'} @:{'terms.glossary.skickades'}",
|
|
"title": "@.capitalize:{'terms.glossary.email'} @.capitalize:{'terms.glossary.configuration'}"
|
|
},
|
|
"fxrates": {
|
|
"api_key_desc": "@.capitalize:{'terms.glossary.valutakurser'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.hamta'} @:{'terms.glossary.valutakurser'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'}.",
|
|
"conversion_rates": "@.capitalize:{'terms.glossary.valutakurser'}",
|
|
"daily_limit": "@:{'terms.glossary.daglig'} @:{'terms.glossary.begaransgrans'}",
|
|
"daily_limit_desc": "@.capitalize:{'terms.replication.article.host_mention'} @:{'terms.glossary.dagliga'} @:{'terms.glossary.begaransgransen'} @:{'terms.glossary.for'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'}-@:{'terms.glossary.integrationen'}.",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'} @:{'terms.glossary.integrationen'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.allmanna'} @:{'terms.glossary.installningarna'} @:{'terms.glossary.for'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'}-@:{'terms.glossary.integrationen'}.",
|
|
"get_rates": "@:{'terms.glossary.hent'} @:{'terms.glossary.valutakurser'}",
|
|
"getting_rates": "Henter @:{'terms.glossary.valutakurser'} fra @:{'terms.glossary.dkk'}",
|
|
"getting_rates_desc": "@.capitalize:{'terms.glossary.vanta'} @:{'terms.glossary.medan'} @:{'terms.glossary.vi'} @:{'terms.glossary.hamtar'} @:{'terms.glossary.valutakurser'} @:{'terms.glossary.fran'} @:{'terms.glossary.dkk'} @:{'terms.glossary.till'} andra valutor.",
|
|
"rates_fetched": "@.capitalize:{'terms.glossary.valutakurser'} @:{'terms.glossary.hamtade'}",
|
|
"rates_fetched_desc": "Valutakurserna @:{'terms.glossary.har'} hämtats.",
|
|
"show_rates": "@:{'terms.glossary.vis'} @:{'terms.glossary.valutakurser'}",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.fx'} @.capitalize:{'terms.glossary.rates'} @:{'terms.glossary.api'} @:{'terms.glossary.konfiguration'}",
|
|
"update_rates": "@:{'terms.glossary.opdater'} @:{'terms.glossary.valutakurser'}"
|
|
},
|
|
"general": {
|
|
"currency": "@:{'phrases.compat.user_admin.currency'}",
|
|
"language": "@:{'phrases.compat.common.language'}",
|
|
"timezone": "Tidssone",
|
|
"title": "Generelt",
|
|
"title_desc": "De allmänna inställningarna @:{'terms.glossary.for'} FX Rates @:{'terms.glossary.api'}-integrationen."
|
|
},
|
|
"integrations": {
|
|
"subtitle": "@:{'terms.glossary.administrer'} @:{'terms.glossary.integrasjoner'}"
|
|
},
|
|
"limble": {
|
|
"api_key": "@:{'terms.glossary.api'}-@:{'terms.glossary.nyckel'}",
|
|
"api_key_desc": "@:{'terms.glossary.limble'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.limble'}-@:{'terms.glossary.integrationen'}",
|
|
"api_settings": "@:{'terms.glossary.api'}-@:{'terms.glossary.anslutningsinstallningar'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.limble'} @:{'terms.glossary.api'}.",
|
|
"client_id": "@:{'terms.glossary.client'} @.upper:{'terms.glossary.id'}",
|
|
"client_id_desc": "@:{'terms.glossary.client'} @.upper:{'terms.glossary.id'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"client_secret": "@:{'terms.glossary.client'} @.capitalize:{'terms.glossary.secret'}",
|
|
"client_secret_desc": "@:{'terms.glossary.client'} @:{'terms.glossary.secret'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"connection_failed_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.limble'} @:{'terms.glossary.api'} @:{'terms.glossary.misslyckades'}!",
|
|
"connection_success": "@.capitalize:{'terms.glossary.anslutning'} @:{'terms.glossary.lyckades'}",
|
|
"connection_success_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.limble'} @:{'terms.glossary.api'} @:{'terms.glossary.lyckades'}!",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.limble'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.limble'} @:{'terms.glossary.integrationen'}.",
|
|
"enable_webhooks": "@.capitalize:{'terms.glossary.aktivera'} @:{'terms.glossary.webhooks'} @:{'terms.glossary.for'} @:{'terms.glossary.omedelbar'} @:{'terms.glossary.synkronisering'}",
|
|
"enable_webhooks_desc": "@.capitalize:{'terms.glossary.aktivera'} @:{'terms.glossary.eller'} @:{'terms.glossary.inaktivera'} @:{'terms.glossary.limble'}-@:{'terms.glossary.webhooks'} @:{'terms.glossary.for'} @:{'terms.glossary.omedelbar'} @:{'terms.glossary.synkronisering'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.generelle'} @:{'terms.glossary.indstillinger'} @:{'terms.glossary.for_2'} @:{'terms.glossary.limble'} @:{'terms.glossary.integrationen'}.",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.limble'} @:{'terms.glossary.integrationen'}",
|
|
"test_connection": "@.capitalize:{'terms.glossary.test'} forbindelse",
|
|
"title": "@:{'terms.glossary.limble'} @:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"mailersend": {
|
|
"api_key_desc": "@:{'terms.glossary.mailersend'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.mailersend'}-@:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.mailersend'}-@:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"motor_api": {
|
|
"api_key_desc": "@:{'terms.glossary.motor'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.motor'} @:{'terms.glossary.api'}-@:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.motor'} @:{'terms.glossary.api'}-@:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"motorapi": {
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.motorapi'} @:{'terms.glossary.api'}.",
|
|
"daily_limit_desc": "@.capitalize:{'terms.replication.article.host_mention'} @:{'terms.glossary.dagliga'} @:{'terms.glossary.begaransgransen'} @:{'terms.glossary.for'} @:{'terms.glossary.motorapi'}-@:{'terms.glossary.integrationen'}.",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.motorapi'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.motorapi'} @:{'terms.glossary.integrationen'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.allmanna'} @:{'terms.glossary.installningarna'} @:{'terms.glossary.for'} @:{'terms.glossary.motorapi'}-@:{'terms.glossary.integrationen'}.",
|
|
"get_license_plate": "@:{'terms.glossary.hent'} @:{'terms.glossary.nummerplade'}",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.motorapi'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.motorapi'} @:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"products": {
|
|
"add": "@:{'terms.glossary.legg'} @:{'terms.glossary.til'} @:{'terms.glossary.produkt'}",
|
|
"delete_confirm": "@.capitalize:{'terms.glossary.ar'} @:{'terms.glossary.du'} @:{'terms.glossary.saker'} @:{'terms.glossary.pa'} @:{'terms.glossary.att'} @:{'terms.glossary.du'} @:{'terms.glossary.vill'} @:{'terms.glossary.ta'} @:{'terms.glossary.bort'} @:{'terms.glossary.denna'} @:{'terms.glossary.produkt'}?",
|
|
"edit": "@:{'phrases.compat.products.edit_product'}"
|
|
},
|
|
"slack": {
|
|
"customer_registration_webhook_url": "Webhook-URL för kundregistreringar",
|
|
"customer_registration_webhook_url_desc": "Slack-webhook som får ett meddelande när en ny kundregistrering lyckas. Lämna tomt för att inaktivera.",
|
|
"internal_department_goal_progress_save_error": "Det gick inte att spara Slack-inställningar för interna avdelningar.",
|
|
"internal_department_goal_progress_saved": "Slack-inställningar för interna avdelningar sparades",
|
|
"internal_department_goal_progress_webhook_url": "Webhook-URL för måluppföljning för interna avdelningar",
|
|
"internal_department_goal_progress_webhook_url_desc": "Slack-webhook som får den sammanlagda måluppföljningen för interna avdelningar. Lämna tomt för att inaktivera den sammanlagda aviseringen.",
|
|
"internal_departments": "Interna avdelningar",
|
|
"internal_departments_desc": "Avdelningar som väljs här ingår i den interna Slack-översikten för måluppföljning.",
|
|
"internal_departments_empty": "Inga avdelningar hittades.",
|
|
"notification_settings": "Aviseringsinställningar",
|
|
"notification_settings_desc": "Slack-webhooks för systemhändelser.",
|
|
"save_internal_departments": "Spara interna avdelningar",
|
|
"send_test_webhook": "Skicka test-webhook",
|
|
"subtitle": "Konfiguration av Slack-aviseringar",
|
|
"test_customer_registration_webhook": "Testa webhook för kundregistreringar",
|
|
"test_internal_department_goal_progress_webhook": "Testa webhook för måluppföljning för interna avdelningar",
|
|
"test_internal_department_goal_progress_webhook_not_configured": "Spara en webhook-URL för måluppföljning för interna avdelningar innan du skickar ett test.",
|
|
"test_internal_department_goal_progress_webhook_sent_success": "Slack-testmeddelandet för måluppföljning för interna avdelningar skickades.",
|
|
"test_webhook_error": "Det gick inte att skicka Slack-testwebhooken.",
|
|
"test_webhook_not_configured": "Spara en webhook-URL för kundregistreringar innan du skickar ett test.",
|
|
"test_webhook_sent": "Slack-test skickat",
|
|
"test_webhook_sent_success": "Slack-testmeddelandet för kundregistrering skickades.",
|
|
"title": "Slack-konfiguration",
|
|
"unavailable": "Slack-konfigurationen är inte tillgänglig i den här API-versionen."
|
|
},
|
|
"shelly": {
|
|
"api_key_desc": "@:{'terms.glossary.shelly'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.shelly'}-@:{'terms.glossary.integrationen'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.shelly'} @:{'terms.glossary.api'}.",
|
|
"connection_failed_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.shelly'} @:{'terms.glossary.api'} @:{'terms.glossary.misslyckades'}!",
|
|
"connection_success_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.shelly'} @:{'terms.glossary.api'} @:{'terms.glossary.lyckades'}!",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.shelly'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.shelly'} @:{'terms.glossary.integrationen'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.allmanna'} @:{'terms.glossary.installningarna'} @:{'terms.glossary.for'} @:{'terms.glossary.shelly'}-@:{'terms.glossary.integrationen'}.",
|
|
"secret_key": "Hemlig @:{'terms.glossary.nyckel'} (@:{'terms.glossary.api'}-@:{'terms.glossary.nyckel'})",
|
|
"secret_key_desc": "@.capitalize:{'terms.replication.article.host_mention'} hemliga @:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"server_url": "@.capitalize:{'terms.glossary.server'} @:{'terms.glossary.url'}",
|
|
"server_url_desc": "@:{'terms.glossary.url'}'@:{'terms.replication.host_definite_suffix'} @:{'terms.glossary.til'} @:{'terms.glossary.shelly'} serveren.",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.shelly'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.shelly'} @:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"stripe": {
|
|
"api_key_desc": "@.capitalize:{'terms.glossary.din'} @:{'terms.glossary.stripe'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckel'} @:{'terms.glossary.for'} betalningsbearbetning",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.stripe'} @:{'terms.glossary.api'}.",
|
|
"customers": "@:{'terms.glossary.stripe'} @:{'terms.glossary.kunder'}",
|
|
"economic_customer": "@:{'terms.glossary.economic'} @:{'terms.glossary.kundenummer'}",
|
|
"economic_customer_desc": "@.capitalize:{'terms.glossary.kunden'} @:{'terms.glossary.der'} bruges @:{'terms.glossary.til'} @:{'terms.glossary.at'} gemme @:{'terms.glossary.stripe'} betalinger @:{'terms.glossary.i'} @:{'terms.glossary.economic'} @:{'terms.glossary.systemet'}.",
|
|
"economic_settings": "@.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'} integrationsinställningar",
|
|
"economic_settings_desc": "@.capitalize:{'terms.glossary.installningar'} @:{'terms.glossary.for'} @:{'terms.glossary.integrationen'} @:{'terms.glossary.med'} @.upper:{'terms.glossary.e'}-@:{'terms.glossary.conomic'}-@:{'terms.glossary.systemet'}.",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.stripe'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.stripe'} @:{'terms.glossary.integrationen'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.generelle'} @:{'terms.glossary.indstillinger'} @:{'terms.glossary.for_2'} @:{'terms.glossary.stripe'} @:{'terms.glossary.integrationen'}.",
|
|
"get_prices": "@:{'terms.glossary.hent'} @:{'terms.glossary.priser'}",
|
|
"get_products": "@:{'terms.glossary.hent'} @:{'terms.glossary.produkter'}",
|
|
"prices": "@:{'terms.glossary.stripe'} @:{'terms.glossary.priser'}",
|
|
"products": "@:{'terms.glossary.stripe'} @:{'terms.glossary.produkter'}",
|
|
"publishable_key": "Publik @:{'terms.glossary.nyckel'}",
|
|
"publishable_key_desc": "@.capitalize:{'terms.replication.article.host_mention'} publika @:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.stripe'} @:{'terms.glossary.integrationen'}",
|
|
"test_mode": "@.capitalize:{'terms.glossary.testlage'}",
|
|
"test_mode_desc": "@.capitalize:{'terms.glossary.aktivera'} @:{'terms.glossary.testlage'} @:{'terms.glossary.for'} @:{'terms.glossary.stripe'}-@:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.stripe'} @:{'terms.glossary.konfiguration'}",
|
|
"webhook_secret": "@.capitalize:{'terms.glossary.webhook'}-@:{'terms.glossary.hemlighet'}",
|
|
"webhook_secret_desc": "@.capitalize:{'terms.glossary.din'} @:{'terms.glossary.stripe'} @:{'terms.glossary.webhook'}-@:{'terms.glossary.hemlighet'} @:{'terms.glossary.for'} händelsehantering"
|
|
},
|
|
"subtitle": "@:{'terms.glossary.administrer'} systemkonfigurasjon",
|
|
"users": {
|
|
"subtitle": "@:{'terms.glossary.administrer'} brukere"
|
|
},
|
|
"virkdata": {
|
|
"api_key_desc": "@:{'terms.glossary.virk'} @.capitalize:{'terms.glossary.data'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.virk'} @.capitalize:{'terms.glossary.data'}-@:{'terms.glossary.integrationen'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.virkdata'} @:{'terms.glossary.api'}.",
|
|
"company_selected": "@.capitalize:{'terms.glossary.foretag'} @:{'terms.glossary.valt'}",
|
|
"company_selected_desc": "@.capitalize:{'terms.glossary.du'} @:{'terms.glossary.har'} @:{'terms.glossary.valgt'} {name} ({cvr})",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.virkdata'}",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.virkdata'} @:{'terms.glossary.integrationen'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.allmanna'} @:{'terms.glossary.installningarna'} @:{'terms.glossary.for'} @:{'terms.glossary.virkdata'}-@:{'terms.glossary.integrationen'}.",
|
|
"monthly_limit": "Månatlig @:{'terms.glossary.begaransgrans'}",
|
|
"monthly_limit_desc": "@.capitalize:{'terms.replication.article.host_mention'} månatliga @:{'terms.glossary.begaransgransen'} @:{'terms.glossary.for'} @:{'terms.glossary.virkdata'}-@:{'terms.glossary.integrationen'}.",
|
|
"no_results": "@.capitalize:{'terms.glossary.ingen'} @:{'terms.glossary.resultater'}",
|
|
"no_results_desc": "@.capitalize:{'terms.glossary.inga'} @:{'terms.glossary.foretag'} @:{'terms.glossary.hittades'} @:{'terms.glossary.som'} @:{'terms.glossary.matchar'} @:{'terms.glossary.din'} @:{'terms.glossary.sokning'}.",
|
|
"search_company": "@:{'terms.glossary.sok'} @:{'terms.glossary.efter'} @:{'terms.glossary.foretag'}",
|
|
"search_error": "@.capitalize:{'terms.glossary.ett'} @:{'terms.glossary.fel'} @:{'terms.glossary.uppstod'} @:{'terms.glossary.vid'} @:{'terms.glossary.sokning'} @:{'terms.glossary.efter'} @:{'terms.glossary.foretag'}.",
|
|
"select_company": "@.capitalize:{'terms.glossary.valj'} @:{'terms.glossary.ett'} @:{'terms.glossary.foretag'}",
|
|
"select_company_required": "@.capitalize:{'terms.glossary.du'} @:{'terms.glossary.maste'} @:{'terms.glossary.valja'} @:{'terms.glossary.ett'} @:{'terms.glossary.foretag'}",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.virkdata'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.virkdata'} @:{'terms.glossary.konfiguration'}"
|
|
},
|
|
"workfeed": {
|
|
"api_key": "@:{'terms.glossary.api'} @:{'terms.glossary.key'}",
|
|
"api_key_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.api'} @:{'terms.glossary.key'} @:{'terms.glossary.used'} @:{'terms.glossary.to'} authenticate @:{'terms.glossary.requests'} @:{'terms.glossary.to'} @:{'terms.glossary.workfeed'}.",
|
|
"api_settings": "@:{'terms.glossary.api'} @:{'terms.glossary.connection'} @:{'terms.glossary.settings'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.api'} @:{'terms.glossary.connection'} @:{'terms.glossary.settings'} @:{'terms.glossary.used'} @:{'terms.glossary.for_2'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.requests'}.",
|
|
"api_url": "@:{'terms.glossary.api'} @:{'terms.glossary.url'}",
|
|
"api_url_desc": "@.capitalize:{'terms.glossary.the'} base @:{'terms.glossary.url'} @:{'terms.glossary.for_2'} @:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.api'}.",
|
|
"close": "@:{'terms.glossary.close'}",
|
|
"company_id": "@.capitalize:{'terms.glossary.company'} @.upper:{'terms.glossary.id'}",
|
|
"company_id_desc": "@.capitalize:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.company'} identifier @:{'terms.glossary.used'} @:{'terms.glossary.for_2'} @:{'terms.glossary.api'} synchronization.",
|
|
"diagnostics": {
|
|
"description": "@.capitalize:{'terms.glossary.run'} @:{'terms.glossary.test'} @:{'terms.glossary.lookups'} against @:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.integration'} endpoints.",
|
|
"get_employee": "@:{'terms.glossary.get'} @:{'terms.glossary.employee'} @:{'terms.glossary.by'} @.upper:{'terms.glossary.id'}",
|
|
"get_shift": "@:{'terms.glossary.get'} @:{'terms.glossary.shift'} @:{'terms.glossary.by'} @.upper:{'terms.glossary.id'}",
|
|
"list_departments": "@.capitalize:{'terms.glossary.list'} @:{'terms.glossary.departments'}",
|
|
"list_employees": "@.capitalize:{'terms.glossary.list'} @:{'terms.glossary.employees'}",
|
|
"list_shifts": "@.capitalize:{'terms.glossary.list'} shifts",
|
|
"no_params_required": "@.capitalize:{'terms.glossary.no'} query parameters @:{'terms.glossary.are'} @:{'terms.glossary.required'} @:{'terms.glossary.for_2'} @:{'terms.glossary.this'} @:{'terms.glossary.lookup'}.",
|
|
"placeholder_employee_id": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. emp_01J5P2F2A0CQKBBX4P8M3Y7R5P",
|
|
"placeholder_released": "@:{'terms.glossary.true'} @:{'terms.glossary.or'} @:{'terms.glossary.false'}",
|
|
"placeholder_search": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. north facility",
|
|
"placeholder_shift_id": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. shf_01J5P3X9D35R9C6BDZ1S0R4V6Q",
|
|
"placeholder_start_from": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. 2026-03-24T00:00:@:{'terms.glossary.word_00z'}",
|
|
"placeholder_start_to": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. 2026-03-25T00:00:@:{'terms.glossary.word_00z'}",
|
|
"placeholder_status": "@:{'terms.glossary.e'}.@:{'terms.glossary.g'}. published",
|
|
"prompt_employee_id": "@.capitalize:{'terms.glossary.employee'} @.upper:{'terms.glossary.id'}",
|
|
"prompt_employee_id_optional": "@.capitalize:{'terms.glossary.optional'} @:{'terms.glossary.employee'} @.upper:{'terms.glossary.id'}",
|
|
"prompt_released_optional": "@.capitalize:{'terms.glossary.optional'} @:{'terms.glossary.released'} @:{'terms.glossary.filter'} (@:{'terms.glossary.true'}/@:{'terms.glossary.false'})",
|
|
"prompt_search_optional": "@.capitalize:{'terms.glossary.optional'} @:{'terms.glossary.search'} @:{'terms.glossary.text'}",
|
|
"prompt_shift_id": "@.capitalize:{'terms.glossary.shift'} @.upper:{'terms.glossary.id'}",
|
|
"prompt_start_from": "@.capitalize:{'terms.glossary.shift'} @:{'terms.glossary.start'} @:{'terms.glossary.from'} (@:{'terms.glossary.iso'} 8601)",
|
|
"prompt_start_to": "@.capitalize:{'terms.glossary.shift'} @:{'terms.glossary.start'} @:{'terms.glossary.to'} (@:{'terms.glossary.iso'} 8601)",
|
|
"prompt_status_optional": "@.capitalize:{'terms.glossary.optional'} @:{'terms.glossary.shift'} @:{'terms.glossary.status'}",
|
|
"result_departments": "@.capitalize:{'terms.glossary.department'} @:{'terms.glossary.lookup'} @:{'terms.glossary.result'}",
|
|
"result_employee": "@.capitalize:{'terms.glossary.employee'} @:{'terms.glossary.result'}",
|
|
"result_employees": "@.capitalize:{'terms.glossary.employee'} @:{'terms.glossary.lookup'} @:{'terms.glossary.result'}",
|
|
"result_shift": "@.capitalize:{'terms.glossary.shift'} @:{'terms.glossary.result'}",
|
|
"result_shifts": "@.capitalize:{'terms.glossary.shift'} @:{'terms.glossary.lookup'} @:{'terms.glossary.result'}",
|
|
"select_employee_all": "@.capitalize:{'terms.glossary.all'} @:{'terms.glossary.employees'}",
|
|
"select_released_all": "@.capitalize:{'terms.glossary.all'} release states",
|
|
"select_released_false": "@.capitalize:{'terms.glossary.not'} @:{'terms.glossary.released'} @:{'terms.glossary.only'}",
|
|
"select_released_true": "@.capitalize:{'terms.glossary.released'} @:{'terms.glossary.only'}",
|
|
"title": "Diagnostics",
|
|
"validation_datetime_invalid": "@.capitalize:{'terms.glossary.invalid'} @:{'terms.glossary.date'}-@:{'terms.glossary.time'} @:{'terms.glossary.value'}.",
|
|
"validation_released_boolean": "@.capitalize:{'terms.glossary.released'} @:{'terms.glossary.must'} @:{'terms.glossary.be'} either @:{'terms.glossary.true'} @:{'terms.glossary.or'} @:{'terms.glossary.false'}.",
|
|
"validation_shift_range_required": "startFrom @:{'terms.glossary.and'} startTo @:{'terms.glossary.are'} @:{'terms.glossary.required'}."
|
|
},
|
|
"enable": "@:{'terms.glossary.enable'} @:{'terms.glossary.workfeed'}",
|
|
"enable_desc": "@:{'terms.glossary.enable'} @:{'terms.glossary.or'} @:{'terms.glossary.disable'} @:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.integration'}.",
|
|
"general_settings_desc": "@:{'terms.glossary.general'} @:{'terms.glossary.settings'} @:{'terms.glossary.for_2'} @:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.integration'}.",
|
|
"lookup": "@.capitalize:{'terms.glossary.lookup'}",
|
|
"subtitle": "@.capitalize:{'terms.glossary.configuration'} @:{'terms.glossary.of'} @:{'terms.glossary.the'} @:{'terms.glossary.workfeed'} @:{'terms.glossary.integration'}",
|
|
"title": "@:{'terms.glossary.workfeed'} @:{'terms.glossary.configuration'}",
|
|
"validation_required": "@.capitalize:{'terms.glossary.this'} @:{'terms.glossary.field'} @:{'terms.glossary.is'} @:{'terms.glossary.required'}."
|
|
},
|
|
"xlvask": {
|
|
"api_key_desc": "@:{'terms.glossary.xl'} @.capitalize:{'terms.glossary.vask'} @:{'terms.glossary.api'}-@:{'terms.glossary.nyckeln'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.xl'} @.capitalize:{'terms.glossary.vask'}-@:{'terms.glossary.integrationen'}",
|
|
"api_settings_desc": "@.capitalize:{'terms.glossary.anslutningsinstallningar'} @:{'terms.glossary.for'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.api'}.",
|
|
"automation_settings": "Automatisering",
|
|
"automation_settings_desc": "Styr @:{'terms.glossary.automatisk'} @:{'terms.glossary.orderkoppling'} @:{'terms.glossary.och'} @:{'terms.glossary.orderskapande'} @:{'terms.glossary.fran'} @.capitalize:{'terms.glossary.selvvask'}.",
|
|
"connection_failed": "@.capitalize:{'terms.glossary.anslutning'} @:{'terms.glossary.misslyckades'}",
|
|
"connection_failed_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.api'} @:{'terms.glossary.misslyckades'}.",
|
|
"connection_success_desc": "@.capitalize:{'terms.glossary.anslutningen'} @:{'terms.glossary.till'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.api'} @:{'terms.glossary.lyckades'}.",
|
|
"enable": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.xlvask'}",
|
|
"enable_automatic_attachment": "@.capitalize:{'terms.glossary.automatisk'} @:{'terms.glossary.orderkoppling'}",
|
|
"enable_automatic_attachment_desc": "@.capitalize:{'terms.glossary.koppla'} @:{'terms.glossary.sakra'} @.capitalize:{'terms.glossary.selvvask'}-träffar @:{'terms.glossary.automatiskt'} @:{'terms.glossary.till'} befintliga @:{'terms.glossary.ordrar'}.",
|
|
"enable_automatic_creation": "@.capitalize:{'terms.glossary.automatiskt'} @:{'terms.glossary.orderskapande'}",
|
|
"enable_automatic_creation_desc": "@.capitalize:{'terms.glossary.skapa'} @:{'terms.glossary.sakra'} @.capitalize:{'terms.glossary.selvvask'}-@:{'terms.glossary.ordrar'} @:{'terms.glossary.automatiskt'} @:{'terms.glossary.nar'} @:{'terms.glossary.tvatten'} @:{'terms.glossary.ar'} @:{'terms.glossary.aldre'} @:{'terms.glossary.an_2'} 6 @:{'terms.glossary.timmar'}.",
|
|
"enable_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.integrationen'}.",
|
|
"enable_openai_integration": "@:{'terms.glossary.openai'}-förslag",
|
|
"enable_openai_integration_desc": "@.capitalize:{'terms.glossary.anvand'} @:{'terms.glossary.openai'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} föreslå @:{'terms.glossary.koppling'} @:{'terms.glossary.eller'} @:{'terms.glossary.skapande'} @:{'terms.glossary.nar'} fasta @:{'terms.glossary.regler'} @:{'terms.glossary.inte'} @:{'terms.glossary.ar'} @:{'terms.glossary.sakra'} nog.",
|
|
"enable_sync": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.automatisk'} @:{'terms.glossary.synkronisering'}",
|
|
"enable_sync_desc": "@:{'terms.glossary.aktiver'} @:{'terms.glossary.eller'} @:{'terms.glossary.deaktiver'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.automatisk'} @:{'terms.glossary.synkronisering'}.",
|
|
"general_settings_desc": "@.capitalize:{'terms.glossary.de'} @:{'terms.glossary.generelle'} @:{'terms.glossary.indstillinger'} @:{'terms.glossary.for_2'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.integrationen'}.",
|
|
"password_desc": "@.capitalize:{'terms.glossary.losenordet'} @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"subtitle": "@.capitalize:{'terms.glossary.konfiguration'} @:{'terms.glossary.af'} @:{'terms.glossary.xlvask'} @:{'terms.glossary.integrationen'}",
|
|
"title": "@:{'terms.glossary.xlvask'} @:{'terms.glossary.konfiguration'}",
|
|
"username_desc": "Användarnamnet @:{'terms.glossary.anvands'} @:{'terms.glossary.for'} @:{'terms.glossary.att'} @:{'terms.glossary.autentisera'} @:{'terms.glossary.api'}-@:{'terms.glossary.anslutningen'}.",
|
|
"minimax_settings": "MiniMax M3 (AI planner)",
|
|
"minimax_settings_desc": "Configure the MiniMax M3 integration that powers the XL Vask autopilot planner.",
|
|
"enable_minimax_integration": "Use MiniMax M3 for autopilot suggestions",
|
|
"enable_minimax_integration_desc": "Force the XL Vask autopilot to use MiniMax M3 (replaces OpenAI for AI suggestions).",
|
|
"minimax_enable": "Enable MiniMax",
|
|
"minimax_enable_desc": "Activate the MiniMax integration used by the XL Vask autopilot and other AI features.",
|
|
"minimax_api_key": "MiniMax API key",
|
|
"minimax_api_key_desc": "The secret key for MiniMax. Obtain it from the MiniMax Portal; rotate or remove it from this page.",
|
|
"minimax_api_key_placeholder": "Paste your MiniMax API key",
|
|
"minimax_api_key_required": "An API key is required.",
|
|
"minimax_reauthenticate": "Re-authenticate",
|
|
"minimax_reauth_title": "Re-authenticate MiniMax",
|
|
"minimax_reauth_desc": "Paste a new MiniMax API key. This replaces the stored key.",
|
|
"minimax_reauth_confirm": "Save key",
|
|
"minimax_reauth_in_progress": "Saving…",
|
|
"minimax_reauth_success": "MiniMax key saved",
|
|
"minimax_reauth_success_desc": "The XL Vask autopilot will use the new key on its next call.",
|
|
"minimax_reauth_failed": "Could not save MiniMax key",
|
|
"minimax_remove": "Remove",
|
|
"minimax_remove_title": "Remove MiniMax key",
|
|
"minimax_remove_desc": "Clear the stored MiniMax API key. The autopilot will stop using MiniMax until a new key is provided.",
|
|
"minimax_remove_confirm": "Yes, remove",
|
|
"minimax_remove_in_progress": "Removing…",
|
|
"minimax_remove_success": "MiniMax key removed",
|
|
"minimax_remove_success_desc": "The autopilot is now forced off until a new key is configured.",
|
|
"minimax_remove_failed": "Could not remove MiniMax key"
|
|
}
|
|
}
|
|
}
|
|
}
|