Что я должен знать для глобализации приложения asp.net?

Да, вы можете. Существует два варианта сравнения элементов: интерфейс Comparable и интерфейс Comparator .

Оба этих интерфейса допускают различное поведение. Comparable позволяет вам заставить объект действовать так, как вы только что описали Strings (на самом деле String реализует Comparable). Второй, Компаратор, позволяет делать то, что вы просите. Вы бы сделали это следующим образом:

Collections.sort(myArrayList, new MyComparator());

Это приведет к тому, что метод Collections.sort будет использовать ваш компаратор для его механизма сортировки. Если объекты в ArrayList реализуются сопоставимыми, вы можете сделать что-то вроде этого:

Collections.sort(myArrayList);

Класс Collections содержит ряд этих полезных общих инструментов.

14
задан Gulzar Nazim 10 October 2008 в 23:30
поделиться

7 ответов

Несколько вещей, которые я изучил:

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

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

  • при использовании типов символов в sql таблицах удостоверьтесь, что любой из тех, которые могли бы получить международный вход, является unicode (nchar, nvarchar, ntext). В этом отношении я просто стандартизировал бы при использовании unicode версий.

  • при создании SQL-запросов динамично удостоверьтесь, что Вы включаете префикс N перед любым заключенным в кавычки текстом, если существует шанс, что текст мог бы быть unicode. Если Вы заканчиваете тем, что поместили мусор в таблицу SQL, проверьте, чтобы видеть, там ли это.

  • Удостоверяются, что все Ваши веб-страницы окончательно указывают, что они находятся в unicode формате. См. статью Joel, упомянутую выше.

  • Вы собираетесь быть файлами ресурсов использования много для этого проекта. Это хорошо - ASP.NET 2.0 имеет большую поддержку такого. Вы захотите изучить папку App_LocalResources и App_GlobalResources, а также GetLocalResourceObject, GetGlobalResourceObject и понятие meta:resourceKey. Глава 30 Профессионал ASP.NET 2.0 имеет некоторое большое содержание относительно этого. 3,5 версии книги могут иметь хорошее содержание там также, но я не владею им.

  • Думают о шрифтах. Многие стандартные шрифты, которые Вы могли бы хотеть использовать, не unicode способный. У меня всегда была удача с Arial Unicode MS, MS Gothic, MS Mincho. Я не уверен в том, насколько межплатформенный это, все же. Кроме того, обратите внимание, что не все шрифты поддерживают все определение символа Unicode. Снова, тест, тест, тест.

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

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

23
ответ дан 1 December 2019 в 08:20
поделиться
3
ответ дан 1 December 2019 в 08:20
поделиться
2
ответ дан 1 December 2019 в 08:20
поделиться

Это - тяжелая проблема. Я живу в Канаде, таким образом, многоязычие является большой проблемой. Во всех моих годах выполнения разработки программного обеспечения я никогда не видел решения, которое я любил. Я видел много решений, которые работали и сделали задание, но они всегда чувствовали себя подобно большому клуджу. Я пошел бы с @harriyott и удостоверился бы, что ни одна из Ваших строк не находится на самом деле в коде. Файл ресурсов работает хорошо на настольные приложения. Однако в ASP.NET, я рекомендовал бы использовать базу данных. @John Christensen также имеет некоторые хорошие указатели.

2
ответ дан 1 December 2019 в 08:20
поделиться

Я предложил бы:

  1. Помещенный все строки или в базу данных или в файлы ресурсов.
  2. Предоставляют дополнительное пространство для переведенного текста, поскольку некоторые (например, немецкий язык) более многословны.
0
ответ дан 1 December 2019 в 08:20
поделиться

Удостоверьтесь, что Вы компилируете с Анализом кода, включенным, и обращаете внимание на предупреждения Глобализации , что это дает Вам. Сохраните данные в инвариантном формате ( CultureInfo. InvariantCulture), пока Вы не отображаете его пользователю (затем использование CultureInfo. CurrentCulture).

2
ответ дан 1 December 2019 в 08:20
поделиться

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

Глобализация и локализация, демистифицированная в ASP.NET 2.0

, Это покрывает все от Культур и Локалей, устанавливая потоки текущая культура, файлы ресурсов, кодировка, Вы называете ее!

И конечно это загружается симпатичными изображениями и примерами :-).Удачи!

1
ответ дан 1 December 2019 в 08:20
поделиться
Другие вопросы по тегам:

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