Self-hosted Localization Management Platform built with Go and Angular 2.
Documentation
Website
Gitter Chat Room
NOTE: the project is no longer mantained, we suggest you look at traduora as an alternative.
po
, strings
, properties
, xmlproperties
, android
, php
, xlsx
, yaml
and csv
.Start out by cloning this repo into your GOPATH:
$ mkdir -p $GOPATH/src/github.com/parrot-translate/parrot
$ cd $GOPATH/src/github.com/parrot-translate/parrot
$ git clone https://github.com/parrot-translate/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:
$ dev-tools/start-postgres.sh
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 sqlalchemy.url
accordingly.
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.
$ dist/parrot_api
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:
$ dev-tools/serve-web-app.sh
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://[email protected]:5432/parrot?sslmode=disable"
PARROT_AUTH_ISSUER, default value: "[email protected]"
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"
This project is licensed under the MIT license.
The recommended medium to report and track issues is by opening one on Github.
Want to hack on the project? Any kind of contribution is welcome! Simply follow the next steps:
In case you want to add a feature, please create a new issue and briefly explain what the feature would consist of. For bugs or requests, before creating an issue please check if one has already been created for it.