Class: SgtnClient::Translation
- Inherits:
-
Object
- Object
- SgtnClient::Translation
- Defined in:
- lib/sgtn-client/api/translation.rb
Class Method Summary collapse
- .get_offbundle(component, locale) ⇒ Object
- .get_server(component, locale) ⇒ Object
- .getString(component, key, locale) ⇒ Object
- .getTranslations(component, locale) ⇒ Object
Class Method Details
.get_offbundle(component, locale) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/sgtn-client/api/translation.rb', line 47 def self.get_offbundle(component, locale) env = SgtnClient::Config.default_environment product_name = SgtnClient::Config.configurations[env]["product_name"] version = SgtnClient::Config.configurations[env]["version"].to_s translation_bundle = SgtnClient::Config.configurations[env]["translation_bundle"] bundlepath = translation_bundle + "/" + product_name + "/" + version + "/" + component + "/messages_" + locale + ".json" SgtnClient.logger.debug "Getting translations from offline bundle: " + bundlepath begin file = File.read(bundlepath) data_hash = JSON.parse(file) rescue => exception SgtnClient.logger.error exception. end return data_hash end |
.get_server(component, locale) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/sgtn-client/api/translation.rb', line 63 def self.get_server(component, locale) env = SgtnClient::Config.default_environment product_name = SgtnClient::Config.configurations[env]["product_name"] vip_server = SgtnClient::Config.configurations[env]["vip_server"] SgtnClient.logger.debug "Getting translations from server: " + vip_server version = SgtnClient::Config.configurations[env]["version"].to_s url = vip_server + "/i18n/api/v2/translation/products/" + product_name + "/versions/" + version + "/locales/" + locale + "/components/" + component+ "?checkTranslationStatus=false&machineTranslation=false&pseudo=false" begin obj = SgtnClient::Core::Request.get(url) rescue => exception SgtnClient.logger.error exception. end if obj != nil obj = obj["data"] end return obj end |
.getString(component, key, locale) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/sgtn-client/api/translation.rb', line 13 def self.getString(component, key, locale) cache_key = SgtnClient::CacheUtil.get_cachekey(component, locale) items = SgtnClient::CacheUtil.get_cache(cache_key) if items.nil? items = getTranslations(component, locale) SgtnClient::CacheUtil.write_cache(cache_key, items) else SgtnClient.logger.debug "Getting translations from cache with key: " + cache_key end if items.nil? return SgtnClient::Source.getSource(component, key) end str = items["messages"][key] if str.nil? return SgtnClient::Source.getSource(component, key) else return str end end |
.getTranslations(component, locale) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/sgtn-client/api/translation.rb', line 37 def self.getTranslations(component, locale) env = SgtnClient::Config.default_environment mode = SgtnClient::Config.configurations[env]["bundle_mode"] if mode == 'offline' return get_offbundle(component, locale) else return get_server(component, locale) end end |