def get(key, locale, opts = {})
      keys = resolve_scopes(key)
      locales = resolve_locales(locale)
      read_first(locales, keys) || opts[:default] || default(locales, keys, opts)
    end
def get(key, locale, opts = {})
      keys = resolve_scopes(key)
      locales = resolve_locales(locale)
      read_first(locales, keys) || opts[:default] || default(locales, keys, opts)
    end
Retrieves translation from the storage or return default value.

 @return [String] translation or default value if nothing found

 @example
   translator.put(en: {hello: "world"})
   translator.get("hello", :en) #=> "world"
   translator.get("bye", :en) #=> ""

 @example Providing the default if nothing found
   translator.get("hello", :de, default: "nothing") #=> "nothing"

 @overload get(key, locale, opts = {})
   @param key [String, Symbol]
   @param locale [String, Symbol]

 @overload get(keys, locale, opts = {})
   @param keys [Array<String, Symbol>] use this to redefine an array returned
     by {#keys_to_try}.
   @param locale [String, Symbol]

   @example
     translator.put(en: {fail: "Fail"})
     translator.get(["big.fail", "mine.fail"], :en) #=> ""; tried "en.big.fail", then "en.mine.fail"

 @overload get(key, locales, opts = {})
   @param key [String, Symbol]
   @param locales [Array<String, Symbol>] use this to redefine an array returned
     by {#locales_to_try}.

   @example
     translator.put(en: {hello: "world"})
     translator.get(:hello, :de) #=> ""; tried only "de.hello"
     translator.get(:hello, [:de, :en]) #=> "world"; tried "de.hello", then "en.hello"

   @example Disable locale fallbacks locally
     translator.put(en: {hello: "world"}) # suppose this instance has fallback to :en locale
     translator.get(:hello, :de) #=> "world"; tried "de.hello", then "en.hello"
     translator.get(:hello, [:de]) #=> ""; tried only "de.hello"

 @overload get(keys, locales, opts = {})
   @param keys [Array<String, Symbol>]
   @param locales [Array<String, Symbol>]

   @note Keys fallback has a higher priority than locales one, that is, Mova
     tries to find a translation for any given key and only then it fallbacks
     to another locale.

 @param opts [Hash]
 @option opts [String] :default use this to redefine default value returned
   by {#default}.

 @see #locales_to_try
 @see #keys_to_try
 @see #default