Merge pull request #1 from Unkn0wnCat/autolanguage-selector

Add autolanguage selector for FAB
This commit is contained in:
Kevin Kandlbinder 2020-12-23 02:02:02 +01:00 committed by GitHub
commit 0a667e5d23
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 6 deletions

View file

@ -1,6 +1,7 @@
// For more information, see https://fab.dev/kb/configuration
{
plugins: {
'./src/server/languageRedirect.js': {},
'@fab/input-static': {
dir: 'public'
},

View file

@ -1,6 +1,7 @@
const config = require("../../config"), locale = require("locale");
const config = require("../../config");
const locale = require("locale");
let supported = new locale.Locales(conifg.languages);
let supported = new locale.Locales(config.languages);
let defaultLang = "en";
export default ({ Router }) => {
@ -12,11 +13,13 @@ async function checkLang({ request }) {
let requestURL = new URL(url);
config.languages.forEach((language) => {
if(requestURL.pathname.startsWith("/"+language+"/")) {
for (let i = 0; i < config.languages.length; i++) {
const language = config.languages[i];
if(requestURL.pathname.startsWith("/"+language)) {
return;
}
});
}
let headers = request.headers;
@ -32,6 +35,13 @@ async function checkLang({ request }) {
requestURL.pathname = "/"+selectedLanguage+requestURL.pathname;
return Response.redirect(requestURL.toString(), 302);
///return Response.redirect(requestURL.toString(), 302);
return new Response(null, {
status: 302,
headers: {
Location: requestURL.toString(),
},
});
}