Multilanguage Database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Productontwikkelaar

Functieomschrijving Voor een uniek en vooruitstrevend bedrijf zijn wij nu op zoek naar een opleidings ontwikkelaar die zich gaat richten op het ontwikkelen van trainingen op basis van het nieuwe werken. Je komt direct bij de opdrachtgever in dienst en bepaald zelf je werktijden en hoe je wilt werken. Je hebt ervaring met het schrijven van content en het bedenken van nieuwe opdrachten, en je kan dit goed vertalen in het ontwikkelen van trainingen. wat bieden wij jou Jaarsalaris ligt tussen de € 40.000 en de €50.000 Vast contract of op basis van ZZP Je mag zelf je uren bepalen

Bekijk vacature »

Senior Java Developer Noord-Nederland

Heb jij een passie voor technologie en ben jij altijd als eerste op de hoogte van ontwikkelingen en innovaties? Weet jij hoe je als developer de verbinding moet maken tussen business en techniek? Dan maken we graag kennis met jou! Wat ga je doen? Als Senior Java Developer bij CGI maak je deel uit van de grootste en meest actieve Java community van Nederland. Door het delen van jouw kennis en kunde weet je anderen te inspireren en jezelf te profileren in de markt. Samen zorgen wij ervoor dat jouw kennis up-to-date blijft en best practices maximaal worden hergebruikt. Je

Bekijk vacature »

JavaScript Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als JavaScript Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Business Developer IV

In short We are in search of an IT business consultant (data/digital) to join our team in realizing our mission to further build up our learning journey. Specifically we are looking for someone who can help us with: Preparing and executing migration of data from our current Learning Management System (LMS) SuccessFactors to our new target solution MyLearning. Manage & prepare updates of integrations of learning tools in our ecosystem in collaboration with external Vendors. You do not need to build integrations yourself. You refine & plan integration updates with stakeholder & vendors and monitor and manage progress of updates.

Bekijk vacature »

Java Developer - regio Maastricht

Bouw jij mee aan de applicaties die onze klanten zo hard nodig hebben? Wil jij je als Java Developer blijven ontwikkelen in de nieuwste technologieën en state-of-the-art tooling? En help jij onze pensioenklanten mee met de implementatie van het nieuwe Pensioenakkoord? Wat ga je doen? Als Java Developer draag je mede verantwoordelijkheid voor het gehele proces van omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen en delen van kennis, problem-management en automation zijn onderdeel van je takenpakket in een SAFe gestuurde omgeving. Daarnaast denk en praat je proactief mee over hoe we onze klanten nog beter

Bekijk vacature »

Senior C developer

Bedrijfsomschrijving Ben jij een C-developer die graag complexe problemen oplost en ben jij op zoek naar een nieuwe uitdaging? Lees dan vooral verder! Onze opdrachtgever levert enterprise solutions die bedoelt zijn om organisatie te helpen om de volle potentie uit hun data te halen. Door middel van realtime gegevens replicatie technologie kunnen organisaties plannen, voorspellen en reageren met de nieuwste beschikbare gegevens. De solutions worden aangedreven door log-gebaseerde Change Data Capture (CDC) technologie. Daarnaast wordt er gebruik gemaakt van zowel traditionele als moderne data platforms zoals: SQL server, Oracle en SAP. Dit kan naar cloud bestemmingen zoals Snowflake, AWS, Azure

Bekijk vacature »

Fullstack Developer Ruby

Fullstack Developer Erg leuke baan als Fullstack Ontwikkelaar bij een groeiende scaleup in Fintech te Amsterdam. Hun ambitie is groot. Zij willen de beste online vermogensbeheerder van Nederland zijn. We zoeken daarom IT-collega's die bij ons passen én het verschil kunnen maken. Als medior full-stack-developer word je een belangrijke spil tussen ons eigen front-end-team en het externe back-end-bureau. Een voor ons essentiële functie met veel ruimte voor zelfsturing en eigen inbreng Wie ben jij? Een goed communicerende, 'allround' developer met hbo/wo werk- en/of denkniveau die er 40 uur per week helemaal voor gaat. Iemand die minstens 3 tot 5 jaar

Bekijk vacature »

Outsystems Developer @ Amsterdam

2021-08-26 iSense Outsystems Developer Ben je een Outsystemsdeveloper en houd je van ownership? Lijkt het je interessant om een team met developers samen te stellen en mooie applicaties te bouwen voor nationale en internationale klanten? Wil je werken in een organisatie die aan de vooravond staat van mooie ontwikkelingen? Dan is dit de functie voor jou! Reageer snel! ISNO50007 Organisatie Deze financiële instelling is gevestigd in hartje Amsterdam. Ze hebben als doel hun klanten op een effectieve en onafhankelijke manier te begeleiden bij belangrijke vermogensgerelateerde beslissingen. Privacy staat hoog in het vaandel, aangezien zij een maatschappelijke rol vervullen die nooit

Bekijk vacature »

Programmeur - Software Engineer Senior en Medior U

Jouw profiel Ben jij een programmeur en geïnteresseerd in de medische wereld? Zoek jij de ultieme uitdaging en werk je graag aan complexe oplossingen voor het simuleren echte operaties? Wil je overleggen met chirurgen of op de OK meekijken om hun straks de beste oplossing te kunnen bieden? Solliciteer dan zo snel mogelijk op deze functie. Ons profiel Als ontwikkelaar en leverancier van medische trainingssimulatiehardware en -software bedienen wij een groot aantal nationale en internationale ziekenhuizen. Binnen Nederland zijn wij marktleider in skills-based trainingssoftware met als doel medisch specialisten beter te laten opereren. De werkomgeving Je komt te werken op

Bekijk vacature »

Fullstack Developer /.NET Core @ Almere

2021-08-16 iSense Fullstack Developer /.NET Core Ben jij een ervaren Fullstack Developer, die graag zijn expertise van NET.Core inzet in een dynamische en bedrijf kritische omgeving? Is een jonge club waar je als IT-team het hart vormt van de organisatie, echt iets voor jou? Lees dan snel verder! ISMA49157 Organisatie Als Fullstack Developer kom je te werken in de regio Almere bij een organisatie, dat als internationale marktleider opereert op het gebied van detailhandel. Vanuit ruim tienduizend locaties verkopen zij hun producten aan de klanten. Om diverse data en bedrijfsprocessen van HR, CRM tot inkoop overzichtelijk in beeld te hebben

Bekijk vacature »

Full stack developer @ Rotterdam

2020-12-18 iSense Full stack developer Full Stack Developer ISRA48618 Organisatie De organisatie waarbinnen je aan de slag zal gaan levert diensten aan een groot aantal organisaties binnen Nederland. De software die zij maken en inzetten voor hun klanten wordt dagelijks door honderden klanten gebruikt. Onze opdrachtgever is marktleider in Nederland als het gaat om full-service HR-dienstverlening. De afgelopen periode is onze klant hard gegroeid en daar zijn de nodige uitdagingen bij komen kijken. Om deze groei voort te kunnen zetten zijn ze op zoek naar nieuwe vaste medewerkers, dit om ervoor te zorgen dat ze marktleider blijven. Zij zijn op

Bekijk vacature »

Xamarin C# Developer

As an Xamarin C# Developer, you make sure our cross platform mobile apps give our employees the best possible way to manage Coolblue operations. How do I become a Xamarin C# Developer at Coolblue? Your specialty is either C# OR mobile app code, and you enjoy working with Xamarin. You like to do some pair programming with your colleagues, to guarantee higher quality in the codebase. Besides that you think about technical decisions like architecture, tools and processes. You also keep an eye on the performance of your app and you analyse with your team how to improve it. Following

Bekijk vacature »

Sr Outsystems Ontwikkelaar ERP Javascript C# / C#

Wie wordt jouw werkgever?: Wij ontwikkelen ERP systemen. Ben jij een gedreven Outsystems Ontwikkelaar? Heb je kennis van C#? Vaste baan: Sr Outsystems Ontwikkelaar ERP C# 3.500 - 4.200 Senior Outsystems Ontwikkelaar Wij ontwikkelen ERP systemen voor bouworganisaties. Dit doen wij tegen de hoogst mogelijke kwaliteit. Werken bij ons betekent werken in een start-up omgeving met veel groei mogelijkheden. Doorleren wordt op prijs gesteld en gefaciliteerd. Daarbij geven we jou veel verantwoordelijkheden en mogelijkheden om eigen initiatieven uit te voeren. Bij ons werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als

Bekijk vacature »

Software Developer - Space unit

We help our customers in their day-to-day operations by processing Space & Earth Observation data using cutting edge IT technologies. If you: • are a software engineer willing to work for a creative group in the Space Business with earth observation and geospatial data, • are eager to learn new big data, machine learning and cloud technologies, • enjoy integrating different components in a wide landscape, • have a passion for clean code and elegant solutions, then, our team is looking for you! Together with our data scientists and IT colleagues, you will have the opportunity to work in projects,

Bekijk vacature »

.Net Developer IoT / Software

Voor wie je gaat werken: Wij zijn gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren .Net developer? Heb jij ervaring met het verbeteren en implementeren van .NET applicaties? Vaste baan: .Net Developer IoT Software 3.000 - 4.200 .Net Developer Wij zijn een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Wij zijn een veelzijdige organisatie. Je werkt voor onze eigen IT organisatie. We werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij

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

20/09/2021 18:32:42
 
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.