Oui, mais non
Si on veut simplement inclure des fichiers dans une langue pré-sélectionnée, on utilisera (en général) une variable de session pour mémoriser la langue, et on enregistrera éventuellement la préférence de l'utilisateur (dans un cookie, une table, ...). On peut aussi tenter de déterminer automatiquement la langue la plus appropriée, grâce aux infos envoyées par le navigateur au serveur, mais ce n'est pas toujours fiable
S'il s'agit au contraire de traduire un site qui publie du contenu régulièrement, et qui sera géré via une base de données, ça devient tout de suite plus compliqué. On peut évidemment tout dupliquer dans les différentes langues, mais pour peu que le site ait une certaine ampleur, c'est pour devenir dingue.
On peut utiliser dans ces cas-là une fonction qui "reconnait" les éléments de l'interface et les traduits dans la langue sélectionnée par le visiteur (ou choisie pour lui par le serveur). Par exemple, le framework PHP symfony utilise la syntaxe suivante :
<?php echo __('Entrez les termes que vous souhaitez rechercher :'); ?>
La fonction
__() indique qu'il s'agit d'une chaîne de caractères "traduisible", et le script va voir dans le dictionnaire (ici, un fichier XML qui contient les traductions de toutes les chaînes traduisibles, au format XLIFF) s'il trouve la correspondance dans la langue de l'utilisateur.
L'avantage est que je ne dois pas dédoubler (au moins !) tous les fichiers de mon application, et le désavantage est qu'il faut construire les dictionnaires au fur & à mesure
Tout ça pour dire que l'approche est très différente selon le type de sites, même dans "le cas général"
Note qu'il existe des standards pour l'internationalisation des sites Internet, mais l'implémentation dépend de l'architecture de ton application, du/des langages utilisé, du serveur, etc ... Voir
W3C Internationalization: Getting started {en}