mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-16 02:18:16 -07:00
Merge branch 'master' into hadicharara/added-support-for-rtl-layouts
This commit is contained in:
commit
d9155484b4
25
.eslintrc.js
25
.eslintrc.js
@ -7,7 +7,8 @@ module.exports = {
|
||||
'react',
|
||||
'promise',
|
||||
'import',
|
||||
'eslint-comments'
|
||||
'eslint-comments',
|
||||
'sonarjs'
|
||||
],
|
||||
env: {
|
||||
node: true,
|
||||
@ -29,7 +30,8 @@ module.exports = {
|
||||
// 'plugin:promise/recommended',
|
||||
'plugin:import/errors',
|
||||
'plugin:eslint-comments/recommended',
|
||||
'plugin:compat/recommended'
|
||||
'plugin:compat/recommended',
|
||||
'plugin:sonarjs/recommended'
|
||||
],
|
||||
rules: {
|
||||
'array-callback-return': ['error'],
|
||||
@ -51,6 +53,7 @@ module.exports = {
|
||||
'no-multiple-empty-lines': ['error', { 'max': 1 }],
|
||||
'no-restricted-globals': ['error'].concat(restrictedGlobals),
|
||||
'no-return-await': ['error'],
|
||||
'no-sequences': ['error', { 'allowInParentheses': false }],
|
||||
'no-trailing-spaces': ['error'],
|
||||
'@babel/no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }],
|
||||
'no-void': ['error', { 'allowAsStatement': true }],
|
||||
@ -64,9 +67,23 @@ module.exports = {
|
||||
'space-before-blocks': ['error'],
|
||||
'space-infix-ops': 'error',
|
||||
'yoda': 'error',
|
||||
'no-sequences': ['error', { 'allowInParentheses': false }],
|
||||
|
||||
'react/jsx-filename-extension': ['error', { 'extensions': ['.jsx', '.tsx'] }]
|
||||
'react/jsx-filename-extension': ['error', { 'extensions': ['.jsx', '.tsx'] }],
|
||||
|
||||
'sonarjs/cognitive-complexity': ['warn'],
|
||||
// TODO: Enable the following rules and fix issues
|
||||
'sonarjs/max-switch-cases': ['off'],
|
||||
'sonarjs/no-collapsible-if': ['off'],
|
||||
'sonarjs/no-duplicate-string': ['off'],
|
||||
'sonarjs/no-duplicated-branches': ['off'],
|
||||
'sonarjs/no-gratuitous-expressions': ['off'],
|
||||
'sonarjs/no-identical-functions': ['off'],
|
||||
'sonarjs/no-nested-switch': ['off'],
|
||||
'sonarjs/no-redundant-jump': ['off'],
|
||||
'sonarjs/no-small-switch': ['off'],
|
||||
'sonarjs/no-unused-collection': ['off'],
|
||||
'sonarjs/prefer-object-literal': ['off'],
|
||||
'sonarjs/prefer-single-boolean-return': ['off']
|
||||
},
|
||||
settings: {
|
||||
react: {
|
||||
|
6
.github/workflows/lint.yml
vendored
6
.github/workflows/lint.yml
vendored
@ -26,7 +26,7 @@ jobs:
|
||||
run: echo "::set-output name=dir::$(npm config get cache)"
|
||||
|
||||
- name: Cache node_modules
|
||||
uses: actions/cache@ac8075791e805656e71b4ba23325ace9e3421120 # tag=v3.0.9
|
||||
uses: actions/cache@56461b9eb0f8438fd15c7a9968e3c9ebb18ceff1 # tag=v3.0.10
|
||||
id: npm-cache
|
||||
with:
|
||||
path: ${{ steps.npm-cache-dir-path.outputs.dir }}
|
||||
@ -61,7 +61,7 @@ jobs:
|
||||
run: echo "::set-output name=dir::$(npm config get cache)"
|
||||
|
||||
- name: Cache node_modules
|
||||
uses: actions/cache@ac8075791e805656e71b4ba23325ace9e3421120 # tag=v3.0.9
|
||||
uses: actions/cache@56461b9eb0f8438fd15c7a9968e3c9ebb18ceff1 # tag=v3.0.10
|
||||
id: npm-cache
|
||||
with:
|
||||
path: ${{ steps.npm-cache-dir-path.outputs.dir }}
|
||||
@ -99,7 +99,7 @@ jobs:
|
||||
run: echo "::set-output name=dir::$(npm config get cache)"
|
||||
|
||||
- name: Cache node_modules
|
||||
uses: actions/cache@ac8075791e805656e71b4ba23325ace9e3421120 # tag=v3.0.9
|
||||
uses: actions/cache@56461b9eb0f8438fd15c7a9968e3c9ebb18ceff1 # tag=v3.0.10
|
||||
id: npm-cache
|
||||
with:
|
||||
path: ${{ steps.npm-cache-dir-path.outputs.dir }}
|
||||
|
34
package-lock.json
generated
34
package-lock.json
generated
@ -20,7 +20,7 @@
|
||||
"blurhash": "2.0.0",
|
||||
"classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz",
|
||||
"classnames": "2.3.2",
|
||||
"core-js": "3.25.2",
|
||||
"core-js": "3.25.3",
|
||||
"date-fns": "2.29.3",
|
||||
"dompurify": "2.4.0",
|
||||
"epubjs": "0.3.93",
|
||||
@ -85,6 +85,7 @@
|
||||
"eslint-plugin-promise": "6.0.1",
|
||||
"eslint-plugin-react": "7.31.8",
|
||||
"eslint-plugin-react-hooks": "4.6.0",
|
||||
"eslint-plugin-sonarjs": "0.15.0",
|
||||
"expose-loader": "4.0.0",
|
||||
"html-loader": "4.2.0",
|
||||
"html-webpack-plugin": "5.5.0",
|
||||
@ -4872,9 +4873,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.25.2",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.2.tgz",
|
||||
"integrity": "sha512-YB4IAT1bjEfxTJ1XYy11hJAKskO+qmhuDBM8/guIfMz4JvdsAQAqvyb97zXX7JgSrfPLG5mRGFWJwJD39ruq2A==",
|
||||
"version": "3.25.3",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.3.tgz",
|
||||
"integrity": "sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==",
|
||||
"hasInstallScript": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@ -6416,6 +6417,18 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-sonarjs": {
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz",
|
||||
"integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-rule-composer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
|
||||
@ -21984,9 +21997,9 @@
|
||||
}
|
||||
},
|
||||
"core-js": {
|
||||
"version": "3.25.2",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.2.tgz",
|
||||
"integrity": "sha512-YB4IAT1bjEfxTJ1XYy11hJAKskO+qmhuDBM8/guIfMz4JvdsAQAqvyb97zXX7JgSrfPLG5mRGFWJwJD39ruq2A=="
|
||||
"version": "3.25.3",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.3.tgz",
|
||||
"integrity": "sha512-y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ=="
|
||||
},
|
||||
"core-js-compat": {
|
||||
"version": "3.25.3",
|
||||
@ -23343,6 +23356,13 @@
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"eslint-plugin-sonarjs": {
|
||||
"version": "0.15.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz",
|
||||
"integrity": "sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"eslint-rule-composer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
|
||||
|
@ -37,6 +37,7 @@
|
||||
"eslint-plugin-promise": "6.0.1",
|
||||
"eslint-plugin-react": "7.31.8",
|
||||
"eslint-plugin-react-hooks": "4.6.0",
|
||||
"eslint-plugin-sonarjs": "0.15.0",
|
||||
"expose-loader": "4.0.0",
|
||||
"html-loader": "4.2.0",
|
||||
"html-webpack-plugin": "5.5.0",
|
||||
@ -75,7 +76,7 @@
|
||||
"blurhash": "2.0.0",
|
||||
"classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz",
|
||||
"classnames": "2.3.2",
|
||||
"core-js": "3.25.2",
|
||||
"core-js": "3.25.3",
|
||||
"date-fns": "2.29.3",
|
||||
"dompurify": "2.4.0",
|
||||
"epubjs": "0.3.93",
|
||||
|
@ -79,8 +79,7 @@ function generateDeviceId() {
|
||||
keys.push(navigator.userAgent);
|
||||
keys.push(new Date().getTime());
|
||||
if (window.btoa) {
|
||||
const result = replaceAll(btoa(keys.join('|')), '=', '1');
|
||||
return result;
|
||||
return replaceAll(btoa(keys.join('|')), '=', '1');
|
||||
}
|
||||
|
||||
return new Date().getTime();
|
||||
|
@ -1676,5 +1676,8 @@
|
||||
"MediaInfoElPresentFlag": "DV el verfügbar Marker",
|
||||
"MediaInfoVideoRangeType": "Spektrum",
|
||||
"LabelVideoRangeType": "Spektrum:",
|
||||
"IgnoreDtsHelp": "Die Deaktivierung dieser Option könnte Probleme beheben, z. B. kein Ton auf Filmen mit getrennten Audio- und Video-Streams."
|
||||
"IgnoreDtsHelp": "Die Deaktivierung dieser Option könnte Probleme beheben, z. B. kein Ton auf Filmen mit getrennten Audio- und Video-Streams.",
|
||||
"OptionDateShowAdded": "Datum Serie hinzugefügt",
|
||||
"OptionDateEpisodeAdded": "Datum Episode hinzugefügt",
|
||||
"IgnoreDts": "DTS ignorieren (Dekodierungszeitstempel)"
|
||||
}
|
||||
|
@ -1677,5 +1677,7 @@
|
||||
"MediaInfoElPresentFlag": "Dolby Vision EL elérhető markerek",
|
||||
"MediaInfoRpuPresentFlag": "Dolby Vision rpu zászló jelen van",
|
||||
"IgnoreDtsHelp": "Ennek az opciónak a letiltása megoldhat bizonyos problémákat, pl. hiányzik a hang a külön hang- és videofolyamokkal rendelkező csatornákon.",
|
||||
"IgnoreDts": "DTS (dekódolási időbélyeg) figyelmen kívül hagyása"
|
||||
"IgnoreDts": "DTS (dekódolási időbélyeg) figyelmen kívül hagyása",
|
||||
"OptionDateShowAdded": "Műsor hozzáadásának dátuma",
|
||||
"OptionDateEpisodeAdded": "Epizód hozzáadásának dátuma"
|
||||
}
|
||||
|
@ -1412,7 +1412,7 @@
|
||||
"Season": "시즌",
|
||||
"ScanForNewAndUpdatedFiles": "새 파일 및 업데이트 된 파일 검색",
|
||||
"SaveSubtitlesIntoMediaFoldersHelp": "비디오 파일 옆에 자막을 저장하면보다 쉽게 관리 할 수 있습니다.",
|
||||
"SaveChanges": "변경 사항을 저장하다",
|
||||
"SaveChanges": "저장",
|
||||
"Restart": "재시작",
|
||||
"ResetPassword": "패스워드 리셋",
|
||||
"ReplaceAllMetadata": "모든 메타데이터 교체",
|
||||
|
@ -986,7 +986,7 @@
|
||||
"ShowAdvancedSettings": "Geavanceerde instellingen weergeven",
|
||||
"ShowIndicatorsFor": "Toon indicatoren voor:",
|
||||
"ShowTitle": "Laat de titel zien",
|
||||
"ShowYear": "Laat het jaar zien",
|
||||
"ShowYear": "Toon jaar",
|
||||
"Shows": "Series",
|
||||
"Shuffle": "Willekeurig",
|
||||
"SimultaneousConnectionLimitHelp": "Het maximum aantal toegestane gelijktijdige streams. Geef 0 in voor geen limiet.",
|
||||
@ -1502,7 +1502,7 @@
|
||||
"MessagePlaybackError": "Er was een error tijdens het afspelen van dit bestand op uw Google Cast.",
|
||||
"MessageChromecastConnectionError": "Uw Google Cast kan niet verbinden met de Jellyfin server. Controleer de verbinding en probeer opnieuw.",
|
||||
"LabelMinAudiobookResumeHelp": "Titels worden als niet afgespeeld beschouwd indien gestopt voor deze tijd.",
|
||||
"AllowVppTonemappingHelp": "Volledige hardware-gebaseerde tonemapping zonder OpenCL-filter. Werkt momenteel alleen bij het transcoderen van video's met ingesloten HDR10-metadata.",
|
||||
"AllowVppTonemappingHelp": "Volledige op Intel drivers-gebaseerde tonemapping werkt momenteel alleen op sommige hardware met HDR10 video's. Dit heeft een hogere slagingskans ten opzichte van andere OpenCL implementaties.",
|
||||
"EnableVppTonemapping": "VPP Tone mapping aanzetten",
|
||||
"EnableEnhancedNvdecDecoder": "Verbeterde NVDEC decoder aanzetten",
|
||||
"Framerate": "Beeldsnelheid",
|
||||
@ -1549,7 +1549,7 @@
|
||||
"SetUsingLastTracksHelp": "Probeer de ondertiteling/het audiospoor in te stellen op de video die het meest overeenkomt met de laatste video.",
|
||||
"TextSent": "Tekst verzonden.",
|
||||
"Track": "Nummer",
|
||||
"Controls": "Controles",
|
||||
"Controls": "Controllers",
|
||||
"LabelEnableGamepad": "Gamepad Inschakelen",
|
||||
"VideoFramerateNotSupported": "De framerate van de video wordt niet ondersteund",
|
||||
"VideoLevelNotSupported": "Het niveau van de video codec wordt niet ondersteund",
|
||||
@ -1637,15 +1637,46 @@
|
||||
"VideoBitrateNotSupported": "De video's bitrate is niet ondersteunt",
|
||||
"AudioIsExternal": "De audio stream is extern",
|
||||
"LabelHardwareEncodingOptions": "Hardware codering opties:",
|
||||
"IntelLowPowerEncHelp": "Low-Power Encoderen kan onnodige CPU-GPU synchronisatie houden. Bij linux moet deze uitgeschakeld zijn als de i915 HuC firmware niet geconfigureerd is.",
|
||||
"IntelLowPowerEncHelp": "Low-Power Encoderen kan onnodige CPU-GPU synchronisatie houden. Bij Linux moet deze uitgeschakeld zijn als de i915 HuC firmware niet geconfigureerd is.",
|
||||
"EnableIntelLowPowerHevcHwEncoder": "Schakel Intel Low-Power HEVC hardware encoder in",
|
||||
"EnableIntelLowPowerH264HwEncoder": "Schakel Intel Low-Power H.264 hardware encoder in",
|
||||
"PreferSystemNativeHwDecoder": "Voorkeur OS eigen DXVA of VA-API hardware decoders",
|
||||
"PreferSystemNativeHwDecoder": "Voorkeur voor OS eigen DXVA of VA-API hardware decoders",
|
||||
"ScreenResolution": "Scherm Resolutie",
|
||||
"RememberSubtitleSelections": "Ondertiteltrack instellen op basis van vorig item",
|
||||
"RememberAudioSelections": "Stel audio spoor in gebaseerd op",
|
||||
"IgnoreDtsHelp": "Deze optie uitschakelen kan problemen oplossen, bijv; missende audio bij kanalen met aparte audio en video streams.",
|
||||
"IgnoreDts": "Negeer DTS (tijdstempel decoderen)",
|
||||
"RememberSubtitleSelectionsHelp": "Probeer de ondertiteltrack in te stellen op de dichtstbijzijnde overeenkomst met de laatste video.",
|
||||
"RememberAudioSelectionsHelp": "Probeer de audiotrack zo in te stellen dat deze het dichtst bij de laatste video past."
|
||||
"RememberAudioSelectionsHelp": "Probeer de audiotrack zo in te stellen dat deze het dichtst bij de laatste video past.",
|
||||
"MediaInfoDvBlSignalCompatibilityId": "ID voor DV bl-signaalcompatibiliteit",
|
||||
"MediaInfoBlPresentFlag": "DV bl vooraf ingestelde vlag",
|
||||
"MediaInfoElPresentFlag": "DV el vooraf ingestelde vlag",
|
||||
"MediaInfoRpuPresentFlag": "DV rpu vooraf ingestelde vlag",
|
||||
"MediaInfoDvLevel": "DV niveau",
|
||||
"MediaInfoDvProfile": "DV profiel",
|
||||
"MediaInfoDvVersionMinor": "DV-versie minor",
|
||||
"MediaInfoDvVersionMajor": "DV-versie major",
|
||||
"MediaInfoDoViTitle": "DV-title",
|
||||
"MediaInfoVideoRangeType": "Type videobereik",
|
||||
"LabelVideoRangeType": "Type videobereik:",
|
||||
"VideoRangeTypeNotSupported": "Het bereiktype van de video wordt niet ondersteund",
|
||||
"LabelVppTonemappingContrastHelp": "Pas contrastversterking toe in VPP tonemapping. De aanbevolen en standaardwaarden zijn 1.2 en 1.",
|
||||
"LabelVppTonemappingContrast": "VPP Tone mapping contrastversterking:",
|
||||
"LabelVppTonemappingBrightnessHelp": "Pas helderheidsversterking toe in VPP-tonemapping Zowel de aanbevolen als de standaardwaarden zijn 0.",
|
||||
"LabelVppTonemappingBrightness": "VPP Tone mapping helderheidsversterking:",
|
||||
"EnableSplashScreen": "Het opstartscherm inschakelen",
|
||||
"EnableEnhancedNvdecDecoderHelp": "Experimentele NVDEC implementatie, deze instelling niet inschakelen tenzij u decoderingsfouten tegenkomt.",
|
||||
"ThemeVideo": "Thema Video",
|
||||
"ThemeSong": "Themalied",
|
||||
"Sample": "Voorbeeld",
|
||||
"Scene": "Scene",
|
||||
"Interview": "Interview",
|
||||
"DeletedScene": "Verwijderde scene",
|
||||
"BehindTheScenes": "Achter de scenes",
|
||||
"Trailer": "Trailer",
|
||||
"Clip": "Korte film",
|
||||
"SelectAll": "Selecteer alles",
|
||||
"DirectPlayError": "Er is een fout opgetreden tijdens het starten van direct playback",
|
||||
"OptionDateShowAdded": "Datum Serie Toegevoegd",
|
||||
"OptionDateEpisodeAdded": "Datum Aflevering Toegevoegd"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user