Class GoogleJsMessageIdGenerator

java.lang.Object
com.google.javascript.jscomp.GoogleJsMessageIdGenerator
All Implemented Interfaces:
JsMessage.IdGenerator

public class GoogleJsMessageIdGenerator extends Object implements JsMessage.IdGenerator
An JsMessage.IdGenerator designed to play nicely with Google's Translation systems. Each message is scoped to a project id, so that it does not conflict with other messages at Google.

Just as reminder what key type used in different formats:

  1. XMB - id. We export using this format.
  2. XTB - id. Internal, result of translation.
  3. XLB - name. External, use it if we need to share translation with third part.
  4. PROPERTIES - name.
See Also:
  • Constructor Details

    • GoogleJsMessageIdGenerator

      public GoogleJsMessageIdGenerator(String projectId)
      Creates an instance.
      Parameters:
      projectId - A TC project name (e.g. "MyProject")
  • Method Details

    • generateId

      public String generateId(String meaning, List<CharSequence> messageParts)
      Description copied from interface: JsMessage.IdGenerator
      Generate the ID for the message. Messages with the same messageParts and meaning will get the same id. Messages with the same id will get the same translation.
      Specified by:
      generateId in interface JsMessage.IdGenerator
      Parameters:
      meaning - The programmer-specified meaning. If no @meaning annotation appears, we will use the name of the variable it's assigned to. If the variable is unnamed, then we will just use a fingerprint of the message.
      messageParts - The parts of the message, including the main message text.