Мне нужен способ использовать третий «слой» файла ресурсов, специфичного для культуры. Это можно сделать так, как должно быть, и, возможно, каким-то образом взломали. И пока хак не слишком велик, все в порядке! Другое решение также возможно (если я неправильно подхожу к проблеме, скажите, пожалуйста, лучшее решение).Три слоя файлов ресурсов, специфичных для культуры
Обычно у вас есть файл ресурсов по умолчанию, который работает как резерв. Кроме того, у вас может быть специфический для культуры ресурс для языка. Теперь то, что я хочу, является специфическим ресурсом темы.
Дело в том, что у нас есть несколько сайтов с разными темами (лошади, автомобили, rc-units и т. Д.), И когда мы используем строку из файла локализованного ресурса, если ресурс не переводится в определенный язык пока, это будет возврат к английскому языку, который является языком по умолчанию. Круто!
Пример проблемы: У нас есть фраза «Добавить свою лошадь» и «Добавить свой автомобиль», и это может показаться одним и тем же (когда речь заходит о грамматике) на английском языке, но это не обязательно так на польском или румынском!
Таким образом, я думаю, что мы должны, если возможно, иметь английский файл с «Добавить ваш {0}», а затем польский файл с эквивалентным предложением на польском языке, кроме того, перевод, где грамматика подходит для слова «Автомобиль» и «Лошадь», специфический польский перевод, где грамматика подходит для слова «Лошадь».
Проблема может быть не так плохо с двумя или тремя темами на двух или трех языках. Было бы легко подумать, что мы могли бы просто переключиться на код, обрабатывающий эти несколько случаев. Дело в том, что у нас есть 15 тем, на 6 разных языках и расширяются.
Надеюсь на некоторые аккуратные хаки или знания некоторых редких экзотических особенностей!
Заранее спасибо
Это звучит слишком запутанным, и легко может стать неуправляемым. Почему бы не придерживаться стандартного подхода и не добавить «Добавить свой автомобиль» и «Добавить свою лошадь» в две полностью отдельные строки? – andreister
Тогда я также понадоблюсь: * Добавить ваш гс-блок * Добавить трактор * Добавить кошки * Добавить собаку * Добавить корвет Три строки для немецких, десяти строк для датского, три для французского, и, наконец, для румынского, испанского, польского и австрийского языков. Мы также планируем дальнейшее расширение (в настоящее время четыре новых сайта поставлены в очередь) – f2lollpll
Ваш конкретный пример работы _might_, предполагающий, что вы готовы рассматривать различия полов/склонения/etc, вносимые конкретными словами (как ThoBa упоминает в своем ответе): т. е. вместо «добавить свой {0}» вам понадобится более универсальный шаблон, например «добавьте ваш [женский] {0}», «добавьте ваш [мужской] {0}» и т. д., все языковые - как я уже сказал, это быстро станет кошмаром. Строки должны быть такими же простыми и легкими в переводе, насколько это возможно - время переводчиков обычно менее дорогое, чем время разработчиков, затрачиваемое на сортировку проблем локализации и внедрение суровых решений. – andreister