codedge / trnsltr
A translation service with DeepL integration using (in-memory) caching to save translated texts.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 7
pkg:composer/codedge/trnsltr
Requires
- php: >=7.3.0
 - ext-json: *
 - awurth/slim-validation: ^3.1
 - guzzlehttp/guzzle: ^6.3
 - illuminate/database: ^5.8
 - monolog/monolog: ^1.17
 - predis/predis: ^1.1
 - robmorgan/phinx: ^0.10.6
 - slim/slim: ^3.1
 - tightenco/collect: ^5.8
 - tuupola/cors-middleware: ^0.9.4
 - tuupola/slim-jwt-auth: ^3.3
 - vlucas/phpdotenv: ^3.3
 
Requires (Dev)
- phpunit/phpunit: ^7.0
 - slevomat/coding-standard: ^5.0
 
- dev-master
 - v0.2
 - v0.1
 - dev-dependabot/npm_and_yarn/frontend/eslint-utils-1.4.2
 - dev-dependabot/npm_and_yarn/frontend/lodash-4.17.14
 - dev-dependabot/npm_and_yarn/frontend/lodash.defaultsdeep-4.6.1
 - dev-dependabot/npm_and_yarn/frontend/js-yaml-3.13.1
 - dev-dependabot/npm_and_yarn/frontend/webpack-bundle-analyzer-3.3.2
 
This package is auto-updated.
Last update: 2020-08-27 00:23:06 UTC
README
trnsltr - a translation caching service backed by DeepL
trnsltr is a translation caching service that stores already translated data in (currently) Redis. Words and texts that are not already in cache are going to be send to the DeepL API, will be translated, stored in cache and then being returned.
It brings a separate Vue.js frontend and a Slim Framework based backend.
Backend
Configuration
The backend configuration can be done via environment variables, easily to be changed in a .env file. You can check
the .env.example file for configuration vars.
Redis
REDIS_HOST: default127.0.0.1REDIS_PORT: default6379REDIS_DATABASE: default0
If you are fine with the default you can remove all REDIS_* config keys from your .env file.
DeepL
DEEPL_HOST: defaulthttps://api.deepl.comDEEPL_API_TOKEN[provide your API token]
JWT (Json Web Tokens) For authentication JWT (Json Web Tokens) are used. Please specify a strong secret to encrypt the token.
APP_API_SECRET: defaultsecret
A requirement for this to work is a working database connection to some users table where all your users are saved.
When this is set up, you can use the /auth/token route to get a valid token.
If you want to generate a new users table you can run
$ vendor/bin/phinx migrate
Example for getting a token:
$ curl -d "email=john.doe@example.com&password=test123" -X POST http://trnsltr.localhost:8081/auth/token
Response:
{
    "status":"Success",
    "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiZW1haWwiOiJobEBpbnF1ZW5jZS5jb20ifQ.qVLAR8MtHKxg38sCu7sWRZVjLdsd4eONHah4_HcrnHE"
}
Frontend
You can run frontend and backend separately. To configure where your backend is reachable create a .env file in your frontend/ folder
or copy the .env.example file.
The variable VUE_APP_API_URL is the url to the backend API. Under which URL you run the frontend is totally up to you.
For authentication against the backend please generate a valid token
VUE_APP_API_URL=localhost VUE_APP_API_TOKEN=abc123