natgillin/translations-raw huggingface dataset:
Sometimes the algorithm places the wrong lines next to each other. Or you want to compare one piece of text with text at a completely different position in the other file. For these situations you can manually instruct & kdiff3; to align certain lines. Mark the text for which you want to improve the alignment with the mouse as you would for copy and paste in the first diff view and then choose "Add Manual Diff Alignment" in the "Diffview"-menu (keyboard shortcut" Ctrl-Y "). An orange bar will appear in the summary column next to the chosen text. Repeat this for the second and (if available) third diff view. & kdiff3; will immediately recalculate the differences everytime you do this, and will align the chosen lines. Of course some of the previously matching lines in between might not match anymore.
Іноді алгоритмові обробки тексту, використаному у програмі, не вдається розташувати належні рядки один навпроти одного. У вас також може виникнути бажання порівняти фрагмент тексту з фрагментом тексту, розташованим у зовсім іншому місці файла, з яким виконується порівняння. У таких випадках ви можете вказати & kdiff3; рядки для вирівнювання вручну. Позначте текст, вирівнювання якого ви бажаєте покращити за допомогою вказівника миші у першому перегляді даних так, як ви це робите, коли бажаєте скопіювати фрагмент тексту, а потім скористайтеся пунктом « Додати вирівнювання різниці вручну » з меню « Diffview » (клавіатурне скорочення « Ctrl- Y »). Поряд з вибраним фрагментом тексту у стовпчику огляду з’ явиться жовтогарячий прямокутник. Повторіть процедуру для другої і (якщо така є) третьої області даних. & kdiff3; негайно переобчислюватиме відмінності після виконання вами дій і вирівнюватиме вибрані рядки. Звичайно ж, деякі з рядків, які збігалися за попереднього порівняння, можуть стати відмінними за нового порівняння.
Currently merging does n't support the use of manual diff help.
У поточній версії програми ви не можете втручатися вручну у процес об’ єднання.
Manually Joining and Splitting Diff Sections
Об’ єднання і розділення розділів відмінностей вручну
In some cases & kdiff3; will see too many or too few diff sections for merging. In such a case you can join or split existing sections.
У певних випадках & kdiff3; визначить забагато або замало розділів відмінностей для об’ єднання. У такому випадку ви можете об’ єднати або поділити існуючі розділи.
Add new sections by first selecting text in the lines that belong together in either input window (as for copying to the clipboard). Then choose "Split Diff At Selection" in the "Merge" menu. Splits will be added above the first line and below the last line of the selected text. If you only want to add one section, then select text beginning at another section-split.
Додайте нові розділи: спочатку виберіть текст у рядках, які відповідають один одному у кожній з областей вхідних даних (так як ви це робите під час копіювання даних до буфера). Потім скористайтеся пунктом « Розділити різницю на вибраному » з меню « Об’ єднання ». Розрізи буде додано над першим рядком і під останнім рядком вибраного тексту. Якщо ви бажаєте додати лише один розділ, виберіть текст, що починається з іншого розрізу розділів.
For joining sections in either input window select something in the lines from the sections to join. (You can join several sections in one step too.) Then choose "Join selected Diffs" in the "Merge"-menu.
Щоб об’ єднати розділи у всіх областях вхідних даних, оберіть певну частину рядків розділів, які слід з’ єднати. (Ви можете з’ єднувати декілька розділів за один крок.) Після цього оберіть пункт « Об’ єднати вибрані різниці » з меню « Об’ єднання ».
Merging And The Merge Output Editor Window
Об’ єднання і вікно редактора виводу об’ єднання
The merge output editor window (below the diff input windows) also has an info line at the top showing "Output:", the filename and "[Modified]" if you edited something. Usually it will contain some text through the automatic merge facilities, but often it will also contain conflicts.
У області редактора даних об’ єднання (розташованому під областями вхідних даних) є інформаційний рядок з заголовком « Вивід: », назвою файла і рядком « [Змінено] », який з’ явиться, якщо вами було внесено якісь зміни. Зазвичай, у цьому рядку буде міститися певні дані, виведені інструментами автоматичного об’ єднання, але часто у цій області з’ являтимуться повідомлення про конфлікти.
!!! Saving is disabled until all conflicts are resolved!!! (Use the "Go to prev/ next unsolved conflicts"-buttons to find the remaining conflicts.)
!!! Ви не зможете зберегти дані, аж доки всі конфлікти не буде розв’ язано!!! (Скористайтеся кнопками « Перейти до попер. / наст. нерозв’ язаного конфлікту », щоб перевести перегляд до конфліктів, які ще не розв’ язано.)
With only two input files every difference is also a conflict that must be solved manually.
Якщо ви працюєте з двома файлами вхідних даних, кожна з відмінностей є конфліктом, який слід розв’ язати вручну.
With three input files the first file is treated as base, while the second and third input files contain modifications. When at any line only either input B or input C have changed but not both then the changed source will automatically be selected. Only when B and C have changed on the same lines, then the tool detects a conflict that must be solved manually. When B and C are the same, but not the same as A, then C is selected.
Якщо вхідних файлів буде три, перший з них вважатиметься базовим, а другий і третій — такими, що містять зміни. Якщо певний з рядків змінено лише у файлі B або C, але не у двох цих файлах, програма автоматично обере змінений варіант. Лише у випадках, коли і у B, і у C одночасно змінено однакові рядки, програма вважатиме ситуацію конфліктною і пропонуватиме розв’ язати конфлікт вручну. Якщо зміни, внесені у B і C є тотожними, буде обрано варіант C.
The Summary Column
Стовпчик резюме
The merge output editor window also has a summary column on the left. It shows the letter of the input from which a line was selected or nothing if all three sources where equal on a line. For conflicts it shows a questionmark "?" and the line shows "lt; Merge Conflictgt;", all in red. Because solving conflicts line by line would take very long, the lines are grouped into groups that have the same difference and conflict characteristics. But only-white-space-conflicts are separated from non-white-space-conflicts in order to ease the merging of files were the indentation changed for many lines.
У області редактора виводу об’ єднання також передбачено стовпчик резюме, розташований ліворуч. У цьому стовпчику буде показано літеру варіанта, з якого було взято рядок, або нічого, якщо всі у всіх трьох джерелах рядок є однаковим. Конфліктні рядки буде позначено символом знака питання («? »), а у самому рядку буде показано червоний запис « Конфлікт об’ єднання ». Оскільки порядкове розв’ язання конфліктів є справою досить марудною, рядки буде впорядковано за групами з однаковими відмінностями і характеристиками конфліктів. Конфлікти, які полягають лише у розташуванні пробілів, буде відокремлено від інших конфліктів, щоб полегшити об’ єднання файлів, де зміни у відступах було внесено до багатьох рядків.
Setting The Current Group And Synchronising Merge And Diff View Position
Визначення поточної групи і синхронізація позиції об’ єднання і перегляду відмінностей
When clicking into the summary column with the left mouse button in either window then the beginning of the group belonging to that line will shown in all windows. This group then becomes the "current group". It is highlighted with the "Current range (diff) background color" and a black bar appears on the left side of the text.
Після наведення вказівника миші у стовпчику резюме будь- якої з областей на певну позицію і клацання лівою кнопкою миші програма відкриє у всіх вікнах фрагмент тексту на початку групи, до якої належить обраний клацанням рядок. Після цього група стане « поточною групою ». Цю групу буде позначено « Кольором тла поточного діапазону різниці », а зліва від тексту буде показано чорну рамку.
Choosing Inputs A, B or C For Current Conflict And Editing
Вибір вхідних даних з A, B або C для розв’ язання поточного конфлікту і редагування
The button bar below the menubar contains three input selector buttons containing the letters "A", "B" and "C". Click the input selector button to insert (or remove if already inserted) the lines from the respective source. To choose the lines from several inputs click the respective buttons in the needed order. For example if you want that the lines from "B" appear before the lines from "A" in the output, first click "B", then "A".
На панелі з кнопками, розташованій під смужкою меню, містяться три кнопки вибору вхідних даних, які позначено літерами « A », « B » і « C ». Натисніть кнопку вибору вхідних даних, щоб вставити рядки (або вилучити рядки, якщо ці рядки вже було раніше вставлено) з відповідного джерела. Щоб обрати рядки з декількох вхідних джерел натисніть відповідні кнопки у потрібному порядку. Наприклад, якщо ви бажаєте, щоб рядкам з « B » було надано перевагу перед рядками з « A » у вихідних даних, спочатку натисніть « B », а вже потім « A ».
If you use the auto-advance option ("Automatically go to next unsolved conflict after source selection"), you should disable this before choosing lines from several inputs or if you want to edit the lines after your choice. Otherwise & kdiff3; will jump to the next conflict after choosing the first input.
Якщо ви використовуєте автоматичний перехід (позначено пункт « Автоматично перейти до наступного конфлікту за визначення джерела »), вам слід вимкнути його перед вибором рядків з декількох джерел або редагуванням рядків після вибору. Якщо ви цього не зробите, & kdiff3; перейде до наступного конфлікту після вибору першого джерела даних.
It is often helpful directly edit the merge output. The summary column will show "m" for every line that was manually modified. When for instance the differences are aligned in a way that simply choosing the inputs wo n't be satisfactory, then you can mark the needed text and use normal copy and paste to put it into the merge output.
Часто корисно напряму змінити вивід об’ єднання. У перегляді резюме буде показано літеру « m » навпроти всіх рядків, які було змінено вручну. Якщо, наприклад, відмінності вирівняно таким чином, що простого вибору потрібного джерела буде недостатньо, ви можете позначити потрібний текст і скористатися звичайною дією з копіювання з вставленням, щоб розмістити потрібний фрагмент тексту у області виводу об’ єднання.
Sometimes, when a line is removed either by automatic merge or by editing and no other lines remain in that group, then the text & lt; No src linegt; will appear in that line. This is just a placeholder for the group for when you might change your mind and select some source again. This text wo n't appear in the saved file or in any selections you want to copy and paste.
Іноді, якщо певний рядок було вилучено або у результаті автоматично об’ єднання, або редагування, і у групі більше не залишиться жодного рядка, програма показуватиме у відповідному рядку текст & lt; Немає рядка джерелаgt;. Цей рядок є лише заповнювачем для групи на випадок, якщо ви зміните свою думку і захочете знову обрати якийсь текст. Відповідний текст заповнювача не буде показано у збереженому файлі, його не буде включено до жодного з фрагментів, які ви копіюватимете і вставлятимете.
The text "lt; Merge Conflictgt;" will appear in the clipboard if you copy and paste some text containing such a line. But still be careful to do so.
Якщо ви спробуєте скопіювати і вставити певний текст, що містить такий рядок, у буфері обміну даними буде лише рядок « lt; Конфлікт об’ єднанняgt; ». Але будьте обережними, коли виконуєте подібне копіювання.
Choosing Input A, B, or C for All Conflicts
Вибір даних A, B або C для всіх конфліктів
The normal merge will start by solving simple conflicts automatically. But the "Merge"-menu provides some actions for other common needs. If you have to select the same source for most conflicts, then you can choose" A "," B "or" C "everywhere, or only for the remaining unsolved conflicts, or for unsolved white space conflicts. If you want to decide every single delta yourself, you can" Set deltas to conflicts ". Or if you want to return to the automatic choices of & kdiff3; then select" Automatically solve simple conflicts ". & kdiff3; then restarts the merge. For actions that change your previous modifications & kdiff3; will ask for your confirmation before proceeding.
Звичайне об’ єднання починатиметься з автоматичного розв’ язання простих конфліктів. Але у меню « Об’ єднання » передбачено і деякі інші пункти для виконання типових завдань. Якщо ви бажаєте обрати певне джерело даних для розв’ язання більшості конфліктів, ви можете вказати джерело « A », « B » або « C » всюди або лише для ще нерозв’ язаних конфліктів або для нерозв’ язаних конфліктів, що полягають у різній кількості пробілів. Якщо ви бажаєте вирішувати кожен з конфліктів окремо, ви можете позначити пункт « Застосувати різницю до конфліктів ». Якщо ви бажаєте повернутися до автоматичного вибору & kdiff3;, скористайтеся пунктом « Автоматично розв’ язувати прості конфлікти ». Після вибору цього пункту & kdiff3; виконає об’ єднання повторно. Якщо використання певного пункту меню змінюватиме результати попереднього редагування, & kdiff3; запитає у вас підтвердження, перш ніж виконувати відповідну дію.
Note: When choosing either source for unsolved white space conflicts and the options "Ignore Numbers" or "Ignore C/ C++ Comments" are used then changes in numbers or comments will be treated like white space too.
Зауваження: якщо ви обираєте одне з джерел для розв’ язання конфліктах пробілів і позначили один з пунктів « Ігнорувати числа » або « Ігнорувати коментарі C/ C++ », зміни у числах або коментарях вважатимуться змінами у пробілах.
Automatic Merge of Version Control Keywords and History (Log)
Автоматичне об’ єднання за ключовими словами системи керування версіями і журналу
Many version control systems support special keywords in the file. (e. g. "#36; Date#36;", "#36; Header#36;", "#36; Author#36;", "#36; Log#36;" etc.) During the check-in the version control system (VCS) changes these lines. For instance "#36; Date#36;" will turn into "#36; Date: 2005/ 03/ 22 18:45:01 & #36;". Since this line will be different in every version of the file, it would require manual interaction during the merge.
Значна кількість систем керування версіями підтримує особливі ключові слова (наприклад,, "# 36; Date# 36;", "# 36; Header# 36;", "# 36; Author# 36;", "# 36; Log# 36;" тощо). Під час синхронізації системи керування версіями змінюють ці рядки. Наприклад, "# 36; Date# 36;" перетвориться на "# 36; Date: 2009/ 03/ 22 18: 45: 01 & # 36;". Оскільки цей рядок буде різним у кожній з версій файла, під час спроби об’ єднання потрібне буде втручання користувача.
& kdiff3; offers automatic merge for these items. For simple lines that match the "Auto merge regular expression"-option in all input-files & kdiff3; will choose the line from B or - if available - from C. (Additionally it is necessary that the lines in question line up in the comparison and the previous line contains no conflict.) This auto merge can either be run immediately after a merge starts (activate the option" Run regular expression auto merge on merge start ") or later via the merge menu" Run Regular Expression Auto Merge ".
У & kdiff3; передбачено автоматичне об’ єднання таких елементів. Для простих рядків, які відповідатимуть значенню параметра « Формальний вираз автооб’ єднання » у всіх файлах вхідних даних, & kdiff3; обере рядок з B або, у разі доступності, з C. Крім того, потрібно, щоб відповідні рядки стояли поруч у області порівняння, а попередній рядок не містив конфліктів. Подібне автоматичне об’ єднання можна виконати або негайно після запуску об’ єднання (позначенням пункту « Запустити автооб’ єднання за формальними виразом на початку об’ єднання »), або пізніше, за допомогою пункту меню об’ єднання « Запустити автооб’ єднання за формальними виразом на початку об’ єднання ».
Automatic merge for version control history (also called "log") is also supported. The history automerge can either run immediately when the merge starts by activating the option "Merge version control history on merge start" or later via the merge menu "Automatically Solve History Conflicts".
Програмою підтримується і автоматичне об’ єднання за журналом системи керування версіями. Автоматичне об’ єднання за журналом можна виконати негайно після запуску об’ єднання, якщо позначити пункт « Об’ єднувати за журналом керування версіями на початку об’ єднання » або пізніше за допомогою меню об’ єднання « Автоматично розв’ язувати конфлікти у журналі ».
Usually the version control history begins with a line containing the keyword "#36; Log#36;". This must be matched by the "History start regular expression"-option. & kdiff3; detects which subsequent lines are in the history by analysing the leading characters that came before the" #36; Log#36; "-keyword. If the same" leading comment"-characters also appears in the following lines, then they are also included in the history.
Зазвичай, журнал системи керування версіями починається з рядка, що містить ключове слово « # 36; Log# 36; ». Початок журналу має відповідати значенню параметра « Початковий формальний вираз журналу ». & kdiff3; визначає, які з рядків належать до журналу, аналізуючи початкові символи, які передують ключовому слову « # 36; Log# 36; ». Якщо такі самі « початкові коментарі » зустрічаються і у наступних рядках, ці рядки також буде включено до журналу.
During each check-in the VCS writes a unique line specifying version-, date- and time-information followed by lines with user comments. These lines form one history-entry. This history section grows with every check-in and the most recent entries appear at the top (after the history start line).
Під час кожної транзакції система керування версіями записує унікальний рядок з відомостями щодо версії, дати і часу транзакції та коментарів користувача. З цих елементів утворюється окремий запис журналу. Цей розділ журналу збільшується під час кожної транзакції, найсвіжіші записи з’ являтимуться у верхній частині журналу (після початкового рядка журналу).
When for parallel development two or more developers check-in a branch of the file then the merge history will contain several entries that appear as conflicts during the merge of the branches. Since merging these can become very tedious, & kdiff3; offers support with two possible strategies: Just insert the history information from both contributors at the top or sort the history information by a user defined key.
Якщо під час розробки двоє або декілька розробників вивантажують свої версії одного файл, у журналі об’ єднання міститимуться декілька записів, які вважатимуться конфліктними під час об’ єднання гілок. Оскільки подібні об’ єднання можуть бути досить марудною справою, у & kdiff3; передбачено підтримку двох можливих стратегій: простої вставки інформації від обох розробників у верхню частину журналу або впорядкування інформації журналу за визначеним користувачем ключем.
The just-insert-all-entries-method is easier to configure. & kdiff3; just needs a method to detect, which lines belong to one history entry. Most VCS insert an empty line after each history entry. If there are no other empty lines, this is a sufficient criterion for & kdiff3;. Just set an empty "History entry start regular expression". If the empty line criterion is n't sufficient, you can specify a regular expression to detect the history entry start.
Налаштувати спосіб одночасної вставки всіх записів простіше. Слід просто вказати & kdiff3; метод визначення рядків, які належатимуть до одного запису журналу. У більшості систем керування версіями після кожного запису журналу додається порожній рядок. Якщо система керування версіями не додає порожніх рядків у інших випадках, подібні рядки можуть слугувати достатнім критерієм для & kdiff3;. Достатньо вказати порожнє значення для параметра « Початковий формальний вираз елемента історії ». Якщо використання критерію порожнього рядка є недостатнім, ви можете вказати формальний вираз, за яким можна визначити початок запису журналу.
Note that & kdiff3; will remove duplicate history entries. If a history entry appeared several times in the history of a input file, only one entry will remain in the output.
Зауважте, що & kdiff3; вилучатиме записи журналу, що повторюватимуться. Якщо запис журналу зустрічається декілька разів у журналі певного вхідного файла, у виведених даних залишиться лише один запис.
If you want to sort the history, then you have to specify how the sort key should be built. Use parentheses in the "History entry start regular expression" to group parts of the regular expression that should later be used for the sort key. Then specify the "History entry start sort key order" specifying a comma "," separated list of numbers referring to the position of the group in the regular expression.
Якщо ви бажаєте впорядкувати журнал, вам слід вказати спосіб побудови ключа впорядкування. Скористайтеся круглими дужками у полі параметра « Початковий формальний вираз елемента історії » для групування частин формального виразу, який пізніше буде використано як ключ впорядкування. Після цього вкажіть у полі « Порядок сортування початків записів за ключем » відокремлений комами список чисел, які відповідають позиції групи у формальному виразі.
Because this is not so easy to get right immediately, you are able to test and improve the regular expressions and key-generation in a dedicated dialog by pressing the "Test your regular expressions"-button.
Оскільки зробити все правильно від початку не так уже і просто, ви можете випробувати та покращити формальний вираз і створення ключів у відповідному діалоговому вікні за допомогою натискання кнопки « Перевірити ваші формальні вирази ».
Example: Assume a history that looks like this: / ************************************************************************** ** HISTORY: & #36; Log: \\toms_merge_main_view\\MyApplication\\src\\complexalgorithm. cpp & #36; ** ** \\main\\integration_branch_12 2 Apr 2001 10:45:41 tom ** Merged branch simon_branch_15. ** ** \\main\\henry_bugfix_branch_7\\1 30 Mar 2001 19:22:05 henry ** Improved the speed for subroutine convertToMesh(). ** Fixed crash. **************************************************************************/ The history start line matches the regular expression ". *\\#36; Log. *\\#36;. *". Then follow the history entries.
Приклад: припустімо, що журнал виглядає так: / ************************************************************************** ** HISTORY: & # 36; Log:\\ toms_ merge_ main_ view\\ MyApplication\\ src\\ complexalgorithm. cpp & # 36; ** **\\ main\\ integration_ branch_ 12 2 Apr 2001 10: 45: 41 tom ** Merged branch simon_ branch_ 15. ** **\\ main\\ henry_ bugfix_ branch_ 7\\ 1 30 Mar 2001 19: 22: 05 henry ** Improved the speed for subroutine convertToMesh (). ** Fixed crash. ************************************************************************** / Початковому рядку журналу відповідатиме формальний вираз ". *\\ # 36; Log. *\\ # 36;. *". Після цього рядка йдуть записи журналу.
The line with the "#36; Log#36;" -keyword begins with two "*" after which follows a space. & kdiff3; uses the first non-white-space string as "leading comment" and assumes that the history ends in the first line without this leading comment. In this example the last line ends with a string that also starts with two "*", but instead of a space character more "*" follow. Hence this line ends the history.
Рядок з записом ключового слова « # 36; Log# 36; » починається з двох символів « * », за якими слідує пробіл. & kdiff3; вважає перший непробільний рядок « початковим коментарем » і припускає, що журнал завершується першим же рядком без такого коментаря. У нашому прикладі останній з рядків завершується фрагментом тексту, який також починається з двох символів « * », але замість символу пробілу за ними слідують додаткові символи « * ». Отже цей рядок є кінцевим рядком журналу.