Как вы обрабатываете списки, например, страны

114
11

Мои пользователи должны выбрать страну как часть регистрации, поэтому я добавил список стран в свой файл перевода. например, countries: { AF: 'Afghanistan', AL: 'Albania', AM: 'Armenia', AN: 'Netherlands Antilles', AW: 'Aruba', MF: 'Saint Martin (French part)', AO: 'Angola', AQ: 'Antarctica', AR: 'Argentina', AU: 'Australia', CC: 'Cocos (Keeling) Islands', CX: 'Christmas Island', KI: 'Kiribati', NF: 'Norfolk Island',... }

Однако, когда я пытаюсь получить список стран (чтобы я мог их перечислить), я получаю ошибку [vue-i18n] Value of key 'countries' is not a string! , Я предполагаю, что я не первый, кто попытается это сделать.

Есть ли способ, который вы нашли для этого, или я прихожу к этому из неправильного направления, пытаясь использовать vue-i18n для этого? Спасибо...

спросил(а) 2021-01-19T18:55:50+03:00 2 месяца, 3 недели назад
1
Решение
87

Вы должны отделяться между страной, из которой поступает пользователь, и языком, на который должен переводиться ваш сайт. Есть так много стран, поэтому вы вряд ли можете предоставить перевод для каждого из них. Обычно у вас есть 2-3 языка/переводы для вашего сайта. Я предлагаю отделить данные пользователя от перевода. Пусть ваши пользователи выбирают язык веб-сайта в раскрывающемся списке (и предварительно выбирают его с помощью определения языка браузера).

И да, локаль должна быть строкой, и было бы лучше выбрать языковые коды языка, которые соответствуют тому, что вы получаете от navigator.language. Наиболее распространенным вариантом использования является использование двух символов нижнего регистра, таких как 'en'

ответил(а) 2021-01-19T18:55:50+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема