Class: LanguageHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/sketchup-api-stubs/stubs/LanguageHandler.rb

Overview

The LanguageHandler class contains methods used to help make SketchUp extensions easier to localize across different languages. It looks for translated resources within the Resources folder in the extension’s directory structure. All translated resources should be located within the appropriate language folder and encoded in UTF-8. The strings file should include “key”=“value” string pairs in the following format:

language code gocorp_swiveldriver/Resources/fr/swiveldriver.strings

gocorp_swiveldriver/Resources/es/swiveldriver.strings

Examples:

Example code that uses LanguageHandler:

# Create a global language handler object
swiveldriver_lang_handler = LanguageHandler.new('swiveldriver.strings')

# Get localized string
localizedStr = swiveldriver_lang_handler.GetString('String 1')
"String 1"="Localized String 1";
"String 2"="Localized String 2";

Here’s an example extension directory structure:

gocorp_swiveldriver.rb <- creates the SketchupExtension instance
gocorp_swiveldriver/
gocorp_swiveldriver/Resources/
gocorp_swiveldriver/Resources/en/swiveldriver.strings <- OPTIONAL localization files by

Version:

  • SketchUp 2014

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ LanguageHandler

The new method is used to create a new LanguageHandler object.

Examples:

swiveldriver_lang_handler = LanguageHandler.new('swiveldriver.strings')

Parameters:

  • filename (String)

    The name of the file that contains the localized strings with their keys in UTF-8 encoding.

Version:

  • SketchUp 2014



65
66
# File 'lib/sketchup-api-stubs/stubs/LanguageHandler.rb', line 65

def initialize(filename)
end

Instance Method Details

#[](key) ⇒ String

Looks up and returns the localized version of a given string, based on the language SketchUp is currently running in, and the available translations in the Resources folder.

Examples:

swiveldriver_lang_handler = LanguageHandler.new('swiveldriver.strings')
localized_string = swiveldriver_lang_handler['String 1']

Parameters:

  • key (String)

    The key for the string to be retrieved.

Returns:

  • (String)

    the localized string.

Version:

  • SketchUp 2014



50
51
# File 'lib/sketchup-api-stubs/stubs/LanguageHandler.rb', line 50

def [](key)
end

#resource_pathString

Returns a string containing the path to the given filename if it can be found in the Resources folder.

Examples:

swiveldriver_lang_handler = LanguageHandler.new('swiveldriver.strings')
image = swiveldriver_lang_handler.resource_path('fancy_image.png')

Returns:

  • (String)

    the location of the file in the Resources folder.

Version:

  • SketchUp 2014



78
79
# File 'lib/sketchup-api-stubs/stubs/LanguageHandler.rb', line 78

def resource_path
end

#stringsHash

Returns a Hash object containing the localization dictionary.

Examples:

swiveldriver_lang_handler = LanguageHandler.new('swiveldriver.strings')
hash = swiveldriver_lang_handler.strings

Returns:

  • (Hash)

    the localization dictionary.

Version:

  • SketchUp 2014



90
91
# File 'lib/sketchup-api-stubs/stubs/LanguageHandler.rb', line 90

def strings
end