Self-hosted Localization Management Platform built with Iris Web Framework (Go) and Angular 2.
NOTE: the project is no longer mantained, we suggest you look at traduora as an alternative.
- Built-in UI (web app) ready to deploy.
- REST API to easily extend or integrate Parrot into your pipeline.
- Export to various formats: keyvaluejson,
- Easily rename project strings, Parrot takes care of keeping locales in sync.
- Manage your project's team, assign collaborators and their roles.
- Control API Client access for your projects.
Building from source and try it out
Start out by cloning this repo into your GOPATH:
$ mkdir -p $GOPATH/src/github.com/iris-contrib/parrot $ cd $GOPATH/src/github.com/iris-contrib/parrot $ git clone https://github.com/iris-contrib/parrot.git .
Make sure you have Postgres running, by default Parrot's API server will look for it on
postgres://localhost:5432 and will try to connect to a database named
parrot. You can configure this using the AppConfig, see the configuration section below for more info.
To start a pre-configured Postgres instance on docker, simply run:
Now apply the database migrations. Using Alembic it's really simple:
$ cd migrations $ alembic upgrade head
Once again, if you wish to configure the DB parameters, you need to override the default values. For Alembic you just need to go to the
migrations/alembic.ini file and modify the
Finally you can build Parrot from source:
# From the root dir 'parrot' $ ./build/build-all.sh
Now we simply need start the API and serve the web app files.
Navigate to http://localhost:9990/api/v1/ping and you should be able to see if the API is up.
And on a separate terminal session, let's start a convinient Python HTTP server to serve the static web app files locally:
And to view the web app simply navigate to http://localhost:8080, it should open the login page of the web app.
At the moment, configuring the API app is only possible via environment variables. Here's the available options with their default values:
PARROT_API_PORT, default value: "9990" PARROT_DB_NAME, default value: "postgres" PARROT_DB_CONN, default value: "postgres://postgres@localhost:5432/parrot?sslmode=disable" PARROT_AUTH_ISSUER, default value: "parrot@localhost" PARROT_AUTH_SIGNING_KEY, default value: "secret"
You can also configure the Web App's backend endpoint by editing the file
parrot/web-app/src/environments/environment.prod.ts accordingly before building the Web app. Available options:
apiEndpoint, default value: "http://localhost:9990/api/v1"