Я работаю над приложением (.NET, но не актуально), в котором существует большой потенциал для дублирования ресурсов / строк - большинство этих строк просты, например:
- Объем: 33
- Громкость: 33 (дБ)
- Громкость
- 33 дБ
- Громкость (дБ)
- Команда - Громкость: 33 (дБ)
, где X, Y и единица измерения одинаковы.
Должен ли я определять новый ресурс для каждой строки или предпочтительно использовать String.Format для упрощения некоторых из этих, например ::
String.Format("{0}: {1}", Resource.Volume, 33)
String.Format("{0}: {1} {2}", Resource.Volume, 33, Resource.dB)
Resource.Volume
String.Format("{0} ({1})", 33, Resource.dB)
String.Format("{0} ({1})", Resource.Volume, Resource.dB)
String.Format("Command - {0}: {1} {2}", Resource.Volume, 33, Resource.dB)
Я бы также определил строковые форматы, такие как "{0}: {1}" в ресурсах, чтобы была возможность изменить порядок слов ...
Я бы использовал этот подход избирательно, а не во всем приложении.
А как насчет:
String.Format("{0}: {1}", Volume, Resource.Muted_Volume)
// = Volume: Muted
Resource.Muted_Volume
String.Format("{0}: {1} (by user {2})", Volume, Resource.Muted_Volume, "xy")
// = Volume: Muted (by user xy)
Как насчет простых случаев, таких как «Пользователь» против «Пользователь»: «против» Пользователь -«?Можете ли вы представить себе какую-либо культуру, в которой символ «:» будет находиться в другом месте или, возможно, будет использоваться другой символ?
Преимущество заключается в сокращении количества ресурсов в 2-3 раза в моем приложении.
Есть ли скрытые опасности использования этого подхода?Может ли кто-нибудь привести пример (язык / культура), где это не будет работать правильно?