如何在 Django 中使用谷歌翻译?

本教程的重点是如何在 django 中使用谷歌翻译。我将向您展示 django 中的翻译应用程序。
此示例将帮助您在 django 中使用 google translate api 进行文本翻译。
一步一步解释 django 翻译示例。

在用于多语言网站的 Django 谷歌翻译库中,无需手动输入网站单词的翻译。
django 还提供使用本地化的多语言网站,但您需要在配置文件中添加每项工作。
所以使用谷歌翻译你不必做任何事情。

在这个例子中,我们将构建一个简单的翻译应用程序,将文本翻译成不同的语言。
所以,如果你想要一个像谷歌翻译这样的应用程序,那么你来对地方了。

在这里,我简单地解释了如何在 django 中使用谷歌翻译的逐步示例。

第 1 步:创建项目

在这一步中,我们将使用 django-admin 创建一个新的 django 项目。返回命令行界面并运行以下命令:

 django-admin startproject example 

第 2 步:创建应用程序

现在我们将创建一个名为core的应用程序来存储帖子名称列表。我们有意保持基本。使用Control+c停止本地服务器并使用startapp命令创建这个新应用程序。

 python3 manage.py startapp core 

第三步:更新setting.py

然后在我们的settings.py文件中更新INSTALLED_APPS以通知 Django 该应用程序。
settings.py

....
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',
]

第 4 步:安装 googletrans 库

在本节中,首先我们需要通过以下命令安装googletrans库:

 pip install googletrans 

第 5 步:创建视图

在这一步中,我们需要配置视图。translate_app页面将只是一个模板。功能基本上是获取您选择下拉菜单的语言值形式打开 core/views.py 文件并添加: core/views.py

from django.shortcuts import render
from googletrans import Translator

# Create View
def translate_app(request):
    if request.method == "POST":
        lang = request.POST.get("lang", None)
        txt = request.POST.get("txt", None)

        translator = Translator()
        tr = translator.translate(txt, dest=lang)

        return render(request, 'translate.html', {"result":tr.text})

    return render(request, 'translate.html')

第 6 步:创建模板

接下来,然后使用您的文本编辑器创建新的模板文件:core/templates/translate.html文件并添加: core/templates/translate.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tuts-Station.com</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
    <style type="text/css">
        body{
            background-color: #f7fcff;
        }
    </style>
</head>
<body>
    <div class="container mt-5 pt-5">
        <div class="row d-flex justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">
                        <h4>Django Google Translate Example Tutorial - <span class="text-primary">Tuts-Station.com</span></h4>
                    </div>
                    <div class="card-body">
                        <form method="POST" action="{% url 'trans' %}">
                            {% csrf_token %}
                            <div class="row">
                               <div class="col-md-12">
                                  <textarea type="text" name="txt" class="form-control" placeholder="Enter Your Text" rows="3" required="required"></textarea>
                               </div>
                            </div>
                            <div class="row mt-2">
                                <div class="col-md-12">
                                    <select id="inputState" class="form-control" name="lang">
                                        <option selected value="en">English</option>
                                        <option value="es">Spanish</option>
                                        <option value="fr">French</option>
                                        <option value="hi">Hindi</option>
                                    </select>
                                </div>
                            </div>
                            <div class="row mt-2">
                                <div class="col-md-12 text-center">
                                    <button type="submit" class="btn btn-primary mt-2 btn-block">Translate</button>
                                </div>
                            </div>
                        </form>
                        <p class="mt-4">{{result}}</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

第 7 步:创建 URL

在本节中,我们需要核心应用程序中的urls.py文件,但是 Django 不会使用 startapp 命令为我们创建一个。使用您的文本编辑器创建core/urls.py并粘贴以下代码。 core/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('translate/', views.translate_app, name='trans')
]

接下来,我们需要为我们的示例应用程序添加一个 URL 路径,这可以通过导入 include 并为其设置路径来完成。
example/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('core.urls')),
]

运行服务器

在这一步中,我们将运行本地开发服务器来玩我们的应用程序,而无需将其部署到网络上。

 python manage.py runserver 

接下来,使用 Web 浏览器访问 http://localhost:8000/translate 地址。

我希望它会帮助你……

快乐编码!

注意:因此,支持所有语言的 googletrans 代码如下所示:

LANGUAGES = {
    'af': 'afrikaans',
    'sq': 'albanian',
    'am': 'amharic',
    'ar': 'arabic',
    'hy': 'armenian',
    'az': 'azerbaijani',
    'eu': 'basque',
    'be': 'belarusian',
    'bn': 'bengali',
    'bs': 'bosnian',
    'bg': 'bulgarian',
    'ca': 'catalan',
    'ceb': 'cebuano',
    'ny': 'chichewa',
    'zh-cn': 'chinese (simplified)',
    'zh-tw': 'chinese (traditional)',
    'co': 'corsican',
    'hr': 'croatian',
    'cs': 'czech',
    'da': 'danish',
    'nl': 'dutch',
    'en': 'english',
    'eo': 'esperanto',
    'et': 'estonian',
    'tl': 'filipino',
    'fi': 'finnish',
    'fr': 'french',
    'fy': 'frisian',
    'gl': 'galician',
    'ka': 'georgian',
    'de': 'german',
    'el': 'greek',
    'gu': 'gujarati',
    'ht': 'haitian creole',
    'ha': 'hausa',
    'haw': 'hawaiian',
    'iw': 'hebrew',
    'he': 'hebrew',
    'hi': 'hindi',
    'hmn': 'hmong',
    'hu': 'hungarian',
    'is': 'icelandic',
    'ig': 'igbo',
    'id': 'indonesian',
    'ga': 'irish',
    'it': 'italian',
    'ja': 'japanese',
    'jw': 'javanese',
    'kn': 'kannada',
    'kk': 'kazakh',
    'km': 'khmer',
    'ko': 'korean',
    'ku': 'kurdish (kurmanji)',
    'ky': 'kyrgyz',
    'lo': 'lao',
    'la': 'latin',
    'lv': 'latvian',
    'lt': 'lithuanian',
    'lb': 'luxembourgish',
    'mk': 'macedonian',
    'mg': 'malagasy',
    'ms': 'malay',
    'ml': 'malayalam',
    'mt': 'maltese',
    'mi': 'maori',
    'mr': 'marathi',
    'mn': 'mongolian',
    'my': 'myanmar (burmese)',
    'ne': 'nepali',
    'no': 'norwegian',
    'or': 'odia',
    'ps': 'pashto',
    'fa': 'persian',
    'pl': 'polish',
    'pt': 'portuguese',
    'pa': 'punjabi',
    'ro': 'romanian',
    'ru': 'russian',
    'sm': 'samoan',
    'gd': 'scots gaelic',
    'sr': 'serbian',
    'st': 'sesotho',
    'sn': 'shona',
    'sd': 'sindhi',
    'si': 'sinhala',
    'sk': 'slovak',
    'sl': 'slovenian',
    'so': 'somali',
    'es': 'spanish',
    'su': 'sundanese',
    'sw': 'swahili',
    'sv': 'swedish',
    'tg': 'tajik',
    'ta': 'tamil',
    'te': 'telugu',
    'th': 'thai',
    'tr': 'turkish',
    'uk': 'ukrainian',
    'ur': 'urdu',
    'ug': 'uyghur',
    'uz': 'uzbek',
    'vi': 'vietnamese',
    'cy': 'welsh',
    'xh': 'xhosa',
    'yi': 'yiddish',
    'yo': 'yoruba',
    'zu': 'zulu',
}

发表评论

邮箱地址不会被公开。 必填项已用*标注