📜  法语到英语 - Html (1)

📅  最后修改于: 2023-12-03 15:40:44.139000             🧑  作者: Mango

将法语翻译成英语并使用HTML格式显示

在这个项目中,我们将介绍如何使用Python编写一个程序,将法语文本翻译成英语,并使用HTML格式将其显示在前端界面上。

准备工作

要开始这个项目,我们需要先安装以下的Python库:

  • requests
  • BeautifulSoup4
  • googletrans

你可以在终端中通过以下命令快速安装它们:

pip install requests
pip install beautifulsoup4
pip install googletrans==4.0.0-rc1
实现步骤
  1. 导入所需要的库

我们需要导入以上三个Python库来实现这个项目。可以用以下代码导入:

import requests
from bs4 import BeautifulSoup
from googletrans import Translator
  1. 获取法语文本并翻译

使用requests库,我们将从网页中获取法语文本。在本例中,我们将从https://www.linternaute.fr/dictionnaire/fr/提取文本。你可以将该url替换成其他任何法语文本的url。

接着,使用googletrans库,我们将翻译法语文本成英语。将翻译后的文本存储为翻译后的文本。

#获取法语文本
url = "https://www.linternaute.fr/dictionnaire/fr/"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

#将法语文本翻译成英语
translator = Translator()
text_to_translate = soup.find('h1').text
translated_text = translator.translate(text_to_translate, dest='en').text
  1. 使用HTML格式将翻译后的文本显示在前端界面上

在这个项目中,我们将使用Flask框架来实现前端的开发。我们将在一个HTML文件中显示翻译后的文本。

该HTML文件需要导航栏、文本框和翻译后的文本输出。我们将使用Bootstrap 4实现界面的美化。

以下是HTML代码片段:

<!-- 导航栏 -->
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
    <a class="navbar-brand" href="#">翻译器</a>
</nav>

<div class="container-fluid mt-3">
    <h3> 将法语翻译成英语 </h3>

    <!-- 输入框 -->
    <div class="input-group mb-3">
        <input type="text" class="form-control" placeholder="法语文本" aria-label="法语文本">
        <button class="btn btn-outline-secondary" type="button" id="button-translate" onclick="translate();">翻译</button>
    </div>

    <!-- 翻译后文本输出 -->
    <div class="output">
        <p id="translated-text"></p>
    </div>
</div>

注意ID值需要与下面的JavaScript代码片段中的代码保持一致。

以下是JavaScript代码片段。它将调用我们之前写好的函数,将翻译后的文本输出到id为'translated-text'的HTML元素中。

function translate() {
    //获取输入文本
    var input_text = document.getElementByClassName('input-group')[0].value;
    
    //翻译文本
    fetch('/translate', {
        method: 'POST',
        body: JSON.stringify({
            text: input_text
        })
    }).then(function(response) {
        return response.json();
    }).then(function(data) {
        //将翻译后的文本输出到HTML元素中
        document.getElementById('translated-text').innerHTML = data.translated_text;
    });
}

最后,使用以下代码让Flask监听服务器并渲染HTML文件。

from flask import Flask, render_template, request, jsonify

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/translate', methods=['POST'])
def translate():
    #读取输入的法语文本
    french_text = request.json['text']
    #将法语文本翻译成英语
    translator = Translator()
    english_text = translator.translate(french_text, dest='en').text
    
    #以JSON格式返回已翻译文本
    return jsonify({'translated_text': english_text})

if __name__ == '__main__':
    app.run()
结论

恭喜,您已经成功地使用Python将法语文本翻译成英语,并使用HTML格式将其显示在前端界面上。通过了解这个项目,你将不仅学到如何使用不同的Python库和Flask框架,而且能为你自己的项目提供有用的解决方案。