Cela ne correspond pas aux critères (édités) de la question d'origine, mais peut être utile malgré tout.
Utilisez un script côté serveur. Ce que vous cherchez peut facilement être fait en PHP. Vous voudriez probablement une hiérarchie de documents basée sur la langue, et rechercheriez cela étant donné. Par exemple, une arborescence de répertoires:
/en/
/en/page1.html
/en/page2.html
/es/
/es/page1.html
/es/page2.html
En PHP, il est aussi simple que
$language = $_GET['lang'];
$page = $_GET['page'];
include($language . '/' . $page);
// URL is: /whatever.php?lang=LANGUAGE_HERE&page=PAGE_HERE
Cependant, qui a de nombreux problèmes de sécurité avec elle. Désinfectez votre entrée et assurez-vous que le répertoire et le fichier existent. Fuller exemple:
$contentRoot = './'; // CHANGE ME. Do include trailing /.
$defaultLanguage = 'en'; // CHANGE ME.
$defaultPage = 'home'; // CHANGE ME.
if(isset($_GET['lang']))
$language = $_GET['lang'];
else
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 2);
if(isset($_GET['page']))
$page = $_GET['page'];
else
$page = $defaultPage;
$languageDir = basename($_GET['lang']) . '/';
$pageFile = basename($page) . '.html';
if(!file_exists($contentRoot . $languageDir) || !is_dir($contentRoot . $languageDir))
$languageDir = $defaultLanguage;
$fullFileName = $contentRoot . $languageDir . $pageFile;
if(!file_exists($fullFileName) || !is_file($fullFileName) || !is_readable($fullFileName))
$pageFile = $defaultPage;
readfile($fullFileName);
// Or, if you want to parse PHP in the file:
include($fullFileName);
Vous pouvez également utiliser mod_rewrite
(Apache) pour permettre par exemple http://www.mysite.com/en/page1
d'URL. (Assurez-vous de cacher la page réelle.)
// TODO mode_rewrite rules
Une autre approche met la hiérarchie ci-dessus dans la racine du document et de distribuer des URL directement. Cela vous donne moins de puissance (par exemple, la modélisation est plus difficile), et vous devez vous inquiéter du fait que les médias externes soient correctement référencés.
Si vous recherchez une approche dynamique, du côté client, utilisez Javascript pour récupérer les données en utilisant Ajax. C'est aussi trivial, et ne nécessite pas de backend de serveur dynamique. Je recommande un framework Javascript tel que jQuery pour rendre cela aussi simple que possible.
Merci. Je vais regarder ça après mon premier café demain matin. – Nifle