Поделиться через


Практическое руководство. Локализация решений Excel

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office.

Тип проекта

  • Проекты уровня документа

Версия Microsoft Office

  • Excel 2003

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Основной частью локализации является перевод пользовательского интерфейса Вашего приложения на другой язык. Например, все строки можно хранить в отдельном файле и не программировать их жестко в исходном коде приложения. Можно хранить строки для элементов пользовательского интерфейса Microsoft Office Excel в файле ресурсов проектной сборки по умолчанию. Файл называется MyResources.resx в проектах Visual Basic и Resources.resx в проектах C#. Содержимое файла ресурсов копируется и может быть переведено на несколько языков.

ms178762.alert_note(ru-ru,VS.90).gifПримечание.

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

Сохранение текста в файле ресурсов

Добавление текста в файл ресурсов

  1. Откройте проект Excel, который необходимо локализовать.

  2. В меню Проект выберите Свойства <ИмяПроекта>.

    Откроется Конструктор проектов.

  3. Щелкните Ресурсы в Конструкторе проекта, чтобы открыть панель Ресурсы.

  4. Выберите Строки в поле с текстом Категории.

  5. Добавьте уникальный идентификатор в столбец Имя и текст, который нужно локализовать, в колонку Значение для каждой строки, которую нужно локализовать. Например:

    Имя

    Значение

    ListCreateUnscheduledOrder

    Создание несвязанного порядка.

    ms178762.alert_note(ru-ru,VS.90).gifПримечание.

    Можно использовать столбец Комментарий для предоставления заметок или инструкций переводчику.

Извлечение текста из файла ресурсов

После добавления каждой строки в файл ресурсов, строки можно загружать во время выполнения.

Чтобы добавить значение в ячейку при помощи файла ресурсов:

  1. В обработчик событий Startup события Sheet1 добавьте NamedRange элемент управления в ячейку A1.

    Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
        Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
    
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", missing], "namedRange1");
    
  2. Присвойте значение из файла ресурсов.

    namedRange1.Value2 = My.Resources.ListCreateUnscheduledOrder
    
    namedRange1.Value2 = Properties.Resources.ListCreateUnscheduledOrder;
    

Локализация файла ресурсов

Для локализации файла ресурсов:

  1. Скопируйте файл ресурсов и назовите его с использованием кода исходного языка. Например, чтобы создать файл, который будет локализован на японский, скопируйте Resources.resx file и назовите его Resources.ja.resx.

  2. Файл ресурсов необходимо перевести на поддерживаемые языки. Например, строки в Resources.ja.resx следует перевести на японский.

  3. Добавьте переведенный файл ресурсов в ваш проект, чтобы система проектов могла компилировать файл ресурсов из вспомогательных сборок.

Загрузка ресурсов, основанных на языке пользовательского интерфейса Office

Платформа Microsoft .NET Framework загружает ресурсы, основанные на языковом интерфейсе пользователя Microsoft Windows. Основанные на Office решения, однако, обычно записывают в загрузочные ресурсы основанный на Office язык пользовательского интерфейса. Первый из нижеследующих примеров демонстрирует, что загрузочные ресурсы соответствуют языку пользовательского интерфейса Office независимо от того, какая версия Office установлена. Второй пример показывает, как перегрузить язык пользовательского интерфейса Office и поведение по умолчанию платформы Microsoft .NET Framework.

Загрузка ресурсов, основанных на Office (многоязыковые версии Office)

  • Добавьте следующий код в обработчик событий Startup для книги и каждого листа.

    System.Threading.Thread.CurrentThread.CurrentUICulture = _
        New System.Globalization.CultureInfo( _
            Application.LanguageSettings.LanguageID( _
                Office.MsoAppLanguageID.msoLanguageIDUI))
    
    System.Threading.Thread.CurrentThread.CurrentUICulture =
        new System.Globalization.CultureInfo(
            Application.LanguageSettings.get_LanguageID(
                Office.MsoAppLanguageID.msoLanguageIDUI));
    

Если у Вас нет многоязыковой версии Office, можно добиться того, чтобы ресурсы загружались при присваивании соответствующего языкового идентификатора свойству CurrentCulture объекта CultureInfo (или текущего процесса). Это может быть полезным для отладки или как часть пользовательского кода, позволяющая пользователю выбирать, какие ресурсы загружать.

Загрузка ресурсов, основанных на Office (при помощи языковых идентификаторов)

  • Добавьте следующий код в обработчик событий Startup для книги и каждого листа: Этот пример передает языковой идентификатор для немецкого языка (Германия). Список языковых идентификаторов см. в разделе CultureInfo.

    System.Threading.Thread.CurrentThread.CurrentUICulture = _
        New System.Globalization.CultureInfo("de")
    
    System.Threading.Thread.CurrentThread.CurrentUICulture = 
        new System.Globalization.CultureInfo("de");
    

Локализация пользовательских элементов управления

Можно добавить пользовательские управляющие элементы в панель действий в решениях Visual Studio Tools for Office. Можно разрешить локализацию пользовательских элементов управления или панели действий тем же способом, каким можно локализовать форму Windows form. Дополнительные сведения см. в разделе Пошаговое руководство. Локализация форм Windows Forms.

Включение автоматической локализации элемента управления пользовательского интерфейса

  1. В меню Вид выберите команду Окно свойств.

  2. Выберите пользовательский элемент управления или панель действий в конструкторе и измените свойство Локализуемый на true.

См. также

Задачи

Пошаговое руководство. Локализация форм Windows Forms

Основные понятия

Глобализация и локализация решений Microsoft Office

Другие ресурсы

Глобализация и локализация приложений

Локализация приложений