Ik heb een coming soon pagina in twee talen (zie topic: https://www.phphulp.nl/php/forum/topic/opgelost-phparrays-multilanguage-htmlwebpagina/103463/). Het enige dat nog vertaald moet worden is de tekst in de 'Notify me' javascript file (van nieuwsbrief formulier Mail Chimp).

Is het mogelijk om onderstaande in te voeren met de methode hieronder.
Zo nee, weet iemand een andere correcte en veilige oplossing?

<?php
$lang = array(
"title" => "tekst",
"description" => "tekst",
"lang_en" => "English",
"lang_nl" => "Nederlands"
);
$lang['subscribe_and_updated'] = "Subscribe and stay updated!";
$lang['signing_up'] = "Signing up to our newsletter gives you exclusive access to our opening!";
$lang['join_waiting_list'] = "Join Waiting List";
$lang['get_notified'] = "Get Notified";
?>

<?php echo $lang['subscribe_and_updated']; ?>
<?php echo $lang['signing_up']; ?>
<?php echo $lang['get_notified']; ?>
1) Je hebt toch voor elke taal een lijst in PHP met de vertalingen in diverse talen? Daar begon het topic juist mee. Zorg dat je die te vertalen teksten ook toevoegt aan het bestand.

2) Kies bijvoorbeeld de Engelse taal, en kijk of je in je broncode in je browser ook die vertaling terug ziet. Dus even rechtsklikken op je site en kies voor 'Broncode weergeven', dan zie je de HTML-structuur zoals je browser je website ziet.

3) Dat heb ik net om 14:54:23 al laten zien in een edit van mijn bericht hier.

Laat anders even een URL van je site zien die we kunnen bekijken. Dan weten we wat er nog moet gebeuren.

Kleine tip: ipv
lang['notify_me'] = "<?php echo $lang['get_notified'];?>";
kun je beter
lang['notify_me'] = <?php json_encode($lang['get_notified']); ?>;
Let op: dus ook de omsluitende aanhalingstekens verwijderen!

Dan kom je later nooit in de problemen als er opeens aanhalingstekens in je vertalingen komen te staan (json_encode escapet die dan vanzelf).
Laat maar even je URL zien, Roos, dan kunnen we beter kijken wat er nog moet gebeuren!
Dat JavaScript bestand is sowieso een baksteen, als daar hardcoded allerlei teksten in zitten. Het is niet optimaal om de broncode daarvan aan te passen, maar je zou de teksten kunnen vervangen door placeholders (invulvakjes) en dan op een andere plek definiëren wat er in deze vakjes ingevuld zou moeten worden.

@Rob json_encode() retourneert een string (maar geeft deze dus niet direct weer), dus je zult hier nog een echo aan toe moeten voegen.
Bedankt! Ik zal het aanpassen.

Rob Doemaarwat op 18/04/2020 15:17:32

Kleine tip: ipv
lang['notify_me'] = "<?php echo $lang['get_notified'];?>";
kun je beter
lang['notify_me'] = <?php json_encode($lang['get_notified']); ?>;
Let op: dus ook de omsluitende aanhalingstekens verwijderen!

Dan kom je later nooit in de problemen als er opeens aanhalingstekens in je vertalingen komen te staan (json_encode escapet die dan vanzelf).


Dat probeer ik al via Javascript-variabelen te bewerkstelligen.
url kan ik niet plaatsen.Ik werk achter de schermen aan deze coming soon page omdat het nog niet af is.

[size=xsmall]Toevoeging op 18/04/2020 15:38:04:[/size]

ik laat vanavond weten of het gelukt is. Bedankt allen en fijn weekend
Let ook even op wat Thomas nog zei / ik was iets te enthousiast met de backspace / het wordt dus:
lang['notify_me'] = <?php echo json_encode($lang['get_notified']); ?>;
Ik ben nieuwsgierig of het nog gelukt is?
Ik kom er niet uit. Wat ik verwarrend vind is het javascript bestand in html file. Waarschijnlijk omdat ik Engelse teksten zie. Ik begrijp ook die verwijzingen niet ('notify_me']). Want dit zie ik niet staan bij de Engelstalige teksten uit Javascript die vertaald moeten worden. Zie onderaan dit bericht.


<script>
var lang = [];
lang['notify_me'] = "<?php echo $lang['get_notified'];?>";
lang['invalid_mail'] = "<?php echo $lang['invalid_mail'];?>";
lang['something_wrong'] = "<?php echo $lang['something_wrong'];?>";
</script>	


De main pagina is Engelstalig. Wat vertaald moet worden in javascript is de NL versie. Dit moet o.a. vertaald worden:

"Thank you for signing up.
You are now on our Waiting list.
You will receive your first e-mail within the next 24 hours"

"Your e-mail address is incorrect.
Please check it and try again."

Etc.

Mijn vraag, de Engelstalige tekst het NotifyMe Javascript file:


$(".message").html('<p class="notify-valid">Thank you for signing up. <br>You are now on our Waiting list. <br>You will receive your first e-mail within the next 24 hours.</p>').fadeIn();


moet zo worden:


$(".message").html('<p class="notify-valid">Bedankt voor je aanmelding. <br>Je staat nu op onmze wachtlijst. <br>Binnen 24 uur ontvang je van ons een eerste e-mail.</p>').fadeIn();


Dus, hoe wordt dit dan in de html sectie...Wat plaatst ik tussen de haakjes ipv notify_me?:


<script>
var lang = [];
lang['notify_me'] = "<?php echo $lang['get_notified'];?>";
</script>

Reageren