Подтвердить что ты не робот

Что такое тест в Турции?

Я наткнулся на слово "Тест Турции", узнав о тестировании кода. Я не знаю, что это значит.

Что такое тест в Турции? Почему это называется так?

4b9b3361

Ответ 1

Проблема Турции связана с интернационализацией программного обеспечения или просто с его неправильным поведением в различных языковых культурах.

В разных странах существуют разные стандарты написания дат (14.04.2008 в Турции и 4/14/2008 в США), цифры (т.е. 123,45 в Польше и 123,45 в США) и правила о верхнем индексе характера (например, в Турция с письмами i, я и №).

Как Джефф Мозер указал, что проблема была названа турецким пользователем, который впервые обнаружил ошибку в функции ToUpper(). Более подробная информация приведена ниже.

Однако проблема не ограничивается Турцией и строкой конверсий.

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

Ссылки из Google поиск Турции Проблема с деталями уже дана:

Ответ 2

Здесь описывается тест индейки

Забудьте об Турции, это даже не пройдет в США. Вам нужно нечувствительное к регистру сравнение. Итак, вы пытаетесь:

String.Compare(string,string,bool ignoreCase):

....

Проходите ли какие-либо из них "Тест Турции?"

Не случайно!

Причина: вы попали в проблему "Турецкий я".

Как обсуждалось много и много людей, "я" на турецком языке ведет себя иначе, чем на большинстве языков. В стандарте Unicode наш строчный "i" становится "İ" (U + 0130 "Письменное письмо с буквой я с точкой выше" ), когда он перемещается в верхний регистр. Аналогично, наш верхний регистр "I" становится "ı" (U + 0131 "Латинская малая буква Dotless I" ), когда он перемещается в нижний регистр.

Ответ 3

мы записываем даты, меньшие по размерам, как день-месяц-год 28.10.2010

мы, турецкие, используем цифры, такие как 4.567,9

У нас есть ö, Ö ç, Ç ş, Ş ğ, Ğ ü, Ü, но мы не разделяем точку с i, когда она больше "İ", и если у нее нет точки, мы не добавляем "ı" = > ' Я'.

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

Если ваш код правильно работает в Турции, он, вероятно, будет работать где угодно.

Ответ 4

Так называемый "тест Турции" связан с интернационализацией программного обеспечения. Одна из проблем глобализации/интернационализации заключается в том, что форматы даты и времени в разных культурах могут различаться на многих уровнях (день/месяц/год, разделитель дат и т.д.).

Кроме того, у Турции есть специальные правила капитализации, которые могут привести к проблемам. Например, турецкий символ "i" является общей проблемой для многих программ, которые используют его неправильно.

Ответ 5

Ссылка, предоставленная @Luixv, дает исчерпывающее описание проблемы.

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

Это связано с тем, что у турецкого языка есть случаи большинства случаев с крайностями, с которыми вы, вероятно, столкнетесь с локализацией, включая "необычные" строки формата и нестандартные символы (например, различные правила капитализации для i).

Ответ 6

У Джеффа Этвуда есть статья блога на том же самом, что и первое место, на которое я столкнулся сам. в резюме попытки запустить ваше приложение под турецким Locale - отличный тест вашего I18n.

here jeffs статья