Teams Bot Localization & i18n for Global Operations Prompt
Design localization (i18n) for a Microsoft Teams bot serving global SRE / IT teams — language detection, message templates, RTL support, time-zone formatting, and translation review.
- Target user
- Backend engineers building Teams bots for multi-region orgs
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior backend engineer who has shipped Teams bots used in 15+ languages across global SRE and IT operations teams, balancing translation quality with operational signal.
I will provide:
- Target languages + regions
- Bot architecture
- Translation source (in-house translators / DeepL / Azure Translator / community)
- Critical content (operational alerts must be unambiguous)
- Pain points (mistranslations of severity, missing locale-specific formatting)
Your job:
1. **What MUST be localized**:
- User-facing bot messages
- Help text + slash command descriptions
- Form labels + validation messages
- Notification message text
- Date / time / number / currency formatting
- Confirmation prompts ("Are you sure?")
- Adaptive Card text content
2. **What MUST NOT be localized**:
- Severity levels (SEV1, SEV2 are universal)
- Command syntax (`/kubectl get pods` doesn't translate)
- URLs, channel names, file paths
- Identifiers (user IDs, ticket numbers, log message IDs)
- Technical terms that have universal meaning (kubectl, Helm, namespace)
3. **Translation source strategy**:
- **Tier 1** (top 3-5 languages, high coverage): in-house translators or paid agency review
- **Tier 2** (next ~10 languages): machine translation with native-speaker review
- **Tier 3** (long tail): machine translation only, with a "report bad translation" link
- All tiers: translation memory + glossary for consistency
4. **Language detection** — bot picks the user's language:
- **Per-user locale** from Graph (`/me`, `mailboxSettings.language`)
- **Channel default** if channel has a configured language
- **Tenant default** as fallback
- **English fallback** if user locale is unsupported (with notice)
5. **Message templates** — use ICU MessageFormat / fluent / similar:
- Pluralization rules per language
- Gender (for languages that require)
- Number formatting (1,000 vs 1.000 vs 1 000)
- Date formats (MDY vs DMY vs YMD)
- Time formats (12h vs 24h)
6. **Adaptive Card localization**:
- Card text fully translated
- Card actions (buttons) translated
- Layout adapts to text expansion (German is ~30% longer than English; design for it)
- Right-to-left (RTL) language support: Arabic, Hebrew — Adaptive Cards support `rtl: true`
7. **Operational content — extra care**:
- Severity labels: keep universal (SEV1 / SEV2)
- But contextual messages around them ARE localized: "🚨 SEV1 alert in <Russian text> is firing"
- Numbers in metrics: use locale formatting (1.5 GB vs 1,5 GB)
- Time zones: include both UTC AND user's local time
- Quantities: "5 hosts affected" — pluralize correctly
8. **Quality assurance**:
- Translation memory ensures consistency
- Glossary enforces specific terms (your-product-name doesn't get translated)
- Native speaker review before promoting to Tier 1
- "Report bad translation" button on every bot message
- Track FP rate per language
9. **Fallback behaviors**:
- Missing translation → English with a notice "translation pending"
- Mistranslation reported → fallback to English for that key until fixed
- Locale not supported → English with offer to enable
10. **Anti-patterns to avoid**:
- String concatenation that breaks word order in target languages
- Hard-coded English strings in code
- Date strings formatted manually (use locale-aware library)
- Assuming LTR layout
- Localizing technical commands or identifiers
11. **Compliance** — translations of compliance-relevant messages (consent, retention notice) require legal review, not just translation review.
Output as: (a) what-to-localize matrix, (b) tiered translation strategy, (c) language detection logic, (d) message format pattern, (e) Adaptive Card layout adaptations, (f) operational content guidelines, (g) QA process, (h) fallback rules.
Bias toward: consistent operational signal across languages, native-speaker review for top languages, graceful fallback, never break technical identifiers.
Run this prompt with AI
Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.
Related prompts
-
Embed Grafana Panel Images in Teams Adaptive Cards Prompt
Design an Adaptive Card that renders Grafana panel snapshots as an ImageSet/Image so on-call engineers see live dashboard visuals inside a Teams alert without leaving the channel.
-
Design a Discoverable Teams Bot Command Menu in the Manifest Prompt
Define the bot command menu in the Teams app manifest so ChatOps commands are discoverable in the compose box, with clear scopes, parameter hints, and a help fallback that reduces support tickets.
-
Audit Teams Membership and Ownership via Graph Prompt
Generate a Microsoft Graph audit script that reports owners, members, and guests across every Team so you can catch ownerless teams, over-privileged guests, and stale service teams before they become a compliance finding.
-
Adaptive Card Localization and RTL Formatting Prompt
Localize Adaptive Cards across languages including right-to-left layout, date/number formatting, and string externalization
More Microsoft Teams prompts & error guides
Browse every Microsoft Teams prompt and troubleshooting guide in one place.
Reading prompts? Get all 500 in one free PDF
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.