@freddieridell/glot

    0.0.8 • Public • Published

    Glot

    min badge minzipped badge

    A tiny, simple, powerful, expressive, i18n library

    Usage

    import createGlot from "@freddieridell/glot";
    import { format as formatDate } from "date-fns/fp";
     
    //initalise with dictionary
    const glot = createGlot({
        en: {
            greetings: "'ello, govna'",
            date: "yyyy-MM-dd",
            thing_1: "number one",
            thing_2: "number two",
        },
        fra: {
            greetings: "'sup, Monsieur",
        },
    })({ lang: "en" });
     
    //basic usage
    console.log(glot`greetings`);
    console.log(glot`INVALID_KEY`);
     
    //switch language
    console.log(glot({ lang: "fra" })`greetings`);
    const foreverFrench = glot({ lang: "fra" });
    console.log(foreverFrench`greetings`);
     
    //create parameterized functions
    const localisedDteFormatter = glot({ mkFn: formatDate })`date`;
    console.log(localisedDteFormatter(new Date()));
     
    // interpolate values
    new Array(2).fill(null).map((_, i) => console.log(glot`thing_${+ 1}`));

    Todo

    • create companion react component
    • think about pluralisation
    • types
      • reasonml
      • flow
      • typescript
    • tune babel config to reduce bundle size
    • write tests, full coverage
    • write better readme
    • write better readme

    Install

    npm i @freddieridell/glot

    DownloadsWeekly Downloads

    1

    Version

    0.0.8

    License

    ISC

    Unpacked Size

    6.45 kB

    Total Files

    5

    Last publish

    Collaborators

    • freddieridell