Back to Sylius

Removal of Language Flags from the UI

adr/2024_11_28_languages_flags.md

2.2.52.5 KB
Original Source

Removal of Language Flags from the UI

  • Status: Accepted
  • Date: 2024-11-28

Context and Problem Statement

The use of flags alongside language selection in the application UI has caused usability and consistency issues. Flags do not always accurately represent languages, especially in cases where:

  1. A language is used in multiple countries, leading to ambiguity.
  2. The regional variation of a language (e.g., "English (Germany)") is represented by the region’s flag, which may mislead users.

This raises the question: How can we ensure a clear and consistent language selection experience while avoiding potential confusion or technical complexity?

Decision Drivers

  • User Experience: Avoid user confusion and ensure clarity in language selection.
  • Aesthetic Appeal: Maintain a visually pleasing interface where possible.
  • Technical Simplicity: Minimize implementation and maintenance overhead.
  • Consistency: Provide a uniform and predictable experience across all languages.

Considered Options

Option 1: Do Not Display Flags When Country Information Is Unavailable

If a country is not associated with the selected language, omit the flag entirely instead of displaying a placeholder or blank flag.

  • Good, because it avoids misrepresentation and is straightforward to implement.
  • Bad, because the absence of a flag may reduce the interface's visual appeal.

Option 2: Manually Assign Flags to Languages Without Countries

Create a custom mapping of flags for languages not tied to specific countries.

  • Good, because it ensures every language has a flag and retains visual appeal.
  • Bad, because it introduces maintenance overhead, increases code complexity, and may cause disagreements over appropriate flag assignments.

Option 3: Remove Flags Entirely

Eliminate flags from the language selection UI, relying solely on language names.

  • Good, because it simplifies implementation and maintenance, avoids all ambiguity, and ensures consistency.
  • Bad, because it sacrifices the aesthetic appeal of flags, which some users may prefer.

Decision Outcome

Chosen option: Option 3: Remove Flags Entirely, because it resolves all ambiguity and ensures a consistent and straightforward language selection experience. This approach reduces maintenance complexity and eliminates the risk of incorrect or misleading flag assignments.

References