Files
Christophe Bliard 44572fe4d0 Do not use all available languages as i18n fallbacks
The files downloaded from Crowdin are always complete, and already fall
back to english in the YML.

We still need I18n fallback mechanism for at least 2 use cases:
- during development when we are adding strings to the translation files
  and we are not using the English locale. (Only after crowdin took its
  turn, does a locale key exist everywhere)
- for `Settings::Email#localized_emails_header` and
  `Settings::Email#localized_emails_footer`: translations are set by the
  admins and some languages do not have a localized version. We use the
  fallback mechanism to get translations from other locales if there is
  none for the current locale.

As we have `:en` as the default locale, `I18n` automatically falls back
to our default locale. No need to set `I18n.fallbacks.defaults`
ourselves.
2025-10-06 15:55:20 +02:00

46 lines
2.1 KiB
Ruby

# frozen_string_literal: true
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++
# load custom translation rules, as stored in config/locales/plurals.rb
# to be aware of e.g. Japanese not having a plural from for nouns
require "open_project/translations/pluralization_backend"
I18n::Backend::Simple.include OpenProject::Translations::PluralizationBackend
# Adds fallback to default locale for untranslated strings. Useful for instance
# during development when adding new strings and using another locale than
# English. For production, that's less useful as files downloaded from Crowdin
# already contain fallback English translations.
#
# Also we can't completly remove the fallback mechanism: we still need the it to
# get translated versions of email header and footer as they are supplied by the
# admins and may not be provided for all configured languages. (See
# `Setting#localized_emails_header` and `Setting#localized_emails_footer`.)
I18n::Backend::Simple.include I18n::Backend::Fallbacks