Multilanguage Database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Umbraco Developer @ Regio Den Haag

2021-10-06 iSense Umbraco Developer Ben jij een ervaren Full stack developer met ruime ervaring binnen een CMS systeem? En heb je ervaring met full stack development binnen een Microsoft omgeving? Lees dan snel verder! ISBA49656 Nieuw Organisatie Voor een semi-overheidsorganisatie in de regio Den Haag zijn we opzoek naar een ervaren Developer, die kennis heeft of wilt ontwikkeling op Umbraco vlak. Je zal verantwoordelijk worden voor het ontwikkelen van het huidige platforms en nieuwe web-omgevingen. Als developer binnen dit team ga je zorg dragen voor het ontwikkelen door middel van onder meer C# en Azure. Ook ontwikkel je koppelingen met

Bekijk vacature »

Advanced Mendix Developer

Advanced Mendix Developer - Public Transport Functiebeschrijving: Ben jij een ervaren Mendix Developer? Bij CGI Low Code Delivery Center krijg je een baan met inhoud! Werk dat ertoe doet, zoals het: Razendsnel ontwikkelen van slimme innovatieve maatwerk applicaties waarmee we onze klanten een voorsprong geven ten opzichte van hun concurrenten; Meedenken met de klant en analyseren wat er nodig is: je ziet kansen en mogelijkheden! Wat ga je doen? Als Advanced Mendix Developer begeleid en adviseer je onze klanten bij hun aangegeven business problematiek. Hierbij denk je buiten de gevestigde kaders en weet je optimaal gebruik te maken van de

Bekijk vacature »

IT-traineeship Low Code Developer

Vind jij het leuk om veel contact te hebben met een klant en je te verdiepen in een domein? Lijkt het je interessant om enerzijds met de klant mee te denken, maar tegelijkertijd ook zelf een bijdrage te leveren aan de implementatie van een IT oplossing? Wij zijn op zoek naar starters die aan de slag willen als low-code engineer. In deze functie bouw je aan applicaties met behulp van een low-code platform, zoals Outsystems, Blueriq, Mendix of Pega. Dergelijke platformen stellen je in staat om snel een werkende applicatie te ontwikkelen en zijn hierdoor heel geschikt voor maatwerk projecten.

Bekijk vacature »

Fullstack .Net Developer @ Rotterdam

2021-09-03 iSense Fullstack .Net Developer .Net Developer Back-end ISAR49919 Nieuw Organisatie Onze klant is een zakelijke dienstverlener in de regio Rotterdam, bij hun staat de medewerker centraal en daarna de klant. Ze zijn op zoek naar ervaren .Net Developers om hun klanten te helpen bij de digitale transformatie. Je gaat werken voor grote uitdagende klanten en ontwikkelen aan enterprise applicaties. Samen met het team bouw je de gewenste oplossingen. Naast het bouwen van oplossingen denk je mee met de klant en adviseer je de klant over bepaalde technische vraagstukken. De focus ligt bij deze functie vooral op de back-end. Ben

Bekijk vacature »

Software Developer / Oracle PL/SQL / Delphi / C++

2021-10-11 iSense Software Developer / Oracle PL/SQL / Delphi / C++ Are you experienced in the field of Oracle PL/SQL and Delphi or C++? Do you want to make cutting edge software for automating a brand new warehouse? Then this is the perfect vacancy for you! ISGO51299 Organization For a good client in Limburg, we are looking for a medior / senior Oracle PL/SQL developer with experience with Delphi or C++. Our client is one of the leading international service providers, providing warehousing and logisitics for mainly high-tech customers. With approximately 20.000 employees all over the world, based in more

Bekijk vacature »

Junior Java Fullstack Developer @ Regio Randstad

2021-06-10 iSense Junior Java Fullstack Developer Ben je onlangs afgestudeerd van een IT-opleiding of heb je nog maar weinig ervaring opgedaan? En wil je toch graag aan de slag als Java Fullstack Developer? Lees dan snel verder, want op 9 augustus 2021 starten wij weer met een graduate programma waarin jij jezelf kunt ontwikkelen tot een volwaardige Fullstack Java Developer! ISLE50162 Wat kan jij van ons verwachten? • Een goed salaris gedurende het gehele programma; dus ook tijdens je cursusperiode! • De mogelijkheid om belangrijke certificeringen te behalen op het gebied van JAVA • Loopbaancoaching en een persoonlijk ontwikkelplan (POP)

Bekijk vacature »

Startersfunctie .NET Developer @ Regio Eindhoven

2021-10-19 iSense Startersfunctie .NET Developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond OF heb jij middels cursussen je sporen verdiend in het programmeren en wil je graag aan de slag als Fullstack .NET Developer? Lees dan snel verder! Want in januari/februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie .NET. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE51107 Regio Eindhoven en omstreken Wat houdt de startersfunctie .NET Developer in? Vanaf januari/februari 2022 krijg jij via de Experis

Bekijk vacature »

Senior RPA Developer

Do you want to work in one of the most international companies in the world? We are looking for a Senior RPA Developer at DHL Finance Services in Maastricht, Netherlands DHL is part of the world’s leading postal and logistics company Deutsche Post DHL Group, and encompasses the business units DHL Express, DHL Post & Paket, DHL eCommerce Solutions, DHL Global Forwarding, DHL Freight and DHL Supply Chain. The Parcel Accounting team is a part of eCommerce Solutions and was created 6 years ago and grew rapidly from 5 to 34 colleagues. We are a team of enthusiastic colleagues and

Bekijk vacature »

Android Developer

As a Mobile Developer, you make sure our mobile app gives our users the best possible way to buy, browse and interact with Coolblue. How do I become a Android Developer at Coolblue? Your specialty is Android so you are successful in writing Kotlin in an agile fashion and do some pair programming with your colleagues to guarantee higher quality. Besides that you think about technical decisions like architecture, tools and processes. You also keep an eye on the performance of the app and you analyse with your team how to improve it. In short, you get energy from building

Bekijk vacature »

Senior C# Developer (NL)

Senior C# Developer (NL) Den Haag HBO/WO IT Professional "Als Senior C# Developer impact maken op de groeiende E-commerce markt met onze logistieke software. Je doet dit door complexe bedrijfskritische logistieke business processen te vertalen naar de ontwikkeling en uitbreiding van onze Cloud IT-platformen en software oplossingen in C# en AWS" Wat ga je doen? PostNL is becoming a postal tech company. Als Senior C# Developer ben je onderdeel van een multidisciplinair Business-IT-team bestaande uit onder andere een Lead Engineer, Developers en Solution Consultants. Samen zijn jullie verantwoordelijk voor het bouwen aan onderdelen uit onze logistieke software omgeving. Binnen het

Bekijk vacature »

Oracle APEX Developer / PL/SQL @ Hilversum

2021-09-13 iSense Oracle APEX Developer PL/SQL Heb jij je altijd al willen verdiepen in Oracle APEX? En vind jij het leuk om naast het Oracle ontwikkelwerk veel met de business te schakelen? Lees dan snel verder! ISVR47872 Organisatie Als je altijd al in een Europees georiënteerde organisatie hebt willen werken, ben je hier aan het juiste adres! De organisatie biedt IT- en communicatieoplossingen aan kleine, middelgrote en grote ondernemingen in zowel de private als de publieke sector. De innovatieve oplossingen, ontworpen voor open connectiviteit, hoge beschikbaarheid en flexibele groei, bevatten de nieuwste spraak-, data- en videotechnologieën en maken real-time, samenwerking,

Bekijk vacature »

Senior Software Developer @ Regio Den Haag

2021-08-16 iSense Senior Software Developer Heb jij ruime ervaring als Software developer en ben je toe aan een volgende stap in een coördinerende rol? Heb je ervaring met zelfontwikkelde software pakketten en maak je dit snel eigen? Dan is dit de vacature voor jou! ISBA49526 Nieuw Organisatie De organisatie waar je komt te werken is een enterprise omgeving waarbij IT een belangrijke rol speelt. Door de vele veranderingen in de markt waar zij op in moeten spelen, werken zij met innovatieve technologieën. Het team is erg stabiel en werkt continue aan het optimaliseren van de complexe omgeving, het implementeren van

Bekijk vacature »

Senior Java 8 Developer

Senior Java 8 Developer Intro Is your interest triggered by software and in particularly Java? Are you an experienced developer with Java? Then you could be the perfect candidate! Our client is looking for an senior Java Developer, in Eindhoven, The Netherlands. Function Information You will be end-to-end responsible for creating software in Java and Java EE, contributing to the development of several diagnostic applications in a scrum/Agile way of working. Diagnostic & Sequencing applications is done in several teams working together to deliver and integrate solutions to complex problems to enhance the diagnostic capabilities for our customers. Within one

Bekijk vacature »

Integratie Developer @ Maasdijk

2021-07-27 iSense Integratie Developer Ben jij recent hbo afgestudeerd en wil jij je verder verdiepen in de wereld van applicatie integraties en koppelingen? En wil jij deze ervaring op doen bij een organisatie die zich dagelijks inzet voor een veilig Nederland? Dan is deze rol wat voor jou! ISBI50587 Organisatie De afdeling waarin jij terecht komt is verantwoordelijk voor de realisatie en het beheer van allerlei koppelingen en applicaties. Denk hierbij aan externe koppelingen en domein overstijgende interne koppelingen. Aangezien het gaat om een organisatie wat niet alleen lokaal, maar ook nationaal opereert krijg je te maken met een zeer

Bekijk vacature »

Front End Developer, Dynagroup

Functieomschrijving Gaat jouw hart sneller kloppen van het bouwen aan innovatieve oplossingen en het overwinnen van uitdagingen in de wereld van Supply Chain oplossingen, After Sales Services en E-commerce services? Dan is de functie als Front End Developer iets voor jou! Wat bieden wij jou Marktconform salaris Dynamische en gezellige werkomgeving Uitdagende positie binnen een groeiend bedrijf Doorgroeimogelijkheden Wie ben jij Als Front End Developer word je onderderdeel van een klein ontwikkelteam dat eigen gebouwde software en SaaS oplossingen ontwerpt en ontwikkelt. Hierbij ligt een duidelijke focus op kwaliteit en schaalbaarheid. HBO-diploma in de richting van informatiesystemen of Toegepaste Informatica

Bekijk vacature »
Jason de Ridder

Jason de Ridder

01/11/2007 16:41:00
Quote Anchor link
Hallo Allen,

Eerder heb ik hier een topic geplaatst met een vrij ingewikkeld database ontwerp. Hierin zei ik dat het ook meertalig is en zei heel stoer dat dat geen probleem zou opleveren.

Helaas, doet dit het dus wel.
Ik heb 2 tabellen (even kort)
table content heeft de volgende velden
id
lang_id
content

table languages heeft de volgende velden
id
name
abbr (afkorting van afkorting)

Waarbij lang_id natuurlijk refereerd aan languages.id
Nu wil het zo backend users kunnen content toevoegen. Dit zullen ze in eerste instantie doen in default taal (laten we dat record 1 - english - en, noemen) daarna kunnen ze als ze willen een vertaling toevoegen (bijv. nederlands), nu kan ik natuurlijk een query schrijven a la:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT content.content
FROM content
WHERE lang_id IN
    (SELECT id FROM languages WHERE languages.abbr = $GLOBALS['lang_abbr'])

Er van uitgaande dat $GLOBALS['lang_abbr'] de juiste taalafkorting bevat.

Maar nu komt mijn probleem, ik wil dat als de bezoeker bijvoorbeeld in het Nederlands mijn site bezoekt en een content item aanroept die er alleen in het Engels is moet deze toch worden getoont...

Hoe los ik dat op in 1 query?

Ik draai MySQL 5.0 met InnoDB

Alvast bedankt!

Een vriendelijke groet,
Jason
 
PHP hulp

PHP hulp

27/10/2021 01:43:28
 
Jacco Engel

Jacco Engel

01/11/2007 16:48:00
Quote Anchor link
Ergens in je script een default language configureren?
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Jason de Ridder

Jason de Ridder

01/11/2007 16:51:00
Quote Anchor link
Jacco, daar gaat het niet om.. Die default language. Het gaat erom hoe ik als een content element van een tweede (of derder of vierde etc.) niet bestaat hij deze moet overriden met de default taal. En die default taal heb ik wel. Maar daar moet dus een query voor geschreven worden...
 
Joren de Wit

Joren de Wit

01/11/2007 17:23:00
Quote Anchor link
Ik weet niet zeker of het gaat werken, maar je zou met CASE en een subquery een variabele WHERE clausule in je query op kunnen nemen.

Dit zou zoiets worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT c.content
FROM content AS c, languages AS l
WHERE c.lang_id = l.id
AND l.abbr =
    CASE WHEN
        ( SELECT COUNT(c.id)
            FROM content AS c, languages AS l
            WHERE c.lang_id = l.id
            AND l.abbr = $GLOBALS['lang_abbr']
        ) = 0
    THEN 'en'
    ELSE $GLOBALS['lang_abbr']
    END
 
Frank -

Frank -

01/11/2007 17:53:00
Quote Anchor link
Offtopic:
Waarom de gekke naam 'abbr' voor een kolomnaam? Gebruik bijvoorbeeld 'iso' of 'iso_code', dat is met een taal een heel stuk duidelijker. Vervolgens zet je hier geldige ISO-codes in en klaar ben je.

abbr zegt helemaal niks, behalve dat het een afkorting zou kunnen zijn. En afkortingen zijn er in 1000 en 1 soorten en maten en ook nog in verschillende talen. 'sp' staat voor spaans? Of pak je de ISO-code 'es' ?
 
Jason de Ridder

Jason de Ridder

02/11/2007 11:20:00
Quote Anchor link
Tnx Blance, ik ga het even uitproberen en sorry Frank :(

Helaas de query werkt niet. Volgens mij is dit op set-niveau, en ik wil het eigenlijk op veld niveau (wordt dit gesnapt???) Of moet ik dan een dubbele query uitvoeren? of met PHP oplossen?
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
 
Jason de Ridder

Jason de Ridder

05/11/2007 10:11:00
Quote Anchor link
BUMPPPPPPPP (A)
 
M Ypma

M Ypma

05/11/2007 10:49:00
Quote Anchor link
je zou ook bij het aanmaken van een nieuwe taal je default taal kunnen kopieren... zo is alles iig gevuld in de default taal en kan de gebruiker het op zijn gemak vertalen.
 
CB2thephp

CB2thephp

05/11/2007 10:53:00
Quote Anchor link
Michel, dan kan hij beter een verwijzing maken naar het default, want dit kan je database (als je website groot is) langzamer krijgen :).
 
Jason de Ridder

Jason de Ridder

05/11/2007 10:54:00
Quote Anchor link
Dat is natuurlijk niet de bedoeling Michel...
Meertaligheid zou generiek moeten zijn, en als je gaat kopiëren ben je naar mijn idee wel erg pragmatisch bezig.
 
Robert Deiman

Robert Deiman

05/11/2007 11:01:00
Quote Anchor link
@michel

Dat betekend dat als je een nieuw bericht toevoegd, dat die (als je 4 talen hebt) 4 keer in je tabel zou komen, elk met een ander taal id?

Lijkt me niet. In een goede database komen geen redundante gegevens voor. Op jou manier werk je juist redundantie in de hand. Dat kan niet de bedoeling zijn.

Je database hoeft er niet trager door te worden CB2thephp, er staat alleen meer data in, maar dit hoeft voor de prestaties niet/nauwelijks merkbaar te zijn.

@Jason
Query van Blanché zit wel erg logisch in elkaar, ik weet niet zeker of het zou moeten werken, maar er zat iig nog iets niet goed met de quotes:

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
<?php
$query
= "SELECT c.content
FROM content AS c, languages AS l
WHERE c.lang_id = l.id
AND l.abbr =
    CASE WHEN
        ( SELECT COUNT(c.id)
            FROM content AS c, languages AS l
            WHERE c.lang_id = l.id
            AND l.abbr = '"
.$GLOBALS['lang_abbr']."'
        ) = 0
    THEN 'en'
    ELSE '"
.$GLOBALS['lang_abbr']."'
 END"
;
    ?>
 
M Ypma

M Ypma

05/11/2007 12:16:00
Quote Anchor link
idd ik stond ook zelf niet achter mijn idee, ik was alleen even aan het mee brainstormen
 
Jason de Ridder

Jason de Ridder

05/11/2007 12:57:00
Quote Anchor link
@Robert,
Tnx, maar m'n database zit net iets lastiger in elkaar dan ik heb gezegd. In de basis klopt het wel. Dus ik heb hem als 'inspiratie' bron gebruikt. En dat werkte niet.

Ik denk dat ik het met PHP op moet gaan lossen... Helaas.

Maar eventueel andere SQL oplossingen graaaag!
 
Robert Deiman

Robert Deiman

05/11/2007 15:14:00
Quote Anchor link
Ik denk dat het met PHP moet inderdaad,
Ik denk dat ik ook heb ontdekt waarom dit niet werkt. Je zou het "per bericht" moeten controleren of daar de standaard taal beschikbaar voor is. Maar je hebt niets om te vergelijken of het om hetzelfde bericht gaat:

id, lang_id, bericht

-> Zou iets moeten worden als:

id, bericht_id, lang_id, bericht.

Voor dezelfde berichten in een andere taal, zou je de bericht_id allemaal hetzelfde moeten houden. Dan zou het idee van Blanche volgens mij wel werken.
 
Gerben Jacobs

Gerben Jacobs

05/11/2007 15:19:00
Quote Anchor link
Je kan eens kijken naar gettext() tis volgens mij wel ff wat werk. Maar wij gebruiken het ook voor een groot project en het werkt fantastisch.

Met poEdit gebruik maak je .mo en .po textfiles die dan je gehele output vertalen.


Edit: Ahh, I see. Ja, dan is het niet zo'n goede oplossing nee.
Gewijzigd op 01/01/1970 01:00:00 door Gerben Jacobs
 
Jelmer -

Jelmer -

05/11/2007 15:31:00
Quote Anchor link
gettext is voor de teksten die niet veranderen, zoals meldingen en knoppen. Voor database-tekst zoals nieuwsberichten is het geen oplossing.
 
Iltar van der berg

iltar van der berg

14/12/2007 22:29:00
Quote Anchor link
Je zou het zowizow niet met een database moeten doen. Als je even snel wat wilt veranderen, moet je zoveel zoeken enzo... Je kan beter gewoon een gettext doen dus, of zelf een class of dergelijke maken die het uit een text file haalt en ordend als voorbeeld
 
Jason de Ridder

Jason de Ridder

14/12/2007 23:10:00
Quote Anchor link
Dag meneer Iltar,

Beetje ouwe koeien uit de sloot halen...
Maar een database is veel sneller, beter en makkelijker.... Leer je dat nu van Jelle? Van wie krijg je les?
 



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.