mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge pull request #6720 from Ocelot-Social-Community/6712-fix-set-post-language-if-undedected
fix(backend): fix post language detection
This commit is contained in:
commit
4d66e10425
@ -131,4 +131,25 @@ describe('languagesMiddleware', () => {
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
describe('detects no language', () => {
|
||||
it('has default language', async () => {
|
||||
variables = {
|
||||
...variables,
|
||||
content: '',
|
||||
}
|
||||
await expect(
|
||||
mutate({
|
||||
mutation: createPostMutation,
|
||||
variables,
|
||||
}),
|
||||
).resolves.toMatchObject({
|
||||
data: {
|
||||
CreatePost: {
|
||||
language: 'en',
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,20 +1,24 @@
|
||||
import LanguageDetect from 'languagedetect'
|
||||
import { removeHtmlTags } from '../helpers/cleanHtml'
|
||||
|
||||
const setPostLanguage = (text) => {
|
||||
const setPostLanguage = (text, defaultLanguage) => {
|
||||
const lngDetector = new LanguageDetect()
|
||||
lngDetector.setLanguageType('iso2')
|
||||
return lngDetector.detect(removeHtmlTags(text), 1)[0][0]
|
||||
let languages = lngDetector.detect(removeHtmlTags(text), 1)
|
||||
if (!(Array.isArray(languages) && languages.length > 0)) {
|
||||
languages = [[defaultLanguage, 1.0]]
|
||||
}
|
||||
return languages[0][0]
|
||||
}
|
||||
|
||||
export default {
|
||||
Mutation: {
|
||||
CreatePost: async (resolve, root, args, context, info) => {
|
||||
args.language = await setPostLanguage(args.content)
|
||||
args.language = await setPostLanguage(args.content, context.user.locale)
|
||||
return resolve(root, args, context, info)
|
||||
},
|
||||
UpdatePost: async (resolve, root, args, context, info) => {
|
||||
args.language = await setPostLanguage(args.content)
|
||||
args.language = await setPostLanguage(args.content, context.user.locale)
|
||||
return resolve(root, args, context, info)
|
||||
},
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user