## com.google.javascript.jscomp
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:
  xmb

Constructor Summary
`GoogleJsMessageIdGenerator(String projectId)` Creates an instance.

Method Summary
`String` | `generateId(String meaning, List<CharSequence> messageParts)` Generate the ID for the message.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GoogleJsMessageIdGenerator

    public GoogleJsMessageIdGenerator(String projectId)

  Creates an instance.

  Parameters:
    `projectId` - A TC project name (e.g. "MyProject")

Method Detail

### 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.