Какой API или инструменты вы используете для изменения языка в форме C #? [Дубликат]

Если вы используете сервлет doGet, попробуйте это

request.getParameterMap()

Возвращает java.util.Map параметров этого запроса.

Возвращает: неизменяемая java.util.Map, содержащая имена параметров в качестве ключей и значений параметров в качестве значений карты. Ключи в карте параметров имеют тип String. Значения в карте параметров имеют тип String array.

( Java doc )

2
задан John Arlen 3 April 2012 в 15:04
поделиться

4 ответа

Можно локализовать экземпляры System.Windows.Forms.Form, используя свойство Localizable. Затем это позволяет свойство Language, позволяющее вам изменить локаль по мере необходимости для внесения изменений в форму. Эти поправки затем сохраняются в файлах ресурсов, суффиксах которых соответствует локаль (точно так же, как и стандартные файлы ресурсов). Затем они компилируются в спутниковые сборки, а остальные обрабатываются с помощью CLR.

Я видел, что это использовалось со смешанным успехом - конструктор VS имеет проблемы с списками изображений, если я помню.

http://msdn.microsoft.com/en-us/library/y99d1cd3 (v = vs.100) .aspx

Есть преимущества, связанные с переводом ваших собственных, однако UI часто всегда является основным препятствием для этого маршрута.

1
ответ дан Adam Houldsworth 19 August 2018 в 12:49
поделиться

Вы можете использовать свойство Localizable Winforms.

CodeProject имеет приятную прогулку.

Мы распустили ресурсы в нескольких файлах ресурсов, некоторые из них были локализованы, а некоторые из них были стандартными (не отображаемые строки). Затем мы использовали Resourcemanager для управления строками.

0
ответ дан Anurag Ranjhan 19 August 2018 в 12:49
поделиться

Если вы хотите изменить язык на лету, не перезапуская приложение, вам нужно использовать такую ​​функцию в сочетании с тем, что сказали вам ребята.

//refresh all the controls e sub-controls of the form 
private void RefreshResources(Control ctrl, ComponentResourceManager res)
{
    ctrl.SuspendLayout();

    res.ApplyResources(ctrl, ctrl.Name, CurrentLocale);

    foreach (Control control in ctrl.Controls)

    RefreshResources(control, res); // recursion
    ctrl.ResumeLayout(false);
}

Если вы хотите получить более полную пример проверить мой блог

1
ответ дан Jason Sturges 19 August 2018 в 12:49
поделиться

Я думаю, что вы должны использовать другой подход.

Для каждой из ваших форм, которые вы хотите локализовать, перейдите к свойствам формы и установите для свойства Localizable значение true.

Затем из свойства Language droplist выберите язык, который вы хотите поддержать, и введите соответствующий текст.

Промойте и повторите для каждого языка.

Для таблицы строк вы может добавить новый файл Resources...resx для каждого языка (например, Resources.de.resx для немецкого языка)

1
ответ дан Matthew Watson 19 August 2018 в 12:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: