2015-02-17 3 views
0

Я пытаюсь локализовать хром-приложение, использующее SDK для дисков, и неясно, как перенаправить людей на собственный URL-адрес на основе локали. В пределах manifest.json Я хочу поставить локаль в своем app.launch.web_url, поэтому, как только пользователь приземлится на мой сайт, загрузится правильный языковой стандарт. Я попыталсяЛокализация Chrome Hosted App Urls

"app": { 
     "launch": { 
     "web_url": "__MSG_launchUrl__" 
     } 
    }, 

и

"app": { 
     "launch": { 
     "web_url": "http://www.foo.com/__MSG_locale__/endpoint" 
     } 
    }, 

но первый выдает ошибку при попытке загрузить его, потому что Google не тянет строку из файла messages.json. Второе не удается, поскольку, несмотря на то, что он прошел проверку достоверности, он интерпретирует __MSG_launchUrl__ как литеральную строку вместо переменной поиска.

На аналогичной заметке я не вижу способа указать языковой специфический URL-адрес в настройках SDK Google Drive.

+0

Как это * расширение *? То, что вы представляете, - это размещенное приложение. Я не думаю, что они поддерживают 'chrome.i18n'. Я отредактировал ваш вопрос. – Xan

+1

Хорошо, да, это конкретный случай для приложения вместо расширения, но семантика для списка веб-магазинов одинакова: https://developer.chrome.com/webstore/i18n#details – ghostfly

+0

Спасибо за ссылку на документацию. – Xan

ответ

1

Я думаю, что это (первый сбой) должно быть reported to Google как проблема с интернет-магазином.

Второй способ не поддерживается механизмом i18n.

Очевидно, что приложение по-прежнему необходимо привязать к одному проверенному домену, но оно должно пройти проверку, если все локали соответствуют этому домену.

+0

Я играл с ним еще немного, и вы можете на самом деле сделать что-то вроде 'https: //www.foo.com/__ MSG _ @@ ui_locale __/endpoint', однако это тоже прослушивается, так как кажется, что он всегда разрешает' en_US', независимо от того, язык, который вы использовали при установке, и через панель запуска Chrome, когда язык по умолчанию является чем-то иным, чем 'en_US'. – ghostfly

0

Вы можете использовать заголовок Accepts-Language, отправленный на сервер при запуске приложения, чтобы локализовать ваше приложение.

Смежные вопросы