C#: получить буквы алфавита для скандинавского языка?

Я действительно полагаю, что включение типа является запахом кода. Однако я разделяю Ваше беспокойство о разделении проблем в коде. Но они могут быть решены во многих отношениях, которые позволяют Вам все еще использовать полиморфизм, например, шаблон "посетитель" или что-то подобное. Читайте на "Шаблоны разработки" Бандой Четыре.

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

    interface Operation {
      void handlePrimeCustomer(PrimeCustomer customer);
      void  handleMidPrimeCustomer(MidPrimeCustomer customer);
      void  handleSubPrimeCustomer(SubPrimeCustomer customer);    
    };

    class InvestibleOperation : public Operation {
      void  handlePrimeCustomer(PrimeCustomer customer) {
        bool investible = customer.isCeo();
      }

      void  handleMidPrimeCustomer(MidPrimeCustomer customer) {
        handleSubPrimeCustomer(customer);
      }

      void  handleSubPrimeCustomer(SubPrimeCustomer customer) {
        bool investible = customer.getSavingsAccount().getBalance() > 1e6;    
      }
    };

    class SubPrimeCustomer : public Customer {
      void  doOperation(Operation op) {
        op.handleSubPrimeCustomer(this);
      }
    };

   class PrimeCustomer : public Customer {
      void  doOperation(Operation op) {
        op.handlePrimeCustomer(this);
      }
    };

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

5
задан unwind 12 November 2009 в 14:48
поделиться

4 ответа

Итак, чтобы очистить это, я думаю, ответ таков: даже если я ограничу Я на западные языки, я не могу попросить .Net framework для букв алфавита. Я сам составил список из букв, к счастью, осталось только четыре языка.

0
ответ дан 14 December 2019 в 08:55
поделиться

To the best of my knowledge, neither .NET nor Windows provide this information. However, you can find it in the Unicode Consortium's CLDR database. This DB is actually a set of XML files (one for each language. named after the language abbreviation) containing all sorts of localisation info. A gold mine!

the element /ldml/characters/examplarCharacters contains a list of characters used in the language. e.g., for Swedish (sv.xml):

[a-v x-z å ä ö]

Note that when you say 'ASCII letters', you do realize you're limiting yourself to the Latin script, don't you? As far as ar the CLDR is concerned, lists such as a-z are Unicode characters sequences, not just ASCII letters. eg, in Russian (from ru.xml):

[а-е ё ж-я]
5
ответ дан 14 December 2019 в 08:55
поделиться

Я не думаю, что он доступен программно по умолчанию, но вот хороший набор справочных документов на веб-сайте Эвертипа

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

Вы все равно отправите список строк вашим переводчикам. Для каждого языка вашего сайта у вас будет один, и каждый из них будет знать ответ на своем языке. Так что просто отправьте им строку "abcdefghijklmnopqrstu vwxy z" и задокументируйте это как alplabet, используемый для разбиения по страницам. Они должны быть в состоянии перевести это для вас. Имейте в виду, что вы можете получить такие записи, как ... «x ij z» для голландского языка - «ij» - это обычное написание одной буквы IJ

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

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