non esistono CAPTION_LINGUA1.JS, CAPTION_LINGUA2.JS perche' fondamentalmente al resto del js non interessa che lingua e' stata scelta, interessa poter prendere dinamicamente i dati corretti
a fornire i dati corretti ci pensa php, che conosce la lingua scelta e per pulizia e per farlo finire in cache inserisce nel documento un tag <script>
<script type="text/javascript" src="caption.php?lang=it"></script>
appende la lingua (anche se magari potrebbe riprenderla autonomamente) perche' altrimenti un file come caption.php, in condizioni normali, finirebbe in cache e o impedisci sempre il ripescaggio dalla cache (male: magari la lingua non cambia mai e invece continui a generarlo come se fosse cambiata) o di base lo permetti, come in questo caso
la differenza e' che se improvvisamente lang=en e finora e' stato =it viene richiesto il nuovo js al server (nota che se ritorna =it non viene richiesto nuovamente, ma ripesca il vecchio dalla cache)
caption.php
manda subito un header per dire che servira' come atteso codice javascript,
che se non sbaglio e'
codice:
header("content-type: application/x-javascript");
legge quanto passato in get e sa a cosa e' uguale lang, si ricava i dati che deve mandare,
e li scrive seguendo le regole formali javascript, per es
codice:
var lngMsg={
cl:"close",
nw:"open a new window",
xt:"external link"
};
questa variabile lngMsg e' globale, accessibile ovunque,
da quel momento in poi tutto il resto del javascript puo' far riferimento a lngMsg['cl'] o lngMsg.cl quando deve usare "chiudi" nella lingua prescelta
spero di aver capito bene il problema e di aver reso chiaro perche' lo risolverei cosi'