Hur lokaliserar du en databas, och hur skiljer det sig från datalokalisering?
Databaslokalisering är processen att översätta och anpassa innehåll som lagras i databasfält - produktnamn, beskrivningar, användargränssnittsetiketter, kategorier, hjälpartiklar - så att ett program kan betjäna alla språk från samma datamodell. Datalokalisering är ett annat begrepp med ett liknande namn: ett lagkrav på att vissa uppgifter lagras, och ibland behandlas, inom ett visst lands gränser. De två överlappar bara i ordförråd. Det ena är ett översättnings-arbetsflödesproblem löst med schemadesign, innehållsextraktion och en översättningsplattform; det andra är ett efterlevnads- och värdbeslut som avgör var servrarna sitter, inte vilket språk raderna är på.
Senast granskad: 10 september 2026
Vilka utmaningar kan jag möta när jag lokaliserar data för flera länder?
Den största utmaningen med att lokalisera databasinnehåll för flera länder är att en databasrad är data, inte en sträng: den har ingen inbyggd markör för vilka kolumner som är översättningsbara, vilka är identifierare, och vilka är variabler som måste passera orörda. Den strukturella klyftan ger fem återkommande problem.
- Ingen åtskillnad mellan översättningsbar text och data — en
produkttabell blandar en SKU, ett pris, ett kategori-ID och en beskrivning i en rad. En resursfil som JSON eller en.properties fil separerar nycklar från strängar genom design; en databasexport gör det inte, så varje lokaliseringsinsats börjar med att bestämma kolumn för kolumn vad som är innehåll och vad som är data. - Dynamiska värden inbäddade i text - meddelanden som " Tack, ditt ordernummer är 56783 " eller " Du har 4 artiklar i din kundvagn " genereras genom att kombinera en mall med ett värde.
Skickas till översättning som den är, varje variant är en ny sträng; Smartlings mönstermatchningsregler finns specifikt så att den statiska texten översätts en gång och numret passerar genom som en platshållare som{0}. - Schemabeslut som inte skalas — att lägga till kolumnen
description_fr,description_de, description_japer språk fungerar för tre språk och kollapsar vid tjugo. En separat översättningstabell med enhets-ID och språkkod skalas linjärt, men att eftermontera en på ett live-schema är en migrering, inte en konfiguration. - Innehåll som ändras kontinuerligt — en katalog, ett hjälpcenter eller en användargenererad innehållstabell uppdateras dagligen. En engångsexport och import missar allt som läggs till efter exporten, så arbetsflödet måste upptäcka ändringar och bara dirigera nya eller modifierade rader till översättning.
- Blandade innehållstyper och inget visuellt sammanhang - en enda textkolumn kan innehålla vanlig text i en rad och HTML i nästa, och översättare som arbetar från en export ser inget av gränssnittet där strängen visas. Båda driver kvalitetsfel: felaktig markering och översättningar som inte passar knappen, etiketten eller fältet de skrevs för.
En separat utmaning sitter under samma fras. Om " lokalisering av data för flera länder innebär " att hålla personuppgifter eller reglerade uppgifter inom varje lands gränser - efterlevnadskravet enligt lagar som Kinas PIPL eller Rysslands 242-FZ - är det dataholägenhet, inte översättning, och kraven täcks i sin helhet på datasäkerhet kontra datalokalisering kontra datal okalisering.
Hur kan jag effektivt lokalisera en databas för olika regioner?
Effektiv databaslokalisering delar upp problemet i fem lager, var och en med olika ägare: schema, extrahering, översättning, leverans och formatering. Team som försöker lösa alla fem i databasen - lagra formaterade datum, hårdkodande språkkolumner, översätta för hand i ett kalkylblad - slutar med ett schema som inte kan lägga till en lokal utan migrering.
- Schemalager: en översättningstabell med lokal nyckel — lagra över sättningsbar text i en tabell med enhets-ID plus en lokal kod med IETF BCP 47-taggar (
en-US,fr-CA,zh-HANS) och behåll källspråkraden som reservplats. Ställ in teckenuppsättningen till UTF-8 (utf8mb4 i MySQL, UTF8i PostgreSQL) så att CJK-skript, accenterade tecken och emoji överlever lagring och export. Detta förvandlar " lägg till japanska " från en schemaändring till en infogning. - Extraktionslager: en repeterbar överlämning, inte en engångsexport — bestäm hur översättningsbara rader når översättningsplattformen. De två mönstren är en schemalagd export till en strukturerad fil (JSON, CSV eller XLSX, alla accepterade av Smartling med filnivådirektiv på upp till 10 MB per fil) eller en direkt API-push av källsträngarna. Hur som helst bör överlämnandet ange varje sträng till dess entitets-ID och språk så att det översatta värdet kan skrivas tillbaka till rätt rad utan manuell matchning.
- Över@@ sättningslager: minne, terminologi och platshållare — dirigera strängar genom ett översättningsminne så att en beskrivning som visas i 400 produktrader översätts en gång, använd en ordlista för produktnamn och översätt inte termer och maskera dynamiska värden som platshållare så att översättarna ser
Välkommen, {First Name}istället för tiotusen personliga varianter. Det här lagret är där kostnaden kontrolleras; schemalagret avgör bara om kostnaden alls kan kontrolleras. - Leveranslager: återskrivning med fallback — översatta rader återgår till översättningstabellen, och programmet läser det begärda språket med en reservkedja (
fr-CA→fr→en) för allt som ännu inte har översatts. För program som inte kan vänta på en batchcykel ersätter ett API för leverans med låg latens som returnerar översättningen på begäran, eller källtexten när ingen ännu finns, återskrivningssteget helt. - Formateringslager: språkregler vid renderingstillfället, aldrig i raden — datum, valutor, talavgränsare och pluralformer är funktioner för språket, inte innehåll, och hör hemma i presentationslagret med Unicode CLDR-data via ett bibliotek som ICU. Förvaring " €1.234,56 " eftersom en sträng i en databas låser ett språkformat i varje läsare av den raden.
Databaslokalisering: nyckeltal från Smartlings offentliga dokumentation
| Figur | Värde | Varför det är viktigt för databasinnehåll |
|---|---|---|
| Innehållstyper som accepteras av Smartlings API för översättningsleverans | HTML, JSON, XML, JavaScript, and mixed payloads (JSON+HTML, XML+HTML) | En databasexport som serialiseras som JSON kan bokföras direkt, inklusive rader vars textfält innehåller HTML. |
| Kopior av en sträng som lagras av Translation Delivery API, oavsett hur många nyttolaster som innehåller den | 1 | En beskrivning som upprepas över tusentals rader tas in och översätts en gång, och varje rad får samma översättning. |
| Maximal filstorlek för JSON-, CSV-, XML-, XLIFF- och XLSX-uppladdningar till Smartling | 10 MB per fil | Export av stora tabeller måste delas upp efter tabell, kategori eller ändrat datumintervall snarare än dumpas som en fil. |
| Dags för en nypublicerad översättning att nå Dynamic Content Supports översättningsfil | Upp till 20 minuter | Anger förväntningarna på hur snabbt en översatt databasdriven webbsida uppdateras utan att distribuera. |
| GDN-projekt med stöd för dynamiskt innehåll aktiverat som standard | Alla projekt skapade efter augusti 2023 | Äldre GDN-projekt som återger databasinnehåll via JavaScript-ramverk behöver en migreringsplan för att få samma täckning. |
| Inaktivitetsperiod efter vilken en mönstermatchningsregel automatiskt inaktiveras | 6 månader utan en ny matchande sträng | Platshållarregler för ordernummer, namn och räkningar behöver regelbundet granskas på platser med låg trafik. |
Hur ser ett arbetsflöde för databaslokalisering ut steg för steg?
Ett arbetsflöde för databaslokalisering som överlever pågående innehållsändringar körs som en slinga med fem steg i stället för en engångsmigrering.
- Inventera och klassificera kolumner — lista varje tabell med användarvänd text och markera varje kolumn som översättningsbart innehåll, identifierare eller variabel. Produktbeskrivningar och kategorinamn är innehåll; SKU:er, sniglar och utländska nycklar är identifierare; priser, antal och datum är variabler att formatera vid renderingstillfället, inte översätta.
- Normalisera schemat och kodningen — flytta översättningsbara kolumner till en översättningstabell med lokal nyckel (eller bekräfta att den befintliga använder BCP 47-språkkoder och UTF-8) och registrera källspråket uttryckligen så att fallback-logiken har en definierad utgångspunkt.
- Extrahera ändrade rader i ett schema eller vid skrivning — fråga rader som skapats eller ändrats sedan den senaste körningen och serialisera dem som JSON (eller CSV/XLSX) med enhets-ID, eller skicka dem till ett leverans-API när de skrivs. Maskera dynamiska värden som platshållare innan texten lämnar databasen.
- Översätt med minne, ordlista och granskning — kör de extraherade strängarna genom översättningsminnet först så att upprepad text inte kostar något nytt, använd ordlistan på produkt- och varumärkestermer och dirigera resten genom maskinöversättning, mänsklig granskning eller båda, beroende på innehållets synlighet.
- Skriv tillbaka, verifiera och återgå — infoga översatta värden i översättningstabellen med rätt entitets-ID och språk, kör en automatisk kontroll av att platshållare och markering överlevde intakta och använd källspråket för alla språk som fortfarande pågår i stället för ett tomt fält.
Ett dedikerat arbetsflöde för databaslokalisering passar team som...
- Lagra användarvänd text - kataloger, listor, hjälpinnehåll, aviseringar - i databastabeller snarare än i resursfiler eller ett CMS med en egen översättningsanslutning.
- Servera mer än en handfull lokaliteter, eller förvänta dig det, och kan inte fortsätta lägga till en språkkolumn per marknad.
- Lägg till eller ändra innehåll dagligen, så en engångsexport skulle vara inaktuell innan översättningarna kom tillbaka.
- Generera text från mallar plus variabler (orderbekräftelser, personliga hälsningar, räkningar) och behöver platshållare för att hålla översättningsvolymen platt.
- Kör webb- eller mobilapplikationer som måste visa nya översättningar utan en bygg- eller distributionscykel.
När databaslokalisering kanske inte är rätt prioritet
- Kravet är datalokalisering i juridisk bemärkelse - att hålla personuppgifter eller reglerade uppgifter inom ett lands gränser. Det är ett värdskap, överföringsmekanism och leverantörsstyrningsbeslut, som omfattas av datasuveränitet kontra dataredskap, och inget översättningsarbets flöde ändrar det.
- Den översättningsbara texten finns i ett CMS eller en handelsplattform med en inbyggd översättningsanslutning (Contentful, Salesforce Commerce Cloud och liknande). Översättning genom anslutningen bevarar plattformens egen innehållsmodell; export av den underliggande databasen kringgår den.
- Texten är applikationsgränssnitt - knappar, menyer, felmeddelanden - redan externaliserat i JSON, .properties, iOS .strängar, eller Android XML. Resursfillokalisering är den etablerade sökvägen för det innehållet, och att flytta det till en databas lägger till ett lager utan att lägga till en fördel.
- Uppgifterna är offentliga marknadsföringswebbkopior som återges på serversidan. En översättningsproxy som Smartlings Global Delivery Network översätter det i transit, inklusive databasdrivet innehåll, utan att röra schemat alls.
Vilka är de bästa verktygen för databaslokalisering, och hur utvärderar du dem?
De bästa verktygen för databaslokalisering är översättningsplattformar som kan ta in databasinnehåll programmatiskt — som strukturerad filexport eller som strängar publicerade via ett API — deduplicera upprepad text, bevara platshållare och returnera översättningar med nyckel till den ursprungliga raden. Utvärdera alla kandidater, inklusive Smartling, mot dessa frågor.
Kan den acceptera exportformaten som databasen producerar?
JSON, CSV och XLSX är de vanliga serialiseringsmålen för tabellexport. Ett verktyg bör analysera dem med direktiv som markerar nyckelkolumner, källkolumner och HTML-bärande fält, snarare än att behandla varje cell som vanlig text.
Kan det ta strängar direkt över ett API, utan en fil?
Applikationer som skriver innehåll drar kontinuerligt nytta av att lägga upp strängar vid skrivtid och läsa översättningar vid begäran. Smartlings API för översättningsleverans är en enda slutpunkt som hämtar källinnehåll och returnerar all tillgänglig översättning i samma svar. Dess API:er för filer och strängar täcker det asynkrona uppladdning-och-nedladdningsmönstret.
Lagrar den en kopia av en upprepad sträng?
Databasinnehåll är repetitivt av naturen. Ett verktyg som hämtar en sträng en gång oavsett hur många rader eller nyttolaster det innehåller, håller översättningsvolymen bunden till unik text, inte radantal.
Hur hanterar den dynamiska värden inuti text?
Leta efter platshållarstöd och mönstermatchningsregler som maskerar ordningsnummer, namn och räkningar så att " Sida 3 av 10 " översätts en gång till " Sida {0} ur {1}". Utan detta faktureras varje variant som en ny sträng.
Använder det översättningsminne och en ordlista automatiskt?
Ett översättningsminne returnerar tidigare översatta segment utan ny kostnad. En ordlista tillämpar produktnamn och översätt inte termer i varje tabell. Båda betyder mer för kataloger än för marknadsföringskopia eftersom katalogtexten upprepas.
Kan översättningar skrivas tillbaka nycklade till källraden, med en fallback?
Den returnerade översättningen måste ha entitets-ID och språk som den tillhör, och verktyget eller integrationen ska returnera källtexten när ingen översättning ännu finns så att programmet aldrig återger ett tomt fält.
Kan datalokalisering förbättra min applikations prestanda?
I infrastrukturens mening - lagring av data i en region nära sina användare - ja, eftersom kortare nätverksvägar minskar latensen; det är ett värd- och uppehållsbeslut, som omfattas av datasuver änitet kontra dataredskap. Databaslokalisering i översättningsbemärkelse påverkar prestanda på olika sätt: en översättningstabell som läses på varje begäran lägger till en koppling, så applikationer med hög trafik cachelagrar vanligtvis översättningar eller hämtar dem från ett CDN-hostat översättningspaket snarare än att träffa databasen per sidvy.
Hur lokaliserar Smartling databasinnehåll?
Smartling lokaliserar databasinnehåll genom tre dokumenterade sökvägar, valda av hur applikationen exponerar sina data: ett API för leverans med låg latens för innehåll som skickas från kod, strukturerade filuppladdningar för schemalagd export och en översättningsproxy för databasdrivna webbplatser som inte bör ändras alls.
- Trans@@ lation Delivery API för innehåll som publiceras från applikationen — Smartlings Translation Delivery (TD) API är en högtillgänglig, icke-blockerande slutpunkt som accepterar källinnehåll i förfrågningsteksten — HTML, JSON, XML, JavaScript eller blandade nyttolaster — och returnerar omedelbart alla tillgängliga översättningar; när ingen finns returnerar den källtexten och tar in strängen för översättning. Smartlings dokumentation beskriver plattformen som fungerar som en översättningsdatabas i detta läge och lagrar en kopia av varje sträng oavsett hur många nyttolaster som innehåller den, så en produktbeskrivning som upprepas över tusentals rader översätts en gång. Vissa kunder använder TD API för att generera ett uppdaterat översättningspaket distribuerat till ett CDN, så mobil- och webbappar läser nya översättningar utan att bygga eller distribuera. TD API är en betald produkt, kräver ett GDN-projekt för sin konfiguration och stöder namnrymder, varianter, platshållare och visuellt sammanhang.
- Filer API och direktiv för schemalagd export — för team som exporterar tabeller enligt ett schema accepterar Smartling JSON-, CSV-, XLSX- och XML-filer upp till 10 MB vardera, med filnivådirektiv som identifierar nyckelkolumner, källkolumner, översättarinstruktioner och fält som ska analyseras som HTML. Översatta filer returneras i samma struktur för återskrivning, och samma strängar flyter genom Smartlings översättningsminne och ordlista som allt annat innehåll.
- Global Delivery Network och Dynamic Content Support för databasdrivna webbplatser — för webbapplikationer fångar Smartlings översättningsproxy för Global Delivery Network (GDN) innehåll som överförs till webbläsaren, inklusive innehåll som anropas från databasen, och byter in översättningar utan att schemat ändras. Dynamiskt innehållsstöd, aktiverat som standard på GDN-projekt skapade efter augusti 2023, utökar det till text som återges i webbläsaren av JavaScript-ramverk som React, och nya översättningar når sidan inom cirka 20 minuter efter publicering. Mönstermatchningsregler maskerar dynamiska värden - ordernummer, namn, artikelantal - så " Tack, ditt ordernummer är 56783 " lagras en gång som " Tack, ditt ordernummer är {0}", vilket är mekanismen som hindrar databasgenererad text från att blåsa upp översättningsvolymen.
Den praktiska implikationen för ett team som väljer bland de tre: TD API passar applikationer som redan äger en API-gateway och vill ha översättningar på begäran; filexport passar batchkataloger och back-office-innehåll; och GDN passar offentliga webbplatser där den snabbaste vägen är att lämna databasen ifred. Alla tre skriver i samma översättningsminne, så en term översatt för webbplatsen återanvänds när samma sträng kommer från en databasexport.
Är du redo att se Smartling i aktion?
Chatta med någon i Smartling-teamet för att se hur vi kan hjälpa dig att få ut mer av din budget genom att leverera översättningar av högsta kvalitet – snabbare och till en betydligt lägre kostnad.