Название культуры с использованием подчеркивания вместо тире
В C#
Я могу создавать файлы resx для разных языков / культур, используя постоянное соглашение об именах ISO (т.е. Strings.resx
, Strings.en-GB.resx
, Strings.fr.resx
). Когда я компилирую, я получаю соответствующие папки для каждого из файлов resx для конкретной культуры. Моя дилемма заключается в использовании соглашения об именах.
MS использует "формат languagecode2-country/regioncode2, где languagecode2 - это двухбуквенный код в нижнем регистре, полученный из ISO 639-1
и country / regioncode2 - это двухбуквенный код в верхнем регистре, полученный из ISO 3166
".
Из-за некоторых взаимодействий с другими компонентами в моей компании, над которыми у меня мало контроля, мне нужно использовать подчеркивание (_), например: languagecode2_country/regioncode2. Например, вместо "en-GB"
, Я нуждаюсь "en_GB"
, Цель - заставить мое приложение искать файл ресурсов в папке с именем en_GB
всякий раз, когда культура в системе установлена "en-GB"
,
Это возможно? Я не нашел спецификации ISO для разделителя, поэтому, если она там есть, я могу использовать ее в качестве боеприпасов, чтобы исправить реальную проблему и следовать стандарту среди других компонентов, которые я использую.
Обратите внимание: когда я получаю доступ к локализованному ресурсу в приложении, я делаю это через автоматически сгенерированное свойство вdesigner.cs
файл, поэтому я не могу просто заменить "en-GB"
с "en_GB"
,