workflow: sequence of steps
step: each point in the workflow were a task can be done
project: the omegat project that is used to produce or edit translations at a specific step -- one project per step
git repository: the location online where the omegat project is hosted
batch: a collection of files that are handled together at each step and move together through the workflow (it's a folder)
file: each translation unit is released as a file, and there are several files in each batch.
pull: action to obtain files from a remote location
commit/push: action to add/post files to a remote location
<label key="646ffe1bc8e8f4.28201432_7c1a9ea132510c11eaac895940e82f28_2">
<text><em>Tyrannosaurus rex</em> (<em>T. rex</em>) was a type of large carnivorous dinosaur. Our knowledge of <em>T. rex</em> comes from fossils.</text>
</label>
standard locale codes
users are not aware of the big improvement that this is, but the impact on technical tasks is huge
monolingual XML files, no bilingual XLIFF
this makes some things simpler (text extraction, match logic in omegat, key-binding rather than text-binding, etc.)
better file preparation (e.g. segmentation) in most cases
repository mappings
e.g. users always work on the released source version
storage of files and projects in git repositories
data is permanently saved in ACER's repos
secured transfer of files through git authentication
important enhancements and bug fixes in OmegaT
custom build 5.7.2 -- based on work done over the last 5y
ongoing, it keeps improving
It's a folder, containing:
a settings file (omegat.project),
some subfolders, containing
some more files
It can be packed for transfer purposes, but it must be unpacked for OmegaT to open it.
OmegaT can use URLs to fetch files dynamically when it opens a project.
All files are included in the project.
Some files are included in the project when the project is created:
working TM
Some files are pulled from the common repository
source files
config files
some TMs
Some files are added to the project when the moment arrives:
prev/batch: when a batch is moved forward from the previous step
The project is downloaded directly from OmegaT
OmegaT will sync translations directly with the repo
Previous cycles:
projects were a self-contained collection of files and folders
projects had to be packed and uploaded
projects had to be downloaded and unpacked
there was no authentication
This cycle:
projects are hosted in a git repository
re-created in the machine of the user when the user downloads or opens the project
translations are constantly sync'ed with the repository and with other terminals/cilents
Previous cycles:
users generated target files locally and uploaded them one by one to the portal
preview looked for source text in the file and, if found, used the target text paired with it
This cycle:
users commit target files from OmegaT
preview looks for key in the file, if found, uses the text associated with it
Previous cycles:
I don't know how ETS' diff tool worked, but it was deficient
This cycle:
the diff tool compares between target files committed at two workflow steps
Previous cycles:
there were two source versions
it was challenging to keep them in sync
it was problematic to have interchangeable TMs
Current cycle:
English is the only single source version
fr-ZZ is a target-language version
fr-ZZ is added to projects as a reference (so called second-source)
Workflows are a sequence of tasks that happen along a chain of steps
Previous cycles:
one single omegat project for each batch
the whole project traveled through the workflow, from step/user to step/user
Current cycle:
project = batch
Previous cycles:
project = step
Current cycle:
The initial project settings for all steps point to batch zero (empty) in pisa_2025ft_translation_common/source/ft/, which means no files are available at that step.
|
|
|
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<!-- source files -->
<mapping local="source/" repository="source/ft/batch0_empty/" />
<!-- .... -->
</repository>
Specifically the project settings of the reconciliation step will get translations from the mapped folders of the translation steps (which for the time being are empty) into /tm/rec/T?:
<!-- double translation -->
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_fr-ZZ_translation1.git">
<mapping local="tm/rec/T1/" repository="mapped/"/>
</repository>
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_fr-ZZ_translation2.git">
<mapping local="tm/rec/T2/" repository="mapped"/>
</repository>
At all other steps after reconciliation, project settings will get translations from the mapped folder of the previous steps (which for the time being is empty) into /tm/auto/<previous-step>/:
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_fr-ZZ_reconciliation.git">
<!-- previous step -->
<mapping local="tm/auto/<previous-step>/" repository="mapped/" />
</repository> batch1 released at T1Translation steps' project settings are updated so that the /source folder maps from the batch1 folder in pisa_2025ft_translation_common/source/ft/, which means that batch1 is now available for translation.
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<mapping local="source/batch1" repository="source/ft/batch1/" />
</repository>
A notification is sent to translators to download their project. Batch batch1 will be downloaded into the /source/batch1 folder of the translation projects.
batch1 released at T1batch1 translation# doneWhen translator1 is done translating batch1, they must:
batch1 task in the workflow serviceIFF all segments are translated in the batch (*), finalizing the task will trigger the following actions:
batch1 translations are ready for reconciliation stepbatch1 is released at reconciliation stepbatch2 is released at translation1 stepThe same applies for the translation2 step.
batch1 available for reconciliation/omegat/project_save.tmx) of the translation1 project is copied to /tm/prev/T1/batch1.tmx of the reconciliation step./omegat/project_save.tmx) of the translation2 project is copied to /tm/prev/T2/batch1.tmx of the reconciliation step.batch2 released for translation1
The translation1 step's project settings are updated so that the /source folder maps from the next batch (batch2) folder in pisa_2025ft_translation_common/source/ft/, which means that batch2 is now available for translation.
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<mapping local="source/batch2" repository="source/ft/batch2/" />
</repository>
batch1 files).batch2 will be available for translation.batch2 released for translation1
When batch1 has been translated in both translation1 and translation2 steps, the reconciliation step's project settings are updated so that the /source folder maps from the batch1 folder in pisa_2025ft_translation_common/source/ft/, which means that batch1 is now available for reconciliation.
batch1 released for reconciliation<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<!-- source files -->
<mapping local="source/batch1" repository="source/ft/batch1/" />
<!-- .... -->
</repository>
A notification is sent to the reconciler to download the reconciliation project.
batch1 released for reconciliationWhen the reconciler re-opens the reconciliation project, it will now look like this:
batch1 reconciliation doneWhen reconciler is done reconciling batch1, they must:
batch1 task in the workflow service, and thenIff all segments have a (reconciled) translation in the batch, finalizing the task will trigger the following actions::
batch1 translations are ready for verification stepbatch2 is released at reconciliation stepbatch1 is released at verification stepbatch1 available for verification/omegat/project_save.tmx) of the translation1 project is copied to /mapped/batch1.tmx./omegat/project_save.tmx and /mapped/batch1.tmx are at this point identical in the reconciliation project./mapped/batch1.tmx file could now be downloaded from the verification step.batch2 released for reconciliation
The reconciliation step's project settings are updated so that the /source folder maps from the next batch (batch2) folder in pisa_2025ft_translation_common/source/ft/, which means that batch2 is now available for reconciliation.
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<mapping local="source/batch2" repository="source/ft/batch2/" />
</repository>
batch1 files).batch2 will be available for translation.batch2 released for reconciliation
The verification step's project settings are updated so that the /source folder maps from the batch1 folder in pisa_2025ft_translation_common/source/ft/, which means that batch1 is now available for verification.
batch1 released for verification<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<!-- source files -->
<mapping local="source/batch1" repository="source/ft/batch1/" />
<!-- .... -->
</repository>
A notification is sent to the verifier to download the verification project.
batch1 released for reconciliationWhen the verifier opens the verification project, it will now look like this:
batch2 translation# doneWhen translator1 is done translating batch2, they must:
batch2 task in the workflow service, and thenIFF all segments are translated in the batch, finalizing the task will trigger the following actions:
batch2 translations are ready for reconciliation stepbatch3 is released at translation1 stepbatch2 is released at reconciliation stepThe same applies for the translation2 step.
batch2 available for reconciliation/omegat/project_save.tmx) of the translation1 project is copied to /mapped/batch2.tmx./omegat/project_save.tmx and /mapped/batch2.tmx are at this point identical in the translation1 project./mapped/batch2.tmx file could now be downloaded from the reconciliation step.batch3 released for translation1
The translation1 step's project settings are updated so that the /source folder maps from the next batch (batch3) folder in pisa_2025ft_translation_common/source/ft/, which means that batch3 is now available for translation.
<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<mapping local="source/batch3" repository="source/ft/batch3/" />
</repository>
batch2 files).batch3 will be available for translation.batch2 released for translation1
When batch2 has been translated in both translation1 and translation2 steps, the reconciliation step's project settings are updated so that the /source folder maps from the batch2 folder in pisa_2025ft_translation_common/source/ft/, which means that batch2 is now available for reconciliation.
batch2 released for reconciliation<repository type="git" url="&DOMAIN;/pisa_2025ft_translation_common.git">
<!-- source files -->
<mapping local="source/batch2" repository="source/ft/batch2/" />
<!-- .... -->
</repository>
batch2 released for reconciliationWhen the reconciler re-opens the reconciliation project, it will now look like this:
Given steps A and B in a workflow, when a batch
Given steps A and B in a workflow, when a batch
tm
├── auto
│ └── trend
│ ├── PISA_es-AR_MAT_MS2022.tmx.zip
│ ├── PISA_es-AR_REA_MS2022.tmx.zip
│ ├── PISA_es-AR_SCI_MS2022.tmx.zip
│ ├── PISA_es-AR_UI_MS2022.tmx.zip
│ └── PISA_es-AR_XYZ_MS2022.tmx.zip
├── base
│ ├── 01_COS_SCI-A_N_es-CL.tmx
│ ├── 02_COS_SCI-B_N_es-CL.tmx
│ └── 03_COS_SCI-C_N_es-CL.tmx
└── enforce
└── trend
├── PISA_es-AR_ICQ_MS2022.tmx.zip
├── PISA_es-AR_SCQ_MS2022.tmx.zip
└── PISA_es-AR_STQ_MS2022.tmx.zip
es-AR@adaptation |
tm
├── auto
│ ├── base
│ │ ├── 01_COS_SCI-A_N_es-CL.tmx
│ │ ├── 02_COS_SCI-B_N_es-CL.tmx
│ │ └── 03_COS_SCI-C_N_es-CL.tmx
│ └── trend
│ ├── PISA_es-AR_MAT_MS2022.tmx.zip
│ ├── PISA_es-AR_REA_MS2022.tmx.zip
│ ├── PISA_es-AR_SCI_MS2022.tmx.zip
│ ├── PISA_es-AR_UI_MS2022.tmx.zip
│ └── PISA_es-AR_XYZ_MS2022.tmx.zip
└── enforce
└── trend
├── PISA_es-AR_ICQ_MS2022.tmx.zip
├── PISA_es-AR_SCQ_MS2022.tmx.zip
└── PISA_es-AR_STQ_MS2022.tmx.zip
es-AR@verification |
Batch transitions after verification are just like the transition from reconciliation to verification.
And so on and so forth :=)