プロジェクト

全般

プロフィール

Vote #79637

完了

Update i18n gem (~> 1.6.0)

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Gems support_45
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
45
version_id:
127
issue_org_id:
29946
author_id:
332
assigned_to_id:
332
comments:
18
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

The latest version of i18n gem is "1.1.1":https://rubygems.org/gems/i18n/versions/1.1.1 but Redmine still uses 0.7.0 that was released 4 years ago.

The reason why Redmine uses the old version is a test failure (see r16324). We should fix the error and should follow the recent version.


journals

I can take a look if you want.
--------------------------------------------------------------------------------
Marius BALTEANU wrote:
> I can take a look if you want.

Thanks. I have not started the work yet, so I am glad if you work on it. Although the priority of this issue is low, we have to upgrade i18n someday.
--------------------------------------------------------------------------------
The test that fails on my local environment is the below one and not the one from r16324.

<pre><code class='bash'>
root@45ec3a6558b0:/work# ruby test/unit/lib/redmine/i18n_test.rb
DEPRECATION WARNING: `secrets.secret_token` is deprecated in favor of `secret_key_base` and will be removed in Rails 6.0. (called from <top (required)> at /work/config/environment.rb:14)
Run options: --seed 36235

# Running:

.........F
Failure:
Redmine::I18nTest#test_fallback [test/unit/lib/redmine/i18n_test.rb:234]:
--- expected
+++ actual
@@ -1 +1 @@
-"Untranslated string"
+"translation missing: fr.untranslated"
</code></pre>
--------------------------------------------------------------------------------
There are multiple changes between 0.7.0 version and 1.1.1.

One reason of the failing test is https://github.com/svenfuchs/i18n/pull/415 which doesn't consider anymore the default locale as fallback locale. Now you need to explicitly define in the config the fallback locales. For example, if we add the line @config.i18n.fallbacks = [:en]@ to @config/application.rb@, the above test will pass, but I don't think that should be the solution because from what I've observed until now, we add the en version of the locale to all locale files (which is healthier from point of view).

Attached the patch that updates the gem version and fixes the failing test. The safest way is to schedule this update for version:"4.1.0" in order to have time to catch missing translation keys (if exists).

--------------------------------------------------------------------------------
Marius BALTEANU wrote:
> [...] but I don't think that should be the solution because from what I've observed until now, we add the en version of the locale to all locale files (which is healthier from point of view).

It seems that are some missing keys.

--------------------------------------------------------------------------------
i18n now is at v1.5.3 which supports only Ruby > 2.2. I'll work on this for version:"4.1.0"
--------------------------------------------------------------------------------
I've attached a new patch with a different fix, but I would like a review on the proposed changes even if all the existing tests "pass":https://gitlab.com/marius-balteanu/redmine/-/jobs/159806408

The failing test from r16324 was generated by a change to the @exists?@ method which returns true when a fallback exists (please see https://github.com/ruby-i18n/i18n/pull/326).

In my note 3, I wasn't able to reproduce the failing test because the fallback was not enabled.

--------------------------------------------------------------------------------
One more thing, in the future, we can change back to @exists?@ method if the https://github.com/ruby-i18n/i18n/issues/365 will be implemented.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Committed the patch. Thank you for writing the patch.
--------------------------------------------------------------------------------
i18n 1.6.0 has been released on 2019-03-03.
https://rubygems.org/gems/i18n/versions/1.6.0

I confirmed that it passes all tests. We can update i18n to ~> 1.6.0.

--------------------------------------------------------------------------------
Updated i18n to 1.6 in r17921.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
#31384 has been reported for this change.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,Closed,33334,bump i18n for advisory: CVE-2014-10077
blocks,Closed,30356,Drop Ruby 2.2 support
blocks,Closed,31384,Remove custom lazy loading of i18n files

Admin Redmine さんが3年以上前に更新

  • カテゴリGems support_45 にセット
  • 対象バージョン4.1.0_127 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0