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']; ?>
Je kan uiteraard geen vastgezette teksten gebruiken, je wilt immers placeholders/variabelen hebben die vertaald worden, in zowel je PHP-scripts als in het Javascript bestand.

Lees anders eens terug, want ik had eerder al aangegeven hoe je de Javascript-file moet aanpassen.

Kijk ook even in de HTML-broncode van je site (dus via de browser) of die vertalingen in je script-blok netjes vertaald zijn.
Hoi Arien,

Ik zal zo weer teruglezen. Kom er dan straks op terug. Anders plaats ik de link naar Coming soon pagina.
Bedankt :)
Als het javascript-blok erin verwerkt zit kunnen we altijd even kijken.
He he, gelukt.

Het werkt - ook in Mailchimp.
Bedankt voor je engelengeduld en hulp, Ariën.

Wat er nu in Javascript file (regel 60)stond heb ik vervangen voor:


$(".message").html('<p class="notify-valid">Dit e-mailadres is onjuist.<br>Probeer het nog en keer.</p>').fadeIn();


En in html staat nu:

lang['mailadress_incorrect'] = "<?php echo $lang['something_wrong'];?>";


En deze:


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


En deze in html:

lang['subscription_complete'] = "<?php echo $lang['something_wrong'];?>";



complete code in html:

<script>
var lang = [];
lang['subscription_complete'] = "<?php echo $lang['something_wrong'];?>";
lang['mailadress_incorrect'] = "<?php echo $lang['something_wrong'];?>";
</script>		
</head>


Twijfel alleen over dit stukje:

['something_wrong']


De rest zal nu ook wel goedkomen.

Hier de link naar Coming Soon pagina(verwijder ik zometeen weer):
Heb je al gekeken naar de link waarnaar ik refereerde? (zie mijn post op 18/04/2020 14:54:23.
Je moet juist GEEN vaste tekst in je Javascript bestand plaatsen, maar een variabele/placeholder.

Ik snap overigens niet waarom je voor twee situaties (aanmelding compleet, mailadres is fout) één dezelfde vertaling uit $lang['something_wrong'] (er is iets mis) gebruikt?

Dit leidt nu tot situaties uit het bijbelse verhaal over 'De toren van Babel'.

Verder zijn de waardes in je script-blok leeg.....

<script>
var lang = [];
lang['subscription_complete'] = "";
lang['mailadress_incorrect'] = "";
</script>		

Een kwestie van in de HTML-broncode van je pagina te kijken.
Die link heb ik gezien, maar ik weet dan nog steeds niet welke tekst ik er wel moet zetten. Waar haal ik die placeholders vandaan?

Een nit-wit, weet je nog?

Geldt ook voor dit (en dat gaf ik aan in mijn vorige post wat ik later heb toegevoegd):


Ik snap overigens niet waarom je voor twee situaties (aanmelding compleet, mailadres is fout) één dezelfde vertaling uit $lang['something_wrong'] (er is iets mis) gebruikt?


Naar onderstaande ga ik nog naar kijken en daar laat ik het bij, want zonder voorbeelden weet ik echt niet wat ik moet doen.


<script>
var lang = [];
lang['subscription_complete'] = "";
lang['mailadress_incorrect'] = "";
</script> 
Ga eerst eens na of de vertalingen wel in je taal-bestanden bestaan.

Je kan wel leuk dit doen (aangepast met correcte vertaling):

<script>
var lang = [];
lang['subscription_complete'] = "<?php echo $lang['subscription_complete'];?>";
lang['mailadress_incorrect'] = "<?php echo $lang['mailadress_incorrect'];?>";
</script>        
</head> 


Maar bestaan $lang['subscription_complete'] én $lang['mailadress_incorrect'] wel in je taalbestanden van alle talen?
Jij moet er immers voor zorg dragen dat alle vertaling in die taalbestanden staat.
leeg? ik zie dit:


<script>
var lang = [];
lang['subscription_complete'] = "<?php echo $lang['something_wrong'];?>";
lang['mailadress_incorrect'] = "<?php echo $lang['something_wrong'];?>";
</script>


zie je nieuwe bericht net. Zal het aanpassen naar


<script>
var lang = [];
lang['subscription_complete'] = "<?php echo $lang['subscription_complete'];?>";
lang['mailadress_incorrect'] = "<?php echo $lang['mailadress_incorrect'];?>";
</script>        
</head>


ga ik ook bekijken:


Maar bestaan $lang['subscription_complete'] én $lang['mailadress_incorrect'] wel in je taalbestanden van alle talen?
Jij moet er immers voor zorg dragen dat alle vertaling in die taalbestanden staat.


ben weer wat wijzer;)
Ik zeg taalbestand waar je talen in staan. Dat ding uit je eerste post in dit topic.

[sub]Niet rot bedoeld, maar ik neem aan dat je toch weet wat een bestand is :S[/sub]

heb net mijn eerdere reactie aangepast

Reageren