Simpele taal array werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! 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

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

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 »

.NET Developer

Functie omschrijving Net afgestudeerd en op zoek naar een leuke baan als developer? Zoek niet verder! Ik heb een functie beschikbaar als back-end developer, bij een leuk familiebedrijf. Je gaat werken met de Microsoft stack en de technieken C# en .NET. Verder maak je gebruik van MVC en Entity framework. SQL kent ook geen geheimen voor jou. Jouw verantwoordelijkheden: Nieuwe maatwerk software bouwen; API koppelingen bouwen; Applicaties en software optimaliseren; Back-end programmeren. Een erg uitdagende functie, met veel vrijheid. Je kan meerdere dagen thuis werken en als je op kantoor werkt wordt de lunch verzorgd. Heb je interesse, reageer dan

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

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

26/04/2024 09:30:15
 
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.