Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Format Localized App Messages

EasyPython00:00
I
Practice interviewer
Your interviewer
In session
I
Interviewer

Welcome to the Python screen.

The question is on your right: Format Localized App Messages. Read through the requirements first.

Run and submit your code as often as you need. You also have five interviewer messages this session - want to talk through your approach, or are you ready to start coding?

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