-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to handle i18n ? #142
Comments
After reviewing the code, I know nuxt/src/runtime/plugins/pwa.client.ts Lines 18 to 29 in 1069779
I also have a local module which generate manifests based on the one generated by this plugin :
This local module is specific to my website but here is a snippet you could be inspired of : ...
const directory = path.join(__dirname, '..', '.output', 'public');
const baseManifest = getBaseManifest({ directory });
for (const locale of locales) {
saveManifest({
directory,
locale: locale.code,
manifest: {
...baseManifest,
description: t.description[locale.code] || baseManifest.description,
start_url: locale.url,
},
});
}
...
function getBaseManifest(options: {
directory: string;
}) {
const filepath = path.join(options.directory, 'manifest.webmanifest');
const file = fs.readFileSync(filepath, { encoding: 'utf-8' });
if (!file) {
throw `module webmanifests: missing base manifest file`;
}
return JSON.parse(file);
}
function saveManifest(options: {
directory: string;
locale: RegionLocale['code'];
manifest: any;
}) {
const filepath = path.join(options.directory, options.locale, 'manifest.webmanifest');
fs.writeFileSync(filepath, JSON.stringify(options.manifest), { encoding: 'utf-8' });
} Be sure to remove your / and to manually set the correct head href manifest based on the user locale. I now need to resolve 2. |
Hi and thank you for this plugin !
I have an i18n website using @nuxtjs/i18n with a dropdown to switch locale.
It's working fine on my website
Inside my PWA, if I switch the locale manually and navigate through the app, it's working great.
But whenever I close the app, I'm falling back to the default locale.
Here is my
nuxt.config.ts
It think it's because
start_url
is pointing to the default locale, so I will always be opening my PWA using the default locale.I've seen someone suggesting localized webmanifests generation #52, would be great but once the PWA is installed it will not be possible to switch the locale because
start_url
is static.I am thinking about checking at startup if I'm inside the PWA, if yes, redirect to the correct localized route using
useI18n().locale
.But :
useI18n().locale
will be set to the default locale before my check because ofskipSettingLocaleOnNavigate: false
My questions :
$pwa.isPWAInstalled
or it is just a flag to know if I have the PWA installed on my device ?useI18n().locale
is not correct I will have to persist the user locale manually, how can I do this with a PWA ?The text was updated successfully, but these errors were encountered: