as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
アクセスいただきありがとうございます。こちらのページは現在英語のみのご用意となっております。順次日本語化を進めてまいりますので、ご理解のほどよろしくお願いいたします。

ProductNameFormat

The ProductNameFormat API provides methods to format a string with product name substitution. An argument pattern $(pn) is used as the placeholder for the product name in a format string resource.

Multiple product name types are available to use with format methods. Below is an example of Amazon Echo Show 5 product names in different types,

Type Name
Generic Device
Short Echo Show
Medium Echo Show 5
Long Echo Show 5 (3rd Gen)
Full Amazon Echo Show 5
Generational Amazon Echo Show 5 (3rd Gen)

A Default type is also available and maps to Medium type.

Example

import { ProductNameFormat, ProductNameType } from '@amazon-devices/keplerscript-kepleri18n-lib';
...
    // Retrieve the pattern from the string resources. It's hardcoded here to simplify the example.
    const pattern: string = "This $(pn) is wifi enabled.";
    const message: string | null = ProductNameFormat.format(pattern, ProductNameType.MEDIUM);
    if (message === null) {
        // Error
        return;
    }
    // For the above Amazon Echo Show 5 product names example, message is "This Echo Show 5 is wifi enabled."

Constructors

new ProductNameFormat()

new ProductNameFormat(): ProductNameFormat

Returns

ProductNameFormat

Methods

format()

static format(pattern, productNameType, args?): null | string

Formats the specified pattern with product name substitution for the default locale. Optionally, the pattern may also be a MessageFormatClassic pattern with named arguments. The pattern is expected to contain one or more "$(pn)" substrings as placeholders for the product name.

In addition, this method supports "pngender" for product name gender message selection. To use it, just specify "pngender" in place of the IMessageFormatClassic select-format argument, and write select-format clauses based on the possible genders of other, feminine, masculine, neuter, female, male. For example,

Parameters

pattern

string

The pattern to format.

productNameType

ProductNameType = ProductNameType.DEFAULT

Type of product name to use.

args?

Map<string, string | number | Date>

Optional map of argument names to their values.

Returns

null | string

Formatted message with the specified product name replaced in place of "$(pn)" on success, null on failure.

Example

{pngender, select,
    feminine {$(pn) displays a notification on her screen.}
    masculine {$(pn) displays a notification on his screen.}
    other {$(pn) displays a notification on its screen.}}

If the current product gender is feminine and the product name is "Echo Show", this method will return "Echo Show displays a notification on her screen."

[!IMPORTANT] Do not use the name "pngender" as a named argument, as it is a reserved key by ProductNameFormat. If a "pngender" named argument is passed in the argument map, this method will fail.


formatPositional()

static formatPositional(pattern, productNameType, …args): null | string

Formats the specified pattern with product name substitution for the default locale. Optionally, the pattern may also be a MessageFormatClassic pattern with numbered arguments. The pattern is expected to contain one or more "$(pn)" substrings as placeholders for the product name.

See format() method regarding support for "pngender" product name gender message selection.

Parameters

pattern

string

The pattern to format.

productNameType

ProductNameType = ProductNameType.DEFAULT

Type of product name to use.

args

…(string | number | Date)[]

Optional array of argument values

Returns

null | string

Formatted message with the specified product name replaced in place of "$(pn)" on success, null on failure.


getMajorVersion()

static getMajorVersion(): number

Gets the major version number.

Returns

number

Major version number.


getMinorVersion()

static getMinorVersion(): number

Gets the minor version number.

Returns

number

Minor version number.


getPatchVersion()

static getPatchVersion(): number

Gets the patch version number.

Returns

number

Patch version number.


Last updated: Sep 29, 2025