UCONN

UCONN
UCONN

Assignment Exercise: Python Translate

Assignment Exercise: Python Translate


 The following code is designed to take a text box and translate the box from English to Spanish or German.

 

Need to create a directory in your cloud shell environment for your translate program

 

then add a new file

 

gcloud config set project PROJECT-ID

 

gcloud config set project uconn-app-translate

 

Start with main.py

 

================================================

from flask import Flask, request, render_template

 

# START Translate requirements

from google.cloud import translate_v2 as translate

translate_client = translate.Client()

 

# END Translate requirements

 

 

app = Flask(__name__)   # Flask is the web framework we're using

 

@app.route('/', methods=['POST','GET'])         # This defines when the function below will be called

def translate():

    if request.method == 'POST':

        data = request.form.to_dict(flat=True)

        result = translate_client.translate(data['inputText'],target_language=data["toLang"]) 

        return render_template('index.html',translatedText=result['translatedText'])

    else:

        return render_template('index.html')

 

 

if __name__ == '__main__':

    app.run(host='127.0.0.1', port=8080, debug=True)

 

===========================================================

next we create an app.yaml file

===========================================================

runtime: python37

===============================================================

then we need a requirements.txt file

===========================================================

Flask==2.0.3

google-cloud-translate

===========================================================

 

create a template directory for the html

create an index.html file

 

===========================================================

 

<!DOCTYPE html>

<html lang="en">

<head>

    <title>Translate Example</title>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.4.0/css/bootstrap.min.css">

</head>

<body>

 

    {# Navbar #}

    <nav class="navbar navbar-light bg-light">

        <div class="container">

            <a class="navbar-brand" href="/">Translate</a>

        </div>

    </nav>

 

    {# Input Section #}

    <section>

        <div class="container">

            <h2>Input</h2>

 

            {# From #}

            <form method="post" action="/">

 

                <div class="form-group">

                    <label for="inputText">Text to Translate</label>

                    <textarea name="inputText" id="inputText" class="form-control"></textarea>

                </div>

 

 

                <div class="form-row">

                    <div class="form-group col-md-3">

                        <label for="toLang">Translate To</label>

                        <select class="form-control" id="toLang" name="toLang">

                            <option value="en">English</option>

                            <option value="es">Spanish</option>

                            <option value="de">German</option>

                        </select>

                    </div>

 

                    <div class="offset-md-6 col-md-3">

                        <br>

                        <button type="submit" class="btn btn-primary btn-block mt-2">Translate</button>

                    </div>

                </div>

 

            </form>

 

        </div>

    </section>

 

    <hr>

 

    {# Output Section #}

    <section>

        <div class="container">

            <h2>Output</h2>

            <p>

                {% if translatedText %}

                    {{ translatedText }}

                {% else %}

                    Enter some text above, select a language to translate to, and click "Translate".

                {% endif %}

            </p>

        </div>

    </section>

 

</body>

 

</html>

 

 


 

Language list https://cloud.google.com/translate/docs/languages

 

 


No comments:

Post a Comment

Disable Billing

Search for Billing Manage billing accounts Go to MYPROJECTS CLICK ON THE 3 BUTTON Actions Then hit disable