Coder Social home page Coder Social logo

chrome-intl-code-gen's Introduction

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);
}

chrome-intl-code-gen's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.