Почему не все мои элементы управления и формы WinForm локализуются?

StackOverflow https://stackoverflow.com/questions/127929

  •  02-07-2019
  •  | 
  •  

Вопрос

Приветствую всех,

Я пытаюсь локализовать проект .NET/C#.Я использую файлы строковых ресурсов и устанавливаю для свойства «Localizable» во всех моих формах значение «True».Культура сборки пуста.Файлы resx/resource успешно передаются через Lingobit, resgen и другие.

При запуске локализованных исполняемых файлов некоторый из моих форм не локализованы (те, в которых, как я знаю, установлен флаг Localizable), в то время как другие есть.Есть даже несколько форм, которые локализованы, но одна-две кнопки — нет.Я не могу отличить нелокализованные формы/элементы управления от локализованных.

Кто-нибудь знает, что мне может не хватать?Спасибо!

Это было полезно?

Решение

Когда вы открываете форму в Visual Studio и меняете свойство Language формы на язык, на который вы осуществляете локализацию, существует ли там та же проблема?Может ли быть возможно, что нелокализованные формы/кнопки по-прежнему имеют английский текст даже в локализованных ресурсах?

Другие советы

Да, я бы согласился с Энди и с подозрением отнесся к содержимому файлов ресурсов.Некоторое время мы баловались локализацией и столкнулись с рядом проблем, но это явно не была одна из них.

Если это не так, то как вы тестируете свое приложение?Если вы еще этого не пробовали, я бы предложил запустить набор виртуальных машин с установленными версиями Windows на иностранных языках (вместо того, чтобы просто менять языковые настройки на вашем компьютере) и посмотреть, имеет ли это какое-либо значение.

Хорошо, я понял это.Ребята, вы были правы.Мы неправильно генерировали переведенные файлы resx из Lingobit.Некоторые файлы будут переведены, в то время как у других в resx останется английский текст.

Спасибо за вашу помощь!

РЕДАКТИРОВАТЬ:Чтобы подробнее рассказать об этом, мы специально испортили команду al.exe, которая берет двоичный файл .resources и создает вспомогательную сборку, добавляя ее в манифест исполняемого файла.В команде /embed вам необходимо привязать файл ресурсов к пространству имен.Наши пространства имен верхнего уровня были сопоставлены правильно, но мы не привязывались к пространствам имен подуровня во всех файлах ресурсов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top