Minor changes, updated README

This commit is contained in:
Piero Toffanin 2020-12-20 15:52:02 -05:00
parent 094b650be5
commit f6bd993b38
4 changed files with 55 additions and 5 deletions

View file

@ -1,2 +1,51 @@
# LibreTranslate # LibreTranslate
Free and Open Source Translation API
Free and Open Source Translation API.
Entirely self-hosted and can work in offline environments. Unlike other APIs, it doesn't rely on a commercial provider such as Google or Azure to perform translations.
![image](https://user-images.githubusercontent.com/1951843/102724116-32a6df00-42db-11eb-8cc0-129ab39cdfb5.png)
[Try it online](https://libretranslate.com) | [API Docs](https://libretranslate.com/docs)
https://libretranslate.com
## Build and Run
Make sure you have installed Python (3.8 or higher), then simply issue:
```bash
git clone https://github.com/uav4geo/LibreTranslate --recurse-submodules
cd LibreTranslate
pip install -r requirements.txt
python main.py [args]
```
## Arguments
| Argument | Description | Default |
| ------------- | ------------------------------ | -------------------- |
| --host | Set host to bind the server to | `127.0.0.1` |
| --port | Set port to bind the server to | `5000` |
| --char-limit | Set character limit | `No limit` |
| --req-limit | Set maximum number of requests per minute per client | `No limit` |
| --ga-id | Enable Google Analytics on the API client page by providing an ID | `No tracking` |
| --debug | Enable debug environment | `False` |
| --ssl | Whether to enable SSL | `5000` |
## Roadmap
Help us by opening a pull request!
- [ ] A docker image
- [ ] Auto-detect input language
- [ ] User authentication / tokens
## Credits
This work is largely possible thanks to [Argos Translate](https://github.com/argosopentech/argos-translate), which powers the translation engine.
## License
[GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html)

View file

@ -6,7 +6,7 @@ from flask_swagger_ui import get_swaggerui_blueprint
from flask_limiter.util import get_remote_address from flask_limiter.util import get_remote_address
def create_app(char_limit=-1, req_limit=-1, google_analytics=None, debug=False): def create_app(char_limit=-1, req_limit=-1, ga_id=None, debug=False):
boot() boot()
app = Flask(__name__) app = Flask(__name__)
@ -35,7 +35,7 @@ def create_app(char_limit=-1, req_limit=-1, google_analytics=None, debug=False):
@app.route("/") @app.route("/")
def index(): def index():
return render_template('index.html', gaId=google_analytics) return render_template('index.html', gaId=ga_id)
@app.route("/languages") @app.route("/languages")
def langs(): def langs():

View file

@ -292,6 +292,7 @@ document.addEventListener('DOMContentLoaded', function(){
this.$refs.inputTextarea.style.height = 150 + "px"; this.$refs.inputTextarea.style.height = 150 + "px";
this.$refs.translatedTextarea.style.height = 150 + "px"; this.$refs.translatedTextarea.style.height = 150 + "px";
}else{ }else{
this.$refs.inputTextarea.style.height = this.$refs.translatedTextarea.style.height = "1px";
this.$refs.inputTextarea.style.height = Math.max(150, this.$refs.inputTextarea.scrollHeight) + "px"; this.$refs.inputTextarea.style.height = Math.max(150, this.$refs.inputTextarea.scrollHeight) + "px";
this.$refs.translatedTextarea.style.height = Math.max(150, this.$refs.translatedTextarea.scrollHeight) + "px"; this.$refs.translatedTextarea.style.height = Math.max(150, this.$refs.translatedTextarea.scrollHeight) + "px";
} }

View file

@ -10,7 +10,7 @@ parser.add_argument('--char-limit', default=-1, metavar="<number of characters>"
help='Set character limit (%(default)s)') help='Set character limit (%(default)s)')
parser.add_argument('--req-limit', default=-1, type=int, metavar="<number>", parser.add_argument('--req-limit', default=-1, type=int, metavar="<number>",
help='Set maximum number of requests per minute per client (%(default)s)') help='Set maximum number of requests per minute per client (%(default)s)')
parser.add_argument('--google-analytics', type=str, default=None, metavar="<GA ID>", parser.add_argument('--ga-id', type=str, default=None, metavar="<GA ID>",
help='Enable Google Analytics on the API client page by providing an ID (%(default)s)') help='Enable Google Analytics on the API client page by providing an ID (%(default)s)')
parser.add_argument('--debug', default=False, action="store_true", parser.add_argument('--debug', default=False, action="store_true",
help="Enable debug environment") help="Enable debug environment")
@ -23,7 +23,7 @@ args = parser.parse_args()
if __name__ == "__main__": if __name__ == "__main__":
app = create_app(char_limit=args.char_limit, app = create_app(char_limit=args.char_limit,
req_limit=args.req_limit, req_limit=args.req_limit,
google_analytics=args.google_analytics, ga_id=args.ga_id,
debug=args.debug) debug=args.debug)
if args.debug: if args.debug:
app.run(host=args.host, port=args.port) app.run(host=args.host, port=args.port)