ChangeTracker
ChangeTracker — это бесплатная программа, предназначенная для сравнения двуязычных файлов и наглядного представления любых изменений и правок. Все действия в программе выполняются пошагово.
ChangeTracker работает с парами двуязычных файлов. Первый файл из пары содержит перевод ДО внесения каких-либо изменений, а его вторая версия содержит перевод ПОСЛЕ внесения правок редактором или корректором.
ChangeTracker импортирует файлы во внутреннюю базу данных, обрабатывает их и отображает различия между текстами в отдельных файловых парах. С помощью этой программы можно создавать отчеты о правках в формате XML, которые затем можно просмотреть в программе Microsoft Excel.
Для работы программы ChangeTracker требуется пакет Microsoft Office.
ПОДДЕРЖИВАЕМЫЕ ФОРМАТЫ
Текущая версия поддерживает следующие форматы двуязычных файлов (все товарные знаки являются собственностью соответствующих владельцев):
ChangeTracker
ChangeTracker — это программа, с которой началась разработка TQAuditor. Мы выпустили ее в 2011 году, и она была скачана более 12 000 раз. Мы полностью остановили дальнейшую работу над ней и перешли на TQAuditor.
Мы рекомендуем пользоваться новой онлайновой системой TQAuditor, поскольку она удобнее и поддерживает больше форматов.
![]()
зачем нужна программа changetracker
Каждый переводчик или редактор сталкивался с ситуацией, когда ему нужно:
Доказать заказчику, что был выполнен не просто перевод, но и редактура текста
Выяснить, что исправил клиент или редактор в изначальном переводе
Предоставить переводчику отзыв о его работе со списком всех правок и ошибок
Узнать, кто и когда изменил текст перевода и почему он это сделал
Показати замовнику, як переклад було змінено під час редагування
Все это можно легко сделать с помощью ChangeTracker!
что умеет программа
![]()
Сравнивать двуязычные файлы различных форматов: Trados (TTX, SDLXLIFF), MemoQ (XLIFF), Idiom, Translation Workspace (XLZ, XLF), Oscar (TMX), Wordfast (TXML), Microsoft Helium (HE), Microsoft Word (DOC, DOCX, RTF)
Change Tracker Класс
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет доступ к сведениям об отслеживанию изменений и операциям для экземпляров сущностей, отслеживаемых контекстом. Экземпляры этого класса обычно получаются из ChangeTracker и не предназначены для непосредственного создания в коде приложения.
Комментарии
Дополнительные сведения см. в разделе Отслеживание изменений EF Core .
Конструкторы
Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для непосредственного использования в коде. В будущих выпусках этот API может быть изменен или удален.
Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняются тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложения при обновлении до новой Entity Framework Core выпуска.
Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для непосредственного использования в коде. В будущих выпусках этот API может быть изменен или удален.
Свойства
Возвращает или задает значение, указывающее, DetectChanges() вызывается ли метод автоматически методами DbContext и связанными классами.
Значение по умолчанию — true. Это гарантирует, что контекст будет знать об изменениях в отслеживаемых экземплярах сущностей перед выполнением таких операций, как SaveChanges() или возврат данных отслеживания изменений. При отключении автоматического обнаружения изменений необходимо убедиться, что DetectChanges() вызывается при изменении экземпляров сущностей. Невыполнение этого действия может привести к тому, что некоторые изменения не будут сохранены во время SaveChanges() или после истечения срока хранения данных отслеживания изменений.
Возвращает или задает значение, указывающее, будет ли состояние зависимой или дочерней сущности иметь значение, равное, когда Deleted Родительская или субъект-сущность помечается как Deleted . Значение по умолчанию — Immediate .
Зависимые и дочерние сущности удаляются автоматически, только если связь настроена с помощью Cascade . По умолчанию для необходимых связей задано значение.
Возвращает контекст, к которому принадлежит этот объект Tracker изменений.
Разверните это свойство в отладчике для удобного для человека представления отслеживаемых сущностей.
Предупреждение. не полагайтесь на формат отладочных строк. Они предназначены только для отладки и могут меняться произвольно между выпусками.
Возвращает или задает значение, указывающее, когда состояние зависимой или дочерней сущности будет иметь значение, Deleted серьезное от родительской или основной сущности, с помощью свойства навигации или внешнего ключа, которое устанавливается в значение null. Значение по умолчанию — Immediate.
Зависимые и дочерние сущности удаляются автоматически, только если связь настроена с помощью Cascade . По умолчанию для необходимых связей задано значение.
Возвращает или задает значение, указывающее, будут ли загружаются свойства навигации для отслеживаний сущностей при первом доступе.
Значение по умолчанию — true. Однако отложенная загрузка выполняется только для свойств навигации сущностей, которые также были настроены в модели для отложенной загрузки.
Возвращает или задает поведение отслеживания для запросов LINQ, выполняемых в контексте. Отключение отслеживания изменений полезно для сценариев только для чтения, так как это позволяет избежать издержек на настройку отслеживания изменений для каждого экземпляра сущности. Не следует отключать отслеживание изменений, если требуется управлять экземплярами сущностей и сохранять эти изменения в базе данных с помощью SaveChanges() .
Этот метод задает поведение по умолчанию для контекста, но это поведение можно переопределить для отдельных запросов с помощью AsNoTracking<TEntity>(IQueryable<TEntity>) методов и AsTracking<TEntity>(IQueryable<TEntity>) .
Значение по умолчанию — TrackAll. Это означает, что средство записи изменений отслеживает изменения для всех сущностей, возвращаемых запросом LINQ.
Методы
Принимает все изменения, внесенные в сущности в контексте. Предполагается, что отслеживание сущностей представляют текущее состояние базы данных. Этот метод обычно вызывается SaveChanges() после того, как изменения были успешно сохранены в базе данных.
Вызывает немедленное каскадное удаление дочерних или зависимых сущностей, если они либо были либо повреждены из-за требуемой родительской или основной сущности, либо сама обязательная родительская сущность удаляется. См. раздел DeleteBehavior.
Этот метод обычно используется, если для CascadeDeleteTiming и (или) DeleteOrphansTiming задано значение Never , чтобы вручную принудительно выполнять операции удаления в течение времени, контролируемого приложением.
Если AutoDetectChangesEnabled значение равно, true этот метод вызовет DetectChanges() .
Останавливает отслеживание всех отслеживаемых в данный момент сущностей.
DbContext разработана в течение короткого времени существования, когда создается новый экземпляр для каждой единицы работы. Таким образом, все отслеживание сущностей отбрасывается, когда контекст удаляется в конце каждой единицы работы. Однако очистка всех отслеживаний сущностей с помощью этого метода может оказаться полезной в ситуациях, когда создание экземпляра контекста не является практичным.
Этот метод всегда должен быть предпочтительнее отсоединения каждой отслеживающей сущности. Отсоединение сущностей является очень длительным процессом, который может иметь побочные эффекты. Этот метод гораздо более эффективен при удалении всех отслеживаний сущностей из контекста.
Обратите внимание, что этот метод не создает StateChanged события, так как сущности не отсоединяются по отдельности.
Сканирует отслеживающие экземпляры сущностей для обнаружения изменений, внесенных в данные экземпляра. DetectChanges() обычно вызывается автоматически контекстом, когда требуются актуальные сведения (до SaveChanges() и при возврате информации отслеживания изменений). Обычно этот метод следует вызывать только в том случае, если вы отключили AutoDetectChangesEnabled .
Возвращает EntityEntry для каждой сущности, отслеживаемой контекстом. Записи предоставляют доступ к сведениям об отслеживанию изменений и операциям для каждой сущности.
Этот метод вызывает DetectChanges() , чтобы убедиться, что все возвращенные элементы соответствуют состоянию актуальности. Используйте AutoDetectChangesEnabled , чтобы предотвратить автоматический вызов DetectChanges.
Обратите внимание, что изменение состояния сущности во время итерации возвращаемого перечисления может привести к тому, InvalidOperationException что коллекция была изменена при перечислении. Чтобы избежать этого, создайте защитную копию, используя ToList<TSource>(IEnumerable<TSource>) или аналогичную перед перебором.
Возвращает EntityEntry для всех сущностей данного типа, отслеживаемых контекстом. Записи предоставляют доступ к сведениям об отслеживанию изменений и операциям для каждой сущности.
Проверяет, отслеживает ли какие-либо новые, удаленные или измененные сущности, что эти изменения будут отправляться в базу данных при SaveChanges() SaveChangesAsync(CancellationToken) вызове или.
Обратите внимание, что этот метод вызывает, DetectChanges() Если AutoDetectChangesEnabled для свойства не задано значение false .
Начинает отслеживание сущности и всех сущностей, доступ к которым осуществляется путем прохода по его свойствам навигации. Обход является рекурсивным, поэтому будут просканированы свойства навигации любых обнаруженных сущностей. Указанный callback метод вызывается для каждой обнаруженной сущности и должен задавать State , что каждая сущность должна относиться к. Если состояние не задано, сущность остается неотслеживающей.
Этот метод предназначен для использования в сценариях без подключения, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, при которой один вызов службы получает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.
Если обнаружена сущность, которая уже записана в контексте, эта сущность не обрабатывается (и ее свойства навигации не обрабатываются).
Начинает отслеживание сущности и всех сущностей, доступ к которым осуществляется путем обхода свойств навигации. Обход является рекурсивным, поэтому будут просканированы свойства навигации любых обнаруженных сущностей. Указанный callback метод вызывается для каждой обнаруженной сущности и должен задавать State , что каждая сущность должна относиться к. Если состояние не задано, сущность остается неотслеживающей.
Этот метод предназначен для использования в сценариях без подключения, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, при которой один вызов службы получает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.
Обычно обход графа должен останавливаться каждый раз при обнаружении уже зарегистрированной сущности или при достижении объекта, который не должен относиться к отслеживанию. Для этого типичного поведения используйте TrackGraph(Object, Action<EntityEntryGraphNode>) перегрузку. Эта перегрузка, с другой стороны, позволяет обратному вызову решить, когда обход будет завершен, но возлагает в вызывающей стороне, чтобы убедиться в том, что обход не будет входить в бесконечный цикл.
Начинает отслеживание сущности и всех сущностей, доступ к которым осуществляется путем прохода по его свойствам навигации. Обход является рекурсивным, поэтому будут просканированы свойства навигации любых обнаруженных сущностей. Указанный callback метод вызывается для каждой обнаруженной сущности и должен задавать State , что каждая сущность должна относиться к. Если состояние не задано, сущность остается неотслеживающей.
Этот метод предназначен для использования в сценариях без подключения, когда сущности извлекаются с помощью одного экземпляра контекста, а затем изменения сохраняются с помощью другого экземпляра контекста. Примером этого является веб-служба, при которой один вызов службы получает сущности из базы данных, а другой вызов службы сохраняет любые изменения в сущностях. Каждый вызов службы использует новый экземпляр контекста, который удаляется после завершения вызова.
Обычно обход графа должен останавливаться каждый раз при обнаружении уже зарегистрированной сущности или при достижении объекта, который не должен относиться к отслеживанию. Для этого типичного поведения используйте TrackGraph(Object, Action<EntityEntryGraphNode>) перегрузку. Эта перегрузка, с другой стороны, позволяет обратному вызову решить, когда обход будет завершен, но возлагает в вызывающей стороне, чтобы убедиться в том, что обход не будет входить в бесконечный цикл.
События
Событие, возникающее, когда сущность, отслеживающаяся связанным объектом, DbContext перемещается из одного объекта EntityState в другой.
Обратите внимание, что это событие не срабатывает для сущностей при их первой отслеживании контекстом. Используйте Tracked событие, чтобы получать уведомления, когда контекст начинает отслеживать сущность.
Событие, возникающее, когда сущность отслеживается контекстом, поскольку она была возвращена из запроса отслеживания или была присоединена или добавлена в контекст.
Явные реализации интерфейса
Получает внутренний диспетчер состояний, используемый для хранения сведений о отслеживаемых сущностях.
Это свойство предназначено для использования методами расширения. Он не предназначен для использования в коде приложения.
Сбрасывает службу, чтобы ее можно было использовать из пула.
Методы расширения
Создает удобное для восприятия представление заданных метаданных.
Предупреждение. не полагайтесь на формат возвращаемой строки. Она предназначена только для отладки и может меняться произвольно между выпусками.
Возвращает значение из свойства, которое скрыто с помощью IInfrastructure<T> .
Этот метод обычно используется поставщиками баз данных (и другими расширениями). Обычно он не используется в коде приложения.
IInfrastructure<T> используется для скрытия свойств, которые не предназначены для использования в коде приложения, но могут использоваться в методах расширения, написанных поставщиками баз данных и т. д.