PVFirms: Een Meertalige Gids Uitvoeren als een Inhoudsysteem

Het bouwen van de meertalige zonne-energie directory van PVFirms met geplande AI-inhoudswerkzaamheden, controle van lokale dekking en een Engelse fallback.

PVFirms is mijn meertalige directory van bedrijven in de zonne-energie-industrie. Het platform maakt gebruik van Laravel, Inertia, React, TypeScript en PostgreSQL. De inhoudswerkstroom omvat geplande LLM-generatie, gecoördineerd via n8n, met controle op lokale dekking en een Engelse fallback.

Het project dekt 31 locaties en een bronsset van ongeveer 1.600 interfacevertalingssleutels. Deze cijfers beschrijven de reikwijdte van de implementatie. Ze impliceren niet dat elk bedrijfsrecord even volledige inhoud heeft in elke taal, of dat gegenereerde tekst geen beoordeling nodig heeft.

De interface-taal en de bedrijfsinhoud zijn verschillend

Een vertaalde zoekknop is een interfacekwestie. Een bedrijfsbeschrijving is een inhoudsprobleem. De twee verschijnen samen op dezelfde pagina, maar ze hebben verschillende bronnen, updatecycli en kwaliteitscontroles.

Ik scheid ze wanneer ik nadenk over volledigheid. Een locatie kan een bruikbare interface hebben terwijl sommige bedrijfsinhoud nog niet beschikbaar is in die taal. Omgekeerd maken vertaalde beschrijvingen de navigatie, validatieberichten of accountschermen niet compleet.

Deze onderscheiding maakt vooruitgang meetbaar. In plaats van een locatie “af” te noemen omdat er een generatiejob is uitgevoerd, moet het systeem vergelijken wat er zou moeten zijn met wat er daadwerkelijk beschikbaar is in elke inhoudsklasse.

Een fallback moet de bruikbaarheid behouden

PVFirms gebruikt Engels als fallback. Het doel is om de applicatie bruikbaar te houden wanneer een gelokaliseerde waarde ontbreekt. Laravel ondersteunt een fallback-taal voor ontbrekende vertaalstrings, maar de inhoud van de applicatie vereist nog steeds een eigen zorgvuldige behandeling.

Een fallback kan ook onafgemaakt werk verbergen als niemand het meet. Een pagina kan succesvol worden weergegeven omdat er een Engelse waarde is gevonden, ook al heeft de aangevraagde locale geen vertaling. Ik beschouw daarom succesvolle weergave en locale-dekking als aparte vragen.

Voor een beoordeling wil ik weten welke sleutels ontbreken, welke inhoud opzettelijk terugvalt en welke waarden leeg of verkeerd geformatteerd zijn. Een groene generatie-status alleen beantwoordt die vragen niet.

Automatisering heeft een stabiele bron nodig

De geplande contentpipeline maakt herhaald werk beheersbaar over veel locaties. Het nut ervan hangt af van een stabiele bronidentiteit: de taak moet weten op welke sleutel of record het werkt en welke broninhoud het aan het transformeren is.

Mijn ontwerpvraagstukken voor dit soort pipelines omvatten hoe een wijziging in de bron een oudere vertaling verouderd maakt, hoe je ontbrekend werk kunt onderscheiden van voltooid werk en hoe je ervoor kunt zorgen dat een herhaalpoging niet per ongeluk een beoordeeld waarde vervangt. De exacte implementatie kan variëren; de noodzaak om die onderscheidingen te behouden niet.

Vertaling heeft ook structurele vereisten. Plaatsaanduidingen, links en product- of bedrijfsnamen moeten mogelijk onveranderd blijven. Een zin kan natuurlijk klinken terwijl het een interface verstoort als een vereiste plaatsaanduiding verdwijnt.

Directory feiten vereisen een andere standaard dan proza

Een bedrijfsdirectory mengt beschrijvende teksten met feitelijke velden. Namen, locaties, websites en servicecategorieën mogen niet worden uitgevonden om een profiel compleet te laten lijken. Een LLM kan helpen bij het transformeren van aangeleverd materiaal, maar gegenereerde vloeiendheid is geen bewijs dat een zakelijke claim waar is.

Voor inhoudsbeoordeling maak ik onderscheid tussen een op bronnen gebaseerd feit, een vertaling van dat feit en nieuw gegenereerde verklarende proza. Dit maakt het gemakkelijker om te beslissen wat automatisch kan worden gepubliceerd en wat extra controle nodig heeft. Het voorkomt ook dat een afwezig veld stilletjes een zelfverzekerde zin wordt.

Hetzelfde principe geldt voor meertalige ontdekking. Een gelokaliseerde pagina moet de onderliggende bedrijfsidentiteit behouden, in plaats van zich als een ander record te gedragen omdat de formulering is veranderd.

Bedien de inhoud als onderdeel van de applicatie

PVFirms heeft lokalisatie, gegenereerde inhoud en gewone applicatie-engineering samengebracht in één product. Mijn focus ligt op dekking, herstelbaarheid en begrijpelijke inhoudstoestand, naast de pagina’s die bezoekers zien.

Een meertalige directory wordt beheersbaar wanneer operators kunnen aangeven wat er bestaat, wat ontbreekt, wat terugvalt en wat herzien moet worden. Dat is de nuttige output van een content systeem: een herhaalbare manier om informatie coherent te houden terwijl zowel de directory als de talen groeien.

Technische referentie: Laravel-documentatie over lokalisatie en fallback-talen.

Bijgewerkt op 26 september 2026.