У меня есть несколько разных html-файлов на разных языках, и все эти html-файлы содержат изображения. Теперь я хочу показать подходящие html-файлы с адаптацией WebView к текущему языку Android. Как я могу это сделать? Благодарю.Как загрузить другой html-файл на другой язык Android-среды?
ответ
Вы можете дать особые имена неанглийских файлы, такие как file-de.html
для немецкого и затем используйте следующий код:
private static String getFileName() {
Configuration config = getResources().getConfiguration();
InputStream stream = null;
try {
String name = "file-" + config.locale.getLanguage() + ".html";
stream = getAssets().open(name);
return name;
} catch (IOException exception) {
return "file.html";
} finally {
if (stream != null) {
stream.close();
}
}
}
Добавлен новый ответ, который должен быть более точным, предоставляя пример.
Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/18634071) – thewaywewere
Вы можете использовать «строковые значения», чтобы получить имена файлов HTML, зависящие от языка Android, без использования какого-либо дополнительного кода java и просто используя getString(). Вот пример для 2-х языках:
В файле значений/strings.xml:
<string name="html_help_basepage">en_help.html</string>
В файле де/strings.xml:
<string name="html_help_basepage">some_german_help.html</string>
И так далее .. .
Для вашего кода Java (загрузка из локального файла в папке с активами, как в вопросе)
helpView = (WebView) findViewById(R.id.wv_help);
String adaptedToLanguage = getString(R.string.html_help_basepage)
helpView.loadUrl("file:///android_asset/" + adaptedToLanguage);
Дополнительный код Java не требуется. Надеюсь, это полезно и ответит на вопрос.
- 1. Загрузить другой язык html Xcode
- 2. Как конвертировать один язык на другой язык?
- 3. Транскомпиляция на другой язык
- 4. Как распечатать другой язык?
- 5. Преобразование месяцев на другой язык
- 6. Другой язык $ _POST пуст
- 7. Как добавить другой язык на клавиатуру Android?
- 8. Aptana Ruble - Как переключиться на другой язык?
- 9. Как вернуть местную дату на другой язык?
- 10. Как использовать другой язык на основе домена
- 11. Добавить другой язык inline
- 12. конвертировать элементы db на один язык на другой язык
- 13. Встраивание сценариев оболочки на другой язык?
- 14. Перевести сайт ASP.Net на другой язык
- 15. Преобразование строки даты на другой язык
- 16. NLTK другой язык POS tagger
- 17. как перевести все приложение iOS на другой язык
- 18. Перенаправление после выхода на другой язык
- 19. Перехват Исключения для перевода на другой язык
- 20. Домашняя страница не переведена на другой язык
- 21. Получить другой язык на Википедии Страница
- 22. Название не переводить на другой язык
- 23. Добавление другого шрифта на другой язык
- 24. Перевести HTML файлы на другой язык
- 25. jsoup не поддерживает другой язык?
- 26. .htaccess перенаправляет каждый другой язык браузера на язык по умолчанию
- 27. C# MailMessage другой язык страна
- 28. Как загрузить другой HTML на основе window.width()?
- 29. такой же язык, другой выход
- 30. Drupal - Текущая страница, другой язык
Спасибо Pixie.Это хороший способ решить мою проблему :) Будет ли у нас другой лучший способ решить проблему без написания java-кода, например, переименовать папку с ресурсами как «assets-de», и система может авто известно, как адаптироваться к различным lanugange? (Я знал, что «активы-де» не могут работать, просто пример :) – Dalen
Я не знаю лучшего способа, поэтому я использую его в своих проектах. Но вы можете попытаться найти лучшее решение. Если вы добьетесь успеха в этом поиске, пожалуйста, дайте мне знать. – Michael