Class: Fastlane::Helper::LanguageRegistryHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/fastlane/plugin/translate/helper/language_registry_helper.rb

Constant Summary collapse

APPLE_LANGUAGES =

Complete list based on Apple’s App Store localizations developer.apple.com/help/app-store-connect/reference/app-store-localizations/

{
  # Language code => { name, regional_variants }
  'ar' => { name: 'Arabic', variants: [] },
  'ca' => { name: 'Catalan', variants: [] },
  'hr' => { name: 'Croatian', variants: [] },
  'cs' => { name: 'Czech', variants: [] },
  'da' => { name: 'Danish', variants: [] },
  'nl' => { name: 'Dutch', variants: [] },
  'en' => { name: 'English', variants: %w[en-US en-GB en-AU en-CA] },
  'en-US' => { name: 'English (United States)', variants: [] },
  'en-GB' => { name: 'English (United Kingdom)', variants: [] },
  'en-AU' => { name: 'English (Australia)', variants: [] },
  'en-CA' => { name: 'English (Canada)', variants: [] },
  'fi' => { name: 'Finnish', variants: [] },
  'fr' => { name: 'French', variants: ['fr-CA'] },
  'fr-CA' => { name: 'French (Canada)', variants: [] },
  'de' => { name: 'German', variants: [] },
  'el' => { name: 'Greek', variants: [] },
  'he' => { name: 'Hebrew', variants: [] },
  'hi' => { name: 'Hindi', variants: [] },
  'hu' => { name: 'Hungarian', variants: [] },
  'id' => { name: 'Indonesian', variants: [] },
  'it' => { name: 'Italian', variants: [] },
  'ja' => { name: 'Japanese', variants: [] },
  'ko' => { name: 'Korean', variants: [] },
  'ms' => { name: 'Malay', variants: [] },
  'nb' => { name: 'Norwegian Bokmål', variants: [] },
  'pl' => { name: 'Polish', variants: [] },
  'pt' => { name: 'Portuguese', variants: %w[pt-BR pt-PT] },
  'pt-BR' => { name: 'Portuguese (Brazil)', variants: [] },
  'pt-PT' => { name: 'Portuguese (Portugal)', variants: [] },
  'ro' => { name: 'Romanian', variants: [] },
  'ru' => { name: 'Russian', variants: [] },
  'sk' => { name: 'Slovak', variants: [] },
  'es' => { name: 'Spanish', variants: %w[es-MX es-ES] },
  'es-MX' => { name: 'Spanish (Mexico)', variants: [] },
  'es-ES' => { name: 'Spanish (Spain)', variants: [] },
  'sv' => { name: 'Swedish', variants: [] },
  'th' => { name: 'Thai', variants: [] },
  'tr' => { name: 'Turkish', variants: [] },
  'uk' => { name: 'Ukrainian', variants: [] },
  'vi' => { name: 'Vietnamese', variants: [] },
  'zh' => { name: 'Chinese', variants: %w[zh-Hans zh-Hant zh-HK] },
  'zh-Hans' => { name: 'Chinese (Simplified)', variants: [] },
  'zh-Hant' => { name: 'Chinese (Traditional)', variants: [] },
  'zh-HK' => { name: 'Chinese (Hong Kong)', variants: [] }
}.freeze

Class Method Summary collapse

Class Method Details

.has_variants?(code) ⇒ Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/fastlane/plugin/translate/helper/language_registry_helper.rb', line 68

def self.has_variants?(code)
  APPLE_LANGUAGES.dig(code, :variants)&.any? || false
end

.language_name(code) ⇒ Object



64
65
66
# File 'lib/fastlane/plugin/translate/helper/language_registry_helper.rb', line 64

def self.language_name(code)
  APPLE_LANGUAGES.dig(code, :name) || code
end

.supported_languagesObject



60
61
62
# File 'lib/fastlane/plugin/translate/helper/language_registry_helper.rb', line 60

def self.supported_languages
  APPLE_LANGUAGES.keys
end

.valid_language?(code) ⇒ Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/fastlane/plugin/translate/helper/language_registry_helper.rb', line 76

def self.valid_language?(code)
  APPLE_LANGUAGES.key?(code)
end

.variants(code) ⇒ Object



72
73
74
# File 'lib/fastlane/plugin/translate/helper/language_registry_helper.rb', line 72

def self.variants(code)
  APPLE_LANGUAGES.dig(code, :variants) || []
end