Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Format Localized App Messages

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Format Localized App Messages. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

A global mobile app stores message templates for different locales. Implement a formatter that selects the best available localized template and replaces placeholders with provided values.

Write a function format_message(translations, locale, key, params) that returns the formatted string for a message key.

Formal Specification

  • Input:
    • translations: a dictionary where each locale maps to another dictionary of message keys to template strings
    • locale: a locale string such as "en-US" or "fr-CA"
    • key: the message key to render
    • params: a dictionary of placeholder names to replacement values
  • Output:
    • A formatted string using this fallback order:
      1. exact locale match
      2. base language match (for example, en for en-US)
      3. default locale en
      4. the raw key if no template exists

Placeholders use {name} syntax. Replace only placeholders present in params; leave unknown placeholders unchanged.

Constraints

  • 1 <= number of locales <= 10^3
  • 1 <= number of keys across all locales <= 10^4
  • 0 <= number of params <= 50
  • Locale strings may include a base language and region separated by -
  • Template placeholders use {placeholder} syntax

Function Signature

def format_message(translations, locale, key, params):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output