Я пытаюсь предоставить раскрывающиеся меню, чтобы пользователи могли выбирать свою страну и штат в многоязычном веб-приложении.
Мне удалось извлечь список стран и названия этих стран на разных языках.из файлов cldr unicode.org.
В настоящее время все они хранятся в массивах в отдельных файлах (у меня есть такие файлы, как en.php, es.php, fr.php и т. д.).
Хотя это не кажется слишком сложным, у меня возникают проблемы при попытке получить список административных делений (штатов / провинций / префектур) в локализованной форме.По сути, если человек использует французскую версию (fr_fr) приложения, мне бы хотелось, чтобы, когда он выбирал «Францию» в качестве своей страны, в раскрывающемся списке штатов находились различные французские департаменты на французском языке.
Я нашел некоторые данные на geonames.org: http://www.geonames.org/GB/administrative-division-united-kingdom.html, но все содержимое, похоже, на английском, поэтому я не могу предоставить локализованные состояния.Кроме того, в некоторых странах, таких как Великобритания, есть 2 набора данных в разделе «Административное деление», что может затруднить автоматический сбор данных.
Аналогично, если кто-то использует японскую версию, тогда выпадающий список префектуры долженсодержат префектуры на японском языке.Что касается других стран, я думаю, что было бы нецелесообразно переводить все административные деления на японский язык, поэтому по умолчанию на английский вполне подойдет.
Кроме того, в разных странах существуют разные термины для административных делений (штатов / территорий / провинций /).префектуры и, возможно, некоторые другие, которые я пропустил. Я хотел бы иметь эти данные где-нибудь, чтобы, когда кто-то выбирает, скажем, Япония, вместо метки «состояние», он представлялся с меткой «префектура».
Другая проблема, с которой я сталкиваюсь, - где хранить все данные. В настоящее время я склоняюсь к тому, чтобы сохранить административное деление (штат) и метку (штат, префектура и т. Д.) В массивах в более конкретном файле, содержащем локаль (en_US.php, en_GB.php и т. д.).
Кто-нибудь имел дело с чем-то подобным в проекте? Я хотел бы услышать ваши предложения / мнения. Также было бы здорово, если бы кто-то мог предоставить источник, где яможно получить локализованные состояния.
РЕДАКТИРОВАТЬ
- Почтовые индексы: в некоторых странах почтовые индексы отсутствуют, поэтому мне нужно сохранить эту информацию и убедиться, что почтовый индекс не требуется при отправке.
- Необязательные состояния: как уже упоминалось.В некоторых странах нет государств, поэтому их нужно как-то хранить.