Skip to content

flash-global/translate-client-js

Repository files navigation

translate-client-js

1. What is it ?

It's a javascript client to use translate api.

2. How does it work ?

alt text

3. Technical stack

  • webpack
  • vitest
  • eslint

4. How to install it and modify it

  • Execute command npm ci
  • Generate development file: execute command npm run start (result path: dist/translate.js)
    It will keep a process to re-generate the file each times you change the sources
  • Generate dist file: execute command npm run build (result path: dist/translate.js)
  • Execute unit tests: execute command npm run test (code coverage page path: coverage/lcov-report/index.html)
  • When you push your changes, don't forget to generate dist file !
  • Update the npm package: npm login(to log with yoctu account) and npm publish(don't forget to change version in package.json)

5. How to integrate it

5.1. How to get the client

5.1.1. Without ES6 modules

  • Fetch the project files (download, clone, etc...)
  • Add a <script> to use file in dist/translate-client.js

5.1.2. With ES6 modules

  • Fetch the project files (download, clone, etc...)
  • Import the client with import TranslateClient from 'translate-client-js''

5.2. How to use it

  • Create a new instance of Translate with var translateClient = new TranslateClient(config)
    Here is the default configuration :
{
    baseUrl: '',
    defaultLanguage: 'fr_FR',
    fallbackLanguage: 'en_US',
    namespace: '',
    cacheDuration: 86400,
    localStorageKey: 'translations'
} 
translateClient.translate(key)
    .then(function(translation) {
        console.log('Result: ' + translation);
    })
    .catch(function(error) {
        console.log(error);
    });
  • You can use translateClient.translateMultiple(keys) to translate an array of keys. It return the same type of promise as translateClient.translate(key)
  • You can use translateClient.getAllTranslations() to have an object with all the keys and theirs values. It return the same type of promise as translateClient.translate(key)

6. Creating a Release

  • Never modify the version field in the package.json manually.
  • Make a "draft a release" in github give it a tag using this pattern v6.6.6
    • This Tag will be stamped in the package.json

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •