language detection

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »
Daniel

Daniel

28/03/2009 17:09:00
Quote Anchor link
Ik wil graag language detection op mijn website. Ik heb hier een gratis script voor gevonden maar ik krijg het met geen mogelijk werken, ik kan geen enkele waarde uit het script met een echo laten neerschrijven. Heeft iemand een idee hoe ik dit kan gebruiken. Er zijn 2 manieren om het te gebruiken, maar ik kom uit geen van beiden..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<?php
/*
Script Name: Full Operating system language detection
Author: Harald Hope, Website: http://techpatterns.com/
Script Source URI: http://techpatterns.com/downloads/php_language_detection.php
Version 0.3.6
Copyright (C) 8 December 2008

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Get the full text of the GPL here: http://www.gnu.org/licenses/gpl.txt

Coding conventions:
http://cvs.sourceforge.net/viewcvs.py/phpbb/phpBB2/docs/codingstandards.htm?rev=1.3
*/

/*
Changes:
0.3.6 - added possible $feature values to comment header section
*/

/******************************************
Script is currently set to accept 2 parameters, triggered by $feature value.
for example, get_languages( 'data' ):
1. 'header' - sets header values, for redirects etc. No data is returned
2. 'data' - for language data handling, ie for stats, etc.
    Returns an array of the following 4 item array for each language the os supports:
    1. full language abbreviation, like en-ca
    2. primary language, like en
    3. full language string, like English (Canada)
    4. primary language string, like English
*******************************************/

// choice of redirection header or just getting language data
// to call this you only need to use the $feature parameter

function get_languages( $feature, $spare='' )
{

    // get the languages
    $a_languages = languages();
    $index = '';
    $complete = '';
    $found = false;// set to default value
    //prepare user language array

    $user_languages = array();

    //check to see if language is set
    if ( isset( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ) )
    {

        $languages = strtolower( $_SERVER["HTTP_ACCEPT_LANGUAGE"] );
        // $languages = ' fr-ch;q=0.3, da, en-us;q=0.8, en;q=0.5, fr;q=0.3';
        // need to remove spaces from strings to avoid error

        $languages = str_replace( ' ', '', $languages );
        $languages = explode( ",", $languages );
        //$languages = explode( ",", $test);// this is for testing purposes only

        foreach ( $languages as $language_list )
        {

            // pull out the language, place languages into array of full and primary
            // string structure:

            $temp_array = array();
            // slice out the part before ; on first step, the part before - on second, place into array
            $temp_array[0] = substr( $language_list, 0, strcspn( $language_list, ';' ) );//full language
            $temp_array[1] = substr( $language_list, 0, 2 );// cut out primary language
            //place this array into main $user_languages language array

            $user_languages[] = $temp_array;
        }


        //start going through each one
        for ( $i = 0; $i < count( $user_languages ); $i++ )
        {

            foreach ( $a_languages as $index => $complete )
            {

                if ( $index == $user_languages[$i][0] )
                {

                    // complete language, like english (canada)
                    $user_languages[$i][2] = $complete;
                    // extract working language, like english
                    $user_languages[$i][3] = substr( $complete, 0, strcspn( $complete, ' (' ) );
                }
            }
        }
    }

    else// if no languages found
    {
        $user_languages[0] = array( '','','','' ); //return blank array.
    }
    // print_r($user_languages);
    // return parameters

    if ( $feature == 'data' )
    {

        return $user_languages;
    }


    // this is just a sample, replace target language and file names with your own.
    elseif ( $feature == 'header' )
    {

        switch ( $user_languages[0][1] )// get default primary language, the first one in array that is
        {
            case
'en':
                $location = 'english.php';
                $found = true;
                break;
            case
'sp':
                $location = 'spanish.php';
                $found = true;
                break;
            default:

                break;
        }

        if ( $found )
        {

            header("Location: $location");
        }

        else// make sure you have a default page to send them to
        {
            header("Location: default.php");
        }
    }
}

function
languages()
{

// pack abbreviation/language array
// important note: you must have the default language as the last item in each major language, after all the
// en-ca type entries, so en would be last in that case

    $a_languages = array(
    'af' => 'Afrikaans',
    'sq' => 'Albanian',
    'ar-dz' => 'Arabic (Algeria)',
    'ar-bh' => 'Arabic (Bahrain)',
    'ar-eg' => 'Arabic (Egypt)',
    'ar-iq' => 'Arabic (Iraq)',
    'ar-jo' => 'Arabic (Jordan)',
    'ar-kw' => 'Arabic (Kuwait)',
    'ar-lb' => 'Arabic (Lebanon)',
    'ar-ly' => 'Arabic (libya)',
    'ar-ma' => 'Arabic (Morocco)',
    'ar-om' => 'Arabic (Oman)',
    'ar-qa' => 'Arabic (Qatar)',
    'ar-sa' => 'Arabic (Saudi Arabia)',
    'ar-sy' => 'Arabic (Syria)',
    'ar-tn' => 'Arabic (Tunisia)',
    'ar-ae' => 'Arabic (U.A.E.)',
    'ar-ye' => 'Arabic (Yemen)',
    'ar' => 'Arabic',
    'hy' => 'Armenian',
    'as' => 'Assamese',
    'az' => 'Azeri',
    'eu' => 'Basque',
    'be' => 'Belarusian',
    'bn' => 'Bengali',
    'bg' => 'Bulgarian',
    'ca' => 'Catalan',
    'zh-cn' => 'Chinese (China)',
    'zh-hk' => 'Chinese (Hong Kong SAR)',
    'zh-mo' => 'Chinese (Macau SAR)',
    'zh-sg' => 'Chinese (Singapore)',
    'zh-tw' => 'Chinese (Taiwan)',
    'zh' => 'Chinese',
    'hr' => 'Croatian',
    'cs' => 'Czech',
    'da' => 'Danish',
    'div' => 'Divehi',
    'nl-be' => 'Dutch (Belgium)',
    'nl' => 'Dutch (Netherlands)',
    'en-au' => 'English (Australia)',
    'en-bz' => 'English (Belize)',
    'en-ca' => 'English (Canada)',
    'en-ie' => 'English (Ireland)',
    'en-jm' => 'English (Jamaica)',
    'en-nz' => 'English (New Zealand)',
    'en-ph' => 'English (Philippines)',
    'en-za' => 'English (South Africa)',
    'en-tt' => 'English (Trinidad)',
    'en-gb' => 'English (United Kingdom)',
    'en-us' => 'English (United States)',
    'en-zw' => 'English (Zimbabwe)',
    'en' => 'English',
    'us' => 'English (United States)',
    'et' => 'Estonian',
    'fo' => 'Faeroese',
    'fa' => 'Farsi',
    'fi' => 'Finnish',
    'fr-be' => 'French (Belgium)',
    'fr-ca' => 'French (Canada)',
    'fr-lu' => 'French (Luxembourg)',
    'fr-mc' => 'French (Monaco)',
    'fr-ch' => 'French (Switzerland)',
    'fr' => 'French (France)',
    'mk' => 'FYRO Macedonian',
    'gd' => 'Gaelic',
    'ka' => 'Georgian',
    'de-at' => 'German (Austria)',
    'de-li' => 'German (Liechtenstein)',
    'de-lu' => 'German (Luxembourg)',
    'de-ch' => 'German (Switzerland)',
    'de' => 'German (Germany)',
    'el' => 'Greek',
    'gu' => 'Gujarati',
    'he' => 'Hebrew',
    'hi' => 'Hindi',
    'hu' => 'Hungarian',
    'is' => 'Icelandic',
    'id' => 'Indonesian',
    'it-ch' => 'Italian (Switzerland)',
    'it' => 'Italian (Italy)',
    'ja' => 'Japanese',
    'kn' => 'Kannada',
    'kk' => 'Kazakh',
    'kok' => 'Konkani',
    'ko' => 'Korean',
    'kz' => 'Kyrgyz',
    'lv' => 'Latvian',
    'lt' => 'Lithuanian',
    'ms' => 'Malay',
    'ml' => 'Malayalam',
    'mt' => 'Maltese',
    'mr' => 'Marathi',
    'mn' => 'Mongolian (Cyrillic)',
    'ne' => 'Nepali (India)',
    'nb-no' => 'Norwegian (Bokmal)',
    'nn-no' => 'Norwegian (Nynorsk)',
    'no' => 'Norwegian (Bokmal)',
    'or' => 'Oriya',
    'pl' => 'Polish',
    'pt-br' => 'Portuguese (Brazil)',
    'pt' => 'Portuguese (Portugal)',
    'pa' => 'Punjabi',
    'rm' => 'Rhaeto-Romanic',
    'ro-md' => 'Romanian (Moldova)',
    'ro' => 'Romanian',
    'ru-md' => 'Russian (Moldova)',
    'ru' => 'Russian',
    'sa' => 'Sanskrit',
    'sr' => 'Serbian',
    'sk' => 'Slovak',
    'ls' => 'Slovenian',
    'sb' => 'Sorbian',
    'es-ar' => 'Spanish (Argentina)',
    'es-bo' => 'Spanish (Bolivia)',
    'es-cl' => 'Spanish (Chile)',
    'es-co' => 'Spanish (Colombia)',
    'es-cr' => 'Spanish (Costa Rica)',
    'es-do' => 'Spanish (Dominican Republic)',
    'es-ec' => 'Spanish (Ecuador)',
    'es-sv' => 'Spanish (El Salvador)',
    'es-gt' => 'Spanish (Guatemala)',
    'es-hn' => 'Spanish (Honduras)',
    'es-mx' => 'Spanish (Mexico)',
    'es-ni' => 'Spanish (Nicaragua)',
    'es-pa' => 'Spanish (Panama)',
    'es-py' => 'Spanish (Paraguay)',
    'es-pe' => 'Spanish (Peru)',
    'es-pr' => 'Spanish (Puerto Rico)',
    'es-us' => 'Spanish (United States)',
    'es-uy' => 'Spanish (Uruguay)',
    'es-ve' => 'Spanish (Venezuela)',
    'es' => 'Spanish (Traditional Sort)',
    'sx' => 'Sutu',
    'sw' => 'Swahili',
    'sv-fi' => 'Swedish (Finland)',
    'sv' => 'Swedish',
    'syr' => 'Syriac',
    'ta' => 'Tamil',
    'tt' => 'Tatar',
    'te' => 'Telugu',
    'th' => 'Thai',
    'ts' => 'Tsonga',
    'tn' => 'Tswana',
    'tr' => 'Turkish',
    'uk' => 'Ukrainian',
    'ur' => 'Urdu',
    'uz' => 'Uzbek',
    'vi' => 'Vietnamese',
    'xh' => 'Xhosa',
    'yi' => 'Yiddish',
    'zu' => 'Zulu' );

    return $a_languages;
}

?>


hulp zou zeer gewaardeerd worden...
 
PHP hulp

PHP hulp

27/05/2026 07:47:14
 
Willem Jan Z

Willem Jan Z

28/03/2009 17:15:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo '<pre>'.print_r(get_languages('data'),1).'</pre>';
?>
 
Daniel

Daniel

28/03/2009 18:03:00
Quote Anchor link
Ik heb dit op regel 126 geplakt en de output in Internet Explorer is het volgende:

Array
(
[0] => Array
(
[0] => nl
[1] => nl
[2] => Dutch (Netherlands)
[3] => Dutch
)

)

In Firefox:
Array
(
[0] => Array
(
[0] => nl
[1] => nl
[2] => Dutch (Netherlands)
[3] => Dutch
)

[1] => Array
(
[0] => en-us
[1] => en
[2] => English (United States)
[3] => English
)

[2] => Array
(
[0] => en
[1] => en
[2] => English
[3] => English
)

)

Alleen nu he volgende, hoe kan ik de header functie van het script gebruiken om mij te laten doorverwijzen naar ingesteld pagina's
 
Flip --

Flip --

28/03/2009 18:27:00
Quote Anchor link
bij dit stukje zelf meer bijzetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
            case 'en':
                $location = 'english.php';
                $found = true;
                break;


en deze functie:
get_languages( $feature, $spare='' )

aanroepen met #feature = 'header'
 
Daniel

Daniel

28/03/2009 18:38:00
Quote Anchor link
hoe doe ik dat aanroepen? gewoon index.php#feature=header of ben ik ergens totaal mee in de war?
Ik snap gewoon helemaal niks van Arrays
 
Flip --

Flip --

28/03/2009 19:22:00
Quote Anchor link
#feature moest $feature zijn dat was een typo.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include('het pad en de naam naar het script wat je hierboven hebt gepost');
get_languages('header');
?>


dat is alles!
in plaats van de regel waar de include staat kan je ook gewoon het hele script plakken.

je wilt toch doorverwezen worden naar andere pagina's ?
"Ik heb hier een gratis script voor gevonden maar ik krijg het met geen mogelijk werken, ik kan geen enkele waarde uit het script met een echo laten neerschrijven."
dan hoef je dus ook niks te echo-en

zelf pagina's toevoegen of wijzigen gaat zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
            case 'nl':
                $location = 'nederlands.html';
                $found = true;
                break;

dat ze je dus wel ff op de goede plaats bij regel 105 ofzo.

regel 122 bepaald de plaats van de standaard pagina als je geen aparte pagina voor de taal hebt
 
Daniel

Daniel

28/03/2009 22:41:00
Quote Anchor link
Flip, heel erg bedankt voor de reactie. Ik denk dat ik er bijna ben alleen krijg ik nog een error:

Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/dannyvanderzande.nl/httpdocs/site/test/test.php:288) in /home/httpd/vhosts/dannyvanderzande.nl/httpdocs/site/test/test.php on line 120

line 120 is de header naar de $location variabele

en

line 288 is de eindtag van het PHP script

enig idee wat ik foutdoe.
Zal beide code's even posten

index:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include('test.php');
get_languages('header');
?>


test.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
<?php
/*
Script Name: Full Operating system language detection
Author: Harald Hope, Website: http://techpatterns.com/
Script Source URI: http://techpatterns.com/downloads/php_language_detection.php
Version 0.3.6
Copyright (C) 8 December 2008

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Get the full text of the GPL here: http://www.gnu.org/licenses/gpl.txt

Coding conventions:
http://cvs.sourceforge.net/viewcvs.py/phpbb/phpBB2/docs/codingstandards.htm?rev=1.3
*/

/*
Changes:
0.3.6 - added possible $feature values to comment header section
*/

/******************************************
Script is currently set to accept 2 parameters, triggered by $feature value.
for example, get_languages( 'data' ):
1. 'header' - sets header values, for redirects etc. No data is returned
2. 'data' - for language data handling, ie for stats, etc.
    Returns an array of the following 4 item array for each language the os supports:
    1. full language abbreviation, like en-ca
    2. primary language, like en
    3. full language string, like English (Canada)
    4. primary language string, like English
*******************************************/

// choice of redirection header or just getting language data
// to call this you only need to use the $feature parameter

function get_languages( $feature, $spare='' )
{

    // get the languages
    $a_languages = languages();
    $index = '';
    $complete = '';
    $found = false;// set to default value
    //prepare user language array

    $user_languages = array();

    //check to see if language is set
    if ( isset( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ) )
    {

        $languages = strtolower( $_SERVER["HTTP_ACCEPT_LANGUAGE"] );
        // $languages = ' fr-ch;q=0.3, da, en-us;q=0.8, en;q=0.5, fr;q=0.3';
        // need to remove spaces from strings to avoid error

        $languages = str_replace( ' ', '', $languages );
        $languages = explode( ",", $languages );
        //$languages = explode( ",", $test);// this is for testing purposes only

        foreach ( $languages as $language_list )
        {

            // pull out the language, place languages into array of full and primary
            // string structure:

            $temp_array = array();
            // slice out the part before ; on first step, the part before - on second, place into array
            $temp_array[0] = substr( $language_list, 0, strcspn( $language_list, ';' ) );//full language
            $temp_array[1] = substr( $language_list, 0, 2 );// cut out primary language
            //place this array into main $user_languages language array

            $user_languages[] = $temp_array;
        }


        //start going through each one
        for ( $i = 0; $i < count( $user_languages ); $i++ )
        {

            foreach ( $a_languages as $index => $complete )
            {

                if ( $index == $user_languages[$i][0] )
                {

                    // complete language, like english (canada)
                    $user_languages[$i][2] = $complete;
                    // extract working language, like english
                    $user_languages[$i][3] = substr( $complete, 0, strcspn( $complete, ' (' ) );
                }
            }
        }
    }

    else// if no languages found
    {
        $user_languages[0] = array( '','','','' ); //return blank array.
    }
    // print_r($user_languages);
    // return parameters

    if ( $feature == 'data' )
    {

        return $user_languages;
    }


    // this is just a sample, replace target language and file names with your own.
    elseif ( $feature == 'header' )
    {

        switch ( $user_languages[0][1] )// get default primary language, the first one in array that is
        {
            case
'en':
                $location = 'english.php';
                $found = true;
                break;
            case
'nl':
                $location = 'nederlands.html';
                $found = true;
                break;
            default:

               $location = 'english.php';
                $found = true;
                break;
        }

        if ( $found )
        {

            header ("Location: $location");
        }

        else// make sure you have a default page to send them to
        {
            header("Location: english.php");
        }
    }
}
function
languages()
{

// pack abbreviation/language array
// important note: you must have the default language as the last item in each major language, after all the
// en-ca type entries, so en would be last in that case

    $a_languages = array(
    'af' => 'Afrikaans',
    'sq' => 'Albanian',
    'ar-dz' => 'Arabic (Algeria)',
    'ar-bh' => 'Arabic (Bahrain)',
    'ar-eg' => 'Arabic (Egypt)',
    'ar-iq' => 'Arabic (Iraq)',
    'ar-jo' => 'Arabic (Jordan)',
    'ar-kw' => 'Arabic (Kuwait)',
    'ar-lb' => 'Arabic (Lebanon)',
    'ar-ly' => 'Arabic (libya)',
    'ar-ma' => 'Arabic (Morocco)',
    'ar-om' => 'Arabic (Oman)',
    'ar-qa' => 'Arabic (Qatar)',
    'ar-sa' => 'Arabic (Saudi Arabia)',
    'ar-sy' => 'Arabic (Syria)',
    'ar-tn' => 'Arabic (Tunisia)',
    'ar-ae' => 'Arabic (U.A.E.)',
    'ar-ye' => 'Arabic (Yemen)',
    'ar' => 'Arabic',
    'hy' => 'Armenian',
    'as' => 'Assamese',
    'az' => 'Azeri',
    'eu' => 'Basque',
    'be' => 'Belarusian',
    'bn' => 'Bengali',
    'bg' => 'Bulgarian',
    'ca' => 'Catalan',
    'zh-cn' => 'Chinese (China)',
    'zh-hk' => 'Chinese (Hong Kong SAR)',
    'zh-mo' => 'Chinese (Macau SAR)',
    'zh-sg' => 'Chinese (Singapore)',
    'zh-tw' => 'Chinese (Taiwan)',
    'zh' => 'Chinese',
    'hr' => 'Croatian',
    'cs' => 'Czech',
    'da' => 'Danish',
    'div' => 'Divehi',
    'nl-be' => 'Dutch (Belgium)',
    'nl' => 'Dutch (Netherlands)',
    'en-au' => 'English (Australia)',
    'en-bz' => 'English (Belize)',
    'en-ca' => 'English (Canada)',
    'en-ie' => 'English (Ireland)',
    'en-jm' => 'English (Jamaica)',
    'en-nz' => 'English (New Zealand)',
    'en-ph' => 'English (Philippines)',
    'en-za' => 'English (South Africa)',
    'en-tt' => 'English (Trinidad)',
    'en-gb' => 'English (United Kingdom)',
    'en-us' => 'English (United States)',
    'en-zw' => 'English (Zimbabwe)',
    'en' => 'English',
    'us' => 'English (United States)',
    'et' => 'Estonian',
    'fo' => 'Faeroese',
    'fa' => 'Farsi',
    'fi' => 'Finnish',
    'fr-be' => 'French (Belgium)',
    'fr-ca' => 'French (Canada)',
    'fr-lu' => 'French (Luxembourg)',
    'fr-mc' => 'French (Monaco)',
    'fr-ch' => 'French (Switzerland)',
    'fr' => 'French (France)',
    'mk' => 'FYRO Macedonian',
    'gd' => 'Gaelic',
    'ka' => 'Georgian',
    'de-at' => 'German (Austria)',
    'de-li' => 'German (Liechtenstein)',
    'de-lu' => 'German (Luxembourg)',
    'de-ch' => 'German (Switzerland)',
    'de' => 'German (Germany)',
    'el' => 'Greek',
    'gu' => 'Gujarati',
    'he' => 'Hebrew',
    'hi' => 'Hindi',
    'hu' => 'Hungarian',
    'is' => 'Icelandic',
    'id' => 'Indonesian',
    'it-ch' => 'Italian (Switzerland)',
    'it' => 'Italian (Italy)',
    'ja' => 'Japanese',
    'kn' => 'Kannada',
    'kk' => 'Kazakh',
    'kok' => 'Konkani',
    'ko' => 'Korean',
    'kz' => 'Kyrgyz',
    'lv' => 'Latvian',
    'lt' => 'Lithuanian',
    'ms' => 'Malay',
    'ml' => 'Malayalam',
    'mt' => 'Maltese',
    'mr' => 'Marathi',
    'mn' => 'Mongolian (Cyrillic)',
    'ne' => 'Nepali (India)',
    'nb-no' => 'Norwegian (Bokmal)',
    'nn-no' => 'Norwegian (Nynorsk)',
    'no' => 'Norwegian (Bokmal)',
    'or' => 'Oriya',
    'pl' => 'Polish',
    'pt-br' => 'Portuguese (Brazil)',
    'pt' => 'Portuguese (Portugal)',
    'pa' => 'Punjabi',
    'rm' => 'Rhaeto-Romanic',
    'ro-md' => 'Romanian (Moldova)',
    'ro' => 'Romanian',
    'ru-md' => 'Russian (Moldova)',
    'ru' => 'Russian',
    'sa' => 'Sanskrit',
    'sr' => 'Serbian',
    'sk' => 'Slovak',
    'ls' => 'Slovenian',
    'sb' => 'Sorbian',
    'es-ar' => 'Spanish (Argentina)',
    'es-bo' => 'Spanish (Bolivia)',
    'es-cl' => 'Spanish (Chile)',
    'es-co' => 'Spanish (Colombia)',
    'es-cr' => 'Spanish (Costa Rica)',
    'es-do' => 'Spanish (Dominican Republic)',
    'es-ec' => 'Spanish (Ecuador)',
    'es-sv' => 'Spanish (El Salvador)',
    'es-gt' => 'Spanish (Guatemala)',
    'es-hn' => 'Spanish (Honduras)',
    'es-mx' => 'Spanish (Mexico)',
    'es-ni' => 'Spanish (Nicaragua)',
    'es-pa' => 'Spanish (Panama)',
    'es-py' => 'Spanish (Paraguay)',
    'es-pe' => 'Spanish (Peru)',
    'es-pr' => 'Spanish (Puerto Rico)',
    'es-us' => 'Spanish (United States)',
    'es-uy' => 'Spanish (Uruguay)',
    'es-ve' => 'Spanish (Venezuela)',
    'es' => 'Spanish (Traditional Sort)',
    'sx' => 'Sutu',
    'sw' => 'Swahili',
    'sv-fi' => 'Swedish (Finland)',
    'sv' => 'Swedish',
    'syr' => 'Syriac',
    'ta' => 'Tamil',
    'tt' => 'Tatar',
    'te' => 'Telugu',
    'th' => 'Thai',
    'ts' => 'Tsonga',
    'tn' => 'Tswana',
    'tr' => 'Turkish',
    'uk' => 'Ukrainian',
    'ur' => 'Urdu',
    'uz' => 'Uzbek',
    'vi' => 'Vietnamese',
    'xh' => 'Xhosa',
    'yi' => 'Yiddish',
    'zu' => 'Zulu' );

    return $a_languages;
}

?>
 
- SanThe -

- SanThe -

28/03/2009 22:57:00
 
Daniel

Daniel

29/03/2009 13:16:00
Quote Anchor link
Ja ik weet dat dit komt door dubbele header output maar ik gebruik al sinds jaar en dag dreamweaver voor al mijn scripting en die heeft nog nooit dit probleem gegeven tenzij ik ook echt 2 maal een header heb geoutput of iets van HTML heb laten schrijven voor de header. Helaas zie ik dit keer echt niet wat er mis is gegaan en daarom dus de vraag of iemand anders het wel ziet..
 
- SanThe -

- SanThe -

29/03/2009 13:28:00
Quote Anchor link
Ik krijg het idee dat er na de ?> een spatie of een lege regel staat.
 
Daniel

Daniel

29/03/2009 13:33:00
Quote Anchor link
* schud SanThe de hand*
Er stond een spatie, ik had al aan het idee van een enter zitten denken maar een spatie niet.. best som misschien maar zo te zien werkt het nu wel, hartstikke bedankt, top!
 



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.