vue-i18n is the most robust and most used solution. It adds ~30KB to the minified js file size. Quite a lot, but all other solutions I saw look very weak in comparison to vue-i18n.
[x] UI (vue) localization engine
[x] Theme files localization engine
[x] Language selector in UI
[x] Passing selected language to API calls, and setting the laravel locale accordingly
[x] Browser (preferred) language auto-detection
[ ] store user language in database, we need it if we wanted to localize e.g. mail messages we send to the user
[ ] localization of theme-specific menu and faq items
[ ] move hardcoded UI strings into localization files