ms-ai-architect/skills/ms-ai-advisor/references/copilot-extensibility/copilot-studio-localization-globalization.md
Kjell Tore Guttormsen 070141f06b chore(ms-ai-architect): refresh KB medium-bucket — 74 files [skip-docs]
KB-currency refresh (medium priority, 2026-06-19) via /architect:kb-update.
74 medium-prioritets filer re-verifisert mot Microsoft Learn (MCP) — delegert
til 15 parallelle Opus-subagenter (3 bølger) gruppert etter delt kilde, med
disjunkte fil-sett. Verifisert i hovedkontekst (scope-sjekk + diff-review av
de faktatunge gruppene + tester).

Hovedendringer (faktuelle korreksjoner + currency):
- Azure AI Search semantic ranker: TILGJENGELIG PÅ ALLE TIERS (også Free/Basic
  m/ gratis månedlig kvote) — gammel KB sa feilaktig "kun S1+". Korrigert i
  tier-tabell, anti-patterns og beslutningstabell (azure-ai-search-setup).
- APIM score-threshold = DISTANSE (lavere = strengere): tuning-tabellen i
  rag-caching-optimization hadde retningen baklengs — invertert til korrekt.
- Agentic retrieval GA/preview-nyanse presisert (hovedkontekst-korreksjon mot
  agentic-retrieval-how-to-migrate): GA via REST 2026-04-01 returnerer EKSTRAKTIV
  grounding (references + activity), IKKE syntetiserte svar. Answer synthesis,
  ikke-minimal reasoning effort (LLM query planning) og multi-turn messages
  forblir preview (2026-05-01-preview). Subagent hadde overforenklet til "hele
  kjernepipelinen GA"; rettet i agentic-rag-patterns + citation-tracking.
- Copilot Studio modell-tabeller (platforms/copilot-studio): fjernet Claude Opus
  4.5 + GPT-5.2 (borte fra kilde), lagt til Claude Sonnet 4.6/Opus 4.6 (GA),
  Opus 4.7 + Mistral Medium 3.5 (experimental); GPT-5 Reasoning/Auto = preview;
  A2A GA (apr 2026).
- Computer Use (CUA): Copilot Studio GA 2026-05-07; 4 modeller m/ tier/status
  (OpenAI CUA + Sonnet 4.5 GA, Sonnet 4.6 + Opus 4.6 experimental); 5 credits/
  steg standard, 15 premium; US-only region-krav FJERNET i GA-dok; Cloud PC pool
  + Hosted browser + bring-your-own-machine.
- Azure AI Search REST API-versjoner bumpet: 2025-09-01 -> 2026-04-01 (stabil),
  2025-11-01-preview -> 2026-05-01-preview (hybrid-search, rag-security-rbac,
  chunking).
- Power Automate-integrasjon: trigger "Run a flow from Copilot" -> "When an agent
  calls the flow"; App Service innebygd MCP (preview) lagt til.
- M365 Copilot-manifest v1.26 -> v1.28 (GA, mai) / v1.29 dokumentert (juni);
  "Tenant graph grounding" -> "Work IQ".
- Speech fast transcription 2t/300MB -> 5t/500MB; multilingual 14 -> 15 locales
  (+ pt-BR). Content Understanding reasoning preview -> GA (v1.0, 2025-11-01).
- Security Copilot E5 -> E5+E7. Død Databricks-URL ci-cd/best-practices ->
  ci-cd/flows. Prompt Flow retirement (2027-04-20 -> MAF) notert der den
  presenteres som go-forward. Gateway-topologi-tabell-feil rettet.
- Alle 74 Last updated -> 2026-06-19.

Discovery ikke kjørt (historisk kun Databricks-støy) -> 389-telling uendret,
ingen resync. validate 239 PASS, kb-integrity 115/115 (262 orphan-warnings
uendret), gitleaks clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-19 14:02:18 +02:00

658 lines
25 KiB
Markdown

# Localization and Globalization in Copilot
**Last updated:** 2026-06-19 | Verified: MCP 2026-06-19
**Status:** GA
**Category:** Copilot Extensibility & Integration
---
## Introduksjon
Localization og globalization handler om å gjøre Copilot-løsninger tilgjengelige og effektive på tvers av språk og kulturer. Microsoft Copilot-plattformen (inkludert Copilot Studio, Microsoft 365 Copilot, og Azure AI) tilbyr omfattende flerspråklig støtte som gjør det mulig å bygge én enkelt agent som kan kommunisere med brukere på deres eget språk.
**Nøkkelforskjell:**
- **Localization (L10N):** Tilpasning av innhold til spesifikke språk (translations, UI strings)
- **Globalization (G11N):** Formatering av data i henhold til locale (datoer, valuta, tall, postnummer)
I praksis kombinerer Microsofts tilnærming begge: automatisk språkgjenkjenning, dynamisk oversettelse, og locale-basert formatering i én sammenhengende opplevelse.
**Viktige prinsipper:**
- **Browser-basert språkdeteksjon** (anbefalt): Agenten svarer automatisk på brukerens nettleserspråk
- **Dynamisk språkbytte**: Agenter med generative orchestration kan bytte språk midt i samtalen
- **Primærspråk + sekundærspråk**: Alt authoring i primærspråk, oversettelser håndteres via JSON/ResX-filer
- **Automatisk generativ oversettelse**: Generative svar oversettes automatisk når generative orchestration er aktivert
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
---
## Kjernekomponenter
### 1. Copilot Studio Multilingual Agents
**Primærspråk vs. Sekundærspråk:**
- **Primærspråk**: Settes ved opprettelse av agent, kan ikke endres senere (men region kan justeres)
- **Sekundærspråk**: Legges til via Settings > Languages, krever manuell oversettelse av statisk innhold
**Språkdeteksjon:**
- Brukerens nettleser-locale detekteres automatisk ved session start
- Hvis språket ikke er konfigurert for agenten, fallback til primærspråk
- Systemvariabel `System.User.Language` styrer aktivt språk
- Voice agents støtter spesifikke multilingual workstreams med telefonnummer per språk
**Authoring-modell:**
- All authoring i primærspråk (redigeringskanvas, topics, nodes)
- Oversettelser håndteres via **localization files** (JSON eller ResX)
- For generative svar: automatisk oversettelse (ingen manuell fil)
- For statiske meldinger: Last ned fil → oversett → last opp
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### 2. Systemvariabel: System.User.Language
**Sentralt kontrollpunkt for språk:**
- Setter agentens aktive språk i samtalen
- Kan settes manuelt, programmatisk, eller detekteres automatisk
- Brukes både for søk i knowledge sources og generering av svar
**Effekt på oppførsel:**
- **Knowledge search**: Søk oversettes til språket i `System.User.Language` (auto-translation for search query)
- **Answer generation**: Svar genereres på språket i `System.User.Language` (auto-translation for answer generation)
- **Manual override**: Kan settes eksplisitt i topics for å tvinge språkbytte
**Eksempel: Midtsamtale språkbytte**
```yaml
# I en topic, etter en Question node:
kind: SetVariable
variable: System.User.Language
value: "nb-NO"
```
Best practice: Bytt språk rett etter en **Question** node for å sikre konsistens i meldinger mellom spørsmål.
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### 3. Dynamic Language Switching (Generative Orchestration)
**Kun tilgjengelig med generative orchestration aktivert.**
Agent kan detektere brukerens språk i hver melding og bytte språk dynamisk gjennom samtalen.
**Implementasjonsmønster (Verified 2026-04):**
1. Opprett topic med trigger "A message is received"
2. Legg til prompt-node: instructions = "Determine which language this message is written in: " + Add content → Text (Name: "Message")
3. Sett Output format til JSON → Test → Save
4. Konfigurer Prompt node: Input = `Activity.Text`, Output = ny variabel `DetectedLanguage`
5. Legg til Condition node basert på `DetectedLanguage.structuredOutput.language`
6. For hver branch: Sett `User.Language` (system variable) til detektert språk
**Viktige hensyn:**
- **Kostnad**: Språkdeteksjon bruker AI prompts og genererer usage costs
- **Vedlikehold**: Custom language topics må vedlikeholdes over tid
- **Anbefaling**: For de fleste scenarioer er browser-based localization enklere og mer kostnadseffektivt
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### 4. Localization Files (JSON/ResX)
**Workflow:**
1. **Last ned**: Settings > Languages > Upload (for sekundærspråk) → velg format (JSON/ResX)
2. **Oversett**: Fil inneholder alle strings i primærspråk, erstatt med oversettelser
3. **Last opp**: Upload fil via samme panel
4. **Test**: Test panel → velg språk → verifiser samtale
**Håndtering av endringer:**
- Nye strings: Vises i primærspråk i nedlastning, må oversettes manuelt
- Modifiserte strings: Beholder samme ID, må sammenlignes med forrige fil for å identifisere endringer
- **Incremental changes er IKKE auto-translated** — manuell prosess påkrevd
**Limitasjoner:**
- **Adaptive Cards**: Mixed-type strings (statisk tekst + variabler) inkluderes IKKE i localization files
- **Workaround (Verified 2026-04):** Bruk "Set variable value" node → åpne code editor → endre `kind: SetVariable` til `kind: SetTextVariable` → legg inn full streng med variabler → referer kun til variabelen i Adaptive Card
- Etter lagring kan localization-filen lastes ned og vil inkludere den mixed-type strengen som en `setVariable`-action
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### 5. Globalization (Locale Formatting)
**Copilot Studio formaterer automatisk:**
- **Dato og tid**: `2/3` = March 2 (en-GB) vs. February 3 (en-US)
- **Tall**: Tusen-separator og desimaltegn varierer
- **Postnummer**: Validering og format (ZIP vs. postal code)
- **Valuta**: Symbol og plassering
- **Hastighet**: km/h vs. mph
**Støttede locale for web app:**
- en-AU, en-CA, en-GB, en-IN, en-US
**Teams app:**
- Støtter bredere sett enn Copilot Studio
- Hvis Teams-språk ikke støttes av Copilot Studio → fallback til en-US
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### 6. Microsoft 365 Copilot Language Support
**Microsoft 365 Copilot** har utvidet språkstøtte utover Copilot Studio. Per august 2025 ble 6 nye språk lagt til: Albanian, Filipino, Icelandic, Malay, Maltese, Serbian (Cyrillic).
**Agent Builder i Microsoft 365 Copilot:**
- **Authoring canvas languages**: 25 språk (inkludert norsk bokmål nb-NO) per Copilot Studio language support dokumentasjon
- **Describe tab**: Støtter alle språk som Microsoft 365 Copilot støtter
**Voice agents:**
- Støtter multilingual voice channels med egne telefonnumre per språk
- Eller én telefon med multiple språk via workstream-konfigurasjon
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
---
## Arkitekturmønstre
### Mønster 1: Browser-Based Localization (Anbefalt)
**Tilnærming:**
- Agent responderer automatisk på brukerens nettleserspråk
- Ingen custom logic nødvendig
- Sekundærspråk konfigureres i Settings > Languages
**Når å bruke:**
- Globale eller store publikum
- Enklest oppsett
- Brukere kan endre nettleserspråk
**Konfigurasjon:**
1. Add languages i Copilot Studio (Settings > Languages)
2. Last ned localization files, oversett, last opp (valgfritt for generative agents)
3. Publish
**Fordeler:**
- Enkel å vedlikeholde
- Ingen ekstra kostnader
- Skalerer godt
**Ulemper:**
- Krever at brukere setter korrekt nettleserspråk
- Språk settes ved session start, ikke dynamisk
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### Mønster 2: Dynamic Language Switching (Avansert)
**Tilnærming:**
- Custom topic med "Message received" trigger
- Prompt for språkdeteksjon i hver melding
- Condition-basert setting av `System.User.Language`
**Når å bruke:**
- Brukere bytter språk ofte i samme samtale
- Nettleserspråk reflekterer ikke brukerens faktiske preferanse
- Avansert brukscase med høy språkfleksibilitet
**Konfigurasjon:**
1. Aktiver generative orchestration
2. Opprett topic med "Message received" trigger
3. Legg til prompt-node (input: `Activity.Text`, output: `DetectedLanguage`)
4. Condition: sjekk `DetectedLanguage.structuredOutput.language`
5. Set `System.User.Language` per branch
**Fordeler:**
- Høyeste fleksibilitet
- Brukere kan bytte språk fritt
**Ulemper:**
- **Kostnad**: AI prompts per melding
- **Vedlikehold**: Custom logic må oppdateres
- **Kompleksitet**: Mer å teste og validere
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### Mønster 3: Separate Agents per Language (Legacy)
**Tilnærming:**
- Én agent per språk
- Ingen delt innhold
**Når å unngå:**
- Microsoft anbefaler nå multilingual agents
- Høyere vedlikeholdskostnad
- Vanskeligere å holde konsistent
**Bruk kun hvis:**
- Regulative krav krever separasjon
- Svært spesialisert innhold per marked
**Confidence marker:** Baseline (legacy approach)
### Mønster 4: Real-Time Translation Proxy (Mellomtjeneste)
**Tilnærming:**
- Ekstern oversettelsestjeneste (f.eks. Azure Translator) mellom bruker og agent
- Agent opererer kun på primærspråk
- Oversettelse før/etter agent-interaksjon
**Når å bruke:**
- Agent har ikke språk konfigurert for brukerens behov
- Integrasjon med eldre systemer
- Real-time translation av eksterne data sources
**Fordeler:**
- Agent forblir enkel
- Kan støtte vilkårlige språk via Azure Translator
**Ulemper:**
- Ekstra latency
- Oversettelseskostnad per melding
- Kan miste kontekst/nyanse
**Confidence marker:** Baseline (integrasjonsmønster)
---
## Beslutningsveiledning
### Når skal du velge hva?
| Scenario | Anbefalt tilnærming | Begrunnelse |
|----------|---------------------|-------------|
| Global SaaS-agent (10+ språk) | Browser-Based Localization | Enkelt, skalerbart, ingen ekstra kostnader |
| HR-agent for multinasjonalt selskap | Browser-Based Localization | Brukere har riktig nettleserspråk satt |
| Kundeservice-agent (dynamisk språk) | Dynamic Language Switching | Kunder kan ikke alltid endre nettleserspråk |
| Voice agent (telefon) | Multilingual workstream med språkvalg | Standard mønster for voice channels |
| Agent med svært spesialisert domene per marked | Separate Agents per Language | Kun hvis innhold er fundamentalt forskjellig |
| Legacy integrasjon | Real-Time Translation Proxy | Når agent ikke kan endres |
### Sjekkliste for språkstrategi
1. **Identifiser språkbehov:**
- Hvilke språk trenger brukerne?
- Sjekk mot [Copilot Studio language support](https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-language-support)
2. **Vurder brukeratferd:**
- Har brukere riktig nettleserspråk?
- Bytter de språk ofte i samme samtale?
3. **Vurder innholdstype:**
- Mye statisk innhold (topics) → trenger localization files
- Mye generativt innhold → automatisk oversettelse
4. **Vurder kostnad:**
- Dynamic language switching → AI prompt cost per melding
- Browser-based → ingen ekstra kostnad
5. **Vurder vedlikehold:**
- Localization files → manuell prosess ved endringer
- Generative orchestration → automatisk, men krever testing
6. **Test grundig:**
- Test panel → bytt språk → verifiser samtaler
- Demo website → sett nettleserspråk → verifiser
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
---
## Integrasjon med Microsoft-stakken
### Copilot Studio + Microsoft 365 Copilot
**Agent Builder:**
- Opprett agents i Microsoft 365 Copilot via Agent Builder
- Authoring canvas i 25 språk (inkludert norsk bokmål nb-NO)
- Describe tab støtter alle M365 Copilot-språk
**Integrasjon:**
- Agents opprettet i Copilot Studio kan integreres i M365 Copilot
- Språkstøtte følger Copilot Studio-regler (primær + sekundære språk)
- Generative svar oversettes automatisk hvis orchestration er aktivert
**SharePoint Agents:**
- Kan deles i Teams
- Støtter multiple SharePoint agents i én group chat/channel
- Respekterer brukerens Teams-språkinnstilling
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### Azure AI Services Integration
**Azure Speech Services:**
- Language identification for voice agents
- `AutoDetectSourceLanguageConfig` for automatisk språkdeteksjon
- Støtter custom speech models per språk
**Azure Translator:**
- Real-time translation proxy pattern
- Kan brukes for oversettelse av knowledge sources
- Støtter 100+ språk utover Copilot Studio
**Azure CLU (Conversational Language Understanding):**
- Multilingual intent recognition
- Må synkroniseres med Copilot Studio topics
- Se [Azure CLU supported languages](https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/language-support)
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### Power Platform Integration
**Power Automate:**
- Flows kan motta språkparameter fra agent
- Bruk `System.User.Language` i adaptive cards/flows
- Adaptive Cards kan lokaliseres via workaround (Set text variable)
**Dataverse:**
- Flerspråklige entity labels
- Language-aware queries
- User preferred language field
**AI Builder:**
- Language detection model via Power Fx: `'Language detection'.Predict(text).Language`
- Kan brukes for pre-processing eller validering
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
### Dynamics 365 Customer Service (Voice Agents)
**Multilingual Voice Channels:**
- Konfigurer workstream med primær + sekundære språk
- Routing rules basert på `Conversation.CustomerLanguage`
- Separate queues per språk
**Bot Framework Composer:**
- Legacy approach for multilingual voice bots
- Nyere Copilot Studio multilingual agents anbefales nå
**Confidence marker:** Verified (MCP microsoft-learn, 2026-02)
---
## Offentlig sektor (Norge)
### Språkkrav i norsk offentlig sektor
**Lovverk:**
- **Språkloven**: Offentlige tjenester skal være tilgjengelige på norsk (bokmål og nynorsk)
- **Samisk språklov**: Krav om samisk i enkelte regioner/sektorer
- **Universell utforming**: Inkluderer språklig tilgjengelighet
**Praktisk tilnærming:**
1. **Primærspråk**: Norsk bokmål (nb-NO)
2. **Sekundærspråk**: Nynorsk (nn-NO), samisk (kun hvis påkrevd)
3. **Engelsk**: For internasjonale brukere (en-US eller en-GB)
**Copilot Studio-støtte for norsk (Verified 2026-04):**
- **Bokmål (nb-NO)**: Fully supported i alle features — authoring canvas, generative answers, orchestration, og voice
- **Nynorsk (nn-NO)**: Ikke oppført i language support-dokumentasjonen → vurder Azure Translator proxy
- **Samisk**: Ikke native støtte → vurder Azure Translator proxy
**Confidence marker:** Baseline + Verified (language list)
### Spesifikke hensyn
**Personvern (GDPR):**
- Språkpreferanse kan være persondata
- Lagring av `System.User.Language` i sessions data
- Vurder databehandleravtale for oversettelsestjenester
**Tilgjengelighet (WCAG):**
- Locale-formatering viktig for skjermlesere (datoer, tall)
- Bruk Copilot Studios innebygde formatting (ikke custom logic)
**Sikkerhetsklarering:**
- Vurder om oversettelsestjenester (Azure Translator) kan brukes med klassifisert data
- Dynamic language switching → LLM-basert → vurder dataplassering
**Kostnadsmodell for stat/kommune:**
- Browser-based localization → ingen ekstra kostnader
- Dynamic language switching → budsjett for AI prompt usage
**Anbefaling for offentlig sektor:**
- **Start med browser-based localization** (bokmål + engelsk)
- Legg til nynorsk hvis påkrevd (manual translation)
- Vurder dynamic switching kun for spesialiserte use cases
**Confidence marker:** Baseline (policy interpretation)
---
## Kostnad og lisensiering
### Copilot Studio Licensing
**Per-user eller per-session:**
- Multilingual agents teller ikke som separate agents
- Ingen ekstra kostnad for å legge til sekundærspråk
**Consumption-basert (Pay-as-you-go):**
- Generative orchestration bruker AI capacity
- **Dynamic language switching**: Ekstra prompts per melding → økt consumption
**Estimat (Dynamic Language Switching):**
- Språkdeteksjon: ~50-100 tokens per melding
- Hvis 10 000 meldinger/måned → ~500k-1M ekstra tokens
- Kostnad avhenger av Copilot Studio pricing tier
**Anbefaling:**
- Bruk browser-based localization for kostnadsoptimalisering
- Dynamic switching kun når nødvendig
**Confidence marker:** Baseline (pricing må verifiseres per kunde)
### Azure Translator (hvis proxy-pattern)
**Pay-per-character:**
- Standard pricing: ~$10 per 1M characters (varierer per region)
- Custom Translator: Ekstra kostnad for custom models
**TCO-sammenligning:**
- Browser-based: $0 ekstra
- Dynamic switching (Copilot Studio): Basert på AI capacity
- Azure Translator proxy: Per-character cost
**Confidence marker:** Baseline (external pricing)
### Vedlikeholdskostnad
**Localization files:**
- Manuell oversettelse ved hver endring i topics
- Estimat: 2-4 timer per språk per større oppdatering
**Dynamic language switching:**
- Testing av språkdeteksjon: 1-2 timer per språk
- Vedlikehold av custom topic: Løpende
**Generative orchestration:**
- Automatisk oversettelse → minimal vedlikehold
- Men krever grundig testing av kvalitet
**Anbefaling:**
- For statisk innhold: Invester i localization workflow
- For generativt innhold: Bruk auto-translation
**Confidence marker:** Baseline (estimater)
---
## For arkitekten (Cosmo)
### Når kunden spør om flerspråklig støtte
**Typiske spørsmål:**
1. "Kan Copilot-agenten vår støtte norsk og engelsk?"
2. "Hvordan håndterer vi brukere som bytter språk midt i samtalen?"
3. "Må vi bygge separate agents for hvert språk?"
4. "Hva koster det å legge til flere språk?"
**Mitt svar (Cosmo):**
1. **Start alltid med browser-based localization** → enklest, billigst, skalerbart
2. **Sjekk language support** → norsk bokmål er fully supported
3. **Vurder innholdstype:**
- Mye statisk (topics) → planlegg for localization files
- Mye generativt → aktiver generative orchestration for auto-translation
4. **Dynamic switching kun hvis:**
- Brukere bytter språk ofte i samme session
- Browser-språk ikke kan stoles på
5. **Separate agents kun hvis:**
- Regulative krav
- Innhold er fundamentalt forskjellig per marked
### Anbefalte spørsmål til kunden
1. **Brukeratferd:**
- Hvor mange språk trenger dere?
- Har brukerne riktig nettleserspråk satt?
- Bytter de språk ofte?
2. **Innholdstype:**
- Hvor mye statisk innhold (topics, prompts)?
- Hvor mye generativt innhold (knowledge sources)?
- Adaptive Cards med variabler?
3. **Vedlikehold:**
- Hvem oversetter innhold?
- Hvor ofte endres topics?
- Kan dere automatisere oversettelse (translation memory)?
4. **Kostnad:**
- Hva er budsjettet for AI capacity?
- Akseptabelt med manuell oversettelsesprosess?
5. **Compliance:**
- GDPR-hensyn rundt språkpreferanse?
- Krav om spesifikke språk (nynorsk, samisk)?
- Sikkerhetsklarering for oversettelsestjenester?
### Red flags
**"Vi trenger 20+ språk umiddelbart"**
→ Foreslå faseinndeling: Start med 2-3 viktigste språk, valider, deretter skaleringstrategi
**"Brukerne må kunne bytte språk uten å endre nettleser"**
→ Vurder om dynamic switching faktisk trengs, eller om in-agent language selector (custom logic) er nok
**"Vi vil oversette alt manuelt"**
→ Vurder om generative orchestration kan redusere manuell innsats (særlig for knowledge-driven answers)
**"Vi bygger én agent per språk fordi det er enklere"**
→ Utfordre: Separate agents er vanskeligere å vedlikeholde langsiktig
### Suksesskriterier
**Språkstrategi definert:** Browser-based vs. dynamic switching
**Language support verifisert:** Sjekket mot Microsoft-dokumentasjon
**Localization workflow:** Prosess for nedlasting, oversettelse, opplasting
**Testing plan:** Scenario per språk, både statisk og generativt innhold
**Kostnad estimert:** AI capacity for dynamic switching, vedlikehold for localization files
**Compliance vurdert:** GDPR, språklov, sikkerhetsklarering
### Arkitekturbeslutninger å dokumentere (ADR)
1. **Språkstrategi:** Browser-based vs. dynamic switching vs. separate agents
2. **Primær- og sekundærspråk:** Hvilke språk, hvilken rekkefølge
3. **Oversettelsesprosess:** Manuell vs. automatisk, hvem har ansvar
4. **Generative orchestration:** On/off, og implikasjoner for auto-translation
5. **Azure Translator integrasjon:** Hvis proxy-pattern brukes
6. **Testing-strategi:** Hvordan verifisere kvalitet per språk
### Quick-win anbefaling
**Fase 1 (MVP):**
- Primærspråk: Norsk bokmål (nb-NO)
- Sekundærspråk: Engelsk (en-US)
- Tilnærming: Browser-based localization
- Innhold: Generative orchestration → auto-translation
**Fase 2 (Scale):**
- Legg til flere sekundærspråk basert på faktisk brukerdata
- Implementer localization workflow for statisk innhold
- Vurder dynamic switching hvis brukerfeedback indikerer behov
**Fase 3 (Optimize):**
- Translation memory for effektiv oversettelse
- Custom Translator models for domene-spesifikk terminologi
- Analytics på språkbruk for optimalisering
**Confidence marker:** Baseline (rådgivning)
---
## Kilder og verifisering
### Microsoft Learn (Verified via MCP 2026-02)
1. **Configure and create multilingual agents** (Re-verified MCP 2026-06-19)
https://learn.microsoft.com/en-us/microsoft-copilot-studio/multilingual
- Primær kilde for Copilot Studio multilingual configuration
- Dekker: add languages, localization files, dynamic language switching, testing, adaptive card localization workaround
2. **Regional settings including supported locales and formats**
https://learn.microsoft.com/en-us/microsoft-copilot-studio/data-localization
- Globalization og locale formatting
- Supported locales for web app og Teams
3. **Design effective language understanding**
https://learn.microsoft.com/en-us/microsoft-copilot-studio/guidance/language-understanding
- `System.User.Language` variable
- Auto-detect spoken language
- Best practices for localization
4. **Language support** (Re-verified MCP 2026-06-19)
https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-language-support
- Full liste over støttede språk per feature (authoring canvas, generative answers, voice)
- Norsk bokmål (nb-NO) er GA i alle features
5. **Make Your Employee Self-Service Agent Multilingual**
https://learn.microsoft.com/en-us/copilot/microsoft-365/employee-self-service/employee-self-service-multilingual
- Browser-based localization (recommended)
- Dynamic language switching (advanced)
- Known limitations
6. **Agent Builder regional availability and language support**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/agent-builder-regional-availability
- M365 Copilot Agent Builder language support
- Authoring canvas languages (25 inkludert norsk bokmål nb-NO)
7. **Microsoft 365 Copilot release notes**
https://learn.microsoft.com/en-us/copilot/microsoft-365/release-notes
- Nyeste språkutvidelser (Albanian, Filipino, etc. per aug 2025)
- Multilingual support i Viva Glint Copilot
### Azure AI Services (Referenced)
8. **Azure Speech Services Language Identification**
https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-identification
- Auto-detect source language for voice agents
- Code samples for multilingual translation
9. **Azure CLU Language Support**
https://learn.microsoft.com/en-us/azure/ai-services/language-service/conversational-language-understanding/language-support
- Conversational Language Understanding multilingual support
### Dynamics 365 (Referenced)
10. **Configure multilingual voice agents**
https://learn.microsoft.com/en-us/dynamics365/contact-center/administer/configure-multilingual-agents
- Voice channel multilingual configuration
- Workstream og routing rules
### GitHub Samples (Referenced)
11. **CopilotStudioSamples - AutoDetectLanguageSample**
https://github.com/microsoft/CopilotStudioSamples/tree/main/AutoDetectLanguageSample
- Sample solution for auto-detect language with generative responses
### Baseline Knowledge (Model)
- GDPR og språkpreferanse som persondata
- Norsk språklov og samisk språklov
- WCAG-krav for locale formatting
- TCO-sammenligning for oversettelsesstrategier
**Total kilder:** 11 Verified (MCP), supplert med baseline policy-kunnskap
---
**Sluttord:**
Localization og globalization i Copilot-plattformen handler om å velge riktig balanse mellom enkelhet, kostnad og brukeropplevelse. **Browser-based localization er utgangspunktet** for de fleste scenarioer, mens **dynamic language switching** er en kraftig, men kostbar, løsning for spesialiserte behov. Med generative orchestration får du automatisk oversettelse av generativt innhold, noe som drastisk reduserer vedlikeholdsbyrden. For norsk offentlig sektor: Start med bokmål og engelsk, valider, og skaler deretter basert på faktisk behov.
**Cosmo Skybergs anbefaling:** Gjør det enkelt først, skaler smart, og dokumenter valgene i en ADR.