chrome-intl-code-gen
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Chrome intl Code Gen

npm GitHub issues

It provide a webpack plugin for watching chrome extesion's _locales directory, if locale file changed, A typescript file which contains a type-safe version of chrome.i18n.getMessage will be generated at the output path. the file contents includes a default export and multiple exports like this. Also you can customize your own generated content with the template option.

/* eslint-disable */
// This file is generated by chrome-i18n-code-gen, do not edit it
 
export type ChromeI18nKeys = "extName" | "extDescription"
 
export default function i18n(key: ChromeI18nKeys): string {
    return chrome.i18n.getMessage(key)
}
        
/**
* extension name
*/
export function extName(): string {
    return chrome.i18n.getMessage('extName')
}
            
/**
* extension description
*/
export function extDescription(): string {
    return chrome.i18n.getMessage('extDescription')
}

Usage

const ChromeIntlCodeGenPlguin = require('chrome-intl-code-gen').default;
 
[
    new ChromeIntlCodeGenPlguin({
      input: "public/_locales",
      output: "src/shared/locale.ts"
    })
]

Options

interface Options {
    /**
     * path of `_locales` directory 
     */
    input: string;
    /**
     * output typescript file path
     */
    output: string;
    /**
     * base language, defaults to en
     */
    base?: string;
    /**
     * optional custom template function to generate your own output file
     * interface Message { [keyName: string]: { "message": string;  "description": string; } }
     */
    template?: ((data: Message) => string);
}

Package Sidebar

Install

npm i chrome-intl-code-gen

Weekly Downloads

6

Version

1.0.4

License

ISC

Unpacked Size

13.1 kB

Total Files

12

Last publish

Collaborators

  • quillzhou