@khalyomede/translate
v0.1.2
Published
Translate a string using the free translate.googleapis.com endpoint (no API key required).
Downloads
26
Readme
@khalyomede/translate
Translate a string using the free translate.googleapis.com endpoint (no API key required).
Summary
About
I want to build a small web app to translate a term into another (exactly like the Google Translate widget we can use when searching "XYZ in english").
The only packages on NPM I found are not working or use an API requiring an API key, which I do not want to use (because it asks for my credit card).
This package is using a public URL, which is not the same endpoint used in classic Google API. This URL has the huge advantage of not requiring any API key. The disadvantage is that it is not official (but used by several public translation services), so the result of the URL call might change (and I'll make sure when it happens to update it). It seems that the result has not changes in ages, but nothing is sure, so for huge scale project, you would not rely on this library, but rather using the official Google API.
Requirements
- Node installed
- NPM or Yarn installed
Installation
In your main project folder, add this package to your dependencies.
Using NPM
npm install @khalyomede/translate
Using Yarn
yarn add @khalyomede/translate
Usage
1. Using NodeJS
In this example, we will simply translate the term "Hello" in French.
const translate = require("@khalyomede/translate");
const main = async () => {
const translation = await translate("Hello", { from: "en", to: "fr" });
console.log("Hello in french is ", translation);
};
main();
2. Using TypeScript
This is the same example as above, but with typing support.
import translate from "@khalyomede/translate";
const translation: string = await translate("Hello", [ from: "en", to: "fr" ]);
console.log("Hello in french is ", translation);
3. Using the browser
To work in the browser, you need to add a script tag to download Axios. Here is an example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js"></script>
<script src="https://unpkg.com/@khalyomede/[email protected]/dist/index.min.js"></script>
<script>
translate("Hello", { from: "en", to: "fr" }).then(function (translation) {
console.log("Hello in french is ", translation);
});
</script>
</body>
</html>