(Schlechte) Lösung: Mehrsprachige Inhalte in eigenen Verzeichnissen, Verweis mit Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
wenn Du jedermann zeigen willst, dass Du schlechte, aber vermeintlich einfache Lösungen bevorzugst, dass mach sowas.
**Der gezeigte Code ist aus den genannten Gründen ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username ) {
newUri = newUri + uri.username
if ( uri.password ) {
newUri = newUri + ':' + uri.password;
}
}
if ( uri.username || uri.password ) {
newUri = newUri + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
(Schlechte) Lösung: Mehrsprachige Inhalte in eigenen Verzeichnissen, Verweis mit Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
wenn Du jedermann zeigen willst, dass Du schlechte, aber vermeintlich einfache Lösungen bevorzugst, dass mach sowas.
**Der gezeigte Code ist aus den genannten Gründen ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username ) {
newUri = newUri + uri.username
if ( uri.password ) {
newUri = newUri + ':' + uri.password;
}
}
if ( uri.username or uri.password ) {
newUri = newUri + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
(Schlechte) Lösung Mehrsprachige Inhalte in eigenen Verzeichnissen, Verweis mit Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
wenn Du jedermann zeigen willst, dass Du schlechte, aber vermeintlich einfache Lösungen bevorzugst, dass mach sowas.
**Der gezeigte Code ist aus den genannten Gründen ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username ) {
newUri = newUri + uri.username
if ( uri.password ) {
newUri = newUri + ':' + uri.password;
}
}
if ( uri.username or uri.password ) {
newUri = newUri + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
wenn Du jedermann zeigen willst, dass Du schlechte, aber vermeintlich einfache Lösungen bevorzugst, dass mach sowas.
**Der gezeigte Code ist aus den genannten Gründen ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username ) {
newUri = newUri + uri.username
if ( uri.password ) {
newUri = newUri + ':' + uri.password;
}
}
if ( uri.username or uri.password ) {
newUri = newUri + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username ) {
newUri = newUri + uri.username
if ( uri.password ) {
newUri = newUri + ':' + uri.password;
}
}
if ( uri.username or uri.password ) {
newUri = newUri + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
var uri = document.location.href;
newUri = uri.protocol;
if ( uri.username and uri.password ) {
newUri = newUri + uri.username + ':' + uri.password + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var uri = document.location.href;
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
newUri = uri.protocol;
if ( uri.username and uri.password ) {
newUri = newUri + uri.username + ':' + uri.password + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var uri = document.location.href;
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
newUri = uri.protocol;
if ( uri.username and uri.password ) {
newUri = newUri + uri.username + ':' + uri.password + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
return newUri;
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var uri = document.location.href;
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
newUri = uri.protocol;
if ( uri.username and uri.password ) {
newUri = newUri + uri.username + ':' + uri.password + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
} else {
newUri = newUri + '/';
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.
Mehrsprachige Inhalte in eigenen Verzeichnissen, Javascript
bearbeitet von ursus contionabundo[Literatur](https://developer.mozilla.org/en-US/docs/Web/API/URL)
**Der gezeigte Code ist ungetestet.** Bringe das oder halt "sowas" (Du kannst es verhübschen und/oder ergänzen) in der index.html im Document-Root unter:
~~~html
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="/selectLanguage.js"></script>
<meta name="robots" constent="noindex,follow" />
</head>
<body>
<noscript>
<ul>
<li><a href="/de/">deutsch</a></li>
<li><a href="/fr/">francais</a></li>
<li><a href="/en/">english</a></li>
</ul>
</noscript>
</body>
</html>
~~~
~~~JavaScript
// file: [DOCUMENT_ROOT]/selectLanguage.js
function selectLanguage {
var languages = ['de', 'en', 'fr'];
var default = 'en'; // languages[1] geht auch...
var uri = document.location.href;
var newUri = false;
languages.forEach = (function ( language ) {
if ( navigator.language.indexOf( language ) > -1 ) {
newUri = constructNewUri( language );
}
});
if ( false == newUri ) {
newUri = constructNewUri( default );
}
document.location.href = newUri;
}
function constructNewUri( language ) {
newUri = uri.protocol;
if ( uri.username and uri.password ) {
newUri = newUri + uri.username + ':' + uri.password + '@';
}
newUri + '//' + uri.host;
if ( uri.port ) {
newUri = newUri + ':' + uri.port;
}
newUri = newUri + '/' + language;
if ( uri.pathname ) {
newUri = newUri + uri.pathname;
}
if ( uri.search ) {
newUri = newUri + uri.search;
}
if ( uri.hash ) {
newUri = newUri + uri.hash;
}
}
selectLanguage();
~~~
Es könnte hilfreich sein, [auch die 404er Seite mittels eines Eintrages in der .htaccess auf die /index.php zu setzen](https://httpd.apache.org/docs/2.4/custom-error.html) und dann in den Sprachordnern wieder zu überschreiben.