Skip Navigation

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

Marqué : 

This topic contains 22 réponses, has 5 participants.

Last updated by Alejandro Il y a 1 an et 7 mois.

Assigned support staff: Alejandro.

Auteur Messages
mars 4, 2019 à 4:09 #3269790

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour,

Je viens de relancer notre équipe de deuxième niveau. La demande est en cours de traitement, malheureusement une solution n'est pas encore trouvée.
Je reviendrais vers vous dés que j'ai des nouvelles.

Cordialement,
Jamal
Assistance WPML

mars 11, 2019 à 6:46 #3316085

Ahmed Ibrahim
Supporter

Languages: Anglais (English ) Arabe (العربية )

Timezone: Africa/Cairo (GMT+02:00)

Hi, this is Ahmed Ibrahim from the 2nd tier support team.

I have debugged the issue and found that it happens because you sent some non-English strings to be translated, and I can replicate it on a clean installation, so I have escalated it to our developers to fix it.

To fix the issue on your site, please follow these steps:

- Go to WPML -> String translation
- Search for the strings with status "waiting for translation"
- Mark them all
- Change their language to be English
- Go to WPML -> Translation Management -> Translation jobs (it should open now)
- Cancel the jobs for these strings
- As a workaround you can translate them at the WPML -> String Translation module, or to send them when their main language is English.
(check the attached screenshot)

Please let me know if that helps you.
Best regards.

String Translation ‹ Lycée Saint Joseph.png
mars 12, 2019 à 11:32 #3321597

Ahmed Ibrahim
Supporter

Languages: Anglais (English ) Arabe (العربية )

Timezone: Africa/Cairo (GMT+02:00)

Hi,

There is another workaround and could be better in your case, you only need to go to this file wp-content/plugins/wpml-string-translation/inc/functions.php line:526
and change the function "icl_get_string_by_id" with this code:

function icl_get_string_by_id( $string_id, $language_code = false ) {
	global $wpdb, $sitepress_settings;

	if ( ! $language_code && isset( $sitepress_settings['st']['strings_language'] ) ) {
		$language_code = $sitepress_settings[ 'st' ][ 'strings_language' ];
	}

	if ( isset( $sitepress_settings['st']['strings_language'] ) && $language_code == $sitepress_settings['st']['strings_language'] ) {

        $prepare_string_language = $wpdb->prepare(
            "SELECT language FROM {$wpdb->prefix}icl_strings WHERE id=%d",
            $string_id
        );
        $string_lang = $wpdb->get_row( $prepare_string_language );
        if (($sitepress_settings['st']['strings_language']) != $prepare_string_language ){
            $language_code = $string_lang->language;
        }
        $result_prepared = $wpdb->prepare(
			"SELECT value FROM {$wpdb->prefix}icl_strings WHERE id=%d AND language=%s",
			$string_id,
			$language_code
		);

		$result = $wpdb->get_row( $result_prepared );

		if ( $result ) {
			return $result->value;
		}

	}

	$translations = icl_get_string_translations_by_id( $string_id );
	if ( isset( $translations[ $language_code ] ) ) {
		return $translations[ $language_code ]['value'];
	}

	return false;
}

This should fix your current situation without cancelling the jobs, so please check it and let me know if everything is ok for you.
Best Regards

mars 14, 2019 à 4:06 #3346791

ximunC

Bonjour,

Je vous remercie pour votre réponse.

J'ai essayé la première solution qui a fonctionné. Mais il y a une chose que je ne comprends pas.
J'ai défini mon site en français par défaut. Or vous me dites de laisser l'anglais par défaut pour que cela fonctionne.
Ce n'est pas très clair pour moi.

Pouvez-vous m'expliquer un peu plus. Ou est-ce que je dois essayer plutôt la solution 2.

Merci.

mars 15, 2019 à 1:43 #3354375

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour,

Je me suis rapproché de Ahmed pour comprendre mieux la solution, et il dit que vous pouvez remettre les chaînes sur le français, il s'agissait d'une solution de contournement pour vous permettre d'envoyer les travaux de traductions.

La solution 2 serait la meilleure à implémenter, elle consiste à modifier le code source du fichier /wp-content/plugins/wpml-string-translation/inc/functions.php. En remplaçant le code entre la ligne 526 et 555 avec le code fourni.

J'ai voulu implémenter cette modification via le dashboard WordPress(Plugins->Plugin Editor voir image attachée), sans succès.
Alors j'ai implémenté la solution en utilisant FTP.
Veuillez vérifier le serveur de test, si le problème est corrigé, vous pouvez copier le fichier en total vers votre serveur de production.Une sauvegarde est toujours recommandée.

Je reste à votre disposition.

Cordialement,
Jamal
Assistance WPML

Screen Shot 2019-03-15 at 13.24.03.png
mars 18, 2019 à 8:33 #3366785

ximunC

Bonjour,

La solution 2, modification de functions.php semble fonctionner.

Je voudrais savoir s'il est préférable de copier ce fichier dans mon thème enfant pour éviter de l'effacer sur une mise à jour.
Merci.

mars 18, 2019 à 4:17 #3371525

Jamal
Supporter

Languages: Anglais (English ) Français (Français )

Timezone: Africa/Casablanca (GMT+01:00)

Bonjour,

Merci pour votre retour, je suis heureux qu'on ait pu trouver une solution.
Vous n'aurez pas à implémenter la solution sur un thème enfant. Cette modification est faite au niveau de l'extension String Translation, elle serait bien sûr perdu après la mise à jour de l'extension. Je ne suis pas certain que les développeurs ajouteront cette modification dans la prochaine version de l'extension, mais je vais me renseigner et revenir vers vous.

Cordialement,
Jamal
Assistance WPML

mai 1, 2020 à 12:22 #6037813

Alejandro
Supporter

Languages: Anglais (English ) Espagnol (Español ) Italien (Italiano )

Timezone: Europe/Rome (GMT+01:00)

Hello!

This is Alejandro from WPML Support. I just wanted to let you know that all the latest versions will have this issue fixed so you can update safely after a site backup.

Regards.