Как вывести соответствующие кавычки для данной локали в PHP? - PullRequest
1 голос
/ 03 февраля 2020

В последнее время я схожу с ума по языкам и выводу правильных форматов даты / времени, числовых форматов, форматов денежных сумм, процентных знаков и т. Д. c. для каждой локали / языковой комбинации. Вместо того, чтобы самому разобраться и жестко запрограммировать это, что заняло бы у меня сотни лет, я использую встроенные классы PHP, такие как NumberFormatter: https://www.php.net/NumberFormatter и некоторые другие классы. в правом списке на этой странице.

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

Итак, они просто пропустили это? Или я просто не нашел его? Если вы пропустите эту статью в Википедии, вы увидите, сколько существует различных кавычек / стилей: https://en.wikipedia.org/wiki/Quotation_mark

Так же, как мои приложения теперь правильно выводят «все», в зависимости от локали Теперь я буду sh, чтобы иметь возможность выводить кавычки в правильной манере. Мне больше не достаточно просто использовать стандартный стиль Engli sh:

"This is a quote: 'And this is a nested quote.'"

Я буду использовать вышеуказанный стиль внутренне , для сохраняемых фактических «строк содержимого» в базе данных, но когда я на самом деле вывод это для данной локали, я хочу, чтобы это стало (например, для Германии / Германии):

‚This is a quote: „And this is a nested quote.“‘

По сути, я хочу что-то как ( это составлено , на основе синтаксиса, используемого для NumberFormatter):

$a = new QuoteFormatter( 'de_DE', QuoteFormatter::MOSTCOMMON );
echo $a>format('"This is a quote: \'And this is a nested quote.\'"');

И будет выводиться (так как был задан Германия / Немецкий):

‚This is a quote: „And this is a nested quote.“‘

Пожалуйста, скажите мне, что такая вещь существует где-то в таинственных древних свитках руководства PHP, и я просто не смог найти его! Много раз раньше я обнаруживал в PHP особенности, которые существовали в течение 15-20 лет и о которых я даже не подозревал, и которые могли бы избавить меня от безумных головных болей ...

...