Проверка локализуемости

Обзор локализации — это промежуточный этап разработки готового к миру приложения. Он проверяет, готова ли глобальное приложение к локализации и определяет любой код или любые аспекты пользовательского интерфейса, требующие специальной обработки. Этот шаг также помогает убедиться, что процесс локализации не будет вводить в приложение функциональные дефекты. Когда все проблемы, возникающие при проверке локализации, устранены, приложение готово к локализации. Если проверка локализации является тщательной, вам не нужно изменять исходный код во время процесса локализации.

Проверка локализации состоит из следующих трех проверок:

Реализация рекомендаций по глобализации

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

Обработка функций с учетом культурных особенностей

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

  • Адреса

  • Номера телефонов

  • Размеры бумаги

  • Единицы измерения, используемые для длины, веса, области, объема и температуры

    Хотя .NET не поддерживает встроенную поддержку преобразования между единицами измерения, можно использовать RegionInfo.IsMetric свойство для определения того, используется ли определенная страна или регион использует систему метрик, как показано в следующем примере.

    string[] cultureNames = { "en-US", "en-GB", "fr-FR",
                            "ne-NP", "es-BO", "ig-NG" };
    foreach (string cultureName in cultureNames)
    {
        RegionInfo region = new(cultureName);
        string usesMetric = region.IsMetric ? "uses" : "does not use";
        Console.WriteLine($"{region.EnglishName} {usesMetric} the metric system.");
    }
    
    // The example displays the following output:
    //       United States does not use the metric system.
    //       United Kingdom uses the metric system.
    //       France uses the metric system.
    //       Nepal uses the metric system.
    //       Bolivia uses the metric system.
    //       Nigeria uses the metric system.
    
    Imports System.Globalization
    
    Module Example
        Public Sub Main()
            Dim cultureNames() As String = {"en-US", "en-GB", "fr-FR",
                                             "ne-NP", "es-BO", "ig-NG"}
            For Each cultureName In cultureNames
                Dim region As New RegionInfo(cultureName)
                Console.WriteLine("{0} {1} the metric system.", region.EnglishName,
                                  If(region.IsMetric, "uses", "does not use"))
            Next
        End Sub
    End Module
    ' The example displays the following output:
    '       United States does not use the metric system.
    '       United Kingdom uses the metric system.
    '       France uses the metric system.
    '       Nepal uses the metric system.
    '       Bolivia uses the metric system.
    '       Nigeria uses the metric system.
    

Тестирование приложения

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

  • Сериализованные данные, которые не десериализируются правильно в версиях операционной системы.

  • Числовые данные, которые не отражают нормы текущей культуры. Например, числа могут отображаться с неточными разделителями групп, десятичными разделителями или символами валют.

  • Данные даты и времени, которые не соответствуют культурным нормам текущей среды. Например, числа, представляющие месяц и день, могут отображаться в неправильном порядке, разделители дат могут быть неверными, а сведения часового пояса могут быть неверными.

  • Ресурсы не могут быть найдены, потому что вы не задали культуру по умолчанию для вашего приложения.

  • Строки, отображаемые в необычном порядке для специфической культуры.

  • Сравнение строк или сравнения на равенство, которые возвращают непредвиденные результаты.

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

См. также