Tout d'abord, lorsque vous effectuez le UPDATE JOIN, vous n'avez inclus aucune condition de JOIN. Cela va donc essayer de faire un produit cartésien de chaque table :
#rows = #rows_table1EN * #rows_table1ZH * ... * #rows_table1PT
Vous devez vous JOINDRE sur table1EN.id = table1xx.id
pour chaque tableau.
Le problème suivant est que vous devrez référencer chaque colonne que vous souhaitez modifier. Cela se traduira par :
SET table1EN.detail = 'String Value',
table1ZH.detail = 'String Value'
...
table1PT.detail = 'String Value'
Cela pourrait être fait en construisant dynamiquement l'instruction, mais c'est assez hideux.
Tout cela m'amène à remettre en question la structure de votre base de données. Avez-vous envisagé d'utiliser une table avec une colonne de langue supplémentaire ? soit l'identifiant à deux lettres (OKish) ou une clé étrangère vers une table de langues (mieux) ?