All Projects → parrot-translate → Parrot

parrot-translate / Parrot

Licence: mit
Self-hosted Localization Management Platform built with Go and Angular

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Parrot

Traduora
Ever® Traduora - Open-Source Translation Management Platform
Stars: ✭ 1,580 (+63.39%)
Mutual labels:  api, self-hosted, translation, localization, i18n
rosetta
A blazing fast internationalization (i18n) library for Crystal with compile-time key lookup.
Stars: ✭ 23 (-97.62%)
Mutual labels:  i18n, translation, localization
Fluent.js
JavaScript implementation of Project Fluent
Stars: ✭ 622 (-35.68%)
Mutual labels:  translation, i18n, localization
Frenchkiss.js
The blazing fast lightweight internationalization (i18n) module for javascript
Stars: ✭ 776 (-19.75%)
Mutual labels:  translation, i18n, localization
Mobility
Pluggable Ruby translation framework
Stars: ✭ 644 (-33.4%)
Mutual labels:  translation, i18n, localization
inlang
Open Source Localization Solution for Software.
Stars: ✭ 160 (-83.45%)
Mutual labels:  i18n, translation, localization
i18n-tag-schema
Generates a json schema for all i18n tagged template literals in your project
Stars: ✭ 15 (-98.45%)
Mutual labels:  i18n, translation, localization
fluent-vue
Internationalization plugin for Vue.js
Stars: ✭ 137 (-85.83%)
Mutual labels:  i18n, translation, localization
Mojito
An automation platform that enables continuous localization.
Stars: ✭ 256 (-73.53%)
Mutual labels:  translation, i18n, localization
Tower
i18n & L10n library for Clojure/Script
Stars: ✭ 264 (-72.7%)
Mutual labels:  translation, i18n, localization
Eo Locale
🌏Internationalize js apps 👔Elegant lightweight library based on Internationalization API
Stars: ✭ 290 (-70.01%)
Mutual labels:  translation, i18n, localization
i18n
internationalize projects to Arabic
Stars: ✭ 67 (-93.07%)
Mutual labels:  i18n, translation, localization
i18n.cr
Internationalization API ( i18n ) for Crystal!
Stars: ✭ 36 (-96.28%)
Mutual labels:  i18n, translation, localization
translation
👅 Translations (symfony/translation) to Nette Framework (@nette)
Stars: ✭ 55 (-94.31%)
Mutual labels:  i18n, translation, localization
mobility-actiontext
Translate Rails Action Text rich text with Mobility.
Stars: ✭ 27 (-97.21%)
Mutual labels:  i18n, translation, localization
plate
Internationalization library for Python
Stars: ✭ 31 (-96.79%)
Mutual labels:  i18n, translation, localization
React Localize Redux
Dead simple localization for your React components
Stars: ✭ 384 (-60.29%)
Mutual labels:  translation, i18n, localization
Deeply
PHP client for the DeepL.com translation API (unofficial)
Stars: ✭ 152 (-84.28%)
Mutual labels:  api, translation, i18n
labels
Bolt Labels extension - Translatable labels for Bolt
Stars: ✭ 18 (-98.14%)
Mutual labels:  i18n, translation, localization
Js Lingui
🌍📖 A readable, automated, and optimized (5 kb) internationalization for JavaScript
Stars: ✭ 3,249 (+235.99%)
Mutual labels:  translation, i18n, localization

Parrot

Codacy Badge Docs MIT License

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.

Features

  • Built-in UI (web app) ready to deploy.
  • REST API to easily extend or integrate Parrot into your pipeline.
  • Export to various formats: keyvaluejson, po, strings, properties, xmlproperties, android, php, xlsx, yaml and csv.
  • 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/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.

Configuration

API

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"

Web App

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"

License

This project is licensed under the MIT license.

Issues

The recommended medium to report and track issues is by opening one on Github.

Contributing

Want to hack on the project? Any kind of contribution is welcome! Simply follow the next steps:

  • Fork the project.
  • Create a new branch.
  • Make your changes and write tests when practical.
  • Commit your changes to the new branch.
  • Send a pull request, it will be reviewed shortly.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].