All language versions are on the domain site.com and the current user's language is taken from the cookie where it is stored or preferred language of the browser, or a conscious choice of the user.
The user selection is a link site.com/fr/, site.com/en/ etc handler which just sets the cookie and redirects either on the referrer (if it is within your site), or the main page of your website. Accordingly, all the labels are displayed on the website spec. a function argument which is a label — a short but clear description of the string, followed by hiding, for example T('PLEASE_LOGIN') displays the message "Please sign up" in the language of all labels and their translations into all languages are stored in one place.
This option does not suit you?