Поддержка французского названия Humanizer

Встроенный метод.Net TextInfo.ToTitleCase хорошо обрабатывает французские предложения, но есть некоторые примеры, которые вызывают проблемы (см. Примечания: https://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase%28v=vs.110%29.aspx)

Есть ли возможность в библиотеке Humanizer присвоить звание определенной культуре?

1 ответ

Это могло бы показаться хорошим дополнением к библиотеке Humanizer, но в настоящее время оно не поддерживается.

Если бы мне пришлось реализовать регистр заголовков для французского языка, я бы посмотрел на библиотеку titlecase-french javascript и переписал ее на C#, следуя хорошему набору правил, которые она определяет:

Есть 5 основных правил:

  • Заголовок всегда начинается со слова в верхнем регистре
  • Конкретный список слов в нижнем регистре
  • Слова после цитаты могут быть в нижнем или верхнем регистре в зависимости от слова перед цитатой.
  • Акронимы в верхнем регистре
  • Специальные прописные буквы (например, с ударением) заменяются их простой версией

Образец в TextInfo.ToTitleCaseпримечания (les naufragés d'ythaq) работает должным образом с titlecase-french:

      console.log(require('titlecase-french').convert("les naufragés d'ythaq"));
// Les Naufragés d'Ythaq
Другие вопросы по тегам