Jämföra och kunna se ändringar mellan två filer?

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

Jämföra och kunna se ändringar mellan två filer?

Hej!

Jag har en fil som kan exporteras från ett system i XML format. Denna fil innehåller främst information om produkter och inmatningsfält (vanliga formulärfält på en hemsida). Allt är på engelska och nu vore det bra att kunna skicka iväg denna filen för att få detta innehåll översatt till andra språk som spanska, tyska, franska, kinesiska och koreanska.

Vad rekommenderar ni för program/metoder för att på ett enkelt sätt kunna se vad som är ändrat?

När jag skickar iväg originalfilen så får jag tillbaka den i en version där de har bytt ut en del innehåll som beskriver produkter och text som förklarar inmatningsfält.

Det finns två särskilt intressanta saker som är av intresse:

1) Jag vill på ett enkelt sätt kunna se vad som är ändrat. Vissa saker får inte ändras i filen eftersom filen även innehåller kopplingar till andra system som är beroende av att det står på samma sätt på alla språk.

2) Hur kan jag göra detta på bästa sätt? Finns det något mycket smidigt program som kan jämföra de två filerna och som på något sätt visar var ändringarna är gjorda ? Filen är i dagsläget över 15.000 rader och kan mycket väl bli 100.000 rader lite längre fram. Därför vore det bra om man kunde få ett ett sätt (t ex ett bra program) som visar alla ändringarna, t ex genom att stryka över den ändrade texten med gul "highlightning penna"(ung. som när man stryker en gul penna över text på ett papper).

Det kunde kanske vara bra om man kan klicka på en "nästa knapp" för att på så sätt stega sig igenom alla ändringarna och se om det inte har gjorts något fel någonstans där det har gjorts en ändring jämfört med orginalfilen.

Det går bra med lösningar för både Mac och PC miljö.

Alla tips tas tacksamt emot!

The Programmer

Trädvy Permalänk
Medlem
Registrerad
Dec 2007

Vi kör WinMerge

Men det kanske finns bättre Då vill jag också veta.

När något upprepas ofta så uppfattas det som sanning...
Det hör man ofta...
hmm...
Här är en fördjupning sett från ett lite annat håll https://youtu.be/cebFWOlx848
Läs också boken Thinking, Fast and Slow

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007
Skrivet av TheProgrammer:

Hej!

Jag har en fil som kan exporteras från ett system i XML format. Denna fil innehåller främst information om produkter och inmatningsfält (vanliga formulärfält på en hemsida). Allt är på engelska och nu vore det bra att kunna skicka iväg denna filen för att få detta innehåll översatt till andra språk som spanska, tyska, franska, kinesiska och koreanska.

Vad rekommenderar ni för program/metoder för att på ett enkelt sätt kunna se vad som är ändrat?

När jag skickar iväg originalfilen så får jag tillbaka den i en version där de har bytt ut en del innehåll som beskriver produkter och text som förklarar inmatningsfält.

Det finns två särskilt intressanta saker som är av intresse:

1) Jag vill på ett enkelt sätt kunna se vad som är ändrat. Vissa saker får inte ändras i filen eftersom filen även innehåller kopplingar till andra system som är beroende av att det står på samma sätt på alla språk.

2) Hur kan jag göra detta på bästa sätt? Finns det något mycket smidigt program som kan jämföra de två filerna och som på något sätt visar var ändringarna är gjorda ? Filen är i dagsläget över 15.000 rader och kan mycket väl bli 100.000 rader lite längre fram. Därför vore det bra om man kunde få ett ett sätt (t ex ett bra program) som visar alla ändringarna, t ex genom att stryka över den ändrade texten med gul "highlightning penna"(ung. som när man stryker en gul penna över text på ett papper).

Det kunde kanske vara bra om man kan klicka på en "nästa knapp" för att på så sätt stega sig igenom alla ändringarna och se om det inte har gjorts något fel någonstans där det har gjorts en ändring jämfört med orginalfilen.

Det går bra med lösningar för både Mac och PC miljö.

Alla tips tas tacksamt emot!

FileMerge ingår i standardutbudet för OS X. Andra gratisalternativ är Kdiff3 och P4Merge.

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Registrerad
Okt 2011

Intressant problem !
Hittade https://www.diffchecker.com/diff när jag rotade lite.
Helt klart värt en bookmark för den dagen man behöver det själv
Knappast nåt för dig dock skulle jag tro.
Annars så kan ju lite mer avancerade text editors göra det:
http://www.davidtan.org/how-to-compare-two-text-files-with-wi...
http://www.ultraedit.com/products/ultracompare/feature-map/co...
Hur dom fungerar med hundratusentals rader får bli osagt

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2010

WinMerge kör jag eller Compare-plugin till Notepad++. Mestadels jämför jag i Visual Studio dock.

Trädvy Permalänk
Webbutvecklare
Moderator
Plats
::1
Registrerad
Dec 2002

@TheProgrammer: Vore det ett alternativ att exportera en lista fraser från XML:en, skicka denna till översättarna, och sedan importera tillbaks till mallen när de är färdiga? Då undviker du risken att de redigerar fel uppgifter i originalet helt.

Abstractions all the way down.

Trädvy Permalänk
Medlem
Registrerad
Dec 2004
Skrivet av Tunnelsork:

@TheProgrammer: Vore det ett alternativ att exportera en lista fraser från XML:en, skicka denna till översättarna, och sedan importera tillbaks till mallen när de är färdiga? Då undviker du risken att de redigerar fel uppgifter i originalet helt.

Jag har faktiskt snuddat lite på denna lösningen, men för att det ska funka så måste jag ha tillgång/vetskap om exakt vilka fält som är intressanta vid varje export tillfälle. Så nyinlagda produkter kräver att nya "fraser"/fält anges som är intressanta från XML filens perspektiv. Men det vore helt klart en bra lösning om man väl har plockat ut de fält som är av intresse och gör samtidigt att annat som inte är med inte kan inte påverkas/förstöras.

The Programmer

Trädvy Permalänk
Medlem
Registrerad
Dec 2004

Ska kolla upp de alternativ ni har nämnt och se om något skulle kunna vara perfekt för detta. Tack för svaren!

The Programmer

Trädvy Permalänk
Medlem
Plats
Götet
Registrerad
Jan 2015

Använd notepad++ den gör sitt jobb

Edit: Använd Compare plugin som finns till Notepad++

Server: två Intel Xeon E5-2690v2 och 128 GB ram

Min server dator: #15149189 http://i.imgur.com/BKxOmUP.jpg
zxhosting: https://www.facebook.com/pages/Zxhosting/1476037889350815

Trädvy Permalänk
Forumledare
Registrerad
Okt 2002

Ifall ni av nöden vill skicka hela filen och låta översättarna redigera direkt i XML-form, så använd versionshantering, förslagsvis Mercurial eller Git. Commit:a filen innan den skickas iväg och spana sedan in diff:en av det de skickar tillbaka, eller gör direkt en interaktiv commit. Exempelvis kan ni skapa en förgrening från den commit som gällde när filen skickades iväg, commit:a den ändrade filen i denna gren och sedan sammanfoga denna tillbaka in i huvudgrenen.

På köpet får du exakt historik över vad som ändrats (och när) som kan vara ytterst användbar i framtiden. En annan "killer feature" är att ni lokalt skulle kunna göra ytterligare ändringar i filen under tiden den är på semester i Kina, och sedan ändå få filerna att slås samman fint utan att manuellt behöva lusläsa att ni inte trampat varandra på tårna. Den skulle då också kunna vara på semester på flera ställen samtidigt och sedan enkelt sammanfogas, utan att den kinesiska översättningen ska behöva krocka med den koreanska.

Dessutom så antar jag att ni redan använder versionshantering i någon form för ert programmeringsprojekt, och gör ni inte det så bör ni verkligen, verkligen, verkligen undersöka detta ämne.

Ett möjligt vidareutvecklingskoncept vore sedan att låta externa aktörer push:a sina ändringar direkt till en sådan gren (där ni kan ha hooks som kontrollerar att XML-strukturen fortfarande är OK) som ni sedan drar in och sammanfogar i ert eget projekt vid tillfälle. Detta hjul är redan väldigt uppfunnet när det gäller versionshanteringssystem, så det finns många färdiga lösningar att studera .

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.