Multilanguage Database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Robotics Developer (Freelance/ZZP)

Duur opdracht: 12 mnd (met optie tot verlenging) We zoeken senior profielen. Die junioren kan bijscholen op de technische skills. Wordt 1x per week op kantoor (Eindhoven) gewerkt. Voertaal is Nederlands & Engels. Start datum: ZSM Max tarief: 74€ Wij zijn ter versterking van het RPA team van Operations Financieren per direct op zoek naar een RPA Engineer die ons kan helpen bij de ontwikkeling van de robots. Bij voorkeur kennis van cq. ervaring met Kofax Kapow en ervaring met het werken in grote organisaties met complexe systemen. Het RPA Team team zorgt voor de verdere optimalisatie van de processen

Bekijk vacature »

Randstad - Salesforce Developer (Freelance/ZZP)

Startdate: ASAP As part of our strategy, Randstad is strengthening its digital capabilities and strives to work more closely with the 38 Randstad countries in collective leadership. The program that will bring many of these developments together is Connect IT. The program will start with the implementation in the Netherlands and will become the main platform for all operating companies (opcos) of Randstad in the coming years. The platform is synchronized with omnichannel, data, marketing and IT service solutions and is based on Salesforce and Bullhorn technology. The challenge is to keep all roadmaps and priorities aligned as the core

Bekijk vacature »

Senior Robotics Developer (Freelance/ZZP)

Duur opdracht: 12 mnd (met optie tot verlenging) We zoeken senior profielen. Die junioren kan bijscholen op de technische skills. Wordt 1x per week op kantoor (Eindhoven) gewerkt. Voertaal is Nederlands & Engels. Start datum: ZSM Max tarief: 74€ Wij zijn ter versterking van het RPA team van Operations Financieren per direct op zoek naar een RPA Engineer die ons kan helpen bij de ontwikkeling van de robots. Bij voorkeur kennis van cq. ervaring met Kofax Kapow en ervaring met het werken in grote organisaties met complexe systemen. Het RPA Team team zorgt voor de verdere optimalisatie van de processen

Bekijk vacature »

KPN - Backend Developer - Product Master (Freelanc

Must: Scala and Akka Senior positon Start date: ZSM End date: 01-07-2023 Max hourly rate: 79,25€ Your job as a Backend Developer Many KPN employees in all different types of processes rely on accurate and complete product data. The product master will be a new master data management implementation within KPN for the business market. It supports the goals of KPN to become the best service provider, simplification in processes and IT, digitalization and most of all to become a data driven organization. The essence is to have a single master platform that embodies all the needed product data in

Bekijk vacature »

Senior 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 »

Backend developer

Functie Voor de functie als junior/medior PHP-developer ga je je bezig houden met het optimaliseren van de patiënttevredenheid app. We werken met releasecycles van 4 weken. Van het bedenken van de features in de app, het plannen, uitvoeren en testen en gesprekken met de klanten. Je bent betrokken bij het gehele proces. Dit is een veelzijdige baan waarbij je genoeg afwisseling hebt in de werkzaamheden. Er zitten veel componenten aan de app, en er worden continu nieuwe features toegevoegd. De apps zijn opgebouwd op basis van PHP en het Laravel Framework. Je komt terecht in een team van 9 developers,

Bekijk vacature »

Front-end developer / Supply Chain / Angular, Reac

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Lead Python Developer

Wat wij bieden thuiswerkmogelijkheden, als het past voor onze klant flexibele werktijden een pensioenregeling, waar jij niet verplicht aan hoeft bij te dragen 20 wettelijke vrije dagen en 7 aanvullende vrije dagen via flex benefits met flex benefits zelf arbeidsvoorwaarden aanpassen aan jouw persoonlijke wensen keuze tussen een auto van de zaak of een reiskostenvergoeding Wat jij meeneemt een hbo- of wo-diploma in een technische richting; ervaring met een aantal gangbare Python–gerelateerde frameworks en –tools. Denk aan NumPy, TensorFlow en Panda’s, of Flask/Django met SQLAlchemy; zelfstandigheid in programmeren in Python; de ambitie om je schouders te zetten onder zowel je

Bekijk vacature »

Senior C# developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Senior C# developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

Senior Robotics Developer (Freelance/ZZP)

Duur opdracht: 12 mnd (met optie tot verlenging) We zoeken senior profielen. Die junioren kan bijscholen op de technische skills. Wordt 1x per week op kantoor (Eindhoven) gewerkt. Voertaal is Nederlands & Engels. Start datum: ZSM Max tarief: 74€ Wij zijn ter versterking van het RPA team van Operations Financieren per direct op zoek naar een RPA Engineer die ons kan helpen bij de ontwikkeling van de robots. Bij voorkeur kennis van cq. ervaring met Kofax Kapow en ervaring met het werken in grote organisaties met complexe systemen. Het RPA Team team zorgt voor de verdere optimalisatie van de processen

Bekijk vacature »

Senior Java developer (backend)

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 »

Medior .NET developer

Functie Als medior .NET ontwikkelaar ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Als scrumteam werken jullie in drie wekelijkse sprints en beginnen jullie iedere ochtend met een stand-up. Als full stack developer werk jij bij deze organisatie met C# .NET, .NET Core, React.JS,

Bekijk vacature »

Junior Robot Programmeur

Bedrijfsomschrijving: Locatie: regio Venray Dit is een high-tech organisatie met meer dan 600 werknemers wereldwijd. Ze bieden een open en informele werksfeer met een hoge mate van zelfstandigheid en professionaliteit. Ter uitbreiding van het team zijn we op zoek naar een Junior Robot Programmeur. Met productievestigingen in Nederland, Amerika, Tsjechië, China, Mexico en de Verenigde Staten kunnen hun klanten overal ter wereld ondersteund worden. Deze organisatie ontwerpt en bouwt gerobotiseerde productiesystemen, waarbij lassen en andere verbindingstechnologieën een centrale rol spelen. Ze zijn zowel in de automotive als de algemene industrie actief, waar hoge productievolumes en een hoge mate van automatisering

Bekijk vacature »

Randstad - Fullstack Java Developer (Freelance/ZZP

Start date: ASAP Duration: 1 year initially Hours per week: 40 (32 minimum) Dutch is mandatory Max hourly rate: 85€ Strong communicator There is a vacancy in the Corporate Client Solutions (CCS) team. This team works closely together with the Online Client Solutions (OCS) team and the product owner on the client portal. Through the web portal, the various services from the business are delivered to the clients of Randstad Group Netherlands. CCS works for the corporate customers of Randstad and OCS works for customers in the SME segment. Both teams consist of a number of full stack developers, an

Bekijk vacature »

Als Python developer werken aan HR Software

Functie Als Python ontwikkelaar ga je mee ontwikkelen aan de uitbreiding van onze software. Onze software is een in-house product. We hebben er bewust voor gekozen om geen maatwerk te bieden aan klanten zodat we ons kunnen focussen op de kwaliteit van ons eigen product. Je focus gaat liggen op het ontwikkelen van de verschillende modules binnen de applicatie. Daarnaast ga je je bezig houden met updates die naar behoefte van de klanten worden afgesteld. Je zal in de backend gaan ontwikkelen in Python, voornamelijk met het Pyramid framework. In de frontend zal je je bezig houden met Javascript en

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

19/08/2022 18:36:18
 
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.