Home
Softono
fluent-vue

fluent-vue

Open source MIT TypeScript
276
Stars
13
Forks
4
Issues
3
Watchers
1 week
Last Commit

About fluent-vue

Internationalization plugin for Vue.js

Platforms

Web Self-hosted

Languages

TypeScript

SWUbanner

fluent-vue logo

Internationalization plugin for Vue.js

GitHub Workflow Status codecov GitHub license

fluent-vue is a Vue.js integration for Fluent.js - JavaScript implementation of Mozilla's Project Fluent

๐Ÿš€ Features

  • Simple api for developers: Just 2 methods, 1 directive and 1 component
  • Powerfull syntax for translators: Use the entire expressive power of every language without need for changes to application source code
  • Isolation: Locale-specific logic doesn't leak to other locales. A simple string in English can map to a complex multi-variant translation in another language
  • Seamless migration: Works for both Vue 3 and 2
  • No bundler required: Usable via CDN

๐ŸŽ‰ Example

<template>
  <div>
    <div>{{ $t('hello-user', { userName }) }}</div>
    <div>{{ $t('shared-photos', { userName, photoCount, userGender }) }}</div>
  </div>
</template>

<fluent locale="en">
# Simple things are simple.
hello-user = Hello, {$userName}!

# Complex things are possible.
shared-photos =
  {$userName} {$photoCount ->
     [one] added one photo
    *[other] added {$photoCount} new photos
  } to {$userGender ->
     [male] his stream
     [female] her stream
    *[other] their stream
  }.
</fluent>

๐Ÿ“– Documentation

Documentation can be found here: https://fluent-vue.demivan.me

Examples for different Vue.js versions and build systems can be found here.

๐Ÿ“ฆ Packages

This repository is a monorepo managed with pnpm workspaces.

Package NPM Source
fluent-vue fluent-vue packages/fluent-vue
unplugin-fluent-vue unplugin-fluent-vue packages/unplugin-fluent-vue

๐Ÿ› ๏ธ Development

pnpm install
pnpm build
pnpm test
pnpm typecheck

๐Ÿ“„ License

MIT License ยฉ 2020 Ivan Demchuk