Top Menu

Jump to content
Home
    Modules
      • Projects
      • Activity
      • Work packages
      • Gantt charts
      • Calendars
      • Team planners
      • Boards
      • News
    • Getting started
    • Introduction video
      Welcome to OpenProject Community
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • Upgrade to Enterprise edition
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Enterprise support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Forgot your password?

      or sign in with your existing account

      Google

Side Menu

  • Overview
  • Activity
    Activity
  • Roadmap
  • Work packages
    Work packages
  • Gantt charts
    Gantt charts
  • Calendars
    Calendars
  • Team planners
    Team planners
  • Boards
    Boards
  • News
  • Forums

Content

General discussion
  1. OpenProject
  2. Forums
  3. General discussion
  4. crowdsourcing translating openproject

crowdsourcing translating openproject

Added by Philipp Tessenow over 11 years ago

Gustavo started a discussion about how to contribute translations for openproject. In the resulting pull request relaxdiego proposed to crowdsoure translations.

‘Great idea!’ I though, so let’s collect some translations tools/websites

site pricing notes
transiflex website free for open source used by VLC, redmine_backlogs, bitbucket,..
crowdin website free for open source used by minecraft, alfresco,..
translation center rails engine free as in open source integrates in openproject. backed by a company. video on youtube demo site

I propose we collect some more translation tools/services/plugins first (please tell me if you know some) and opinions about them.
After comparing what we’ve found, we can decide which tool to use.

Best,
Tessi


Replies (38)

RE: crowdsourcing translating openproject - Added by Christian Ratz over 11 years ago

+1 crowdin

RE: crowdsourcing translating openproject - Added by Martin Czuchra over 11 years ago

When it’s good enough for Notch at Mojang, it’s good enough for me.

RE: crowdsourcing translating openproject - Added by Christian Ratz over 11 years ago

Ok, I will create a crowdin account.
Now we have to decide, which languages we want to support.

RE: crowdsourcing translating openproject - Added by Francois Lamotte about 11 years ago

Hello Christian,

Did you have some progress on that field?

We are interested to support the french translation. If there’s an effort already started we could join it.

RE: crowdsourcing translating openproject - Added by Christian Ratz about 11 years ago

Hi Francois,

Unfortunately there is still no progress on the translations. We focused on a stable OpenProject 3.0 release.
I will start a crowdin project soon and provide all related information.

Best
Christian

RE: crowdsourcing translating openproject - Added by Francois Lamotte about 11 years ago

tkx

RE: crowdsourcing translating openproject - Added by Christian Ratz about 11 years ago

I created this crowdin right now. And added only a request for french translation.

I will talk to the other guys, how we handle this in the future. After this I will provide a wiki page with further information.

Thanks in advance for your Participation.

Best
Ratzi

RE: crowdsourcing translating openproject - Added by Jay Kay about 11 years ago

Hi,

I’m working with a French team on OpenProject, and we are going to need to translate the interface for the bulk of our staff.

We’re really happy to contribute to the Crowdin translations (there’s a bunch of bilinguals I can interrogate), but I’m struggling to figure out how to actually install the translations from a technical perspective…

Could anyone point to some documentation or help me understand how to do that part?

Thanks! :)

RE: crowdsourcing translating openproject - Added by Francois Lamotte about 11 years ago

Hi Jamil,

We already started the translation job for the french language.

Don"t hesitate to join us here (it’s free) for a collaborative translation (really easy app to use). We already made 50% of the job.

https://crowdin.net/project/openproject

Your help will be really welcome.

RE: crowdsourcing translating openproject - Added by Jay Kay about 11 years ago

Thank you, that’s looking good and I’m looking forward to contributing.

But how do you actually install a language module once the translations have been made on Crowdin? Is that a download somewhere? Do we need to install any Ruby stuff?

Thanks for your advice.

RE: crowdsourcing translating openproject - Added by Christian Ratz about 11 years ago

Hi Jamil,

unfortunately, only an crowdin project admin can download the translations currently. We are working on a process to do this automated and continuous than we can deliver all translations with the OpenProject core.

For now I attached the file attachment:openproject_translations_es_fr_nl_zh.zip with the current translations for:

"Chinese Simplified", zh.yml, 78% translated
"Spanish", es.yml, 73% translated
"French", fr.yml, 58% translated
"Dutch", nl.yml, 48% translated

To use the translation in OpenProject follow this steps:

1. Extract the openproject_translations_es_fr_nl_zh.zip
2. Copy the translation file (e.g. fr.yml for french, or all files) in the ‘config/locales/’ folder
3. Restart the server
4. Login as an admin and go to ‘Administration -> Settings -> Display (tab)’
5. Activate new language within ‘Available languages’

All users are now able to select this language within “My account”.

Best
Ratzi

Update:
Added thai (100%) translation attachment:th.yml

RE: crowdsourcing translating openproject - Added by Jay Kay about 11 years ago

Ah, fantastic, thanks very much!

That’s a great start, and I’ll get my team to make some additions to it.

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

There is bug in the files above. I guess Crowdin doesn’t process the singular and plural right, so we can only translate the plural item and the singular item is missing in the translation file. If you put the file downloaded here, you might get error message when you access the page containing the item.

Here is Ratzi’s replied on how to fix:

this for handling singular and plural, I also found this problem in the downloaded translation file and fixed it temporarily on my local PC by adding the english translation. I’m soory that I had forgotten to use this file in the zip file.

If you look in the english translation file you will find the following:

x_days:
one: “1 day”
other: “%{count} days”

In the zh.yml the line with ‘one:’ is missing (in the whole ‘distance_in_words’ section):
x_days:
other: ‘%{count} 天’

If you call the translation key with ‘1’ as parameter rails will use the translation for singular (‘1 day’ in english).
If you call it with a different number rails will use the plural (other) translation (‘5 days’ in english).

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

Ratzi,

Have you finished your setup for downloading translation automatically from Crowdin? I am eager to get my installation translated so that my team can start use it ASAP.

RE: RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

You are right, the missing keys (`x_days.one` etc.) are a crowdin bug.

You can vote at this uservoice entry to raise attention for this missing feature.

Besides that, I have implemented an OpenProject plugin, which offers all existing crowdin translations. You can find it here .
We plan to synchronize this plugin with crowdin on a daily basis (for now I will update the translations manually till I find some time to automate this).

Please let me know, if this plugin works for you, or if you find any bugs etc.

— Tessi

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

FYI: Even if you don’t use the plugin, you can find the recent translation files in the plugin sources

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

I can’t install the plugin following the instruction, adding below line to Gemfile.plugins.

gem "openproject-webhooks", :git => 'https://github.com/finnlabs/openproject-webhooks.git', :branch => 'stable'

When executing

bundle install

I got error message:

Updating https://github.com/finnlabs/openproject-webhooks.git
fatal: ambiguous argument 'stable': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Retrying git rev-parse stable due to error (2/3): Bundler::Source::Git::GitCommandError Git error: command `git rev-parse stable` in directory /opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda has failed.
If this error persists you could try removing the cache directory '/opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda'
fatal: ambiguous argument 'stable': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Retrying git rev-parse stable due to error (3/3): Bundler::Source::Git::GitCommandError Git error: command `git rev-parse stable` in directory /opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda has failed.
If this error persists you could try removing the cache directory '/opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda'
fatal: ambiguous argument 'stable': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Git error: command `git rev-parse stable` in directory /opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda has
failed.
If this error persists you could try removing the cache directory
'/opt/openproject/.rvm/gems/ruby-2.1.1/cache/bundler/git/openproject-webhooks-5c7a9c6d724f4d90f57ea123be842e5096411dda'

if I changed from ‘stable’ to ‘dev’, the installation can complete without errors. But I found no way to select language rather than the original 2 languages.

Then I downloaded the translation file from github directly and put it under config/locales. I can select the new language, but got error when getting into project setting:

ActionView::Template::Error (jstoolbar/lang/jstoolbar-zh-cn.js isn't precompiled):
    29: 
    30: <p><%= form.text_area :description, :rows => 5, :class => 'wiki-edit',
    31:                       :'data-wp_autocomplete_url' => work_packages_auto_complete_path(:project_id => @project, :format => :json) %></p>
    32: <%= wikitoolbar_for 'project_description' %>
  lib/redmine/wiki_formatting/textile/helper.rb:51:in `block in heads_for_wiki_formatter'
  lib/redmine/wiki_formatting/textile/helper.rb:50:in `heads_for_wiki_formatter'
  lib/redmine/wiki_formatting/textile/helper.rb:35:in `wikitoolbar_for'
  app/views/projects/form/attributes/_description.html.erb:32:in `_app_views_projects_form_attributes__description_html_erb___2554703281153242426_41949600'
  app/views/projects/form/_project_attributes.html.erb:33:in `_app_views_projects_form__project_attributes_html_erb__413115397616921840_43415840'
  app/views/projects/_form.html.erb:35:in `_app_views_projects__form_html_erb___2627818536564758302_43748520'
  app/views/projects/_edit.html.erb:31:in `block in _app_views_projects__edit_html_erb___3815590217058663099_58124600'
  app/helpers/application_helper.rb:907:in `labelled_tabular_form_for'
  app/views/projects/_edit.html.erb:30:in `_app_views_projects__edit_html_erb___3815590217058663099_58124600'
  app/views/common/_tabs.html.erb:61:in `block in _app_views_common__tabs_html_erb__1515249588074571631_61554700'
  app/views/common/_tabs.html.erb:60:in `each'
  app/views/common/_tabs.html.erb:60:in `_app_views_common__tabs_html_erb__1515249588074571631_61554700'
  app/helpers/application_helper.rb:328:in `render_tabs'
  app/views/projects/settings.html.erb:34:in `_app_views_projects_settings_html_erb___2219607897547536368_62065780'

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

Ups, this is my fault. I copy&pasted the wrong gem into the installation instructions.

I already updated the README, please do not install the webhooks gem, but the translations gem.

gem "openproject-translations", :git => 'https://github.com/opf/openproject-translations.git', :branch => 'stable'

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

it seems still incorrect, all of the translation name become ‘English’.
I select them one by one, it seems Simplified Chinese is missing.

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

The translations key general_lang_name should contain the name of the language, which is ‘English’ for the english translations.
Unfortunately people translated the word english to their language instead of writing the name of the current language into that key.
This can be easily fixed on crowdin.

I am not sure what happened with Simplified Chinese but I’ll investigate.

— tessi

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

Simplified Chinese should now appear. Taiwanese Mandarine (both have the ‘zh’ language code) took it’s place. Now both should appear (but Taiwanese Mandarin is still named “English” in the menu).

I took the chance to fetch the current translations from crowdin and uploaded them.

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

I know I misunderstood the key general_lang_name when I was working on crowdin, so I have already fixed it for Simplified Chinese translation.
However, if I put the yml file directly into folder locales, I can get the right translation with direct translation of ‘English’. But it is not the case after installing the plugin, all of them became ‘English’(I have captured the screen in attachment), and none of them is Simplified Chinese.(actually 2 of them are the uncompleted Traditional Chinese.)

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

update plugin to the latest, it is correct now.
but still getting error message in log when i click ‘administration’->‘settings’. I have tried run the precompile, not working.

ActionView::Template::Error (jstoolbar/lang/jstoolbar-zh-cn.js isn't precompiled):
    33: <p><%= setting_text_field :app_title, :size => 30 %></p>
    34: 
    35: <p><%= setting_text_area :welcome_text, :cols => 60, :rows => 5, :class => 'wiki-edit' %></p>
    36: <%= wikitoolbar_for 'settings_welcome_text' %>
    37: 
    38: <p><%= setting_text_field :attachment_max_size, :size => 6 %> <%= l(:"number.human.storage_units.units.kb") %></p>
    39: 
  lib/redmine/wiki_formatting/textile/helper.rb:51:in `block in heads_for_wiki_formatter'
  lib/redmine/wiki_formatting/textile/helper.rb:50:in `heads_for_wiki_formatter'
  lib/redmine/wiki_formatting/textile/helper.rb:35:in `wikitoolbar_for'
  app/views/settings/_general.html.erb:36:in `block in _app_views_settings__general_html_erb___599123391255880555_32912920'
  app/views/settings/_general.html.erb:30:in `_app_views_settings__general_html_erb___599123391255880555_32912920'
  app/views/common/_tabs.html.erb:61:in `block in _app_views_common__tabs_html_erb___1894114438409737620_55244240'
  app/views/common/_tabs.html.erb:60:in `each'
  app/views/common/_tabs.html.erb:60:in `_app_views_common__tabs_html_erb___1894114438409737620_55244240'
  app/helpers/application_helper.rb:319:in `render_tabs'
  app/views/settings/edit.html.erb:34:in `_app_views_settings_edit_html_erb___4520726662695454535_55381460'
  app/controllers/settings_controller.rb:37:in `index'

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

Thanks for the error report!

It seems that crowdin and jstoolbar disagree on the names of translation files.
I added a file-rename step to the plugin, which names the translation files so that jstoolbar works with it.

After an update of the plugin

bundle update --source=openproject-translations

All user which use chinese will be reverted to use english. You have to reenable chinese as an available language (in the settings).

Please tell me if it works for you (the administration page works for me in production).

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

So far the translation is working fine. Thanks for the work.
Is there any plan to translate the plug-in?

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

got a error today when creating new work package in timeline view, if I decided to close the dialog without saving current input.

[missing "zh.js.timelines.really_close_dialog" translation]

this should be a translation of

really_close_dialog: "Do you really want to close the dialog and loose the entered data?"

maybe it is missing in the Simplified Chinese file. BTW, where is the translation file after the plug-in installation?

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

The translation exists in zh.yml (you’ll find the translations at the place where the openproject-translation gem was installed and then in the subdirectory config/locales.

It might be that you need to do another

  bundle exec rake assets:precompile

(and then a server restart)

so that javascript translation get recompiled.

If this fixes your problem, then I’ll add the step to the plugin README.

Concerning plugin-translations, I’ll ask some colleagues and come back to you later.

RE: crowdsourcing translating openproject - Added by Jay Kay about 11 years ago

Hello all,

My team and I have finished the French translation of the interface. I’m sorry I didn’t use the Crowdin thing, but we could work much faster by directly editing the file.

The translation is complete as we’ve gone through every line, which means that this is basically ready to be used as an official translation if you like. Of course, there’s always a small possibility of errors that we’ve missed (or got mangled in a technical-speech kind of way), so please feel free to give feedback.

We’re very happy to contribute this back to the project, and hope others find it useful.

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

Philipp Tessenow wrote:

The translation exists in zh.yml (you’ll find the translations at the place where the openproject-translation gem was installed and then in the subdirectory config/locales.

It might be that you need to do another

[…]
(and then a server restart)

so that javascript translation get recompiled.

If this fixes your problem, then I’ll add the step to the plugin README.

Concerning plugin-translations, I’ll ask some colleagues and come back to you later.

the precompile works as expected.

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

Thanks, I’ll add the precompile step to the plugin-readme.

Concerning plugin translations, we are currently not set on a solution.
Plugins may be contributed by everyone (so the OPF team has no control over their translations). We could rely on the plugins to server their own translations, or have a separate crowdin project (and translation gem?) for every plugin. Which option do you prefer? Do you have any other ideas?

RE: crowdsourcing translating openproject - Added by Philipp Tessenow about 11 years ago

Jay Kay, thanks for your contribution! :)

I’ll look into merging your translations with the crowdin ones, if I find enough spare time to do that.

RE: crowdsourcing translating openproject - Added by Risheng Hu about 11 years ago

Philipp Tessenow wrote:

Thanks, I’ll add the precompile step to the plugin-readme.

Concerning plugin translations, we are currently not set on a solution.
Plugins may be contributed by everyone (so the OPF team has no control over their translations). We could rely on the plugins to server their own translations, or have a separate crowdin project (and translation gem?) for every plugin. Which option do you prefer? Do you have any other ideas?

At least you can manage the translation for those plugins from OPF team, and integrate the crowdin projects together. For the rest of plugins, of course you have no control and I agree to let them decide their translation method. The OPF team can give your guidline and preference. What do you think?

RE: crowdsourcing translating openproject - Added by Risheng Hu almost 11 years ago

It seems the latest stable openproject code has been changed a lot, the crowdin project doesn’t reflect the changes. If we use the current translation file, we might get errors. For example, in the latest stable 3.0.3, the original en.yml file contains a group named ‘select2’, while it is not existing in the crowdin file. As we can see a lot of difference, could you update the crowdin project accordingly?

RE: crowdsourcing translating openproject - Added by Philipp Tessenow almost 11 years ago

Thanks for notifying us.

Unfortunately I am not aware of a method to have crowdin translations for two branches of the same project (`dev` and `stable`). currently we use the `dev` branch. But you are right, we should better take the `stable` branch, as that is what we recommend for installation.

Currently, I cannot promise when we are able to fix it. However, I created a WorkPackage () to track the progress of this bug. I will try to schedule it, so that we can fix it soon.

cheers,
tessi

RE: crowdsourcing translating openproject - Added by Ignacio Grima almost 11 years ago

Hi everyone,

I’ve just sign up on crowdin, and made myself part of the project. I’ve started validating the Spanish translation already. I’d like to know if there’s a way of downloading the .yml file, in order to add it to my local OpenProject install.
Thanks in advance,

Ignacio

RE: crowdsourcing translating openproject - Added by Christian Ratz almost 11 years ago

Hello Ignacio,

as you can read here in the thread ;) just install the OpenProject Translations plugin and you can use all OpenProject translations.
To install the plugin add the following line to the Gemfile.plugins than run bundle install

gem "openproject-translations", :git => 'https://github.com/opf/openproject-translations.git', :branch => 'stable'

Best
Ratzi

RE: crowdsourcing translating openproject - Added by Ignacio Grima almost 11 years ago

Thanks so much, Ratzi :)
I’m really sorry I didn’t read the thread thoroughly :( I’ll try to pay more attention next time.

Cheers,

Nacho

RE: crowdsourcing translating openproject - Added by Philipp Tessenow over 10 years ago

Hello everyone,

the translations plugin was out of sync with the OpenProject core for some time now. Sorry if this caused you any inconvenience! I have fixed the underlying problem in the last couple of days.

Now we have up-to-date translations again. A plus is that the error which came when installing the translations plugin should be fixed too.

Another thing is, that we support multiple versions of OpenProjet now. So we can have translations for the current stable version, older versions, as well as a bleeding edge development version.

If you experience any problems with the updated translations plugin, please reach out to us and we have a look at it.

cheers,
Philipp

  • (1 - 38/38)
Loading...