Каждое приложение для Android имеет значение ресурса «strings» (список значений для строковых переменных) для обеспечения разных языков.
<resources>
<string name="home_act_bottom_bar_home_item">Shop</string>
<string name="home_act_bottom_bar_cont_item">Contacts</string>
<string name="home_act_bottom_bar_cart_item">Cart</string>
</resources>
В приложении должен быть новый файл res для каждого языка.Когда приложение запускается, ОС определяет текущий язык системы, который был выбран пользователем в настройках Android, а затем пытается найти этот язык в файлах res.Если файл, который нам нужен, существует (например, русский), он будет использован, если нет - система запустит приложение со стандартным файлом res строк (часто английским).Вы, конечно, можете использовать различные веб-сервисы для перевода своих «строк» после запуска приложения, но это потребует времени, сделает пользовательский опыт полезным (пользователю придется ждать перевода и обновления пользовательского интерфейса), сделает ваш код очень сложным.Я предлагаю вам предварительно перевести ваше приложение и поместить переводы в соответствующие файлы res строки, это сделает ваше приложение быстрым и код будет не таким сложным.
Официальные документы вы можете прочитать здесь: https://developer.android.com/training/basics/supporting-devices/languages