Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Sprog med Php

Forord

Vi vil i denne artikel se på de forskellige muligheder der findes i Php, til at lave sprog systemer.

Indholdsfortegnelse

1.0   Introduktion
2.0   Sprog filen
   2.1   Define funktionen
   2.2   Eksempel
3.0   Afslutning

1.0  Introduktion

Hejsa Rowlere.
Har set et par gange herinde, at folk har spurgt hvordan man nu lige skal lave sprog-filer så man kan få multi-sprogede systemer. Derfor har jeg valgt at sætte mig og skrive en lille artikel på emnet.
Sværhedsgrad: Begynder

2.0  Sprog filen

Et godt sted at starte, er ved sprogfilen.
Inden man begynder et stort projekt som kræver multi-sprogede sider, skal man tænke over hvilken måde man vil omgås problemet på. Skal det foregå via XML, eller igennem php's indbyggede Define funktion.

Vores første eksempel, vil være baseret på php's define funktion.
Denne funktion ser således ud:

2.1  Define funktionen

  • define("NAVN","tekst", PARM);

NAVN er konstanten for navnet vi vil kalde.
tekst er den tekst, vi vil have der bliver udskrevet.

PARM er en bool variabel. Det vil sige den kan være "True" eller "false"
Denne True/False variabel står for om konstant navnet må være "Kun store bogstaver" eller om det er i orden der er små bogstaver med også.

Det vil sige, sætteer vi PARM til true. Kan du benytte dig af konstant navne indholdende små bogstaver.
Sættes den slet ikke, betyder det false og vil derfor betyde at det skal være store bogstaver. Jeg foretrækker denne mulighed, da det sørge for du ikke overskriver andre variabler.

2.2  Eksempel


Vores første eksempel vil inkludere dansk og engelsk. Først vil vi oprette sprogfilerne.

da_dk.php
  1. <?php
  2. //Dansk sprog

  3. //Generelt
  4. define("GENERAL_HELLO","Hej");
  5. define("GENERAL_THANKS","Tak");
  6. define("GENERAL_AND","og");

  7. ?>

en_us.php
  1. <?php
  2. //Engelsk sprog

  3. //Generelt
  4. define("GENERAL_HELLO","Hello");
  5. define("GENERAL_THANKS","Thanks");
  6. define("GENERAL_AND","and");

  7. ?>

Som i kan se, har vi oprettet 2 filer nu. En dansk og en engelsk version.
Vi benytter overnævnte metode med define("NAVN","tekst",PARM);
Vi har oprettet 3 tekster.

GENERAL_HELLO
GENERAL_THANKS
GENERAL_AND

Tildelt dem hver deres tekst. Og sat dem alle sammen til at være "Stor tekst" kun.

index.php
  1. <?php
  2. //Dynamisk sprog.

  3. //Sæt variabler
  4. $sprog = $_GET['sprog'];

  5. //Finder ud af hvilket sprog vi skal hente.
  6. if($sprog == "1") {
  7. //Hvis vores hentede GET er 1. Henter vi den danske sprogfil
  8. include("da_dk.php");
  9. }
  10. elseif($sprog == "2") {
  11. //Hvis vores hentede GET er 2. Henter vi den engelske sprogfil
  12. include("en_us.php");
  13. }
  14. else {
  15. //Hvis vores hentede GET ikke er sat, eller det ikke er 1 eller 2. Sætter vi dansk som standard sprog.
  16. include("da_dk.php");
  17. }

  18. //Udskriver vores sprog

  19. print(''.GENERAL_HELLO.' '.GENERAL_AND.' '.GENERAL_THANKS.'');

  20. ?>

SUPER!
Såre simpelt er det! Som du kan se, kalder vi vores sprog ved at kalde det konstant navn vi har angivet i vores sprog fil, ligesom vi ville kalde en ganske almindelig variabel. Det betyder selvfølgelig at du kan kalde behandle den som en variabel også.
Sætter du f.eks en define sådan her:

  1. <?php
  2. define("TAL","22");
  3. ?>

Er det mulig for dig at benytte det sådan her:

  1. <?php
  2. $tal2 = TAL (Plus tegn) 8;
  3. print ($tal2);
  4. ?>

Som selvfølgelig vil udskrive nummeret 30.

3.0  Afslutning

Dette var blot en meget simpel gennemgang af Php's Define funktion.
Den næste artikel, vil omhandle XML sprogfiler, og deres klare fordele.
Mange tak fordi i gad at læse.

Mvh. jonas.mi

Sidst redigeret 12:47 04/05/2010 af Rowl
Oprettet af:

PHP

Point modtaget: 100

Rating: 3
02:59 04/05/2010

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
Det var ikke fordi man ligefrem lærte særlig meget..
Du fortalte hvad define -funktionen er, og hvordan den bruges.

Du skrev noget med XML, men hvad blev der af det?
Et godt sted at starte, er ved sprogfilen.
Inden man begynder et stort projekt som kræver multi-sprogede sider, skal man tænke over hvilken måde man vil omgås problemet på. Skal det foregå via XML, eller igennem php's indbyggede Define funktion.

Vores første eksempel, vil være baseret på php's define funktion.
Denne funktion ser således ud: ...

Jeg troede, da du sagde at det første eksempel ville være med php's define funktion, at der ville være andre eksempler (som fx. noget XML).

Du har forklaret tingene OK, men bedre var det heller ikk(;

1 fra mig
Oprettet af:
  Mail
20:58 04/05/2010
hej flapsi. Tak for kommentaren. Hvis du lægger mærke til det. Står der nederst at næste artikel vil være om xml. Det er desværre et emne der fylder så meget. At det kræver en side for sig selv.
Mvh jonas
Oprettet af:
  Mail
01:13 05/05/2010
ahh okay :) -havde ikke set afslutningen :)
- Det forklarer jo en del

Dette var blot en meget simpel gennemgang af Php's Define funktion.
Den næste artikel, vil omhandle XML sprogfiler, og deres klare fordele.

Min fejl, skulle have læst det sidste ;)
Oprettet af:
  Mail
15:16 05/05/2010
Helt iorden. Man kan ikke vinde hver gang. :-)
Oprettet af:
  Mail
22:40 05/05/2010
hehe :)
Oprettet af:
  Mail
13:49 06/05/2010
Det er jo godt nok viden man har erfaret sig for længst, men for en nybegynder vil jeg mene det vil være en smart måde at erfare sig på ;-)
Synes bare ikke du beskriver hvordan man henter værdi et eller to.. - Så sidder brugerne jo fast i af det alligevel ikke fungerer.. ;-)
Har lige smækket en ny index.php fil sammen til de fortvivlede, som gerne skulle virke...

index.php

  1. <?php

  2. $sprog = $_POST['sprog'];
  3. if (!isset($_POST['submit'])) {

  4. ?>

  5. Vælg sprog<br />
  6. <form action='<?php echo $PHP_SELF; ?>' method='post' name='sprog'>
  7. <select name='sprog'>
  8. <option value='1'>Dansk</option>
  9. <option value='2'>Engelsk</option>
  10. </select>
  11. <input type='submit' name='submit' value='Ok!' />
  12. </form>

  13. <?php } else {

  14. if($sprog == "1") {
  15. include("da_dk.php");
  16. }
  17. elseif($sprog == "2") {
  18. include("en_us.php");
  19. }

  20. else {
  21. include("da_dk.php");
  22. }

  23. print(''.GENERAL_HELLO.' '.GENERAL_AND.' '.GENERAL_THANKS.'');
  24. }
  25. ?>
Oprettet af:
  Mail
18:37 14/07/2010
Du bør være mere klar i hvad præcist forskellen er på en variabel og en konstant, og hvorfor man mange gange kan bruge konstanter til at gøre sit program mere overskueligt, og nemmere at holde styr på.
Sidst redigeret 18:38 03/08/2010
Oprettet af:
  Mail
18:38 03/08/2010
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes