Code Monkey home page Code Monkey logo

fluent_conv's Introduction

travis npm

Download

The source is available for download from GitHub. Alternatively, you can install using npm:

npm install --save fluent_conv

You can then import or require() fluent_conv as normal:

import fluent from 'fluent_conv'
// or
const fluent = require('fluent_conv')

fluent.ftl2js(str, (err, res) => {}, { respectComments: true })

Or you can direclty import or require() its functions:

import ftl2js from 'fluent_conv/ftl2js'
// or
const ftl2js = require('fluent_conv/cjs/ftl2js')

ftl2js optional parameters

{
    // If set to `false` will ignore all kind of comments.
    // Useful for one-way conversion from ftl to js files.
    respectComments: true,
}

Usage

const ftl = `
emails =
  { $unreadEmails ->
    [one] You have one unread email.
   *[other] You have { $unreadEmails } unread emails.
  }

-brand-name =
  {
   *[nominative] Firefox
    [accusative] Firefoxa
  }

-another-term = another term

app-title = { -brand-name }

restart-app = Zrestartuj { -brand-name[accusative] }.

# Note: { $title } is a placeholder for the title of the web page
# captured in the screenshot. The default, for pages without titles, is
# creating-page-title-default.
login = Predefined value
  .placeholder = [email protected]
  .aria-label = Login input value
  .title = Type your login email

logout = Logout
`

const js = {
  emails:
    "{ $unreadEmails ->\n  [one] You have one unread email.\n *[other] You have { $unreadEmails } unread emails.\n}",
  "-brand-name": "{\n *[nominative] Firefox\n  [accusative] Firefoxa\n}",
  "-another-term": "another term",
  "app-title": "{ -brand-name }",
  "restart-app": "Zrestartuj { -brand-name[accusative] }.",
  login: {
    comment:
      "Note: { $title } is a placeholder for the title of the web page\ncaptured in the screenshot. The default, for pages without titles, is\ncreating-page-title-default.",
    val: "Predefined value",
    placeholder: "[email protected]",
    "aria-label": "Login input value",
    title: "Type your login email"
  },
  logout: "Logout"
}

import ftl2js from 'fluent_conv/ftl2js'
const res = ftl2js(ftl)
// res is like js
// or with callback
ftl2js(ftl, (err, res) => {
  // res is like js
})


import js2ftl from 'fluent_conv/js2ftl'
const res = js2ftl(js)
// res is like ftl
// or with callback
js2ftl(js, (err, res) => {
  // res is like ftl
})

fluent_conv's People

Contributors

adrai avatar jamuhl avatar elforastero avatar cescoallegrini avatar

Watchers

 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.