Skip to content

Commit ab5aa42

Browse files
authored
Bulk translation (#2355)
1 parent 5fca5bd commit ab5aa42

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

frontend/src/modules/project-detail/project-detail.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const ProjectDetail = ({ data: inData, isModal, setVisible }) => {
5353
const translated = await translationService.getTranslatedResources(
5454
[detailData],
5555
router.locale,
56-
['title', 'summary', 'background', 'purpose']
56+
['title', 'summary', 'background', 'purpose', 'highlights']
5757
)
5858

5959
detailData = {
@@ -62,6 +62,7 @@ const ProjectDetail = ({ data: inData, isModal, setVisible }) => {
6262
summary: translated[0].summary || detailData.summary,
6363
background: translated[0].background || detailData.background,
6464
purpose: translated[0].purpose || detailData.purpose,
65+
highlights: translated[0].highlights || detailData.highlights,
6566
}
6667
} catch (error) {
6768
console.error('Translation error:', error)

frontend/src/utils/translationService.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,17 @@ class TranslationService {
3434
if (translation) {
3535
const translatedFields = {}
3636
fields.forEach((field) => {
37-
if (translation[field] && translation[field].trim() !== '') {
38-
translatedFields[field] = translation[field]
37+
if (translation[field]) {
38+
if (Array.isArray(translation[field])) {
39+
if (translation[field].length > 0) {
40+
translatedFields[field] = translation[field]
41+
}
42+
} else if (
43+
typeof translation[field] === 'string' &&
44+
translation[field].trim() !== ''
45+
) {
46+
translatedFields[field] = translation[field]
47+
}
3948
}
4049
})
4150
return {

0 commit comments

Comments
 (0)