Vertalen van een php file

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Radboud Prinsen

Radboud Prinsen

08/05/2016 09:26:45
Quote Anchor link
Ik heb op DEZE website een tutorial gevonden over het gebruik van verschillende taalbestanden.

Heb de basis volgens mij goed gevolgd maar krijg het niet werkend. ziet iemand wat ik niet goed doe?

Mijn bestanden zien er zo uit:
index.php
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
session_start();
if(isset($_GET['lang'])) {
    $_SESSION['lang'] = $_GET['lang'];
}

if(!isset($_SESSION['lang'])) {
    $_SESSION['lang'] = 'en'; // default value
}
include($_SESSION['lang'] . 'php'); // include lang file
?>

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>title</title>

</head>
<body>

<h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $lang['title']; ?>
</h2>

<p>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $lang['intro']; ?>
</p>

</body>
</html>

en.php
Quote:
$lang = array(
'title' => 'Some title',
'intro' => 'Enter intro text'
);


de.php
Quote:
$lang = array(
'title' => 'Einige Titel',
'intro' => 'Geben Sie Introtext'
);


Toevoeging op 08/05/2016 09:29:33:

hmm zie nu dat de code van de index.php niet in 1 mooi kader staat. Het hoort dus wel allemaal bij elkaar.
Gewijzigd op 08/05/2016 09:28:54 door Radboud Prinsen
 
PHP hulp

PHP hulp

19/09/2019 09:42:01
 
Pipo Clown

Pipo Clown

08/05/2016 09:58:38
Quote Anchor link
Een wilde gok,

Quote:
include($_SESSION['lang'] . 'php'); // include lang file


moet

Quote:
include($_SESSION['lang'] . '.php'); // include lang file


worden ?

Verder, staan de taalbestanden in de root ?

tenslotte, gebruik include_once() i.p.v. include()
 
Radboud Prinsen

Radboud Prinsen

08/05/2016 10:11:01
Quote Anchor link
Ik heb de aanpassingen doorgevoerd.

De output op het scherm wordt echter ....

Quote:
$lang = array( 'title' => 'Some title', 'intro' => 'Enter intro text' );


en niet de output die je zou verwachten.
Bron output:
Quote:
$lang = array(
'title' => 'Some title',
'intro' => 'Enter intro text'
);<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>title</title>

</head>
<body>

<h2></h2>

<p></p>

</body>
</html>
 
Ben van Velzen

Ben van Velzen

08/05/2016 10:45:29
Quote Anchor link
En dat is weer omdat je geen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
gebruikt in je taalbestanden.
 
Radboud Prinsen

Radboud Prinsen

08/05/2016 14:06:13
Quote Anchor link
Volgens mij wel. In de eerste post staat de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>


In de laatste post staat alleen de bron van de output, dus dat wat te zien is nadat de php-file geladen is.
 
Ben van Velzen

Ben van Velzen

08/05/2016 14:17:55
Quote Anchor link
Nee, in je post staat heel duidelijk dat en.php en de.php dit niet bevatten. En dat verklaart ook meteen waarom de bron van die bestanden rechtstreeks in je HTML verschijnt.
 
Radboud Prinsen

Radboud Prinsen

08/05/2016 14:20:40
Quote Anchor link
Je hebt helemaal gelijk.
Ik dacht zelf dat de fout in de index.php stond. Had dus een blinde vlek voor de language files zelf.
Het werkt.
Bedankt!
 
Thomas van den Heuvel

Thomas van den Heuvel

08/05/2016 15:20:46
Quote Anchor link
Voordat je allerlei data in je sessie kiepert wil je wellicht controleren (filteren) of deze data wel geldig is, bijvoorbeeld aan de hand van een whitelist (bijvoorbeeld een array van toegestane talen).

En op het moment dat je input niet voldoet wil je wellicht ook terugvallen op een geldige default(taal).
 
- Ariën -
Beheerder

- Ariën -

08/05/2016 15:40:04
Quote Anchor link
Radboud Prinsen op 08/05/2016 09:26:45:

hmm zie nu dat de code van de index.php niet in 1 mooi kader staat. Het hoort dus wel allemaal bij elkaar.

Gelukkig hebben we code-tags hiervoor. Zie ook de 'Veel gestelde vragen'.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.