Skip to content

rebitsite/itl-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

itl-server - A simple translation server for itl

itl-server is a DIY translation service, powered by Google Translator through Spreadsheet. It is designed to only work with itl client library. It's free and simple to setup. For more details, read Translate the entire app to 103 languages: A DIY tutorial

An example is available through example branch

1. Installation

itl-server is available as an npm package. You can install using npm or yarn

// using NPM
npm install itl-server --save

// using Yarn
npm add itl-server

2. How to use

There are 2 options to use itl-server as following:

2.1. Use with express server

In case there is an available express server, all you have to do is initiate itl handlers. It will automatically create API handler for you (which are /languages/list, and /languages/:code)

Syntax:

import { initiateITLHandlers } from "itl-server/dist/itl-express";
initiateITLHandlers(app: Express, options: {
    route: string,
    csvPath: string
});

Where:

  • route?: is the API route for language request. "languages" is set by default
  • csvPath: language.csv file contains translated languages

2.2. Using available methods

If you don't use express, there are 3 methods that you can use:

// Import the methods
import { setPath, getSupportedLanguages, getLanguagePack } from "itl-server";

2.2.1 Set the languages.csv path

Syntax:

setPath(path: string) => void;

Where:

  • path is the path to languages.csv file. Best to use with path resolver

2.2.2 Get a list of supported languages

Syntax:

getSupportedLanguages() : 
    Promise<{ [code: string]: string }>
// => { en: "English", fr: "French (Français)", ... }

2.2.3 Get the language packages using codes

Syntax:

getLanguagePack(languageCodes: string, version?: string) : 
    Promise<{ [code: string]: { name: string, pharses: string[]} }>

Where:

  • languageCodes: is a list of language ISO-639-1 identifiers, separated by a comma
  • version (optional): a version stored at local cached, if the version is matched, it will not return anything

Exception:

  • Throw exception when one of the languageCodes not exists
const languages = getLanguagePack("en,fr");
// => {
//     en: {
//         name: "English",
//         phrases: [ 'Hello, __name__!', ...]
//     },
//     fr: {
//         name: "French (Français)",
//         phrases: [ 'Bonjour, __name__!', ...]
//     }
// }

About

A simple translation server for "i8" client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published