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 userx] Localization of theme-specific menu and faq items
[ ] localization of theme-specific menu and faq itemsStore user language in database, we need it if we wanted to localize e.g. mail messages we send to the user (only if the user locale is different than the system locale)
[ ] moveReload theme specific page content/faq on language change
[ ] Move hardcoded UI strings into localization files