Add i18n-js to OpenProject#2
Closed
schmidt wants to merge 3 commits intoopf:masterfrom
finnlabs:feature/i18n-js
Closed
Add i18n-js to OpenProject#2schmidt wants to merge 3 commits intoopf:masterfrom finnlabs:feature/i18n-js
schmidt wants to merge 3 commits intoopf:masterfrom
finnlabs:feature/i18n-js
Conversation
* Limit i18n keys in JS to the 'js' scope to reduce payload * Update i18n gem to make i18n-js work with limited scopes * Exporting translations on server start and not on every request to save computing resources and avoid impact on response times * Configuring i18n-js to use the same fallbacks like the ruby part to ensure consistent behavior across languages * Removing rake tasks from Rakefile since (a) they do not belong there - should have been in lib/tasks - and (b) they are no longer needed, since the export happens at server start NB: public/javascripts/i18n needs to be writeable by the app server user.
The js lib does not expect the current locale to be the first fallback, but that's no good reason to change the original array, which is used by the ruby i18n.
Contributor
|
Closing this one again, since referencing it somehow reopened it. |
myabc
pushed a commit
that referenced
this pull request
Jul 14, 2014
Add mapping for migration squashing
NobodysNightmare
pushed a commit
that referenced
this pull request
Oct 1, 2014
Feature/unwatch links
NobodysNightmare
pushed a commit
that referenced
this pull request
Oct 1, 2014
Feature/unwatch links
oliverguenther
added a commit
that referenced
this pull request
Jun 23, 2017
* Don't use expect in retry_block It doesn't raise an exception, but only marks the example erroneous * Replace textile_link cuke * Replace wp search cuke with existing spec We only need to test for the href, no need to check that the page exists. * Also remove pagination cuke, its part of the search-spec [ci skip]
ulferts
added a commit
that referenced
this pull request
Nov 15, 2018
FactoryGirl => FactoryBot (#6304)
dombesz
added a commit
that referenced
this pull request
Aug 11, 2022
dombesz
added a commit
that referenced
this pull request
Aug 11, 2022
dombesz
added a commit
that referenced
this pull request
Aug 11, 2022
dombesz
added a commit
that referenced
this pull request
Dec 7, 2022
dombesz
added a commit
that referenced
this pull request
Dec 7, 2022
oliverguenther
pushed a commit
that referenced
this pull request
Dec 7, 2022
klaustopher
added a commit
that referenced
this pull request
Sep 20, 2023
Eric-Guo
referenced
this pull request
in Eric-Guo/openproject
Apr 24, 2024
# This is the 1st commit message: 项目成员信息添加专业,公司部门职位信息仅对管理员显示 # This is the commit message #2: 项目成员信息添加专业,公司部门职位信息仅对管理员显示
Eric-Guo
referenced
this pull request
in Eric-Guo/openproject
May 19, 2024
# This is the 1st commit message: Link to outside plugin. New labour_tracking modules openproject-labour_tracking update # This is the commit message #2: Move th_projects to outside. # This is the commit message #3: yarn upgrade # This is the commit message opf#4: gem and yarn upgrade # This is the commit message opf#5: yarn upgrade # This is the commit message opf#6: gem upgrade # This is the commit message opf#7: yarn upgrade # This is the commit message opf#8: yarn upgrade
Eric-Guo
referenced
this pull request
in Eric-Guo/openproject
May 19, 2024
# This is the 1st commit message: Link to outside plugin. New labour_tracking modules openproject-labour_tracking update # This is the commit message #2: Move th_projects to outside. # This is the commit message #3: yarn upgrade # This is the commit message opf#4: gem and yarn upgrade # This is the commit message opf#5: yarn upgrade # This is the commit message opf#6: gem upgrade # This is the commit message opf#7: yarn upgrade # This is the commit message opf#8: yarn upgrade # This is the commit message opf#9: gem and yarn upgrade # This is the commit message opf#10: yarn upgrade # This is the commit message opf#11: gem and yarn upgrade
dombesz
added a commit
that referenced
this pull request
Mar 7, 2025
…y_activity_spec Fix more non synchronous capybara expectations #2
5 tasks
akabiru
pushed a commit
that referenced
this pull request
Feb 11, 2026
Use an extension to fetch/commit data to OpenProject
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why client side I18n?
Client-side I18n is needed in a multitude of cases. At the moment, the two UI widgets in OpenProject, Calendar and Wiki Toolbar, use two separate I18n solutions. Every plugin, that is trying to do client-side I18n, will need to ship a third, fourth and fifth solution.
By introducing i18n-js into the OpenProject core, we can provide a single solution for future enhancements of the core and a generic solution for plugin authors.
Why i18n-js?
This pull request is based on #52 in the finnlabs/chiliproject repository.
Impact on existing users
The install guide needs to be changed. The
public/javascripts/i18ndirectory needs to writable, just like thepublic/plugin_assets.Usage
I18n keys in the
jsscope will be available on the client side.Especially for plugin authors, also js scopes in deeper nestings will be available
In your JS code, use the following commands: