Are your pages mostly static HTML files, or stored in a database and served by a CGI/PHP script or equivalent? If the latter, then it should be pretty easy to add a language column in the table for each page/text and store that in a cookie or session variable.
If your pages are mostly static, and you have a naming scheme like page.en.html for english and page.ie.html for irish, you could use a PHP script to view the pages, link instead of linking to page.<language>.html from a page, you could link to view.php?page=<page> and that PHP script could read a cookie to determine which language to display in. Switching between languages would then be a simple case of setting a cookie.
You can also do this 'automatically' via mod_rewrite in apache, turning static page references into PHP requests :
Consider a .htaccess file with mod_rewrite rules such as :
Code:
RewriteEngine on
RewriteRule (.*)\.en\.html$ view.php?page=$1&l=en [L]
RewriteRule (.*)\.ie\.html$ view.php?page=$1&l=ie [L]
RewriteRule (.*)\.html$ view.php?page=$1 [L]
This would convert a request for 'page1.en.html' into 'view.php?page=page1&l=en' and also 'page1.html' into 'view.php?page=page1', so every request for a HTML page gets redirected transparently (to the browser) through a PHP script where you can do your magic :
Code:
<?php
// if a language is explicitally set, via access to :
// <page>.<language>.html -or-
// view.php?page=<page>&l=<language>
if (isset($_REQUEST['l']) && $_REQUEST['l'] != '') {
// then use the language from the request, and set a cookie.
$lang = $_REQUEST['l'];
setcookie("lang", $lang);
echo "switching language : $lang<br>";
} else {
// otherwise,
// is a cookie set with a language?
if (isset($_COOKIE['lang']) && $_COOKIE['lang'] != '') {
// yes, use that language
$lang = $_COOKIE['lang'];
} else {
// no, use a default language for now.
// (could use the 'Accept-Language' HTTP header to get this)
$lang = 'en';
}
}
// write the switch-language links which we want on every page
echo '<a href="' . $_REQUEST['page'] . '.en.html">english</a> ';
echo '<a href="' . $_REQUEST['page'] . '.ie.html">irish</a> ';
echo "<hr>\n";
// read the actual page
readfile($_REQUEST["page"].".".$lang.".html");
?>
... with this, you'd store your pages like (notice the same link) :
page1.en.html :
Page in english, another page <a href="another-page.html">here</a>
page1.ie.html :
Page in irish, another page <a href="another-page.html">here</a>
... and the PHP script would be invoked on every request which would make display the page according to the language cookie set.
edit : Maybe an example would explain it better

heres a link to a working demo on my website
http://haxor.me.uk/languagetest/test.html