mirror of
https://github.com/morpheus65535/bazarr.git
synced 2024-09-20 07:25:58 +08:00
Fixed chinese audio language (#2632)
This commit is contained in:
parent
609349b400
commit
4887066000
|
@ -54,6 +54,13 @@ def create_languages_dict():
|
|||
TableSettingsLanguages.code3b))
|
||||
.all()]
|
||||
|
||||
def audio_language_from_alpha2(lang):
|
||||
lang_map = {
|
||||
'Chinese': 'zh',
|
||||
'Portuguese (Brazil)': 'pb'
|
||||
}
|
||||
|
||||
return language_from_alpha2(lang_map.get(lang, lang))
|
||||
|
||||
def language_from_alpha2(lang):
|
||||
return next((item['name'] for item in languages_dict if item['code2'] == lang[:2]), None)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import os
|
||||
|
||||
from app.config import settings
|
||||
from languages.get_languages import language_from_alpha2
|
||||
from languages.get_languages import audio_language_from_alpha2
|
||||
from radarr.info import get_radarr_info
|
||||
from utilities.video_analyzer import embedded_audio_reader
|
||||
from utilities.path_mappings import path_mappings
|
||||
|
@ -117,9 +117,7 @@ def movieParser(movie, action, tags_dict, language_profiles, movie_default_profi
|
|||
for item in movie['movieFile']['languages']:
|
||||
if isinstance(item, dict):
|
||||
if 'name' in item:
|
||||
language = item['name']
|
||||
if item['name'] == 'Portuguese (Brazil)':
|
||||
language = language_from_alpha2('pb')
|
||||
language = audio_language_from_alpha2(item['name'])
|
||||
audio_language.append(language)
|
||||
|
||||
tags = [d['label'] for d in tags_dict if d['id'] in movie['tags']]
|
||||
|
|
|
@ -5,6 +5,7 @@ import os
|
|||
from app.config import settings
|
||||
from app.database import TableShows, database, select
|
||||
from constants import MINIMUM_VIDEO_SIZE
|
||||
from languages.get_languages import audio_language_from_alpha2
|
||||
from utilities.path_mappings import path_mappings
|
||||
from utilities.video_analyzer import embedded_audio_reader
|
||||
from sonarr.info import get_sonarr_info
|
||||
|
@ -115,13 +116,13 @@ def episodeParser(episode):
|
|||
item = episode['episodeFile']['language']
|
||||
if isinstance(item, dict):
|
||||
if 'name' in item:
|
||||
audio_language.append(item['name'])
|
||||
audio_language.append(audio_language_from_alpha2(item['name']))
|
||||
elif 'languages' in episode['episodeFile'] and len(episode['episodeFile']['languages']):
|
||||
items = episode['episodeFile']['languages']
|
||||
if isinstance(items, list):
|
||||
for item in items:
|
||||
if 'name' in item:
|
||||
audio_language.append(item['name'])
|
||||
audio_language.append(audio_language_from_alpha2(item['name']))
|
||||
else:
|
||||
audio_language = database.execute(
|
||||
select(TableShows.audio_language)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { FunctionComponent } from "react";
|
||||
import { Badge, BadgeProps, Group, GroupProps } from "@mantine/core";
|
||||
import { BuildKey } from "@/utilities";
|
||||
import { normalizeAudioLanguage } from "@/utilities/languages";
|
||||
|
||||
export type AudioListProps = GroupProps & {
|
||||
audios: Language.Info[];
|
||||
|
@ -16,7 +17,7 @@ const AudioList: FunctionComponent<AudioListProps> = ({
|
|||
<Group gap="xs" {...group}>
|
||||
{audios.map((audio, idx) => (
|
||||
<Badge color="blue" key={BuildKey(idx, audio.code2)} {...badgeProps}>
|
||||
{audio.name}
|
||||
{normalizeAudioLanguage(audio.name)}
|
||||
</Badge>
|
||||
))}
|
||||
</Group>
|
||||
|
|
|
@ -31,6 +31,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||
import { Language } from "@/components/bazarr";
|
||||
import { BuildKey } from "@/utilities";
|
||||
import {
|
||||
normalizeAudioLanguage,
|
||||
useLanguageProfileBy,
|
||||
useProfileItemsToLanguages,
|
||||
} from "@/utilities/languages";
|
||||
|
@ -87,7 +88,7 @@ const ItemOverview: FunctionComponent<Props> = (props) => {
|
|||
icon={faMusic}
|
||||
title="Audio Language"
|
||||
>
|
||||
{v.name}
|
||||
{normalizeAudioLanguage(v.name)}
|
||||
</ItemBadge>
|
||||
)) ?? [],
|
||||
[item?.audio_language],
|
||||
|
|
|
@ -51,3 +51,7 @@ export function useLanguageFromCode3(code3: string) {
|
|||
[data, code3],
|
||||
);
|
||||
}
|
||||
|
||||
export const normalizeAudioLanguage = (name: string) => {
|
||||
return name === "Chinese Simplified" ? "Chinese" : name;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue