gpt4 book ai didi

java - Spring Boot Web 应用程序中的语言翻译

转载 作者:行者123 更新时间:2023-12-01 16:47:12 29 4
gpt4 key购买 nike

我是 springboot 的新手,我正在尝试创建一个 Web 应用程序来翻译正在呈现的页面的语言。

我知道实现此目的的方法之一是创建 LocaleResolverLocaleChangeInterceptorbean 并将此拦截器添加到实现的方法中WebMvcConfigurer 的。这个过程非常乏味和忙碌,因为它需要对页面上显示的每个单词进行每一个翻译。这是一个例子:

我正在尝试翻译的网页;

<!DOCTYPE html>
<html lang="en" xmlns:th="https://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Teacher page</title>
<link rel="stylesheet" th:href="@{~/css/landing.css}">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<body>

<div th:replace="fragments/frag :: header"></div>

<div class="container">
<div class="row">
<div class="col-md-4">

<h2 th:text="#{form}"></h2>

<form th:action="@{/teacher/save}" method="post" th:object="${teacher}">
<input th:field="*{id}" hidden>

<div class="form-group">
<label for="name" th:text="#{name}"></label>
<input type="text" class="form-control" id="name" th:field="*{name}">
<span class="class_css" th:text="${teacherError.nameError}"></span>
</div>

<div class="form-group">
<label for="mobileNumber" th:text="#{mobile}"></label>
<input type="text" class="form-control" id="mobileNumber" th:field="*{mobileNumber}">
<span class="class_css" th:text="${teacherError.mobileNumberError}"></span>
</div>

<div class="form-group">
<label for="exampleInputEmail1" th:text="#{email}"></label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" th:field="*{email}">
<span class="class_css" th:text="${teacherError.emailError}"></span>
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>


<button type="submit" class="btn btn-dark" th:text="#{submit}"></button>
</form>
<span th:text="${message}"></span>

</div>

<div class="col-md-8">
<h3 th:text="#{display}"></h3>

<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col" th:text="#{serial}"></th>
<th scope="col" th:text="#{name}"></th>
<th scope="col" th:text="#{mobile}"></th>
<th scope="col" th:text="#{email}"></th>
<th scope="col" th:text="#{status}"></th>
<th scope="col" th:text="#{action}"></th>
</tr>
</thead>
<tbody>
<tr th:each="teacher, istat: ${teacherList}">
<td th:text="${istat.index + 1}"></td>
<td th:text="${teacher.name}"></td>
<td th:text="${teacher.mobileNumber}"></td>
<td th:text="${teacher.email}"></td>
<td>ACTIVE</td>
<td><a th:href="@{/teacher/edit}+${teacher.id}"><button class="btn btn-warning">Edit</button></a></td>

</tr>

</tbody>
</table>

</div>

</div>
</div>

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>

</body>
</html>

仅针对此页面,我就创建了 messages.properties、messages_np.propertoies(将其转换为尼泊尔语)和 messages_fr.properties 将其转换为法语。

institute=Institute
info=Info
teacher=Teacher
departments=Departments
form=Form
display=Display Data
name=Name
mobile=Mobile Number
email=Email Address
address=Address
status=Status
action=Action
submit=Submit
serial=S No.

消息.属性

institute=संस्थान
info=जानकारी
teacher=शिक्षक
departments=विभागहरु
form=फारम
display=प्रदर्शन
name=नाम
mobile=मोबाइल
email=ईमेल
address=ठेगाना
status=स्थिति
action=कार्य
submit=बुझाउनुहोस्
serial=सिरियल

messages_np.properties

institute=Institut
info=Info
teacher=Prof
departments=Départements
form=Forme
display=Afficher
name=Nom
mobile=Mobile
email=Email
address=Adresse
status=Statut
action=Action
submit=Soumettre
serial=En série

messages_fr.properties

现在,我想做的是,我不想自己编写所有这些翻译,而是想将这些英语数据/单词传递给一些现有的翻译人员(例如 Google 翻译),获取这些数据返回并在同一页面上重新渲染。

有什么办法可以做到这一点吗?

或者有什么更好的方法可以做到这一点,让我不必自己翻译网页上的所有这些单词?

最佳答案

翻译器会出现很多错误,从长远来看这是一个坏主意。

我在职业生涯中就遇到过这种情况。

您必须在不同的属性文件中维护所有语言文本,这也是有效的。

关于java - Spring Boot Web 应用程序中的语言翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61749473/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com