Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Browser sprog - mest pålidelige metode?

5 views
Skip to first unread message

Dennis Munding

unread,
Feb 2, 2013, 3:05:29 PM2/2/13
to
Hej NG!

Troede det var ligetil at f� fat i browserens sprog -
$_SERVER['HTTP_ACCEPT_LANGUAGE'] - men tilsyneladende ikke...??


Pr�ver at automatisere en FB-like-knap - den vil gerne have formatet
da_DK (n�jagtig dette format) - men s�vidt jeg har l�st mig frem til,
output'er ovenst�ende metode enten da eller da-DK...


Indtil videre er mit fors�g blevet til dette:

$lang = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$new_lang = $lang[0]; // e.g. en-us

$test1 = explode('-', $new_lang);
$test2 = strtoupper($test1[1]);
$test3 = $test1[0]."_".$test2;

(Har bevidst delt det op p� denne m�de - for egen forst�elses skyld.)

...hvilket giver 'en_US' ved engelsk, USA - men 'da_' ved dansk (fordi
HTTP_ACCEPT_LANGUAGE giver 'da' og jeg s� efterf�lgende tilf�jer '_')...


Nogle gode r�d/forslag??

P� forh�nd tak.


Med venlig hilsen
--
Dennis Munding
a.k.a. The Eye-PG-
Proud Member of The PosseGrim Squad
"When you hear the wind, you're already dead..."

scootergrisen

unread,
Feb 2, 2013, 3:21:18 PM2/2/13
to
Har du l�st deres API hvordan man g�r ?

Dennis Munding

unread,
Feb 2, 2013, 3:36:11 PM2/2/13
to
scootergrisen wrote:

> Har du l�st deres API hvordan man g�r ?

Oversat til russisk mener du...???

scootergrisen

unread,
Feb 2, 2013, 4:00:46 PM2/2/13
to
Den 02-02-2013 21:36, Dennis Munding skrev:
> scootergrisen wrote:
>
>> Har du læst deres API hvordan man gør ?
>
> Oversat til russisk mener du...???
>
>
Читали ли вы их API, как это сделать?

Hvis facebook har en måde du kan vise deres like knap i forskellige
sprog så har de nok også en side hvor du kan læse hvordan man gør.

http://developers.facebook.com/docs/reference/plugins/like/

Jeg bruger det ikke selv.

Du kan også sprøge på http://facebook.stackoverflow.com/

Mads Lie Jensen

unread,
Feb 2, 2013, 4:11:50 PM2/2/13
to
On 02-02-2013 21:05, Dennis Munding wrote:
> Troede det var ligetil at f� fat i browserens sprog -
> $_SERVER['HTTP_ACCEPT_LANGUAGE'] - men tilsyneladende ikke...??
>
>
> Pr�ver at automatisere en FB-like-knap - den vil gerne have formatet
> da_DK (n�jagtig dette format) - men s�vidt jeg har l�st mig frem til,
> output'er ovenst�ende metode enten da eller da-DK...
>
>
> Indtil videre er mit fors�g blevet til dette:
>
> $lang = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
> $new_lang = $lang[0]; // e.g. en-us
>
> $test1 = explode('-', $new_lang);
> $test2 = strtoupper($test1[1]);
> $test3 = $test1[0]."_".$test2;
>
> (Har bevidst delt det op p� denne m�de - for egen forst�elses skyld.)
>
> ...hvilket giver 'en_US' ved engelsk, USA - men 'da_' ved dansk (fordi
> HTTP_ACCEPT_LANGUAGE giver 'da' og jeg s� efterf�lgende tilf�jer '_')...

Du kunne vel bare lave en str_replace af '-' med '_':

$new_lang = str_replace('-', '_', $lang[0]);

- HVIS $lang[0] s� indeholder 'da' bliver der ikke �ndret noget. S� kan
du tjekke p� det:

if ($new_lang == 'da') {
$new_lang .= '_DK';
}

Men der skal i det hele taget nok mere til end som s� for at f� det til
at virke som du �nsker. I min browser er HTTP_ACCEPT_LANGUAGE:
da-DK,da;q=0.8,en-US;q=0.6,en;q=0.4



Dennis Munding

unread,
Feb 2, 2013, 4:23:09 PM2/2/13
to
scootergrisen wrote:

> Den 02-02-2013 21:36, Dennis Munding skrev:
> > scootergrisen wrote:
> >
> > > Har du læst deres API hvordan man gør ?
> >
> > Oversat til russisk mener du...???
> >
> >
> Читали ли вы их API, как это сделать?


Google translate er bare generelt noget skrammel...


> Hvis facebook har en måde du kan vise deres like knap i forskellige
> sprog så har de nok også en side hvor du kan læse hvordan man gør.


Om de har aner jeg ikke - det er derfor jeg selv prøver at gøre deres
script mere fleksibelt. Deres selvopfundne kode kan jeg desværre ikke
gøre så meget ved...


Scriptet (og tilhørende <div>) hvori sproget sættes:

<CODE>

<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; <--- /// (*)
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

</CODE>

*) Det er så i den linje, jeg gerne vil ind og manipulere.
Jeg ved at de f.eks. sætter dansk til da_DK og ikke da, som jeg har
hentet via HTTP'en...

[KLIP]


Med venlig hilsen

Dennis Munding

unread,
Feb 2, 2013, 4:33:04 PM2/2/13
to
Mads Lie Jensen wrote:

> Du kunne vel bare lave en str_replace af '-' med '_':
>
> $new_lang = str_replace('-', '_', $lang[0]);
>
> - HVIS $lang[0] s� indeholder 'da' bliver der ikke �ndret noget. S�
> kan du tjekke p� det:
>
> if ($new_lang == 'da') {
> $new_lang .= '_DK';
> }

I princippet ja, men jeg ville stadig skulle tjekke en masse sprog
"manuelt", idet dansk ikke er det eneste med kun to bogstaver.
S� der skulle laves et array (som manuelt skulle holdes opdateret,
hvilket er det, jeg pr�ver at undg�), hvori alle sprog med kun to
bogstaver skulle v�re, samt hvilken endelse de s� skulle have (_DK
osv.).


> Men der skal i det hele taget nok mere til end som s� for at f� det
> til at virke som du �nsker. I min browser er HTTP_ACCEPT_LANGUAGE:
> da-DK,da;q=0.8,en-US;q=0.6,en;q=0.4

Netop.
Det g�r ikke noget, hvis der ikke findes en l�sning - fandt det blot
interessant at pr�ve, da problematikken kom mig for �je i dag (havde
ved en fejl gennereret et dansk script til en amerikansk side... Ikke
smart!)


Tak for indsparket. :-)
0 new messages