Variety of Contribution¶
We value contributions of all types — not just code.
Make sure that you read Project Philosophy and Policy to understand how we try to develop OmegaT.
Documentation¶
Anyone can contribute to OmegaT’s documentation, whether by contributing to the user manual, creating tutorial videos, or writing documentation that can be shared outside of the OmegaT project. If the material is useful, the OmegaT team will gladly reference it on the web site and share it with the broader user community.
See Contributing to OmegaT documentation for more information.
Localization¶
Since we are all translators, localization (L10N) of the application and translation of the documentation is the most active area of contributions, and easiest to access for us. It also helps understanding OmegaT and is sometimes the first step to further contributions.
See Localize applications and manuals for more information.
User support¶
At one point, you will know more about OmegaT than any beginner who just started. Trying to give help based on your experience is the best way to put that experience to use. It also helps more experienced contributors to see what is lacking in OmegaT’s documentation and contributes to improving OmegaT as a whole.
Subscribe to the user list to introduce yourself.
Scripting¶
OmegaT supports automation through scripts. Scripts are small programs that can perform tasks automatically when certain events happen in OmegaT. You can write scripts in Groovy or JavaScript.
Scripting is a powerful way to customize how OmegaT works for you. For example, you could create a script that:
Automatically formats text in a specific way
Performs custom quality checks on your translations
Connects to external tools or services
Even if you’re new to programming, scripting can be a good way to start contributing, as scripts are typically smaller and more focused than other code contributions.
See How to write an OmegaT script for more information.
Plugins¶
OmegaT supports plugins, which are add-ons that extend what the program can do without changing its core. This makes it easy to customize OmegaT to fit your specific needs.
If you have an idea for a new feature, creating a plugin is a great way to bring it to life. It’s also a good first step for new contributors since you can work on your own piece without needing to understand the entire codebase.
Plugins can add or modify many aspects of OmegaT, including
User interface themes
File filters (to support additional file formats)
Dictionary connectors
Machine translation services
And much more
Many of OmegaT’s built-in features are actually implemented as plugins, so you can learn by looking at these examples.
See
External utilities¶
OmegaT tries to foster an ecosystem of external utilities that can be used with or around OmegaT. Such utilities are most of the time personal scripts or small applications writing for specific settings or platforms, but they can nonetheless be useful to other users.
Such utilities can include OmegaT launchers, TMX generators based on OmegaT’s exported text contents, etc., and can be written in a variety of languages.
Subscribe to the user list to introduce or discuss your utility.
Code¶
Java code contributions to OmegaT are probably the most complex way to contribute to OmegaT. Besides for a working knowledge of Java, it requires a minimal understanding of how OmegaT works as an application and how its internals work. Such contributions also require some knowledge of conventions that we use for code contributions.
If you have some experience with OmegaT and know Java, you are strongly invited to dive in and help us with feature and core development.
See
Contributing to OmegaT documentation, for more information.
Other areas of contribution¶
If you have other contribution ideas for OmegaT, do not hesitate to get in touch with us.
Send a message to the developer list at omegat-development@lists.sourceforge.net or to the project coordinator at info@omegat.org.
Adoption of Contributions¶
Everyone is welcome to propose changes to OmegaT. The project team reviews these proposals and includes those that benefit most users in the official release. This helps maintain the quality and reliability of OmegaT.
Even if your suggestion isn’t included in the official release, remember that the GPL license terms allow you to modify your own copy of OmegaT and to share your modified version with others.
Communication Channels¶
OmegaT is developed by volunteers who contribute based on their interests and skills. Everyone works on what they find most interesting or important.
Here’s how you can connect with the community:
User Support Mailing List
A friendly place where both new and experienced users can ask questions and suggest improvements.
→ Search/Subscribe to the list
We are all translators, you can use any language that you want to get help and share ideas.
Developers Mailing List
For discussions about code and technical aspects of OmegaT. → Search/Subscribe to the list
If you’re interested in the programming side of things, this is the place to join.
Issue Tracker
Where you can report bugs, suggest new features (called Feature Requests) and register documentation related items (either errors or addition requests). → Search/Register issues
Registering a feature request does not mean that somebody will implement it right away. But registering it is the best way to have it implemented one day.