41 lines
1.5 KiB
Ruby
41 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Copyright (c) 2010-2011, Diaspora Inc. This file is
|
|
# licensed under the Affero General Public License version 3 or later. See
|
|
# the COPYRIGHT file.
|
|
|
|
require 'i18n_interpolation_fallbacks'
|
|
require "i18n/backend/fallbacks"
|
|
|
|
settings_file = Pathname.new(__FILE__).dirname.join('..').expand_path.join('locale_settings.yml')
|
|
if settings_file.exist?
|
|
locale_settings = YAML.load_file(settings_file)
|
|
AVAILABLE_LANGUAGES = (locale_settings['available'].length > 0) ? locale_settings['available'] : { "en" => 'English' }
|
|
AVAILABLE_LANGUAGE_CODES = locale_settings['available'].keys
|
|
LANGUAGE_CODES_MAP = locale_settings['fallbacks']
|
|
RTL_LANGUAGES = locale_settings['rtl']
|
|
else
|
|
AVAILABLE_LANGUAGES = { "en" => 'English' }
|
|
AVAILABLE_LANGUAGE_CODES = ["en"]
|
|
LANGUAGE_CODES_MAP = {}
|
|
RTL_LANGUAGES = []
|
|
end
|
|
|
|
DEFAULT_LANGUAGE = "en"
|
|
|
|
|
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
|
# Use the railtie configuration option to ensure overiding devise.
|
|
Diaspora::Application.config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
|
|
I18n.default_locale = DEFAULT_LANGUAGE
|
|
|
|
I18n::Backend::Simple.send(:include, I18n::Backend::InterpolationFallbacks)
|
|
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
|
|
|
|
AVAILABLE_LANGUAGE_CODES.each do |c|
|
|
I18n.fallbacks[c] = [c]
|
|
if LANGUAGE_CODES_MAP.key?(c)
|
|
I18n.fallbacks[c].concat(LANGUAGE_CODES_MAP[c])
|
|
end
|
|
I18n.fallbacks[c].concat([DEFAULT_LANGUAGE, "en"])
|
|
end
|