require es igual que include excepto en que en caso de fallo se para el script y se emite un warning , con include el script continua y se emite un warning y con include_once , _once sirve para no incluir mas de una vez un archivo primero comprueba si ya esta incluido y si esta ya no lo incluye mientras que include incluiria el archivo aunque este ya este incluido, revisa el manual.
http://php.net/manual/es/function.include.php http://www.php.net/manual/es/function.include-once.php http://www.php.net/manual/es/function.require.php http://www.php.net/manual/es/function.require-once.php
Haber yo lo haria asi el common lo incluyes en el index y este te resuelve el idioma una vez resuelto creamos los links - link?lang=$language , y en la pagina que quieres abrir tan solo verificas si existe idioma y si existe , segun el idioma mostramos el texto, si no existe el idioma puedes poner por defecto alguno o mostrar un mensaje de error.
Hasta aqui que problemas tienes ahora mismo , donde te has quedado o en que estas atascado?