natgillin/translations-raw huggingface dataset:
Sometimes you are viewing the deltas and decide to merge. "Merge current file" in the Directory-menu also works if you only compare two files. A single click starts the merge and uses the filename of the last input-file as the default output filename. (When this is used to restart a merge, then the output filename will be preserved.)
Ibland tittar du på skillnader, och bestämmer dig för att sammanfoga. "Sammanfoga aktuell fil" i menyn Katalog fungerar också om du bara jämför två filer. Ett enkelklick startar sammanfogningen och använder filnamnet på den sista indatafilen som förvalt utmatningsfilnamn. (När detta används för att starta om en sammanfogning, behålls utmatningsfilnamnet.)
Configuring Keyboard-Shortcuts
Anpassa snabbtangenter
Currently only the KDE-version supports user-configurable keyboard-shortcuts. (Menu Settings- > Configure Shortcuts...)
För närvarande stöder bara KDE- versionen anpassningsbara snabbtangenter (Menyn Inställningar - > Anpassa genvägar...)
Preprocessor Commands
Preprocessorkommandon
& kdiff3; supports two preprocessor options.
& kdiff3; stöder två preprocessoralternativ.
When any file is read, it will be piped through this external command. The output of this command will be visible instead of the original file. You can write your own preprocessor that fulfills your specific needs. Use this to cut away disturbing parts of the file, or to automatically correct the indentation etc.
När en fil läses, skickas den via det här externa kommandot. Utmatningen från kommandot visas istället för den ursprungliga filen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Använd det här för att ta bort störande delar av filen, eller för att automatiskt korrigera indenteringen, etc.
When any file is read, it will be piped through this external command. If a preprocessor-command (see above) is also specified, then the output of the preprocessor is the input of the line-matching preprocessor. The output will only be used during the line matching phase of the analysis. You can write your own preprocessor that fulfills your specific needs. Each input line must have a corresponding output line.
När en fil läses, skickas den via det här externa kommandot. Om ett preprocessorkommando (se ovan) också anges är utmatningen från preprocessorn inmatning till den radmatchande preprocessorn. Utmatningen används bara under radmatchningsfasen av analysen. Du kan skriva din egen preprocessor som uppfyller dina speciella behov. Varje indatarad måste ha en motsvarande utdatarad.
The idea is to allow the user greater flexibility while configuring the diff-result. But this requires an external program, and many users do n't want to write one themselves. The good news is that very often sed or perl will do the job.
Idén är att ge användaren större flexibilitet när jämförelseresultatet ställs in, men det kräver ett externt program, och många användare vill inte skriva ett själva. De goda nyheterna är att ofta klarar sed eller perl av jobbet.
Example: Simple testcase: Consider file a. txt (6 lines): aa ba ca da ea fa And file b. txt (3 lines): cg dg eg Without a preprocessor the following lines would be placed next to each other: aa - cg ba - dg ca - eg da ea fa This is probably not wanted since the first letter contains the actually interesting information. To help the matching algorithm to ignore the second letter we can use a line matching preprocessor command, that replaces'g 'with'a': sed's/ g/ a/ 'With this command the result of the comparison would be: aa ba ca - cg da - dg ea - eg fa Internally the matching algorithm sees the files after running the line matching preprocessor, but on the screen the file is unchanged. (The normal preprocessor would change the data also on the screen.)
Till exempel ett enkelt fall att prova: Betrakta filen a. txt (6 rader): aa ba ca da ea fa Och filen b. txt (3 rader): cg dg eg Utan en preprocessor skulle följande rader placeras intill varandra: aa - cg ba - dg ca - eg da ea fa Det är troligen inte vad som önskas eftersom den första bokstaven innehåller den intressanta informationen. För att hjälpa matchningsalgoritmen att ignorera den andra bokstaven kan man använda ett radmatchande preprocessorkommando som ersätter 'g' med 'a': sed 's/ g/ a /' Med det kommandot blir resultatet av matchningen: aa ba ca - cg da - dg ea - eg fa Internt ser matchningsalgoritmen filerna efter den radmatchande preprocessorn har körts, men på skärmen är filen oförändrad. (Den normala preprocessorn skulle också ändra data på skärmen.)
sed Basics
Grundläggande information om sed
This section only introduces some very basic features of sed. For more information see info: / sed or http: / /www. gnu. org/ software/ sed/ manual/ html_mono/ sed. html. A precompiled version for Windows can be found at http: / /unxutils. sourceforge. net. Note that the following examples assume that the sed -command is in some directory in the PATH-environment variable. If this is not the case, you have to specify the full absolute path for the command.
Det här avsnittet introducerar bara några mycket grundläggande funktioner i sed. För mer information se info: / sed eller http: // www. gnu. org/ software/ sed/ manual/ html_ mono/ sed. html. En förkompilerad version för Windows finns på http: // unxutils. sourceforge. net. Observera att följande exempel antar att sed finns i någon katalog i miljövariabeln PATH. Om det inte är fallet, måste du ange fullständig absolut sökväg till kommandot.
Also note that the following examples use the single quotation mark (') which wo n't work for Windows. On Windows you should use the double quotation marks (") instead.
Observera också att följande exempel använder enkla citationstecken ('), vilket inte fungerar i Windows. I Windows ska du istället använda dubbla citationstecken (").
In this context only the sed -substitute-command is used: sed's/ REGEXP / REPLACEMENT / FLAGS 'Before you use a new command within & kdiff3;, you should first test it in a console. Here the echo -command is useful. Example: echo abrakadabra _BAR_ sed's/ a/ o/' - > obrakadabra This example shows a very simple sed-command that replaces the first occurance of "a" with "o". If you want to replace all occurances then you need the "g"-flag: echo abrakadabra _BAR_ sed's/ a/ o/ g '- > obrokodobro The" _BAR_"-symbol is the pipe-command that transfers the output of the previous command to the input of the following command. If you want to test with a longer file then you can use cat on Unix-like systems or type on Windows-like systems. sed will do the substitution for each line.
I det här sammanhanget används bara ersättningskommandot i sed: sed 's / REGUTTRYCK / ERSÄTTNING / FLAGGOR' Innan du använder ett nytt kommando inne i & kdiff3;, bör du först prova det i en terminal. Då är kommandot echo användbart. Till exempel: echo abrakadabra _BAR_ sed 's/ a/ o /' - > obrakadabra Exemplet visar ett mycket enkelt sed- kommando som ersätter den första förekomsten av "a" med "o". Om du vill ersätta alla förekomster behöver du flaggan "g": echo abrakadabra _BAR_ sed 's/ a/ o/ g' - > obrokodobro Symbolen "_BAR_" är rörledningskommandot som överför utdata från föregående kommando till indata i efterföljande kommando. Om du vill prova med en längre fil kan du använda cat på Unix- liknande system eller type på Windows- liknande system. sed utför ersättningen för varje rad.
cat filename _BAR_ sed options
cat filnamn _BAR_ sed väljare
Examples For sed -Use In & kdiff3;
Exempel på användning av sed i & kdiff3;
Ignoring Other Types Of Comments
Ignorera andra typer av kommentarer
Currently & kdiff3; understands only C/ C++ comments. Using the Line-Matching-Preprocessor-Command you can also ignore other types of comments, by converting them into C/ C++-comments. Example: To ignore comments starting with "#", you would like to convert them to "/ /". Note that you also must enable the "Ignore C/ C++-Comments" option to get an effect. An appropriate Line-Matching-Preprocessor-Command would be: sed's/ #/ \\/ \\/ / 'Since for sed the "/" -character has a special meaning, it is necessary to place the "\\"-character before each" / "in the replacement-string. Sometimes the"\\ "is required to add or remove a special meaning of certain characters. The single quotation marks (') before and after the substitution-command are important now, because otherwise the shell will try to interpret some special characters like '# ', '$' or '\\ 'before passing them to sed. Note that on Windows you will need the double quotation marks (") here. Windows substitutes other characters like'% ', so you might have to experiment a little bit.
För närvarande förstår & kdiff3; bara C/ C++ kommentarer. Genom att använda ett radmatchande preprocessorkommando kan du också ignorera andra typer av kommentarer genom att konvertera dem till C/ C++ kommentarer. För att till exempel ignorera kommentarer som börjar med "#", skulle du vilja konvertera dem till "//". Observera att du också måste aktivera alternativet "Ignorera C/ C++ kommentarer" för att få någon effekt. Ett lämpligt radmatchande preprocessorkommando skulle vara: sed 's / # /\\ /\\ //' Eftersom tecknet "/" har en särskild betydelse i sed, är det nödvändigt att lägga till tecknet "\\" innan varje "/" i ersättningssträngen. Ibland behövs "\\" för att lägga till eller ta bort en särskild betydelse för vissa tecken. De enkla citationstecknen (') innan och efter ersättningskommandot är nu viktiga, eftersom skalet annars skulle försöka tolka vissa specialtecken som' # ',' $'eller'\\ 'innan de skickas till sed. Observera att i Windows behöver du dubbla citationstecken (") här. Windows ersätter andra tecken som'% ', så du kan behöva experimentera något.
Caseinsensitive Diff
Jämförelse som inte är skiftlägeskänslig
Use the following Line-Matching-Preprocessor-Command to convert all input to uppercase: sed's/ \\(. *\\)/ \\U\\1/ 'Here the ". *" is a regular expression that matches any string and in this context matches all characters in the line. The "\\1" in the replacement string refers to the matched text within the first pair of "\\(" and "\\)". The "\\U" converts the inserted text to uppercase.
Använd följande radmatchande preprocessorkommando för att omvandla all indata till stora bokstäver: sed 's /\\ (. *\\) /\\ U\\ 1 /' Här är ". *" ett reguljärt uttryck som matchar alla strängar, och i det här sammanhanget matchar alla tecken på raden. Tecknet "\\ 1" i ersättningssträngen motsvarar den matchade texten mellan det första paret "\\ (" och "\\)". "\\ U" konverterar den infogade texten till stora bokstäver.
Ignoring Version Control Keywords
Ignorera nyckelord för versionshantering
CVS and other version control systems use several keywords to insert automatically generated strings (info: / cvs/ Keyword substitution). All of them follow the pattern "$KEYWORD generated text$". We now need a Line-Matching-Preprocessor-Command that removes only the generated text: sed's/ \\$\\(Revision\\_BAR_Author\\_BAR_Log\\_BAR_Header\\_BAR_Date\\). *\\$/ \\$\\1\\$/ 'The "\\_BAR_" separates the possible keywords. You might want to modify this list according to your needs. The "\\" before the "$" is necessary because otherwise the "$" matches the end of the line.
CVS och andra versionshanteringssystem använder flera nyckelord för att infoga automatiskt skapade strängar (info: / cvs/ Keyword substitution). Alla följer mönstret "$NYCKELORD skapad text$". Nu behöver vi ett radmatchande preprocessorkommando som bara tar bort den skapade texten: sed 's /\\ $\\ (Revision\\ _BAR_Author\\ _BAR_Log\\ _BAR_Header\\ _BAR_Date\\). *\\ $/\\ $\\ 1\\ $/' Strängen "\\ _BAR_" skiljer de möjliga nyckelorden åt. Du kanske vill ändra listan enligt dina behov. Tecknet "\\" framför "$" behövs eftersom annars matchar "$" radens slut.
While experimenting with sed you might come to understand and even like these regular expressions. They are useful because there are many other programs that also support similar things.
Medan du experimenterar med sed kan du komma att förstå och till och med tycka om de reguljära uttrycken. De är användbara eftersom det finns många andra program som också stöder liknande funktioner.
Ignoring Numbers
Ignorera siffror
Ignoring numbers actually is a built-in option. But as another example, this is how it would look as a Line-Matching-Preprocessor-command. sed's/ [0123456789. -]/ /g 'Any character within '[' and ']' is a match and will be replaced with nothing.
Att ignorera siffror är i själva verket ett inbyggt alternativ, men som ett annat exempel, visas hur det skulle se ut som ett radmatchande preprocessorkommando. sed 's / [0123456789. -] // g' Alla tecken inom '[' och ']' matchar och kommer att ersättas av ingenting.
Ignoring Certain Columns
Ignorera vissa kolumner
Sometimes a text is very strictly formatted, and contains columns that you always want to ignore, while there are other columns you want to preserve for analysis. In the following example the first five columns (characters) are ignored, the next ten columns are preserved, then again five columns are ignored and the rest of the line is preserved. sed's/..... \\(..........\\)..... \\(. *\\)/ \\1\\2/ 'Each dot'. 'matches any single character. The "\\1" and "\\2" in the replacement string refer to the matched text within the first and second pair of "\\(" and "\\)" denoting the text to be preserved.
Ibland är texten mycket strikt formaterad, och innehåller kolumner som du alltid vill ignorera, medan det finns andra kolumner du vill bevara för analys. I följande exempel ignoreras de fem första kolumnerna (tecknen), de följande tio kolumnerna bevaras, därefter ignoreras återigen fem kolumner och resten av raden bevaras. sed 's /.....\\ (..........\\).....\\ (. *\\) /\\ 1\\ 2 /' Varje punkt '.' motsvarar vilket enstaka tecken som helst. Strängarna "\\ 1" och "\\ 2" i ersättningssträngen refererar till den matchande texten inom det första och andra paret av "\\ (" och "\\)" som anger texten att bevara.
Combining Several Substitutions
Kombinera flera ersättningar
Sometimes you want to apply several substitutions at once. You can then use the semicolon ';' to separate these from each other. Example:
Ibland vill du tillämpa flera ersättningar samtidigt. Då kan du använda semikolon ';' för att skilja dem från varandra. Till exempel:
Using perl instead of sed
Använda perl istället för sed
Instead of sed you might want to use something else like perl. perl -p -e's/ REGEXP / REPLACEMENT / FLAGS 'But some details are different in perl. Note that where sed needed "\\(" and "\\)" perl requires the simpler "(" and ")" without preceding '\\'. Example:
Istället för sed kanske du vill använda något annat som perl. perl - p - e 's / REGUTTRYCK / ERSÄTTNING / FLAGGOR' Men vissa detaljer är annorlunda i perl. Observera att där sed behöver "\\ (" och "\\)" kräver perl det enklare "(" och ")" utan inledande '\\'. Till exempel:
Order Of Preprocessor Execution
Ordning vid körning av preprocessor
The data is piped through all internal and external preprocessors in the following order:
Data skickas igenom all intern och extern förbehandling i följande ordning:
Normal preprocessor,
Normal preprocessor,
Line-Matching-Preprocessor,
Preprocessor för radmatchning,
Ignore case (conversion to uppercase),
Ignorera skiftläge (konvertering till stora bokstäver),
Detection of C/ C++ comments,
Detektering av C/ C++ kommentarer,
Ignore numbers,
Ignorera siffror,
Ignore white space
Ignorera blanktecken
The data after the normal preprocessor will be preserved for display and merging. The other operations only modify the data that the line-matching-diff-algorithm sees.
Data efter den normala förbehandlingen bevaras för att visas och sammanfogas. De andra åtgärderna ändrar bara data som algoritmen för radmatchande jämförelse ser.
In the rare cases where you use a normal preprocessor note that the line-matching-preprocessor sees the output of the normal preprocessor as input.
I de sällsynta fall då du använder normal förbehandling, observera att den radmatchande förbehandlingen ser utdata från den normala förbehandlingen som indata.
The preprocessor-commands are often very useful, but as with any option that modifies your texts or hides away certain differences automatically, you might accidentally overlook certain differences and in the worst case destroy important data.
Förbehandlingskommandon är ofta mycket användbara, men som med alla alternativ som ändrar texten eller döljer vissa skillnader automatiskt, kan du av misstag hoppa över vissa skillnader och i värsta fall förstöra viktig data.
For this reason during a merge if a normal preprocessor-command is being used & kdiff3; will tell you so and ask you if it should be disabled or not. But it wo n't warn you if a Line-Matching-Preprocessor-command is active. The merge will not complete until all conflicts are solved. If you disabled "Show White Space" then the differences that were removed with the Line-Matching-Preprocessor-command will also be invisible. If the Save-button remains disabled during a merge (because of remaining conflicts), make sure to enable "Show White Space". If you do n't want to merge these less important differences manually you can select "Choose [A_BAR_B_BAR_C] For All Unsolved White space Conflicts" in the Merge-menu.
Av denna orsak, om ett normalt preprocessorkommando används under en sammanfogning, talar & kdiff3; om det för dig och frågar om det ska inaktiveras eller inte. Men du får ingen varning om ett radmatchande preprocessorkommando är aktivt. Sammanfogningen sker inte förrän alla konflikter är lösta. Om du inaktiverade "Visa blanktecken" blir också skillnaderna som togs bort med det radmatchande preprocessorkommandot osynliga. Om knappen Spara förblir inaktiv under en sammanfogning (på grund av kvarvarande konflikter), försäkra dig om att aktivera "Visa blanktecken". Om du inte vill sammanfoga dessa mindre viktiga skillnader för hand kan du välja "Välj [A_BAR_B_BAR_C] för olösta konflikter med blanktecken" i menyn "Sammanfoga".
Directory Comparison and Merge with & kdiff3;
Katalogjämförelse och sammanfogning med & kdiff3;
Introduction into Directory Comparison and Merge
Introduktion till katalogjämförelse och sammanfogning
Often programmers must modify many files in a directory to achieve their purpose. For this & kdiff3; also lets you compare and merge complete directories recursively!
Ofta måste programmerare ändra många filer i en katalog för att uppnå sina syften. För att åstadkomma detta låter & kdiff3; dig också jämföra och sammanfoga hela kataloger rekursivt!
Even though comparing and merging directories seems to be quite obvious, there are several details that you should know about. Most important is of course the fact that now many files might be affected by each operation. If you do n't have backups of your original data, then it can be very hard or even impossible to return to the original state. So before starting a merge, make sure that your data is safe, and going back is possible. If you make an archive or use some version control system is your decision, but even experienced programmers and integrators need the old sources now and then. And note that even though I (the author of & kdiff3;) try to do my best, I ca n't guarantee that there are no bugs. According to the GNU-GPL there is NO WARRANTY whatsoever for this program. So be humble and always keep in mind:
Även om jämförelse och sammanfogning av kataloger verkar vara ganska självklart, finns det flera detaljer som du bör känna till. Det viktigaste är förstås faktum att många filer nu kan påverkas av varje åtgärd. Om du inte har säkerhetskopior av originaldata, kan det vara mycket svårt eller till och med omöjligt att återgå till originalläget. Så innan du påbörjar en sammanfogning, försäkra dig om att data är säkert, och att det är möjligt att återställa. Om du skapar ett arkiv, eller använder ett versionshanteringssystem är ditt eget beslut, men till och med erfarna programmerare och integratörer behöver ibland gammal källkod. Observera också att även om jag (upphovsmannen till & kdiff3;) försöker att göra mitt bästa, kan jag inte garantera att det inte finns fel. Enligt GNU GPL finns det INGEN GARANTI av något slag för det här programmet. Så var ödmjuk, och kom alltid ihåg:
To err is human, but to really mess things up you need a computer.
Att fela är mänskligt, men för att verkligen ställa till det behövs en dator.
So this is what this program can do for you: & kdiff3;...
Så det här är vad programmet kan göra åt dig: & kdiff3;...
... reads and compares two or three directories recursively,
... läser och jämför två eller tre kataloger rekursivt,
... takes special care of symbolic links,
... hanterar symboliska länkar särskilt,
... lets you browse files on mouse double click,
... låter dig bläddra mellan filer med ett dubbelklick på musen,
... for each item proposes a merge operation, which you can change before starting the directory merge,
... föreslår ett sammanfogningsalternativ för varje objekt, som du kan ändra innan katalogsammanfogningen startas,
... lets you simulate the merge and lists the actions that would take place, without actually doing them,
... låter dig simulera sammanfogningen och listar åtgärderna som skulle ske, utan att verkligen göra dem,
... lets you really do the merge, and lets you interact whenever manual interaction is needed,
... låter dig utföra sammanfogningen, och låter dig bestämma så fort manuell interaktion behövs,
... lets you run the selected operation for all items (key F7) or the selected item (key F6),
... låter dig utföra vald åtgärd för alla objekt (tangenten F7) eller markerat objekt (tangenten F6),
... lets you continue the merge after manual interaction with key F7,
... låter dig fortsätta sammanfogningen efter manuell interaktion med tangenten F7,
... optionally creates backups, with the ". orig" extension,
... skapar valfria säkerhetskopior, med filändelsen ". orig",
Starting Directory Comparison Or Merge
Starta katalogjämförelse eller sammanfogning
This is very similar to the single file merge and comparison. You just have to specify directories on the command line or in the file-open dialog.
Det här liknar mycket sammanfogning och jämförelse av en enstaka fil. Du måste bara ange kataloger på kommandoraden eller i dialogrutan för filöppning.
Compare/ Merge two directories:
Jämföra eller sammanfoga två kataloger:
kdiff3 dir1 dir2 kdiff3 dir1 dir2 -o destdir
kdiff3 kat1 kat2 kdiff3 kat1 kat2 - o målkat
If no destination directory is specified, then & kdiff3; will use dir2.
Om ingen målkatalog anges, använder & kdiff3; kat2.
Compare/ Merge three directories:
Jämföra eller sammanfoga tre kataloger:
kdiff3 dir1 dir2 dir3 kdiff3 dir1 dir2 dir3 -o destdir
kdiff3 kat1 kat2 kat3 kdiff3 kat1 kat2 kat3 - o målkat
When three directories are merged then dir1 is used as the base for the merge. If no destination directory is specified, then & kdiff3; will use dir3 as the destination directory for the merge.
När tre kataloger sammanfogas, används kat1 som basen för sammanfogningen. Om ingen målkatalog anges, använder & kdiff3; kat3 som målkatalog för sammanfogningen.
Note that only the comparison starts automatically, not the merge. For this you first must select a menu entry or the key F7. (More details later.)
Observera att bara jämförelsen startas automatiskt, inte sammanfogningen. För det måste du först välja ett menyalternativ eller tangenten F7. (Mer information kommer senare.)
Directory Merge Visible Information
Katalogsammanfogning av synlig information
While reading the directories a message-box appears that informs you of the progress. If you abort the directory scan, then only files that have been compared until then will be listed.
Medan katalogerna läses visas en meddelanderuta som informerar dig om förloppet. Om du avbryter katalogavsökningen, visas bara filer som hittills har jämförts.
When the directory scan is complete then & kdiff3; will show a listbox with the results left,...
När katalogavsökningen är färdig, visar & kdiff3; en listruta med återstående resultat,...
... and details about the currently selected item on the right:
... och detaljinformation om det markerade objektet till höger:
The Name Column
Namnkolumnen