У вас есть плагин для Chrome на русском или на английском языке, но аудитория плагина намного шире и не только на выбранном вами языке? Тогда прошу подкат.
Мы будем делать поддержку русского и английского языка, но никто вам не мешает делать поддержку и других языков
Для того что бы сделать ваш плагин мультиязычным с начало мы идем в manifest.json
И добавляем следующие строчки:
Эта строчка указывает какой язык будет использоваться по умолчанию, в случаи того если перевод для языка пользователя недоступен.
"default_locale": "en",
Теперь же в место стандартного описания плагина пишем
"description": "__MSG_chrome_extension_description__",
Так же можно сделать и для имени плагина
"name": "__MSG_chrome_extension_name__",
После манипуляций все выглядеть будет примерно так
Создание файлов локализации
Для этого в корне плагина создаем папку с именем _locales
В ней создаем папки en и ru
В папках создаем файл messages.json
Со следующим содержанием
{
"chrome_extension_description": {
"message": "Описание плагина."
},
"chrome_extension_name": {
"message": "Имя плагина"
},
"some_string": {
"message": "Текст"
},
"lang": {
"message": "ru"
}
}
В папке en в таком же файле пишем тоже самое но уже на английском
{
"chrome_extension_description": {
"message": "Extension description."
},
"chrome_extension_name": {
"message": "Plugin name"
},
"some_string": {
"message": "some text"
},
"lang": {
"message": "en"
}
}
Если же вы захотите сделать поддержку какого либо еще языка то создайте соответствующую папку и файл в ней, и обязательно изменить значение последних строчек
"lang": {
"message": "en"
}
Вот какие языки поддерживает Chrome
am ar bg bn ca cs da de el en en_GB en_US es es_419 et fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr nb nl or pl pt pt_BR pt_PT ro ru sk sl sr sv sw ta te th tr uk vi zh zh_CN zh_TW
Теперь перейдем в настройки плагина а именно в options.html, допустим вы хотите сделать заголовок на разных языках для этого внутри тега пишем
Этот оператор общается с Api chrome и берет из файлов созданными нами выше нужные нам параметры
И вернемся к мультиязычному заголовку.
Пусть до этого в плагине в заголовке было написано «some text»
Что бы эта надпись была на нескольких языках заменим её на
Данная строчка обращается к функции lang и из файлов созданных ранее берет параметр «some_string»
Параметр в файлах указывается следующим образом:
"some_string": {
"message": "some text"
},
А теперь для того что бы перевести все надписи в мультиязычные с начала дописываем в файлах их значение, затем пишем в место исходных текстов строчку
Вот и все.
Живой пример работы мультиязычности плагин
Auto HD for YouTube