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 // For more information, see https://fab.dev/kb/configuration
{ {
plugins: { plugins: {
'./src/server/languageRedirect.js': {},
'@fab/input-static': { '@fab/input-static': {
dir: 'public' 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"; let defaultLang = "en";
export default ({ Router }) => { export default ({ Router }) => {
@ -12,11 +13,13 @@ async function checkLang({ request }) {
let requestURL = new URL(url); let requestURL = new URL(url);
config.languages.forEach((language) => { for (let i = 0; i < config.languages.length; i++) {
if(requestURL.pathname.startsWith("/"+language+"/")) { const language = config.languages[i];
if(requestURL.pathname.startsWith("/"+language)) {
return; return;
} }
}); }
let headers = request.headers; let headers = request.headers;
@ -32,6 +35,13 @@ async function checkLang({ request }) {
requestURL.pathname = "/"+selectedLanguage+requestURL.pathname; 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(),
},
});
} }