Removes custom backend @Redmine::I18n::Backend@ (#42859):

* move custom logic to get the available locales by looking at translation file names to @config.i18n.available_locales@ option.
* remove unnecessary fallback include which does the same thing as @config.i18n.fallbacks = true@.
* include custom pluralization rules as Rails suggests.

git-svn-id: https://svn.redmine.org/redmine/trunk@23830 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu
2025-06-11 20:07:28 +00:00
parent 300d342488
commit 53da670334
3 changed files with 2 additions and 20 deletions

View File

@@ -59,6 +59,7 @@ module RedmineApp
config.i18n.enforce_available_locales = true
config.i18n.fallbacks = true
config.i18n.default_locale = 'en'
config.i18n.available_locales = Dir[Rails.root / 'config' / 'locales' / '*.yml'].map { |f| File.basename(f, '.yml').to_sym }
# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"

View File

@@ -4,9 +4,7 @@ require 'redmine/configuration'
require 'redmine/plugin_loader'
Rails.application.config.to_prepare do
I18n.backend = Redmine::I18n::Backend.new
# Forces I18n to load available locales from the backend
I18n.config.available_locales = nil
I18n::Backend::Simple.include(I18n::Backend::Pluralization)
# Use Nokogiri as XML backend instead of Rexml
ActiveSupport::XmlMini.backend = 'Nokogiri'

View File

@@ -173,22 +173,5 @@ module Redmine
def current_language
::I18n.locale
end
# Custom backend based on I18n::Backend::Simple with the following changes:
# * available_locales are determined by looking at translation file names
class Backend < ::I18n::Backend::Simple
# Get available locales from the translations filenames
def available_locales
@available_locales ||= begin
redmine_locales = Dir[Rails.root / 'config' / 'locales' / '*.yml'].map { |f| File.basename(f, '.yml').to_sym }
super & redmine_locales
end
end
# Adds custom pluralization rules
include ::I18n::Backend::Pluralization
# Adds fallback to default locale for untranslated strings
include ::I18n::Backend::Fallbacks
end
end
end