# Localization and Globalization in Copilot

**Last updated:** 2026-02
**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:**
1. Opprett topic med trigger "A message is received"
2. Legg til prompt-node med instruksjon: "Determine which language this message is written in"
3. Send `Activity.Text` (incoming message) som input
4. Output: JSON med property `language`
5. Legg til Condition node som sjekker `DetectedLanguage.structuredOutput.language`
6. For hver branch: Sett `System.User.Language` 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**: Bruk "Set text variable" node (via code editor) for å lagre hele strengen med variabler, referer kun til variabel i Adaptive Card

**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**: 26 språk (inkludert norsk bokmål nb-NO)
- **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 26 språk (inkludert norsk)
- 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:**
- **Bokmål (nb-NO)**: Fully supported (authoring + conversation)
- **Nynorsk (nn-NO)**: Sjekk language support-dokumentasjon (kan være preview)
- **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**
   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

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**
   https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-language-support
   - Full liste over støttede språk per feature
   - Authoring canvas vs. conversational experience

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 (26 inkludert norsk)

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.
