slogan3

Help me een GraphQL-schema te maken voor een meertalige ondersteuningssysteem

description

Door een meertalige ondersteuningssysteem te ontwerpen, kun je een breder publiek bereiken, de betrokkenheid van gebruikers verbeteren en de algehele tevredenheid verhogen door gelokaliseerde inhoud.

prompt

try_prompt

Ontwerp een GraphQL-schema dat meertalige ondersteuning mogelijk maakt in mijn toepassing. Voeg de volgende details toe: - Taalcodes: {{taalcodes}} (bijv., en, nl, fr) - Vertaalbare velden: {{vertaalbare_velden}} (bijv., titel, beschrijving) - ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
type Query { # Haal vertalingen op voor een specifieke taal vertalingenOphalen(taalcode: String!): [Vertaling!]! } # Vertalingen voor verschillende velden en entiteiten type Vertaling { id: ID! taalcode: String! # Bijv., 'en', 'nl', 'fr' veld: String! # Bijv., 'titel', 'beschrijving' waarde: String! # De vertaalde tekst entiteitId: ID! # Het ID van de betrokken entiteit entiteitType: String! # Type van de entiteit, bv. 'Product', 'Pagina' } # Voor het beheren van vertalingen, bijvoorbeeld toevoegen of bijwerken type Mutation { voegVertalingToe( entiteitType: String! entiteitId: ID! veld: String! taalcode: String! waarde: String! ): Vertaling! updateVertaling( vertalingId: ID! waarde: String! ): Vertaling! verwijderVertaling(vertalingId: ID!): Boolean! } # Optioneel: query om alle beschikbare talen op te halen type Taal { code: String! naam: String! } type Query { alleTalen: [Taal!]! vertalingenOphalen(taalcode: String!): [Vertaling!]! } # Uitleg: # - 'vertalingenOphalen' query haalt alle vertalingen op voor een gegeven taalcode. # - Vertalingen worden gekoppeld aan een entiteit via 'entiteitId' en 'entiteitType'. # - Mutaties maken het mogelijk vertalingen toe te voegen, bij te werken of te verwijderen. # - 'alleTalen' biedt een lijst van beschikbare taalcodes en namen voor beheer en gebruikersinterface.
provider: deepseek
model: deepseek-chat
Hier is een flexibel GraphQL-schema voor meertalige ondersteuning: ```graphql # Basistypes type Vertaling { id: ID! sleutel: String! waarden: [TaalWaarde!]! categorie: String createdAt: String! updatedAt: String! } type TaalWaarde { taal: TaalCode! waarde: String! } # Taal ondersteuning enum TaalCode { EN NL FR DE ES # Voeg meer talen toe indien nodig } # Input types voor mutaties input VertalingInput { sleutel: String! waarden: [TaalWaardeInput!]! categorie: String } input TaalWaardeInput { taal: TaalCode! waarde: String! } input VertalingFilter { sleutel: String categorie: String taal: TaalCode } # Queries type Query { # Vertalingen ophalen voor specifieke taal vertalingenOphalen(taal: TaalCode!, filter: VertalingFilter): [VertaaldItem!] # Alle vertalingen ophalen (voor beheer) alleVertalingen(filter: VertalingFilter): [Vertaling!] # Specifieke vertaling ophalen vertaling(sleutel: String!): Vertaling # Ondersteunde talen ophalen ondersteundeTalen: [TaalCode!] } # Resultaat type voor vertaalde items type VertaaldItem { sleutel: String! waarde: String categorie: String } # Mutaties type Mutation { # Vertaling toevoegen voegVertalingToe(input: VertalingInput!): Vertaling! # Vertaling bijwerken updateVertaling(sleutel: String!, input: VertalingInput!): Vertaling! # Vertaling verwijderen verwijderVertaling(sleutel: String!): Boolean! # Specifieke taalwaarde bijwerken updateTaalWaarde(sleutel: String!, taal: TaalCode!, waarde: String!): Vertaling! } # Abonnementen (optioneel voor real-time updates) type Subscription { vertalingBijgewerkt: Vertaling } ``` **Gebruiksvoorbeelden:** ```graphql # Vertalingen ophalen voor Nederlands query { vertalingenOphalen(taal: NL) { sleutel waarde categorie } } # Vertalingen filteren op categorie query { vertalingenOphalen( taal: EN filter: { categorie: "navigatie" } ) { sleutel waarde } } # Nieuwe vertaling toevoegen mutation { voegVertalingToe(input: { sleutel: "welkom_bericht" categorie: "algemeen" waarden: [ { taal: NL, waarde: "Welkom bij onze applicatie" } { taal: EN, waarde: "Welcome to our application" } { taal: FR, waarde: "Bienvenue dans notre application" } ] }) { id sleutel } } ``` **Kenmerken van dit schema:** - **Flexibel**: Ondersteunt meerdere talen en categorieën - **Schaalbaar**: Eenvoudig nieuwe talen toevoegen via enum - **Beheerbaar**: Volledige CRUD-operaties voor vertalingen - **Efficiënt**: Filteren op taal, sleutel en categorie - **Uitbreidbaar**: Mogelijkheid voor real-time updates via subscriptions - **Gestructureerd**: Duidelijke scheiding tussen beheer en gebruik Dit schema stelt je in staat vertalingen centraal te beheren en eenvoudig op te halen per taal, wat de gebruikerservaring in verschillende talen significant verbetert.