New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@aurium/i18n

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aurium/i18n

Internationalization made simple

  • 0.2.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
170
decreased by-19.81%
Maintainers
1
Weekly downloads
 
Created
Source

Internationalization made Simple

The focus of this project is to make the i18n call to look simple, clean and obvious.

Instaling

npm install @aurium/i18n

Usage

var l10nData = {
  en: {
    some_string: 'Some string.',
    has_n_aples: ['There is one apple.', 'There are {num} apples.']
  },
  pt_br: {
    some_string: 'Algum texto.',
    has_n_aples: ['Existe uma maçã.', 'Existem {num} maçãs.']
  }
}

const i18nBuilder = require('@aurium/i18n')
var i18n = i18nBuilder(l10nData, ['pt-Br', 'es'])

console.log('>> '+ i18n.some_string)
console.log('>> '+ i18n.has_n_aples.plural(5))

Using with Typescript + Vue

/src/i18n/index.ts

import Vue from 'vue'
import i18nBuilder, { i18nProxy, LangData } from '@aurium/i18n'

const l10nData = {
  en: require('./l10n.en.js') as LangData,
  pt: require('./l10n.pt.js') as LangData
}

const i18n = i18nBuilder(l10nData)
export default i18n

// Allows Vue components to easily access localization results:
Vue.use({
  install (_Vue: typeof Vue): void {
    Object.defineProperty(_Vue.prototype, 'l10n', {
      get: () => i18n
    })
  }
})

declare module 'vue/types/vue' {
  interface Vue {
    l10n: i18nProxy;
  }
}

/src/main.ts

import Vue from 'vue'
import './i18n'
const app = new Vue({
  render: h => h(App)
}).$mount('#app')

/src/components/SomeTest.ts

<template>
  <strong>{{l10n.some_string}}</strong>
</template>

<script lang='ts'>
@Component()
export default class SomeTest extends Vue {
  ...
}
</script>

⚠ You must create localization files (like /src/i18n/l10n.en.js and /src/i18n/l10n.pt.js) to get it working. You may like to use the extract-i18n-keys command to help.

⚠ The localization file format may not fit to your code pattern. If you wont to format this files, you can tell eslint to ignore they. .eslintrc.js:

module.exports = {
  ...,
  ignorePatterns: ['l10n.*.js'],
  rules: { ... },
  ...
}

Extracting i18n keys from source code

This package provides the extract-i18n-keys cli, that can find for keys like i18n.some_string and add this to l10n files. You can run this command to add each new key you just write to the l10n files, without change current ones.

extract-i18n-keys can write js file modules with occurrences information, or clean json files. You can also change your proxy var name from i18n to any other and use the -p|--i18n-proxy-name parameter to inform that.

For more details, read extract-i18n-keys --help.

Hacking and Contributing

Please, read the contributing page.

Keywords

FAQs

Package last updated on 18 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc