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
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
There are 2 options to use itl-server
as following:
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 defaultcsvPath
:language.csv
file contains translated languages
If you don't use express
, there are 3 methods that you can use:
// Import the methods
import { setPath, getSupportedLanguages, getLanguagePack } from "itl-server";
Syntax:
setPath(path: string) => void;
Where:
path
is the path tolanguages.csv
file. Best to use withpath
resolver
Syntax:
getSupportedLanguages() :
Promise<{ [code: string]: string }>
// => { en: "English", fr: "French (Français)", ... }
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 commaversion
(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__!', ...]
// }
// }