Jeg har et spørgsmål til noget som kunne være meget simpelt men jeg ikke kan finde hoved og hale i og håber der er en der vil hjælpe mig lidt på rette vej
Hvad jeg ønsker at gøre er at skifte $A til $B når brugeren klikker på DK og at den derefter bliver i det spor indtil et andet sprog er valgt FKS EN, DE osv. men at den holder fast i det valgte sprog-
Index.php
Echo $A;
Language.php
$A = "Hello";
$B = "Hej";
$C = "Hallo";
Jeg ville virkelig værdsætte hvis nogen kunne give en god og grundig forklaring på hvordan man gør dette ^^
PHP Select
Re: PHP Select
En anden tanke ville være at brugeren er redirected efter deres brower's sprog men jeg ved ikke om dette exempel vil virke på alle browsers eller om der er noget der skal sættes op på host serveren i forvejen for at det skal virke og hvordan den er brugt.
også overvejet .Htaccess
men tror ikke jeg kan bruge rewrite rule+cond i samme .HtAccess 3 gange i træk så som i kan se er jeg ret forviret angående redirect så jeg har brug for lidt hjælp med basic + how-to som jeg håber der er en der vil hjælpe mig med
Kode: Vælg alt
$http_lang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
switch ($http_lang) {
case 'en':
$SESSION->conf['language'] = 'english';
break;
case 'es':
$SESSION->conf['language'] = 'spanish';
break;
default:
$SESSION->conf['language'] = $PREFS->conf['languages'][$SESSION->conf['language_id']];
}
Kode: Vælg alt
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (aa|ab|af|am|ar|as|ay|az|ba|be|bg|bh|bi|bn|bo|br|ca|co|cs|cy|dz|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|fy|ga|gd|gl|gn|gu|ha|hi|hr|hu|hy|ia|ie|ik|in|is|it|iw|ja|ji|jw|ka|kk|kl|km|kn|ko|ks|ku|ky|la|ln|lo|lt|lv|mg|mi|mk|ml|mn|mo|mr|ms|mt|my|na|ne|nl|no|oc|om|or|pa|pl|ps|pt|qu|rm|rn|ro|ru|rw|sa|sd|sg|sh|si|sk|sl|sm|sn|so|sq|sr|ss|st|su|sv|sw|ta|te|tg|th|ti|tk|tl|tn|to|tr|ts|tt|tw|uk|ur|uz|vi|vo|wo|xh|yo|zh|zu) [NC]
RewriteRule .* htpp://www.default.com [L]
RewriteCond %{HTTP:Accept-Language} (dk) [NC]
RewriteRule .* htpp://www.danish.com [L]
RewriteCond %{HTTP:Accept-Language} (dk) [NC]
RewriteRule .* htpp://www.german.com [L]
Re: PHP Select
Jeg ville nok gøre det lidt anerledes, end at have variabler, som indeholder teksten, men hvis det er det du vil:
Hav en fil for hvert land, hvor du har dine variabler og deres tilsvarende oversatte værdier.
Behold dit nuværende switch-statement, og inkluder hver enkelte sprog-fil ud fra paramteret i http language.
Tilføj her et stykke require, som inkludere filen for det givne land med variabler.
Da variabler kun virker såfremt variablerne er sat, kan du jo sagtens skifte mellem de forskellige sprog-filer.
Herefter skal dine sprogfiler have matchende variabler. Det kunne eksempelvis være følgende:
language.en.php
language.es.php
Herefter udskrives det bare ved at udskrive den variable, som du vil bruge.
Jeg ville dog anvende et array fremfor variabler såfremt dit script skal udvikles således her. Det synes jeg personligt giver et bedre overblik.
Det kan herefter udskrives ved at inkludere filen og herefter
Vend endelig tilbage, hvis du har nogle spørgsmål / problemstillinger.
vh,
Hav en fil for hvert land, hvor du har dine variabler og deres tilsvarende oversatte værdier.
Behold dit nuværende switch-statement, og inkluder hver enkelte sprog-fil ud fra paramteret i http language.
Tilføj her et stykke require, som inkludere filen for det givne land med variabler.
Da variabler kun virker såfremt variablerne er sat, kan du jo sagtens skifte mellem de forskellige sprog-filer.
Kode: Vælg alt
$http_lang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
switch ($http_lang) {
case 'en':
$SESSION->conf['language'] = 'english';
require ('language.en.php');
break;
case 'es':
$SESSION->conf['language'] = 'spanish';
require ('language.es.php');
break;
default:
$SESSION->conf['language'] = $PREFS->conf['languages'][$SESSION->conf['language_id']];
require ('language.default.php');
}
language.en.php
Kode: Vælg alt
$mainPageHeader = 'Welcome to our site';
$mainPageFooter = 'Copyright © MyCompany';
# [..]
Kode: Vælg alt
$mainPageHeader = ' - Welcome to our site - oversat';
$mainPageFooter = ' - Copyright © MyCompany - oversat';
Jeg ville dog anvende et array fremfor variabler såfremt dit script skal udvikles således her. Det synes jeg personligt giver et bedre overblik.
Kode: Vælg alt
$LANG = array(
'mainPageHeader' => 'Welcome to our site',
'mainPageFooter' => 'Copyright © MyCompany'
);
Kode: Vælg alt
echo $LANG['mainPageHeader'];
vh,
Re: PHP Select
hvilken metode er bedst til at redirecte uden at give websiten en dårlig score fra googlebot under skanning og har jeg forstået disse status koder korrekt:
301: permanent redirect som kommer an på den besøgende's browser indstillinger og bruges generelt kun for at linke fks. test.dk, test.de osv. til test.com i tilfælde af du bestiller domæner for at sikre at ingen tager samme website selv på andre populære domæner og peger dem direkte til hoved websiten test.com etc. men bruges også når man flytter til nyt domæne men ejer det gamle noget tid.
302: temporært redirect som kommer an på den besøgende's browser indstillinger og bruges regulært til at redirecte sprog på google men kan også bruges mens websiten er under konstruktion.
spørgsmålet du besvarede kan kategoriseres som 302 redirect via .php ?
ps. mange tak for svaret ^^
301: permanent redirect som kommer an på den besøgende's browser indstillinger og bruges generelt kun for at linke fks. test.dk, test.de osv. til test.com i tilfælde af du bestiller domæner for at sikre at ingen tager samme website selv på andre populære domæner og peger dem direkte til hoved websiten test.com etc. men bruges også når man flytter til nyt domæne men ejer det gamle noget tid.
302: temporært redirect som kommer an på den besøgende's browser indstillinger og bruges regulært til at redirecte sprog på google men kan også bruges mens websiten er under konstruktion.
spørgsmålet du besvarede kan kategoriseres som 302 redirect via .php ?
Kode: Vælg alt
$http_lang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
switch ($http_lang) {
case 'en':
$SESSION->conf['language'] = 'english';
require ('language.en.php');
break;
case 'es':
$SESSION->conf['language'] = 'spanish';
require ('language.es.php');
break;
default:
$SESSION->conf['language'] = $PREFS->conf['languages'][$SESSION->conf['language_id']];
require ('language.default.php');
}
ps. mange tak for svaret ^^
Re: PHP Select
Google har skrevet en ganske fornuftig guide til multilingual sites:
https://support.google.com/webmasters/a ... 92?hl=en#1
Her er også flg.:
http://googlewebmastercentral.blogspot. ... sites.html
Så vidt jeg husker for min korte tid med SEO, er et 301-redirect det bedste.
Dit problem bliver jo så bare, at hvis din URL permanent er rykket, så vil du ikke kunne finde resultater fra .dk, hvis google botten bliver sendt til .com domænet.
Det er i hvertfald sådan jeg har forstået det.
Hvis jeg var dig, så ville jeg tage en tur forbi google.com, og søge på følgende:
php htaccess websites multilingual seo
Her kommer en god portion blog-posts samt spørgsmål hos stackoverflow. Mon ikke det kan hjælpe dig lidt på vej?
https://support.google.com/webmasters/a ... 92?hl=en#1
Her er også flg.:
http://googlewebmastercentral.blogspot. ... sites.html
Så vidt jeg husker for min korte tid med SEO, er et 301-redirect det bedste.
Dit problem bliver jo så bare, at hvis din URL permanent er rykket, så vil du ikke kunne finde resultater fra .dk, hvis google botten bliver sendt til .com domænet.
Det er i hvertfald sådan jeg har forstået det.
Hvis jeg var dig, så ville jeg tage en tur forbi google.com, og søge på følgende:
php htaccess websites multilingual seo
Her kommer en god portion blog-posts samt spørgsmål hos stackoverflow. Mon ikke det kan hjælpe dig lidt på vej?
Re: PHP Select
har været forbi og fundet mange spørgsmål og få svar som kan misforstå's.
jeg vil lige læse dine 2 links og se om jeg kan få en bedre forståelse for det
jeg vil lige læse dine 2 links og se om jeg kan få en bedre forståelse for det