Introduction to the Team Project feature in OmegaT
Thread poster: Samuel Murray
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 01:30
Member (2006)
English to Afrikaans
+ ...
Jan 5, 2013

G'day everyone

I've written a little introduction and howto for the Team Project feature of OmegaT. This information was not vetted by the OmegaT developers, so if you spot anything that is incorrect, please let me know.

This how-to is specifically aimed at translators with little or no knowledge of SVN and who have no interest in learning SVN beyond what is necessary for using the Team Project feature in OmegaT. The how-to is primarily about
... See more
G'day everyone

I've written a little introduction and howto for the Team Project feature of OmegaT. This information was not vetted by the OmegaT developers, so if you spot anything that is incorrect, please let me know.

This how-to is specifically aimed at translators with little or no knowledge of SVN and who have no interest in learning SVN beyond what is necessary for using the Team Project feature in OmegaT. The how-to is primarily about internet-based SVN services.

The Team Project feature in OmegaT is a "work in progress" -- eventually many of the steps in this how-to should be done automatically by OmegaT, but for the moment, setting up a Team Project involves a bit of manual preparation (fortunately, only at the start of the project).

Some of the steps in this how-to are not compulsory, but they are stated here as best practice, to help prevent possible misconfiguration errors.


Introduction:

The Team Project feature in OmegaT makes it possible for multiple translators to work on the same translation project, over the internet (or over a private network), using a synchronised project memory and a synchronised project glossary.

Requirements:

To use the Team Project feature, the team leader must ideally know how to use SVN. No SVN knowledge is required of translators (team members).

It is not necessary for team members to be constantly connected to the internet, but if there is a continuous internet connection, the latest translations are shared in real-time.

Team members must have usernames on the SVN server (in some cases, the team leader may create their user accounts for them, or sometimes they will be required to create their own accounts, via the SVN service's web site).

The team leader must have an SVN client installed on his computer, to perform the initial project upload.

Team members must use OmegaT version 2.6.1_2 or newer.

Workflow (team leader):

The team leader must prepare the OmegaT project initially, and upload it to the SVN server (by the way, in SVN terminology, this upload action may be called "import" or "add" or "commit", depending on what upload method you use -- this how-to describes the import method). Obviously the team leader must also prepare the SVN space on the SVN server, which may be difficult or easy, depending on which SVN service is used.

If you are the team leader, start by creating a new OmegaT project using "Project > New" in OmegaT.

If you have glossaries or additional translation memories or dictionaries that you want your translators to use, copy them to that OmegaT project. Also copy the source language files to the OmegaT project.

Then, before you can upload the OmegaT project, you must do three things:

1. Translate at least one segment, so that OmegaT create a file called "project_save.tmx" in the project's /omegat/ subfolder. It is vital that your OmegaT project contains a file called "project_save.tmx" in the project's /omegat/ subfolder *before* you upload the project to the SVN server. Do not upload your OmegaT project to the SVN server unless there is a file in the project's /omegat/ subfolder called "project_save.tmx".

2. Apart from the file called "project_save.tmx", there should be no other files in the project's /omegat/ subfolder. OmegaT usually creates extra files in that subfolder, e.g. backup TMXes and various text files. Therefore, delete those files from the /omegat/ subfolder so that you only have a file called "project_save.tmx" in that subfolder.

3. Add at least one term to the project glossary, so that OmegaT create a file called "-glossary.txt" in the project's /glossary/ subfolder. If you don't do this step, team members will not be able to share other team members' project glossaries as and when they update the their project glossaries, but team members will still be able to download glossaries that the team leader uploads separately.

When the initial OmegaT project has been created and all the files have been added to it, and you have verified that there is a file called "project_save.tmx" in the /omegat/ subfolder, use the "import" feature on your SVN client to upload the OmegaT project to the SVN server.

Note: It is important that you specify or create a subfolder on the SVN server that has the same name as the OmegaT project, because (a) it will remind team members what the project's name is (which is important, for technical reasons) and (b) some SVN clients don't upload the containing folder but only the files in it (which is not ideal).

Finally, tell the team members what the project URL is. The project URL consists of the "checkout" URL plus the subfolder (or, in other words, the checkout URL plus the name of the OmegaT project), with a trailing slash. For example, if the SVN server's checkout URL is https://myserver.com/a/b/c/ourproject/, and if the OmegaT project is called "test", then the project URL would be https://myserver.com/a/b/c/ourproject/test/.

Workflow (team member, i.e. translator):

At the beginning, team members must download the OmegaT project once. This initial download happens only once. After the initial download, OmegaT behaves pretty much like it always does, just as it would if you were translating a non-team project. Whenever you open an existing project to continue working on it, OmegaT automatically detects if it is a team project, and if so, it performs the team-related actions in the background.

If you are a translator, you should have received a project URL from your team leader (OmegaT calls this the "Repository URL"). Depending on the SVN service, your team leader may have given you a username (and password), or you may need to register your own username at the SVN service's web site. If you register your own username, tell the team leader what your username is, so that he can authorise your username to use the project's SVN space.

Before you begin, create a folder on your computer that has the same name as the team project (this is to prevent you from accidentally downloading the project files without the top-level folder, which would be messy).

Once you've created that folder, begin the first-time download of the OmegaT project by using "Project > Download Team Project" in OmegaT.

In the first dialog that follows, select "SVN", and paste the project URL into the "Repository URL" field). Then use the "..." button next to the Local Folder field to browse to the folder you created on your computer for the project. In the second dialog (which may not appear, if your computer saved the information previously), fill in your username and password for the SVN server.

OmegaT will then download the team's project files to the folder on your computer. When this is done, you may exit OmegaT, or start translating.

Remember, if you exit OmegaT and you wish to continue your translation later, use the "Project > Open" menu in OmegaT, as you would do for any other offline project. The "Project > Download Team Project" menu should only be used once, at the start of the translation project.

What happens during a Team Project translation:

Whenever you press "Save" in OmegaT, or whenever OmegaT autosaves the project, OmegaT detects which segments are newly translated on your computer, and uploads them to the SVN server, and at the same time OmegaT detects which segments on the SVN server are newly translated (by other team members), and downloads them to your computer (this explanation is highly simplified). OmegaT automatically keeps the project memory in sync for you, so you can continue to do exactly what you always do during any other OmegaT translation session.

If your team leader had prepared a project glossary when he initially uploaded the OmegaT project, then the project glossary will also synchronised.

By the way, by "project memory" we mean /omegat/project_save.tmx, and by "project glossary" we mean the file that is usually named /glossary/-glossary.txt.

No other files are synchronised apart from the project memory and the project glossary. If you add additional glossaries, memories or dictionaries (or even additional source language files) in the team project, those files will be used on your computer but will not be shared with any other team members. If you want such a file to be shared with other team members, send it to the team leader and ask him to upload it (if he knows how).

Every time OmegaT saves the project, it will detect if your internet connection is active. If your connection changes from online to offline, or from offline to online, OmegaT will warn you about it, but will continue to work. If you are offline, you can continue to translate, and when you go online again, OmegaT will synchronise the project again.

Some error messages:

When: When you try to translate after the initial download.
Error message: The node /project_save.tmx was not found.
Possible cause: The team leader forgot to check whether a project_save.tmx file was present in the original project when he uploaded the project the first time.
Solution: The team leader has to upload a file called project_save.tmx to the SVN space.

When: When you first download the project.
Error message: Unable to read project file!
One possible cause: The URL you specified when you tried to download the team project does not point to the correct subfolder on the SVN server.
Solution: The URL you receive from the team leader must not simply be the URL of the SVN space (i.e. not simply the checkout URL) but must be the URL of the subfolder on the server where the file called omegat.project is located.

Issues:

1. There is a noticeable lag when saving a project or when closing a project (and/or exiting OmegaT) while the files are being synchronised.

2. If you participate in multiple team projects, or if you participate in a team project later, you may find that your computer remembers your old username and password. I have no idea where this information is stored, and the best thing to do may be to uninstall all SVN programs from your computer, if you're a team member, while you participate in OmegaT team projects.

3. The dialog telling you that you've gone online or offline is a normal error message, so if you're a fast typist and you don't see it, you can end up cancelling it without noticing it. That is not a problem per se, except that one of your keypresses would not be sent to the edit pane (-:

4. Theoretically, the name of the project on the team leader's computer, the name of the project's subfolder on the SVN server, and the name of the project on the team member's computer, may all be different and do not have to be the same. In this howto they are all the same, only to help keep things simple.

5. If you use the "Project > Download Team Project" menu a second time for the same project, you'll probably end up downloading the project to a new project folder, but since everything is synchronised, you should be able to continue using that new project as if it were the project you downloaded the first time.

6. If two translators translate the same source text segment, the translation submitted last is the one that ends up in the project memory. Newer translations of identical segments replace older translations, regardless of which file it is in or who wrote it. OmegaT does not automatically mark different translations of identical source language segments as alternative translations just because the creation usernames are different.

7. The project will also be synchronised if you create target documents (Ctrl+D), even if you don't save the project (Ctrl+S) before you do it.


[Edited at 2013-01-05 13:03 GMT]
Collapse


 
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 01:30
Member (2006)
English to Afrikaans
+ ...
TOPIC STARTER
Example workflow using the Team Project feature Jan 5, 2013

Samuel Murray wrote:
The Team Project feature in OmegaT makes it possible for multiple translators to work on the same translation project, over the internet (or over a private network), using a synchronised project memory and a synchronised project glossary.


Here follows a step by step example of how one might use the Team Project feature.

In this example, we'll use Assembla.com as the SVN space, and Rapid SVN as the SVN client. You can download Rapid SVN at: http://www.rapidsvn.org/. We'll call our OmegaT project "apple".

The team leader and team members need accounts at Assembla.com. At this particular SVN service, the team leader can't create accounts on behalf of team members, so they need to visit the web site themselves to register for accounts, and then tell the team leader what their usernames are.

To register for an account (which is free), go to https://www.assembla.com/signup. Don't forget to verify your e-mail address, by clicking the link in the verification e-mail that Assembla will send you after you signed up.

A. SVN space's setup (done by team leader)

1. Log in to Assembla, at: https://www.assembla.com/login.
2. Click the button "Create your own space". Then select "Create a private project". And then select "Free Private Subversion® Repository".
3. Give your SVN space a meaningful name, for example "Fruits and Vegetables". This is not the name of the OmegaT project. Select "None" for public access and select "Edit" for team member access. Then click "Create space".
4. You will then be taken to your project's SVN space. The URL for the SVN space in our example is: https://www.assembla.com/code/fruits-and-vegetables/subversion/nodes.
5. Take a note of the "checkout" URL, for you will need it later. In our example, the checkout URL is: https://subversion.assembla.com/svn/fruits-and-vegetables/.
6. Click on the Team tab (or visit: https://www.assembla.com/spaces/fruits-and-vegetables/team) to start adding team members. When adding team members, select their role as "Member". Although this function is called "add", team members actually only get invited, not directly added.
7. The team members will now receive invitations to join the SVN project. They must click the "accept invitation" link in the verification e-mails they receive. Meanwhile, the team leader can create the OmegaT project on his computer, and upload it.

B. OmegaT project's creation (done by team leader)

1. Create a new, blank OmegaT project on your computer, and place all the source language files, glossaries, extra memories, and dictionaries in it. For example, let's create a project called "apple".
2. Translate at least one segment (type something, and then press Ctrl+N), and save the project (Ctrl+S), so that a "project_save.tmx" file appears in the apple/omegat/ subfolder.
3. Add at least one term to the project glossary (Shift+Ctrl+G), so that the file "apple-omegat.txt" appears in the apple/glossary/ subfolder.
4. Exit OmegaT, and then delete all files from the apple/omegat/ subfolder except for the "project_save.tmx" file.

C. OmegaT project's first upload (done by team leader)

1. In Rapid SVN, click "Repository > Import".
2. In the Repository URL field, paste the project URL. Remember, the project URL consists of the checkout URL from Assembla, plus the name of the project as a subfolder. In this example, it is https://subversion.assembla.com/svn/fruits-and-vegetables/apple/.
3. In the Path field, select the OmegaT project's top-level folder (called "apple" in this example) on your computer.
4. When prompted, provide your team leader username and password for the SVN space.
5. Rapid SVN will then upload the OmegaT project to the online SVN space.

D. OmegaT project's first download (done by team members, once)

1. The team leader will tell you when the OmegaT project is ready to be downloaded for the first time. The team leader should give you the project URL. In our example, it is https://subversion.assembla.com/svn/fruits-and-vegetables/apple/.
2. Create a folder called "apple" on your computer.
3. Start OmegaT, and then use the menu "Project > Download Team Project".
4. In the first dialog, select "SVN", and paste the project URL into the "Repostory URL" field). Then use the "..." button next to the Local Folder field to browse to the "apple" folder on your computer. In the second dialog (if it appears), fill in your username and password for the SVN server. Then click "OK".
5. OmegaT will then download the team's project files to the "apple" folder on your computer. When it is finished, OmegaT will show you the Project Files dialog with all the source language files in it.
6. Then Exit OmegaT.

E. OmegaT project's continuous translation (done by team members)

1. After you've completed all the previous steps, the next step is to simply translate the project as you would translate any other project in OmegaT. Use "Project > Open" to open the project. Translate it as usual.

F. At the end of the translation

1. If you're the team leader and you're not an expert at SVN, simply download the team project as if you were a translator, and at the end of the translation, you will have the final translated files on your computer after OmegaT has synchronised it for the last time.
2. Remember, ultimately, what is being synchronised is the project memory, and using that memory and using the source language files you can generate the target language files.
3. Theoretically, you can simply abandon the files on the SVN server, or get rid of them if you know how to use SVN.


 
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 01:30
Member (2006)
English to Afrikaans
+ ...
TOPIC STARTER
Two more URLs Jan 5, 2013

Samuel Murray wrote:
I've written a little introduction and howto for the Team Project feature of OmegaT.


Here are two more links to howtos on this topic:
* http://www.qabiria.com/en/resources/articles/286-condividere-progetto-omegat-subversion.html
* http://www.velior.ru/blog/en/2012/07/27/omegat-2-6-0-review-translate-simultaneously-over-the-internet/


 
Susan Welsh
Susan Welsh  Identity Verified
United States
Local time: 19:30
Russian to English
+ ...
thanks Jan 5, 2013

Thanks, Samuel. It's a little bit intimidating, but will surely come in useful!

 
hanthuy
hanthuy
Local time: 06:30
English to Vietnamese
+ ...
Team Project with Google Hosting Jan 15, 2013

This is how I work with team project feature. Please take a look.

http://www.itbox4vn.com/2013/01/how-to-use-team-project-feature-in.html


 
Yasmin Moslem
Yasmin Moslem  Identity Verified
Egypt
Local time: 01:30
English to Arabic
Google Confidentiality Jan 19, 2013

Dear Samuel,

Many thanks for the great information.

Thanks to Han as well for the additional link.

I have tried that using Google and I managed to set up the TM Sharing environment.

Now, I have a question please regarding confidentiality of a Google project as I failed to understand their licensing conditions: I wonder if anyone has access to my files. Do you have any information about that?

Many thanks in advance!

Kin
... See more
Dear Samuel,

Many thanks for the great information.

Thanks to Han as well for the additional link.

I have tried that using Google and I managed to set up the TM Sharing environment.

Now, I have a question please regarding confidentiality of a Google project as I failed to understand their licensing conditions: I wonder if anyone has access to my files. Do you have any information about that?

Many thanks in advance!

Kind regards,
Yasmin
Collapse


 
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 01:30
Member (2006)
English to Afrikaans
+ ...
TOPIC STARTER
Can't use Google, I think Jan 19, 2013

Yasmin Moslem wrote:
I have tried that using Google and I managed to set up the TM Sharing environment. ... Now, I have a question please regarding confidentiality of a Google project as I failed to understand their licensing conditions: I wonder if anyone has access to my files.


I haven't really looked into that, because Google Code only allows opensource projects to be hosted on their system. This means that most freelance translation projects are not allowed on Google Code. It would make sense to me, however, if an opensource project would have the ability to keep certain activities private (i.e. away from the public).


 
Yasmin Moslem
Yasmin Moslem  Identity Verified
Egypt
Local time: 01:30
English to Arabic
Got it Jan 19, 2013

Dear Samuel,

Ah! I understand the licensing conditions of Google Code now. Thanks for the clarification.

I did not use it for any real project so far; however, it was a good chance to see it working.

There must be other free options; I see search engines refer to some.

Kind regards,
Yasmin

[Edited at 2013-01-19 21:58 GMT]


 
VojtaDziewiecki
VojtaDziewiecki
Czech Republic
Local time: 01:30
Czech to Polish
+ ...
I tried this with git. Oct 10, 2013

Thanks Samuel for writing this guide!

I can confirm this also works with git, I have my team project on bitbucket.org. It allows private repositories and I think its privacy policy is ok.

My colleague had to generate an ssh key and use it, she wasn't able to clone the project using the https protocol available on bitbucket, but apart from that, everything works.

Again thanks to all OmegaT developers for their awesome work!


 
DamienR
DamienR
France
English to French
+ ...
Are some files not updated? Jun 11, 2015

Hi all,

I'm working with Git (Bitbucket too) and everything works fine until I modify the segmentation rules (they are project specific) or the learned words. When I do, the modifications are kept only until the next sync. The sync reverts these files to the previous version and delete my modifications.
I guess that some of the files in the "omegat" folder of the project cannot updated through Git/SVN but are rather "locked" and kept the way they were when the project was firs
... See more
Hi all,

I'm working with Git (Bitbucket too) and everything works fine until I modify the segmentation rules (they are project specific) or the learned words. When I do, the modifications are kept only until the next sync. The sync reverts these files to the previous version and delete my modifications.
I guess that some of the files in the "omegat" folder of the project cannot updated through Git/SVN but are rather "locked" and kept the way they were when the project was first updated.

Is there anyway I can change this behavior?

Is there any solution that would be easier than deleting the old version on every computer and updating the version on the repository? I guess this would work, did not try it yet as it seems rather complicated if it needs to be done more than once.


EDIT: Yu Tang created a script for that. It is found in the script folder. But it is SVN only as far as I can tell.

Details: https://sourceforge.net/p/omegat/feature-requests/1004/

[Edited at 2015-06-11 14:11 GMT]

[Edited at 2015-06-11 14:22 GMT]
Collapse


 
Didier Briel
Didier Briel  Identity Verified
France
Local time: 01:30
English to French
+ ...
Only some files are synchronised Jun 12, 2015

DamienR wrote:
I'm working with Git (Bitbucket too) and everything works fine until I modify the segmentation rules (they are project specific) or the learned words. When I do, the modifications are kept only until the next sync. The sync reverts these files to the previous version and delete my modifications.

Because you have to commit them first.

I guess that some of the files in the "omegat" folder of the project cannot updated through Git/SVN but are rather "locked" and kept the way they were when the project was first updated.

Is there anyway I can change this behavior?

Is there any solution that would be easier than deleting the old version on every computer and updating the version on the repository? I guess this would work, did not try it yet as it seems rather complicated if it needs to be done more than once.

If you commit a file from any computer all the other computers will get the updated file automatically.

Only two files are merged/synchronised automatically: project_save.tmx and the writeable glossary. For other files, you have to commit them manually. But all files are updated automatically once they are committed.

Didier


Gabriel Torem
 
Gabriel Torem
Gabriel Torem  Identity Verified
Argentina
Local time: 20:30
English to Spanish
+ ...
Thank you! Jun 15, 2023

This explanation is useful also for Git Repositories, and is much more complete than the original OmegaT one.

 


There is no moderator assigned specifically to this forum.
To report site rules violations or get help, please contact site staff »


Introduction to the Team Project feature in OmegaT






Trados Business Manager Lite
Create customer quotes and invoices from within Trados Studio

Trados Business Manager Lite helps to simplify and speed up some of the daily tasks, such as invoicing and reporting, associated with running your freelance translation business.

More info »
Wordfast Pro
Translation Memory Software for Any Platform

Exclusive discount for ProZ.com users! Save over 13% when purchasing Wordfast Pro through ProZ.com. Wordfast is the world's #1 provider of platform-independent Translation Memory software. Consistently ranked the most user-friendly and highest value

Buy now! »