In one of our site, we have 4 languages in total. Some of the translation are in string, so we use WPML string translate for them. The translation was done in all 3 others languages (french is the one by default) and everything was working. But today we put the site online (dev to live) and the english language are not working anymore (the other two are working fine like before). We have no way to know when and what append because the client is working on the site too.
Here an example of a page with a lot of string who are not working anymore in english : hidden link
I was able to resolve the issue. I changed the code in the template to use "esc_html_e" instead of "_e". I also found that the string would only translate from English to your secondary languages, and I believe that is because on WPML -> Theme and plugin localization, you have checked the box for "Assume that the original language of all strings is English". So I changed the Bonjour to Hello, and then translated it, and now the translation is showing.
If you prefer to register the strings in French, you can uncheck that box. Then delete the existing string and update the template, and rescan the theme.
Please let me know if you need any further assistance and I will be happy to help.