Мне было интересно, какой тип структур данных и шаблонов проектирования используется при реализации чего-то вроде CSS, где вы можете указать форматирование или какое-либо другое свойство на разных уровнях детализации.
Один конкретный пример, над которым я сейчас работаю, связан с интернационализацией приложения.
Прежде всего, английский является языком по умолчанию, но приложение будет использоваться в двух разных регионах: в Северной и Южной Америке и Европе. В большинстве случаев различные фрагменты текста и надписи будут одинаковыми между двумя регионами, но в некоторых случаях технические термины будут различаться в зависимости от региона. При переводе текста на другой язык некоторые из них сохраняют оригинальный английский текст для региона.
Таким образом, поиск текста для ярлыка будет работать следующим образом. Посмотрите на конкретную комбинацию региона и языка. Если ничего нет, посмотрите только на язык. Если ничего, посмотрите на сочетание английского и региона. Если ничего, посмотрите только на английский.
Я ищу наилучшие способы хранения данных этого типа в базе данных, а также в структуре данных в коде. Либо в этом конкретном случае, либо в целом для подобных ситуаций.