Simpele taal array werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

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 »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

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 »

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 »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »
Furio Scripting

Furio Scripting

02/06/2020 11:36:17
Quote Anchor link
Beste forumleden,

Ik heb een tijdje niet geprogrammeerd en loop nu eventjes vast.

Ik heb een functie welke mij de domein extensie doorgeeft en op basis daarvan include ik in de index.php een taalbestand daar ik 14 domeinen heb welke elk een andere taal moeten weergeven:

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
function getDomainLanguage()
       {
      
               // language selector
 
      $domain = strrchr (strtolower($_SERVER['HTTP_HOST']), ".");
      $domainExtension = substr($domain, strpos($domain, '.') + 1);
            
      
    switch ($domainExtension) {
        case "nl":
            include './languages/nl.php';
            break;
        case "be":
            include './languages/be.php';
            break;
        case "com":
            include './languages/en.php';
            break;
        default:
           include './languages/en.php';
    }
           }


In het taalbestand staat een array:

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
<?php

 /* Dutch language configuration */
  $lang = array (

        
  'title' => "this is a title",
  'welcome' => "Hello world",
  'language' => "The language page is in English",
  'en' => "English",
  'es' => "Spanish",
  'fr' => "French",
     );

 
  
 
 ?>


In een test.php bestand welke door de index geladewn wordt zou je denken dat je toegang hebt tot de taal array via: echo $lang['title']; maar helaas geeft die blanco.

Als ik rechtstreeks het taalbestand include in de test.php heb ik wel toegang, waar gaat het mis?

Mvg Furio
 
PHP hulp

PHP hulp

16/04/2024 11:33:41
 
Rob Doemaarwat

Rob Doemaarwat

02/06/2020 12:29:05
Quote Anchor link
Je doet je include in de function getDomainLanguage(). Binnen die functie is de variabele $lang dus bekend. Daarbuiten niet. Wil je 'm erbuiten dus ook gebruiken, dan moet je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

function getDomainLanguage(){
  global $lang; // <-- deze toevoegen

  //rest van code

}

?>


Overigens is include en globale variabelen meestal de eerste aanzet tot spaghetti (het zou bijvoorbeeld mooier zijn als de $lang een property van een object was), maar als het je probleem oplost ...
 
Furio Scripting

Furio Scripting

02/06/2020 12:39:43
Quote Anchor link
Rob Doemaarwat op 02/06/2020 12:29:05:
Je doet je include in de function getDomainLanguage(). Binnen die functie is de variabele $lang dus bekend. Daarbuiten niet. Wil je 'm erbuiten dus ook gebruiken, dan moet je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

function getDomainLanguage(){
  global $lang; // <-- deze toevoegen

  //rest van code

}

?>


Overigens is include en globale variabelen meestal de eerste aanzet tot spaghetti (het zou bijvoorbeeld mooier zijn als de $lang een property van een object was), maar als het je probleem oplost ...


Bedankt voor je reactie, dit lost het "probleem" inderdaad op! Hartelijk dank. OOP programmeren kan ik helaas niet, ik probeer het zo logisch/overzichtelijk mogelijk te houden op mijn eigen manier. Mapje met languages, functie om de taal voor het domein te pakken en de variablen gebruiken in de html voor de weergave.

Klopt het trouwens dat je wel in test.php of elk ander bestand ook de global $lang moet toevoegen alvorens het werkt?

Kan ik wel de variablen overschrijven bij een loop wat bij een constante niet werkt daarom had ik voor variablen gekozen.
Gewijzigd op 02/06/2020 12:42:55 door Furio Scripting
 
Rob Doemaarwat

Rob Doemaarwat

02/06/2020 13:11:46
Quote Anchor link
Als een globale variabele nog niet bestaat, dan bestaat ie direct na de global regel wel (default met een waarde null). Je hoeft 'm dus niet eerst "aan te maken" om 'm pas daarna via global binnen te kunnen harken (maar het mag/kan wel; liefst met een stukje commentaar er bij; dat is logischer dan dat ie opeens zomaar "uit de lucht komt vallen").
 
Thomas van den Heuvel

Thomas van den Heuvel

02/06/2020 16:20:31
Quote Anchor link
Furio Scripting op 02/06/2020 12:39:43:
Kan ik wel de variablen overschrijven bij een loop wat bij een constante niet werkt daarom had ik voor variablen gekozen.

Je kunt prima eerst uitrekenen wat de taal zou moeten zijn en dit dan eenmalig toekennen aan een constante?

Het berekenen van de taal en het vervolgens includen van een of meer taalbestanden staat in principe ook los van elkaar. Dit hoef je dus niet per se te combineren.

Wanneer je geen OOP gebruikt zou je ook in een soort van initialisatieroutine alles uit kunnen schrijven, voorzien van commentaar uiteraard. Hiervoor allemaal parameterloze functies introduceren, het kan, maar het voegt niet zoveel toe, want die code moet je dan vervolgens weer op andere plekken gaan zoeken.

In plaats van HTTP_HOST kun je misschien ook beter SERVER_NAME gebruiken. Alle HTTP-directives worden volgens mij verstrekt via de browser dus deze zijn niet echt 100% betrouwbaar.

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
<?php
// mapping of domain extensions to supported languages
// these language settings should be pulled from some config

$languages = array(
    'nl'  => 'nl',
    'be'  => 'be',
    'com' => 'en',
);

$defaultLanguage = 'en';

$tld = substr(strrchr($_SERVER['SERVER_NAME'], '.'), 1);
$language = array_key_exists($tld, $languages) ? $languages[$tld] : $defaultLanguage;
define('MY_LANGUAGE', $language);
?>

Vervolgens kun je MY_LANGUAGE gebruiken voor het includen/requiren van (taal)bestanden.
 
Rob Doemaarwat

Rob Doemaarwat

02/06/2020 17:32:07
Quote Anchor link
Persoonlijk ben ik nogal een fan van de ?? operator en regular expressions en one-liners, dus ik kon het niet laten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
define('MY_LANGUAGE',$languages[preg_replace('/^.*\\./','',$_SERVER['SERVER_NAME'])] ?? $defaultLanguage);

Maar "misschien" is bovenstaande code van Thomas toch iets duidelijker in eerste oogopslag ... ;-)
Gewijzigd op 02/06/2020 17:36:34 door Rob Doemaarwat
 
Jan R

Jan R

02/06/2020 18:18:07
Quote Anchor link
off topic
Gezien je spreekt over taalbestand.
ik weet niet of je het weet maar .be staat voor België en hier hebben we 3 talen
Nederlands, Frans en Duits.

Ook in Nederland zijn er 2 talen. Fries wordt nogal vergeten.
 
Adoptive Solution

Adoptive Solution

02/06/2020 18:43:48
Quote Anchor link
Dan testen op .frl extensie
https://nl.wikipedia.org/wiki/.frl

En waarom heeft Wallonie geen eigen TLD?
https://www.dnsbelgium.be/
 
Thomas van den Heuvel

Thomas van den Heuvel

02/06/2020 19:37:41
Quote Anchor link
Daarom is het misschien handig om van de taal op grond van TLD af te kunnen wijken. Je zou bijvoorbeeld op een NL domein expliciet Engels in kunnen stellen.

Dit sla je dan bijvoorbeeld op in een cookie ofzo, maar ook dat kun je opnemen / verder verwerken in de bovenstaande logica voor de taalselectie.
 
Rob Doemaarwat

Rob Doemaarwat

02/06/2020 22:31:35
Quote Anchor link
Of je kijkt gewoon naar $_SERVER['HTTP_ACCEPT_LANGUAGE'].
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
<?php

//HTTP_ACCEPT_LANGUAGE bij mij "nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7"

if(preg_match_all('/[a-z]{2}/',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches))
  foreach($matches[0] as $match) if(in_array($match,$languages)){
    $language = $match;
    break;
  }


die($language); //bij mij "nl"


?>
 
Ivo P

Ivo P

02/06/2020 23:01:27
Quote Anchor link
en wat doet de strpos functie voor domein.co.uk ? (gaat nog over de oorspronkelijke opzet van TS)
 
Jan R

Jan R

03/06/2020 22:41:09
Quote Anchor link
Adoptive Solution op 02/06/2020 18:43:48:
En waarom heeft Wallonie geen eigen TLD?
https://www.dnsbelgium.be/

te gierig
 



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.