Как я могу отобразить регион Locale в грамматически правильной манере? - PullRequest
0 голосов
/ 26 января 2020

Пример кода:

var_dump(Locale::getDisplayRegion('en_US'));
var_dump(Locale::getDisplayLanguage('en_US'));

Выход:

string(13) "United States"
string(7) "English"

Проблема:

Ни один из них не говорит "американец" или "американец США". Первый говорит «Соединенные Штаты», потому что это «регион», а второй говорит «Engli sh», потому что это язык. Я пытаюсь быть в состоянии вставить его в шаблон, такой как:

You are currently viewing the __REGION__ edition.

Например:

You are currently viewing the US American edition.

Или:

You are currently viewing the American edition.

Как это в настоящее время стоит, он скажет:

You are currently viewing the United States edition.

Или:

You are currently viewing the English edition.

Оба из них будут неправильными. «Engli sh edition» звучит так, как будто это может быть «Briti sh», а не американский американский, и «издание США» не звучит для меня грамматически правильно, особенно для других языков, таких как «издание Германии» или «издание Франции».

Обратите внимание, что все издания на английском языке sh, так что речь идет не о разных языках, а о разных регионах!

Я уже прошел все эти методы: https://www.php.net/manual/en/class.locale

К сожалению, ни один из них, кажется, не является тем, что я ищу , Похоже, этого может и не быть, но я еще не оставил надежду ...

...