Compare commits

..

23 Commits

Author SHA1 Message Date
jeffvli 54b18601b8 Remove playlist detail route file 2023-12-19 14:59:32 -08:00
jeffvli 0cd0032966 Fix list sort 2023-12-19 14:59:15 -08:00
jeffvli d6cc6a4745 Support subsonic song filters 2023-12-19 14:58:52 -08:00
jeffvli f7fcf6c079 Support subsonic album filters 2023-12-18 12:02:41 -08:00
jeffvli 4051e9dfa3 Use imported jellyfin controller 2023-12-18 11:46:05 -08:00
jeffvli 5a94f70e63 Add list count endpoints to jf/nd 2023-12-18 11:45:04 -08:00
jeffvli 50dd70df81 Add global sort utils 2023-12-13 18:19:58 -08:00
jeffvli 8493668c97 Remove default playlist page 2023-12-13 18:19:58 -08:00
jeffvli d347221be5 Support playlists 2023-12-13 18:19:58 -08:00
jeffvli 18ec50b2a3 Support album and artist detail pages for subsonic 2023-12-13 18:19:58 -08:00
jeffvli 3c691d23d9 Return similar artists on artist detail 2023-12-13 18:19:57 -08:00
jeffvli 8ce2a99d37 Refactor sidebar playlist 2023-12-13 18:19:57 -08:00
jeffvli 567424011f Add subsonic in server entry form 2023-12-13 18:19:57 -08:00
jeffvli b2f14d7369 Support entity list pages for subsonic 2023-12-13 18:19:57 -08:00
jeffvli 2ecafea759 Fix album count translation string 2023-12-13 18:19:57 -08:00
jeffvli b7bbba928d Update log format 2023-12-13 18:19:57 -08:00
jeffvli 33b522a2f3 Fix expected controller responses 2023-12-13 18:19:57 -08:00
jeffvli f8d109fce4 Set search query to required 2023-12-13 18:19:57 -08:00
jeffvli 8fcf5291c4 Add first iteration of new subsonic controller 2023-12-13 18:19:57 -08:00
jeffvli 3b155cc6e8 Remove throw from log function
- Typescript cannot determine if a function throws an error
- Does not work as a type guard when using ts-rest
2023-12-13 18:19:57 -08:00
jeffvli 509627a0ad Allow null totalRecordCount on paginated response 2023-12-13 18:19:57 -08:00
jeffvli d08d3686de Add logger function 2023-12-13 18:19:57 -08:00
jeffvli ca695ca155 Add all relevant subsonic endpoints to ts-rest 2023-12-13 18:19:57 -08:00
777 changed files with 65510 additions and 57287 deletions
-3
View File
@@ -1,3 +0,0 @@
node_modules
Dockerfile
docker-compose.*
+6 -3
View File
@@ -1,9 +1,12 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
indent_size = 2
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
+7
View File
@@ -0,0 +1,7 @@
{
"rules": {
"no-console": "off",
"global-require": "off",
"import/no-dynamic-require": "off"
}
}
+64
View File
@@ -0,0 +1,64 @@
/**
* Base webpack config used across other specific configs
*/
import webpack from 'webpack';
import { dependencies as externals } from '../../release/app/package.json';
import webpackPaths from './webpack.paths';
import { TsconfigPathsPlugin } from 'tsconfig-paths-webpack-plugin';
const createStyledComponentsTransformer = require('typescript-plugin-styled-components').default;
const styledComponentsTransformer = createStyledComponentsTransformer();
const configuration: webpack.Configuration = {
externals: [...Object.keys(externals || {})],
module: {
rules: [
{
exclude: /node_modules/,
test: /\.[jt]sx?$/,
use: {
loader: 'ts-loader',
options: {
// Remove this line to enable type checking in webpack builds
transpileOnly: true,
getCustomTransformers: () => ({ before: [styledComponentsTransformer] }),
},
},
},
],
},
output: {
// https://github.com/webpack/webpack/issues/1114
library: {
type: 'commonjs2',
},
path: webpackPaths.srcPath,
},
plugins: [
new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
}),
],
/**
* Determine the array of extensions that should be used to resolve modules.
*/
resolve: {
extensions: ['.js', '.jsx', '.json', '.ts', '.tsx'],
fallback: {
child_process: false,
},
plugins: [new TsconfigPathsPlugin({ baseUrl: webpackPaths.srcPath })],
modules: [webpackPaths.srcPath, 'node_modules'],
},
stats: 'errors-only',
};
export default configuration;
+3
View File
@@ -0,0 +1,3 @@
/* eslint import/no-unresolved: off, import/no-self-import: off */
module.exports = require('./webpack.config.renderer.dev').default;
+84
View File
@@ -0,0 +1,84 @@
/**
* Webpack config for production electron main process
*/
import path from 'path';
import TerserPlugin from 'terser-webpack-plugin';
import webpack from 'webpack';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import deleteSourceMaps from '../scripts/delete-source-maps';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
checkNodeEnv('production');
deleteSourceMaps();
const devtoolsConfig =
process.env.DEBUG_PROD === 'true'
? {
devtool: 'source-map',
}
: {};
const configuration: webpack.Configuration = {
...devtoolsConfig,
mode: 'production',
target: 'electron-main',
entry: {
main: path.join(webpackPaths.srcMainPath, 'main.ts'),
preload: path.join(webpackPaths.srcMainPath, 'preload.ts'),
},
output: {
path: webpackPaths.distMainPath,
filename: '[name].js',
},
optimization: {
minimizer: [
new TerserPlugin({
parallel: true,
}),
],
},
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
}),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
DEBUG_PROD: false,
START_MINIMIZED: false,
}),
],
/**
* Disables webpack processing of __dirname and __filename.
* If you run the bundle in node.js it falls back to these values of node.js.
* https://github.com/webpack/webpack/issues/2010
*/
node: {
__dirname: false,
__filename: false,
},
};
export default merge(baseConfig, configuration);
@@ -0,0 +1,70 @@
import path from 'path';
import webpack from 'webpack';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
// When an ESLint server is running, we can't set the NODE_ENV so we'll check if it's
// at the dev webpack config is not accidentally run in a production environment
if (process.env.NODE_ENV === 'production') {
checkNodeEnv('development');
}
const configuration: webpack.Configuration = {
devtool: 'inline-source-map',
mode: 'development',
target: 'electron-preload',
entry: path.join(webpackPaths.srcMainPath, 'preload.ts'),
output: {
path: webpackPaths.dllPath,
filename: 'preload.js',
},
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
}),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*
* By default, use 'development' as NODE_ENV. This can be overriden with
* 'staging', for example, by changing the ENV variables in the npm scripts
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
}),
new webpack.LoaderOptionsPlugin({
debug: true,
}),
],
/**
* Disables webpack processing of __dirname and __filename.
* If you run the bundle in node.js it falls back to these values of node.js.
* https://github.com/webpack/webpack/issues/2010
*/
node: {
__dirname: false,
__filename: false,
},
watch: true,
};
export default merge(baseConfig, configuration);
+127
View File
@@ -0,0 +1,127 @@
import 'webpack-dev-server';
import path from 'path';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import webpack from 'webpack';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
const { version } = require('../../package.json');
// When an ESLint server is running, we can't set the NODE_ENV so we'll check if it's
// at the dev webpack config is not accidentally run in a production environment
if (process.env.NODE_ENV === 'production') {
checkNodeEnv('development');
}
const configuration: webpack.Configuration = {
devtool: 'inline-source-map',
mode: 'development',
target: ['web'],
entry: {
remote: path.join(webpackPaths.srcRemotePath, 'index.tsx'),
worker: path.join(webpackPaths.srcRemotePath, 'service-worker.ts'),
},
output: {
path: webpackPaths.dllPath,
publicPath: '/',
filename: '[name].js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
modules: true,
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?css$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
plugins: [
new webpack.NoEmitOnErrorsPlugin(),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*
* By default, use 'development' as NODE_ENV. This can be overriden with
* 'staging', for example, by changing the ENV variables in the npm scripts
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
}),
new webpack.LoaderOptionsPlugin({
debug: true,
}),
new HtmlWebpackPlugin({
filename: path.join('index.html'),
template: path.join(webpackPaths.srcRemotePath, 'index.ejs'),
favicon: path.join(webpackPaths.assetsPath, 'icons', 'favicon.ico'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: true,
env: process.env.NODE_ENV,
isDevelopment: process.env.NODE_ENV !== 'production',
nodeModules: webpackPaths.appNodeModulesPath,
templateParameters: {
version,
prod: false,
},
}),
],
node: {
__dirname: false,
__filename: false,
},
watch: true,
};
export default merge(baseConfig, configuration);
+142
View File
@@ -0,0 +1,142 @@
/**
* Build config for electron renderer process
*/
import path from 'path';
import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
import TerserPlugin from 'terser-webpack-plugin';
import webpack from 'webpack';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import deleteSourceMaps from '../scripts/delete-source-maps';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
const { version } = require('../../package.json');
checkNodeEnv('production');
deleteSourceMaps();
const devtoolsConfig =
process.env.DEBUG_PROD === 'true'
? {
devtool: 'source-map',
}
: {};
const configuration: webpack.Configuration = {
...devtoolsConfig,
mode: 'production',
target: ['web'],
entry: {
remote: path.join(webpackPaths.srcRemotePath, 'index.tsx'),
worker: path.join(webpackPaths.srcRemotePath, 'service-worker.ts'),
},
output: {
path: webpackPaths.distRemotePath,
publicPath: './',
filename: '[name].js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?(a|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
modules: true,
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?(a|c)ss$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true,
}),
new CssMinimizerPlugin(),
],
},
plugins: [
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
DEBUG_PROD: false,
}),
new MiniCssExtractPlugin({
filename: 'remote.css',
}),
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
}),
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.join(webpackPaths.srcRemotePath, 'index.ejs'),
favicon: path.join(webpackPaths.assetsPath, 'icons', 'favicon.ico'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: true,
env: process.env.NODE_ENV,
isDevelopment: process.env.NODE_ENV !== 'production',
templateParameters: {
version,
prod: true,
},
}),
],
};
export default merge(baseConfig, configuration);
@@ -0,0 +1,79 @@
/**
* Builds the DLL for development electron renderer process
*/
import path from 'path';
import webpack from 'webpack';
import { merge } from 'webpack-merge';
import { dependencies } from '../../package.json';
import checkNodeEnv from '../scripts/check-node-env';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
checkNodeEnv('development');
const dist = webpackPaths.dllPath;
const configuration: webpack.Configuration = {
context: webpackPaths.rootPath,
devtool: 'eval',
mode: 'development',
target: 'electron-renderer',
externals: ['fsevents', 'crypto-browserify'],
/**
* Use `module` from `webpack.config.renderer.dev.js`
*/
module: require('./webpack.config.renderer.dev').default.module,
entry: {
renderer: Object.keys(dependencies || {}),
},
output: {
path: dist,
filename: '[name].dev.dll.js',
library: {
name: 'renderer',
type: 'var',
},
},
plugins: [
new webpack.DllPlugin({
path: path.join(dist, '[name].json'),
name: '[name]',
}),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
}),
new webpack.LoaderOptionsPlugin({
debug: true,
options: {
context: webpackPaths.srcPath,
output: {
path: webpackPaths.dllPath,
},
},
}),
],
};
export default merge(baseConfig, configuration);
+198
View File
@@ -0,0 +1,198 @@
import 'webpack-dev-server';
import { execSync, spawn } from 'child_process';
import fs from 'fs';
import path from 'path';
import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
import chalk from 'chalk';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import webpack from 'webpack';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
// When an ESLint server is running, we can't set the NODE_ENV so we'll check if it's
// at the dev webpack config is not accidentally run in a production environment
if (process.env.NODE_ENV === 'production') {
checkNodeEnv('development');
}
const port = process.env.PORT || 4343;
const manifest = path.resolve(webpackPaths.dllPath, 'renderer.json');
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const requiredByDLLConfig = module.parent!.filename.includes('webpack.config.renderer.dev.dll');
/**
* Warn if the DLL is not built
*/
if (!requiredByDLLConfig && !(fs.existsSync(webpackPaths.dllPath) && fs.existsSync(manifest))) {
console.log(
chalk.black.bgYellow.bold(
'The DLL files are missing. Sit back while we build them for you with "npm run build-dll"',
),
);
execSync('npm run postinstall');
}
const configuration: webpack.Configuration = {
devtool: 'inline-source-map',
mode: 'development',
target: ['web', 'electron-renderer'],
entry: [
`webpack-dev-server/client?http://localhost:${port}/dist`,
'webpack/hot/only-dev-server',
path.join(webpackPaths.srcRendererPath, 'index.tsx'),
],
output: {
path: webpackPaths.distRendererPath,
publicPath: '/',
filename: 'renderer.dev.js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[name]__[local]--[hash:base64:5]',
exportLocalsConvention: 'camelCaseOnly',
},
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?css$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
plugins: [
...(requiredByDLLConfig
? []
: [
new webpack.DllReferencePlugin({
context: webpackPaths.dllPath,
manifest: require(manifest),
sourceType: 'var',
}),
]),
new webpack.NoEmitOnErrorsPlugin(),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*
* By default, use 'development' as NODE_ENV. This can be overriden with
* 'staging', for example, by changing the ENV variables in the npm scripts
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
}),
new webpack.LoaderOptionsPlugin({
debug: true,
}),
new ReactRefreshWebpackPlugin(),
new HtmlWebpackPlugin({
filename: path.join('index.html'),
template: path.join(webpackPaths.srcRendererPath, 'index.ejs'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: false,
env: process.env.NODE_ENV,
isDevelopment: process.env.NODE_ENV !== 'production',
nodeModules: webpackPaths.appNodeModulesPath,
}),
],
node: {
__dirname: false,
__filename: false,
},
devServer: {
port,
compress: true,
hot: true,
headers: { 'Access-Control-Allow-Origin': '*' },
static: {
publicPath: '/',
},
historyApiFallback: {
verbose: true,
},
setupMiddlewares(middlewares) {
console.log('Starting preload.js builder...');
const preloadProcess = spawn('npm', ['run', 'start:preload'], {
shell: true,
stdio: 'inherit',
})
.on('close', (code: number) => process.exit(code!))
.on('error', (spawnError) => console.error(spawnError));
console.log('Starting remote.js builder...');
const remoteProcess = spawn('npm', ['run', 'start:remote'], {
shell: true,
stdio: 'inherit',
})
.on('close', (code: number) => process.exit(code!))
.on('error', (spawnError) => console.error(spawnError));
console.log('Starting Main Process...');
spawn('npm', ['run', 'start:main'], {
shell: true,
stdio: 'inherit',
})
.on('close', (code: number) => {
preloadProcess.kill();
remoteProcess.kill();
process.exit(code!);
})
.on('error', (spawnError) => console.error(spawnError));
return middlewares;
},
},
};
export default merge(baseConfig, configuration);
@@ -0,0 +1,134 @@
/**
* Build config for electron renderer process
*/
import path from 'path';
import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
import TerserPlugin from 'terser-webpack-plugin';
import webpack from 'webpack';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import deleteSourceMaps from '../scripts/delete-source-maps';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
checkNodeEnv('production');
deleteSourceMaps();
const devtoolsConfig =
process.env.DEBUG_PROD === 'true'
? {
devtool: 'source-map',
}
: {};
const configuration: webpack.Configuration = {
...devtoolsConfig,
mode: 'production',
target: ['web', 'electron-renderer'],
entry: [path.join(webpackPaths.srcRendererPath, 'index.tsx')],
output: {
path: webpackPaths.distRendererPath,
publicPath: './',
filename: 'renderer.js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?(a|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[name]__[local]--[hash:base64:5]',
exportLocalsConvention: 'camelCaseOnly',
},
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?(a|c)ss$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true,
}),
new CssMinimizerPlugin(),
],
},
plugins: [
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
DEBUG_PROD: false,
}),
new MiniCssExtractPlugin({
filename: 'style.css',
}),
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
}),
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.join(webpackPaths.srcRendererPath, 'index.ejs'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: false,
isDevelopment: process.env.NODE_ENV !== 'production',
}),
],
};
export default merge(baseConfig, configuration);
+144
View File
@@ -0,0 +1,144 @@
import 'webpack-dev-server';
import path from 'path';
import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import webpack from 'webpack';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
// When an ESLint server is running, we can't set the NODE_ENV so we'll check if it's
// at the dev webpack config is not accidentally run in a production environment
if (process.env.NODE_ENV === 'production') {
checkNodeEnv('development');
}
const port = process.env.PORT || 4343;
const configuration: webpack.Configuration = {
devtool: 'inline-source-map',
mode: 'development',
target: ['web', 'electron-renderer'],
entry: [
`webpack-dev-server/client?http://localhost:${port}/dist`,
'webpack/hot/only-dev-server',
path.join(webpackPaths.srcRendererPath, 'index.tsx'),
],
output: {
path: webpackPaths.distRendererPath,
publicPath: '/',
filename: 'renderer.dev.js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[name]__[local]--[hash:base64:5]',
exportLocalsConvention: 'camelCaseOnly',
},
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?css$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
plugins: [
new webpack.NoEmitOnErrorsPlugin(),
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*
* By default, use 'development' as NODE_ENV. This can be overriden with
* 'staging', for example, by changing the ENV variables in the npm scripts
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'development',
}),
new webpack.LoaderOptionsPlugin({
debug: true,
}),
new ReactRefreshWebpackPlugin(),
new HtmlWebpackPlugin({
filename: path.join('index.html'),
template: path.join(webpackPaths.srcRendererPath, 'index.ejs'),
favicon: path.join(webpackPaths.assetsPath, 'icons', 'favicon.ico'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: false,
env: process.env.NODE_ENV,
isDevelopment: process.env.NODE_ENV !== 'production',
nodeModules: webpackPaths.appNodeModulesPath,
}),
],
node: {
__dirname: false,
__filename: false,
},
devServer: {
port,
compress: true,
hot: true,
headers: { 'Access-Control-Allow-Origin': '*' },
static: {
publicPath: '/',
},
historyApiFallback: {
verbose: true,
},
setupMiddlewares(middlewares) {
return middlewares;
},
},
};
export default merge(baseConfig, configuration);
+135
View File
@@ -0,0 +1,135 @@
/**
* Build config for electron renderer process
*/
import path from 'path';
import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
import HtmlWebpackPlugin from 'html-webpack-plugin';
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
import TerserPlugin from 'terser-webpack-plugin';
import webpack from 'webpack';
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
import { merge } from 'webpack-merge';
import checkNodeEnv from '../scripts/check-node-env';
import deleteSourceMaps from '../scripts/delete-source-maps';
import baseConfig from './webpack.config.base';
import webpackPaths from './webpack.paths';
checkNodeEnv('production');
deleteSourceMaps();
const devtoolsConfig =
process.env.DEBUG_PROD === 'true'
? {
devtool: 'source-map',
}
: {};
const configuration: webpack.Configuration = {
...devtoolsConfig,
mode: 'production',
target: ['web'],
entry: [path.join(webpackPaths.srcRendererPath, 'index.tsx')],
output: {
path: webpackPaths.distWebPath,
publicPath: 'auto',
filename: 'renderer.js',
library: {
type: 'umd',
},
},
module: {
rules: [
{
test: /\.s?(a|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[name]__[local]--[hash:base64:5]',
exportLocalsConvention: 'camelCaseOnly',
},
sourceMap: true,
importLoaders: 1,
},
},
'sass-loader',
],
include: /\.module\.s?(c|a)ss$/,
},
{
test: /\.s?(a|c)ss$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
exclude: /\.module\.s?(c|a)ss$/,
},
// Fonts
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset/resource',
},
// Images
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset/resource',
},
],
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true,
}),
new CssMinimizerPlugin(),
],
},
plugins: [
/**
* Create global constants which can be configured at compile time.
*
* Useful for allowing different behaviour between development builds and
* release builds
*
* NODE_ENV should be production so that modules do not perform certain
* development checks
*/
new webpack.EnvironmentPlugin({
NODE_ENV: 'production',
DEBUG_PROD: false,
}),
new MiniCssExtractPlugin({
filename: 'style.css',
}),
new BundleAnalyzerPlugin({
analyzerMode: process.env.ANALYZE === 'true' ? 'server' : 'disabled',
}),
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.join(webpackPaths.srcRendererPath, 'index.ejs'),
favicon: path.join(webpackPaths.assetsPath, 'icons', 'favicon.ico'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true,
},
isBrowser: false,
isDevelopment: process.env.NODE_ENV !== 'production',
}),
],
};
export default merge(baseConfig, configuration);
+46
View File
@@ -0,0 +1,46 @@
const path = require('path');
const rootPath = path.join(__dirname, '../..');
const dllPath = path.join(__dirname, '../dll');
const srcPath = path.join(rootPath, 'src');
const assetsPath = path.join(rootPath, 'assets');
const srcMainPath = path.join(srcPath, 'main');
const srcRemotePath = path.join(srcPath, 'remote');
const srcRendererPath = path.join(srcPath, 'renderer');
const releasePath = path.join(rootPath, 'release');
const appPath = path.join(releasePath, 'app');
const appPackagePath = path.join(appPath, 'package.json');
const appNodeModulesPath = path.join(appPath, 'node_modules');
const srcNodeModulesPath = path.join(srcPath, 'node_modules');
const distPath = path.join(appPath, 'dist');
const distMainPath = path.join(distPath, 'main');
const distRemotePath = path.join(distPath, 'remote');
const distRendererPath = path.join(distPath, 'renderer');
const distWebPath = path.join(distPath, 'web');
const buildPath = path.join(releasePath, 'build');
export default {
assetsPath,
rootPath,
dllPath,
srcPath,
srcMainPath,
srcRemotePath,
srcRendererPath,
releasePath,
appPath,
appPackagePath,
appNodeModulesPath,
srcNodeModulesPath,
distPath,
distMainPath,
distRemotePath,
distRendererPath,
distWebPath,
buildPath,
};
+1
View File
@@ -0,0 +1 @@
export default 'test-file-stub';
+8
View File
@@ -0,0 +1,8 @@
{
"rules": {
"no-console": "off",
"global-require": "off",
"import/no-dynamic-require": "off",
"import/no-extraneous-dependencies": "off"
}
}
+33
View File
@@ -0,0 +1,33 @@
// Check if the renderer and main bundles are built
import path from 'path';
import chalk from 'chalk';
import fs from 'fs';
import webpackPaths from '../configs/webpack.paths';
const mainPath = path.join(webpackPaths.distMainPath, 'main.js');
const remotePath = path.join(webpackPaths.distMainPath, 'remote.js');
const rendererPath = path.join(webpackPaths.distRendererPath, 'renderer.js');
if (!fs.existsSync(mainPath)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
'The main process is not built yet. Build it by running "npm run build:main"',
),
);
}
if (!fs.existsSync(remotePath)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
'The remote process is not built yet. Build it by running "npm run build:remote"',
),
);
}
if (!fs.existsSync(rendererPath)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
'The renderer process is not built yet. Build it by running "npm run build:renderer"',
),
);
}
+54
View File
@@ -0,0 +1,54 @@
import fs from 'fs';
import chalk from 'chalk';
import { execSync } from 'child_process';
import { dependencies } from '../../package.json';
if (dependencies) {
const dependenciesKeys = Object.keys(dependencies);
const nativeDeps = fs
.readdirSync('node_modules')
.filter((folder) => fs.existsSync(`node_modules/${folder}/binding.gyp`));
if (nativeDeps.length === 0) {
process.exit(0);
}
try {
// Find the reason for why the dependency is installed. If it is installed
// because of a devDependency then that is okay. Warn when it is installed
// because of a dependency
const { dependencies: dependenciesObject } = JSON.parse(
execSync(`npm ls ${nativeDeps.join(' ')} --json`).toString()
);
const rootDependencies = Object.keys(dependenciesObject);
const filteredRootDependencies = rootDependencies.filter((rootDependency) =>
dependenciesKeys.includes(rootDependency)
);
if (filteredRootDependencies.length > 0) {
const plural = filteredRootDependencies.length > 1;
console.log(`
${chalk.whiteBright.bgYellow.bold(
'Webpack does not work with native dependencies.'
)}
${chalk.bold(filteredRootDependencies.join(', '))} ${
plural ? 'are native dependencies' : 'is a native dependency'
} and should be installed inside of the "./release/app" folder.
First, uninstall the packages from "./package.json":
${chalk.whiteBright.bgGreen.bold('npm uninstall your-package')}
${chalk.bold(
'Then, instead of installing the package to the root "./package.json":'
)}
${chalk.whiteBright.bgRed.bold('npm install your-package')}
${chalk.bold('Install the package to "./release/app/package.json"')}
${chalk.whiteBright.bgGreen.bold(
'cd ./release/app && npm install your-package'
)}
Read more about native dependencies at:
${chalk.bold(
'https://electron-react-boilerplate.js.org/docs/adding-dependencies/#module-structure'
)}
`);
process.exit(1);
}
} catch (e) {
console.log('Native dependencies could not be checked');
}
}
+16
View File
@@ -0,0 +1,16 @@
import chalk from 'chalk';
export default function checkNodeEnv(expectedEnv) {
if (!expectedEnv) {
throw new Error('"expectedEnv" not set');
}
if (process.env.NODE_ENV !== expectedEnv) {
console.log(
chalk.whiteBright.bgRed.bold(
`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`
)
);
process.exit(2);
}
}
+16
View File
@@ -0,0 +1,16 @@
import chalk from 'chalk';
import detectPort from 'detect-port';
const port = process.env.PORT || '4343';
detectPort(port, (err, availablePort) => {
if (port !== String(availablePort)) {
throw new Error(
chalk.whiteBright.bgRed.bold(
`Port "${port}" on "localhost" is already in use. Please use another port. ex: PORT=4343 npm start`
)
);
} else {
process.exit(0);
}
});
+17
View File
@@ -0,0 +1,17 @@
import rimraf from 'rimraf';
import process from 'process';
import webpackPaths from '../configs/webpack.paths';
const args = process.argv.slice(2);
const commandMap = {
dist: webpackPaths.distPath,
release: webpackPaths.releasePath,
dll: webpackPaths.dllPath,
};
args.forEach((x) => {
const pathToRemove = commandMap[x];
if (pathToRemove !== undefined) {
rimraf.sync(pathToRemove);
}
});
+9
View File
@@ -0,0 +1,9 @@
import path from 'path';
import rimraf from 'rimraf';
import webpackPaths from '../configs/webpack.paths';
export default function deleteSourceMaps() {
rimraf.sync(path.join(webpackPaths.distMainPath, '*.js.map'));
rimraf.sync(path.join(webpackPaths.distRemotePath, '*.js.map'));
rimraf.sync(path.join(webpackPaths.distRendererPath, '*.js.map'));
}
+20
View File
@@ -0,0 +1,20 @@
import { execSync } from 'child_process';
import fs from 'fs';
import { dependencies } from '../../release/app/package.json';
import webpackPaths from '../configs/webpack.paths';
if (
Object.keys(dependencies || {}).length > 0 &&
fs.existsSync(webpackPaths.appNodeModulesPath)
) {
const electronRebuildCmd =
'../../node_modules/.bin/electron-rebuild --force --types prod,dev,optional --module-dir .';
const cmd =
process.platform === 'win32'
? electronRebuildCmd.replace(/\//g, '\\')
: electronRebuildCmd;
execSync(cmd, {
cwd: webpackPaths.appPath,
stdio: 'inherit',
});
}
+9
View File
@@ -0,0 +1,9 @@
import fs from 'fs';
import webpackPaths from '../configs/webpack.paths';
const { srcNodeModulesPath } = webpackPaths;
const { appNodeModulesPath } = webpackPaths;
if (!fs.existsSync(srcNodeModulesPath) && fs.existsSync(appNodeModulesPath)) {
fs.symlinkSync(appNodeModulesPath, srcNodeModulesPath, 'junction');
}
+30
View File
@@ -0,0 +1,30 @@
const { notarize } = require('electron-notarize');
const { build } = require('../../package.json');
exports.default = async function notarizeMacos(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
if (process.env.CI !== 'true') {
console.warn('Skipping notarizing step. Packaging is not running in CI');
return;
}
if (!('APPLE_ID' in process.env && 'APPLE_ID_PASS' in process.env)) {
console.warn(
'Skipping notarizing step. APPLE_ID and APPLE_ID_PASS env variables must be set'
);
return;
}
const appName = context.packager.appInfo.productFilename;
await notarize({
appBundleId: build.appId,
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_ID_PASS,
});
};
+34
View File
@@ -0,0 +1,34 @@
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
# Coverage directory used by tools like istanbul
coverage
.eslintcache
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
# OSX
.DS_Store
src/i18n
release/app/dist
release/build
.erb/dll
.idea
npm-debug.log.*
*.css.d.ts
*.sass.d.ts
*.scss.d.ts
# eslint ignores hidden directories by default:
# https://github.com/eslint/eslint/issues/8429
!.erb
+97
View File
@@ -0,0 +1,97 @@
module.exports = {
extends: ['erb', 'plugin:typescript-sort-keys/recommended'],
ignorePatterns: ['.erb/*', 'server'],
parser: '@typescript-eslint/parser',
parserOptions: {
createDefaultProgram: true,
ecmaVersion: 12,
parser: '@typescript-eslint/parser',
project: './tsconfig.json',
sourceType: 'module',
tsconfigRootDir: './',
},
plugins: ['@typescript-eslint', 'import', 'sort-keys-fix'],
rules: {
'@typescript-eslint/naming-convention': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-shadow': ['off'],
'@typescript-eslint/no-unused-vars': ['error'],
'@typescript-eslint/no-use-before-define': ['error'],
'default-case': 'off',
'import/extensions': 'off',
'import/no-absolute-path': 'off',
// A temporary hack related to IDE not resolving correct package.json
'import/no-extraneous-dependencies': 'off',
'import/no-unresolved': 'error',
'import/order': [
'error',
{
alphabetize: {
caseInsensitive: true,
order: 'asc',
},
groups: ['builtin', 'external', 'internal', ['parent', 'sibling']],
'newlines-between': 'never',
pathGroups: [
{
group: 'external',
pattern: 'react',
position: 'before',
},
],
pathGroupsExcludedImportTypes: ['react'],
},
],
'import/prefer-default-export': 'off',
'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/interactive-supports-focus': 'off',
'jsx-a11y/media-has-caption': 'off',
'no-await-in-loop': 'off',
'no-console': 'off',
'no-nested-ternary': 'off',
'no-restricted-syntax': 'off',
'no-shadow': 'off',
'no-underscore-dangle': 'off',
'no-unused-vars': 'off',
'no-use-before-define': 'off',
'prefer-destructuring': 'off',
'react/function-component-definition': 'off',
'react/jsx-filename-extension': [2, { extensions: ['.js', '.jsx', '.ts', '.tsx'] }],
'react/jsx-no-useless-fragment': 'off',
'react/jsx-props-no-spreading': 'off',
'react/jsx-sort-props': [
'error',
{
callbacksLast: true,
ignoreCase: false,
noSortAlphabetically: false,
reservedFirst: true,
shorthandFirst: true,
shorthandLast: false,
},
],
'react/no-array-index-key': 'off',
'react/react-in-jsx-scope': 'off',
'react/require-default-props': 'off',
'sort-keys-fix/sort-keys-fix': 'warn',
},
settings: {
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx'],
},
'import/resolver': {
// See https://github.com/benmosher/eslint-plugin-import/issues/1396#issuecomment-575727774 for line below
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
typescript: {
alwaysTryTypes: true,
project: './tsconfig.json',
},
webpack: {
config: require.resolve('./.erb/configs/webpack.config.eslint.ts'),
},
},
},
};
@@ -1,33 +0,0 @@
name: Feature request
description: Request a feature to be added to Feishin
title: '[Feature]: '
labels: ['enhancement']
body:
- type: checkboxes
id: check-duplicate
attributes:
label: I have already checked through the existing feature requests and found no duplicates
options:
- label: 'Yes'
required: true
- type: dropdown
id: server-specific
attributes:
label: Is this a server-specific feature?
options:
- Not server-specific
- OpenSubsonic
- Jellyfin
- Navidrome
default: 0
validations:
required: true
- type: textarea
id: solution
attributes:
label: What do you want to be added?
placeholder: I would like to see [...]
validations:
required: true
-74
View File
@@ -1,74 +0,0 @@
name: Bug report
description: You're having technical issues.
title: '[Bug]: '
labels: ['bug']
body:
- type: checkboxes
id: check-duplicate
attributes:
label: I have already checked through the existing bug reports and found no duplicates
options:
- label: 'Yes'
required: true
- type: input
id: version
attributes:
label: App Version
description: What version of the app are you running?
placeholder: ex. 1.0.0
validations:
required: true
- type: input
id: server-version
attributes:
label: Music Server and Version
description: What music server are you using?
placeholder: ex. Navidrome v0.55.0, LMS v3.67.0, Jellyfin v10.10.7, etc.
validations:
required: true
- type: dropdown
id: environments
attributes:
label: What local environments are you seeing the problem on?
multiple: true
options:
- Desktop Windows
- Desktop macOS
- Desktop Linux
- Web Firefox
- Web Chrome
- Web Safari
- Web Microsoft Edge
- Other (please specify in the next field)
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Include screenshots and error logs if possible. The browser devtools can be opened using CTRL + SHIFT + I (Windows/Linux) or CMD + SHIFT + I (macOS).
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: How can we reproduce this issue? Are there any specific settings that are enabled that could be the cause?
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code.
render: shell
+45
View File
@@ -0,0 +1,45 @@
---
name: Bug report
about: You're having technical issues. 🐞
labels: 'bug'
---
## Expected Behavior
<!--- What should have happened? -->
## Current Behavior
<!--- What went wrong? -->
<!-- Add screenshots to help explain your problem -->
<!-- (Open the browser dev tools in the menu or using CTRL + SHIFT + I) -->
## Steps to Reproduce
<!-- Add relevant code and/or a live example -->
<!-- Add stack traces -->
1.
2.
3.
4.
## Possible Solution (Not obligatory)
<!--- Suggest a reason for the bug or how to fix it. -->
## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
- Application version (e.g. v0.1.0) :
- Operating System and version (e.g. Windows 10) :
- Server and version (e.g. Navidrome v0.48.0) :
- Node version (if developing locally) :
+9
View File
@@ -0,0 +1,9 @@
---
name: Question
about: Ask a question.❓
labels: 'question'
---
<!-- Question issues will be closed. -->
<!-- Ask questions in the discussions tab: Please use discussions https://github.com/jeffvli/feishin/discussions -->
<!-- Or join the Discord/Matrix servers: https://discord.gg/FVKpcMDy5f https://matrix.to/#/#sonixd:matrix.org -->
@@ -0,0 +1,11 @@
---
name: Feature request
about: Request a feature to be added to Feishin 🎉
labels: 'enhancement'
---
## What do you want to be added?
## Additional context
<!-- Is this a server-specific feature? (e.g. Jellyfin only). -->
-11
View File
@@ -1,11 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Questions or help
url: https://github.com/jeffvli/feishin/discussions
about: Ask questions or get help in the discussions section
- name: Discord Community
url: https://discord.gg/FVKpcMDy5f
about: The discord/matrix servers are bridged so you can join whichever you prefer
- name: Matrix Community
url: https://matrix.to/#/#sonixd:matrix.org
about: The discord/matrix servers are bridged so you can join whichever you prefer
-329
View File
@@ -1,329 +0,0 @@
name: Publish Beta (Manual)
on:
workflow_dispatch:
inputs:
version:
description: 'Semantic version number (e.g., 1.0.0) - beta suffix will be added automatically'
required: false
type: string
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
with:
version: 9
- name: Install dependencies
run: pnpm install
- name: Validate and set version with beta suffix
id: version
shell: pwsh
run: |
$inputVersion = "${{ github.event.inputs.version }}"
Write-Host "Input version: $inputVersion"
if ($inputVersion -eq "" -or $inputVersion -eq "null") {
# No input version provided, auto-increment patch version
Write-Host "No version provided, auto-incrementing patch version..."
# Get current version from package.json
$currentVersion = (Get-Content package.json | ConvertFrom-Json).version
Write-Host "Current version: $currentVersion"
# Remove any existing suffix (like -beta) to get clean semantic version
$cleanVersion = $currentVersion -replace '-.*$', ''
# Extract major, minor, patch components
$versionParts = $cleanVersion.Split('.')
if ($versionParts.Length -ne 3) {
Write-Error "Current version format is invalid: $cleanVersion"
exit 1
}
$major = [int]$versionParts[0]
$minor = [int]$versionParts[1]
$patch = [int]$versionParts[2]
# Increment patch version
$newPatch = $patch + 1
$inputVersion = "$major.$minor.$newPatch"
Write-Host "Auto-generated version: $inputVersion"
} else {
# Validate semantic version format (major.minor.patch)
$versionPattern = '^\d+\.\d+\.\d+$'
if ($inputVersion -notmatch $versionPattern) {
Write-Error "Invalid version format. Expected semantic version (e.g., 1.0.0), got: $inputVersion"
exit 1
}
}
# Add beta suffix
$versionWithBeta = "$inputVersion-beta"
Write-Host "Setting version to: $versionWithBeta"
# Update package.json
$packageJson = Get-Content package.json | ConvertFrom-Json
$packageJson.version = $versionWithBeta
$packageJson | ConvertTo-Json -Depth 10 | Set-Content package.json
Write-Host "Updated package.json version to: $versionWithBeta"
# Set output for other jobs
echo "version=$versionWithBeta" >> $env:GITHUB_OUTPUT
- name: Delete existing releases and tags
shell: pwsh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Get the version that was set in the previous step
$versionWithBeta = "${{ steps.version.outputs.version }}"
Write-Host "Checking for existing releases with tag: $versionWithBeta"
# Find and delete any releases with isPrerelease "true"
Write-Host "Deleting existing prereleases..."
Write-Host "Searching for releases with isPrerelease 'true'..."
$betaReleases = gh release list --limit 100 --json tagName,isPrerelease,name | ConvertFrom-Json | Where-Object { $_.isPrerelease -eq $true }
if ($betaReleases) {
Write-Host "Found $($betaReleases.Count) release(s) with isPrerelease 'true':"
foreach ($release in $betaReleases) {
Write-Host " - Tag: $($release.tagName), Title: $($release.name)"
gh release delete $release.tagName --yes --cleanup-tag
Write-Host " Deleted release with tag: $($release.tagName)"
}
} else {
Write-Host "No releases found with isPrerelease 'true'"
}
publish:
needs: prepare
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
steps:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
with:
version: 9
- name: Install dependencies
run: pnpm install
- name: Set version from prepare job
shell: pwsh
run: |
$versionWithBeta = "${{ needs.prepare.outputs.version }}"
Write-Host "Setting version from prepare job: $versionWithBeta"
# Update package.json with the version from prepare job
$packageJson = Get-Content package.json | ConvertFrom-Json
$packageJson.version = $versionWithBeta
$packageJson | ConvertTo-Json -Depth 10 | Set-Content package.json
Write-Host "Updated package.json version to: $versionWithBeta"
- name: Build and Publish releases (Windows)
if: matrix.os == 'windows-latest'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EP_PRE_RELEASE: true
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:win:beta
on_retry_command: pnpm cache delete
- name: Build and Publish releases (macOS)
if: matrix.os == 'macos-latest'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EP_PRE_RELEASE: true
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:mac:beta
on_retry_command: pnpm cache delete
- name: Build and Publish releases (Linux)
if: matrix.os == 'ubuntu-latest'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EP_PRE_RELEASE: true
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:linux:beta
on_retry_command: pnpm cache delete
- name: Build and Publish releases (Linux ARM64)
if: matrix.os == 'ubuntu-latest'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EP_PRE_RELEASE: true
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:linux-arm64:beta
on_retry_command: pnpm cache delete
edit-release:
needs: [prepare, publish]
runs-on: ubuntu-latest
steps:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Edit release with commits and title
shell: pwsh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Get the version from the prepare job
$versionWithBeta = "${{ needs.prepare.outputs.version }}"
$tagVersion = "v" + $versionWithBeta
Write-Host "Editing release for tag: $tagVersion"
# Check if release exists
$releaseExists = gh release view $tagVersion 2>$null
if ($LASTEXITCODE -eq 0) {
Write-Host "Found release with tag $tagVersion"
# Get current release notes
# Find the latest non-prerelease tag
Write-Host "Finding latest non-prerelease tag..."
$latestNonPrerelease = gh release list --limit 100 --json tagName,isPrerelease | ConvertFrom-Json | Where-Object { $_.isPrerelease -eq $false } | Select-Object -First 1
if ($latestNonPrerelease) {
$latestTag = $latestNonPrerelease.tagName
Write-Host "Latest non-prerelease tag: $latestTag"
# Get commits between latest non-prerelease and current HEAD
Write-Host "Getting commits between $latestTag and HEAD..."
# Use proper git range syntax and handle PowerShell string interpolation
$gitRange = "$latestTag..HEAD"
Write-Host "Git range: $gitRange"
# Get commits using proper git command with datetime
$commits = git log --oneline --pretty=format:"%ad|%s|%h" --date=short $gitRange
# Check if commits exist
if ($commits -and $commits.Trim() -ne "") {
Write-Host "Found commits:"
Write-Host $commits
# Group commits by date
$groupedCommits = @{}
foreach ($line in $commits) {
if ($line.Trim() -ne "") {
$parts = $line.Split('|')
$date = $parts[0]
$message = $parts[1]
$hash = $parts[2]
if (-not $groupedCommits.ContainsKey($date)) {
$groupedCommits[$date] = @()
}
$groupedCommits[$date] += "- $message ($hash)"
}
}
# Build formatted release notes grouped by date
$commitNotes = "## Changes since $latestTag`n`n"
$sortedDates = $groupedCommits.Keys | Sort-Object -Descending
foreach ($date in $sortedDates) {
$commitNotes += "### $date`n"
foreach ($commit in $groupedCommits[$date]) {
$commitNotes += "$commit`n"
}
$commitNotes += "`n"
}
$releaseNotes = $commitNotes
} else {
Write-Host "No commits found between $latestTag and HEAD"
Write-Host "Trying alternative approach..."
# Alternative: get commits since the tag (not range) with datetime
$commits = git log --oneline --pretty=format:"%ad|%s|%h" --date=short $latestTag.. --not $latestTag
if ($commits -and $commits.Trim() -ne "") {
Write-Host "Found commits with alternative method:"
Write-Host $commits
# Group commits by date
$groupedCommits = @{}
foreach ($line in $commits) {
if ($line.Trim() -ne "") {
$parts = $line.Split('|')
$date = $parts[0]
$message = $parts[1]
$hash = $parts[2]
if (-not $groupedCommits.ContainsKey($date)) {
$groupedCommits[$date] = @()
}
$groupedCommits[$date] += "- $message ($hash)"
}
}
# Build formatted release notes grouped by date
$commitNotes = "## Changes since $latestTag`n`n"
$sortedDates = $groupedCommits.Keys | Sort-Object -Descending
foreach ($date in $sortedDates) {
$commitNotes += "### $date`n"
foreach ($commit in $groupedCommits[$date]) {
$commitNotes += "$commit`n"
}
$commitNotes += "`n"
}
$releaseNotes = $commitNotes
} else {
Write-Host "Still no commits found, using basic release notes"
$releaseNotes = "## Beta Release`n`nThis is a beta release."
}
}
} else {
Write-Host "No non-prerelease tags found, using basic release notes"
$releaseNotes = "## Beta Release`n`nThis is a beta release."
}
# Update the release with new title and notes
Write-Host "Updating release with title 'Beta' and new notes..."
gh release edit $tagVersion --title "Beta" --notes "$releaseNotes"
Write-Host "Successfully updated release title to 'Beta' and added commit notes"
} else {
Write-Host "No release found with tag $tagVersion"
}
+3 -4
View File
@@ -3,7 +3,6 @@ name: Publish Docker to GHCR
permissions: write-all
on:
workflow_dispatch:
push:
tags:
- 'v*.*.*'
@@ -50,6 +49,6 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: |
linux/amd64
linux/arm/v7
linux/arm64/v8
linux/amd64
linux/arm/v7
linux/arm64/v8
+6 -4
View File
@@ -24,9 +24,11 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker buildx
@@ -39,6 +41,6 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: |
linux/amd64
linux/arm/v7
linux/arm64/v8
linux/amd64
linux/arm/v7
linux/arm64/v8
+11 -19
View File
@@ -14,15 +14,17 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
- name: Install Node and NPM
uses: actions/setup-node@v1
with:
version: 9
node-version: 16
cache: npm
- name: Install dependencies
run: pnpm install
run: |
npm install --legacy-peer-deps
- name: Build and Publish releases
- name: Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -31,17 +33,7 @@ jobs:
max_attempts: 3
retry_on: error
command: |
pnpm run publish:linux
on_retry_command: pnpm cache delete
- name: Build and Publish releases (arm64)
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:linux-arm64
on_retry_command: pnpm cache delete
npm run postinstall
npm run build
npm exec electron-builder -- --publish always --linux
on_retry_command: npm cache clean --force
+12 -8
View File
@@ -1,4 +1,4 @@
name: Publish macOS (Manual)
name: Publish Windows and macOS (Manual)
on: workflow_dispatch
@@ -14,15 +14,17 @@ jobs:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
- name: Install Node and NPM
uses: actions/setup-node@v1
with:
version: 9
node-version: 16
cache: npm
- name: Install dependencies
run: pnpm install
run: |
npm install --legacy-peer-deps
- name: Build and Publish releases
- name: Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
@@ -31,5 +33,7 @@ jobs:
max_attempts: 3
retry_on: error
command: |
pnpm run publish:mac
on_retry_command: pnpm cache delete
npm run postinstall
npm run build
npm exec electron-builder -- --publish always --win --mac
on_retry_command: npm cache clean --force
+23 -56
View File
@@ -11,83 +11,50 @@ jobs:
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
os: [macos-latest]
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
- name: Install Node and NPM
uses: actions/setup-node@v3
with:
version: 9
node-version: 16
cache: npm
- name: Install dependencies
run: pnpm install
run: |
npm install --legacy-peer-deps
- name: Build for Windows
if: ${{ matrix.os == 'windows-latest' }}
- name: Build releases
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run package:win:pr
npm run postinstall
npm run build
npm run package:pr
on_retry_command: npm cache clean --force
- name: Build for Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run package:linux:pr
- name: Build for MacOS
if: ${{ matrix.os == 'macos-latest' }}
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run package:mac:pr
- name: Zip Windows Binaries
if: ${{ matrix.os == 'windows-latest' }}
shell: pwsh
run: |
Compress-Archive -Path "dist/*.exe" -DestinationPath "dist/windows-binaries.zip" -Force
- name: Zip Linux Binaries
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
zip -r dist/linux-binaries.zip dist/*.{AppImage,deb,rpm}
- name: Zip MacOS Binaries
if: ${{ matrix.os == 'macos-latest' }}
run: |
zip -r dist/macos-binaries.zip dist/*.dmg
- name: Upload Windows Binaries
if: ${{ matrix.os == 'windows-latest' }}
uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: windows-binaries
path: dist/windows-binaries.zip
path: |
release/build/*.exe
- name: Upload Linux Binaries
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: linux-binaries
path: dist/linux-binaries.zip
path: |
release/build/*.AppImage
release/build/*.deb
release/build/*.rpm
- name: Upload MacOS Binaries
if: ${{ matrix.os == 'macos-latest' }}
uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v3
with:
name: macos-binaries
path: dist/macos-binaries.zip
path: |
release/build/*.dmg
-35
View File
@@ -1,35 +0,0 @@
name: Publish Windows (Manual)
on: workflow_dispatch
jobs:
publish:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
steps:
- name: Checkout git repo
uses: actions/checkout@v1
- name: Install Node and PNPM
uses: pnpm/action-setup@v4.1.0
with:
version: 9
- name: Install dependencies
run: pnpm install
- name: Build and Publish releases
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: nick-invision/retry@v2.8.2
with:
timeout_minutes: 30
max_attempts: 3
retry_on: error
command: |
pnpm run publish:win
on_retry_command: pnpm cache delete
-47
View File
@@ -1,47 +0,0 @@
name: 'Close stale issues and PRs'
on:
workflow_dispatch:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
jobs:
stale:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
process-only: 'issues, prs'
issue-inactive-days: 120
pr-inactive-days: 120
log-output: true
add-issue-labels: 'frozen-due-to-age'
add-pr-labels: 'frozen-due-to-age'
- uses: actions/stale@v9
with:
operations-per-run: 999
days-before-issue-stale: 180
days-before-pr-stale: 180
days-before-issue-close: 30
days-before-pr-close: 30
stale-issue-message: >
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Feishin team are limited, and so we are asking for your help.
If this is a **bug** and you can still reproduce this error on the <code>development</code> branch, please reply with all of the information you have about it in order to keep the issue open.
This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.
stale-pr-message: >
This PR has been automatically marked as stale because it has not had recent activity. The resources of the Feishin team are limited, and so we are asking for your help.
This PR will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.
stale-issue-label: 'stale'
exempt-issue-labels: 'keep,security'
stale-pr-label: 'stale'
exempt-pr-labels: 'keep,security'
+15 -7
View File
@@ -14,13 +14,21 @@ jobs:
- name: Check out Git repository
uses: actions/checkout@v1
- name: Install Node.js and PNPM
uses: pnpm/action-setup@v4.1.0
- name: Install Node.js and NPM
uses: actions/setup-node@v2
with:
version: 9
node-version: 16
cache: npm
- name: Install dependencies
run: pnpm install
- name: npm install
run: |
npm install --legacy-peer-deps
- name: Lint Files
run: pnpm run lint
- name: npm test
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npm run lint
npm run package
npm exec tsc
npm test
+30 -6
View File
@@ -1,7 +1,31 @@
node_modules
dist
out
.DS_Store
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
# Coverage directory used by tools like istanbul
coverage
.eslintcache
*.log*
release
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
# OSX
.DS_Store
release/app/dist
release/build
.erb/dll
.idea
npm-debug.log.*
*.css.d.ts
*.sass.d.ts
*.scss.d.ts
.env*
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
-2
View File
@@ -1,2 +0,0 @@
legacy-peer-deps=true
only-built-dependencies=electron,esbuild
-6
View File
@@ -1,6 +0,0 @@
out
dist
pnpm-lock.yaml
LICENSE.md
tsconfig.json
tsconfig.*.json
+22
View File
@@ -0,0 +1,22 @@
{
"printWidth": 100,
"semi": true,
"singleQuote": true,
"tabWidth": 4,
"useTabs": false,
"overrides": [
{
"files": ["**/*.css", "**/*.scss", "**/*.html"],
"options": {
"singleQuote": true
}
}
],
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "always",
"proseWrap": "never",
"htmlWhitespaceSensitivity": "strict",
"endOfLine": "lf",
"singleAttributePerLine": true
}
-14
View File
@@ -1,14 +0,0 @@
singleQuote: true
semi: true
printWidth: 100
tabWidth: 4
trailingComma: all
useTabs: false
arrowParens: always
proseWrap: never
htmlWhitespaceSensitivity: strict
endOfLine: lf
singleAttributePerLine: false
bracketSpacing: true
plugins:
- prettier-plugin-packagejson
+7 -9
View File
@@ -1,19 +1,17 @@
{
"customSyntax": "postcss-styled-syntax",
"extends": [
"stylelint-config-standard",
"stylelint-config-css-modules",
"stylelint-config-styled-components",
"stylelint-config-recess-order"
],
"rules": {
"block-no-empty": null,
"declaration-empty-line-before": null,
"declaration-block-no-redundant-longhand-properties": null,
"selector-class-pattern": null,
"selector-type-case": ["lower", { "ignoreTypes": ["/^\\$\\w+/"] }],
"selector-type-no-unknown": [true, { "ignoreTypes": ["/-styled-mixin/", "/^\\$\\w+/"] }],
"declaration-block-no-shorthand-property-overrides": null,
"declaration-block-no-redundant-longhand-properties": null,
"at-rule-no-unknown": [true, { "ignoreAtRules": ["mixin", "value"] }],
"function-no-unknown": [true, { "ignoreFunctions": ["darken", "alpha", "lighten"] }],
"declaration-property-value-no-unknown": null,
"no-descending-specificity": null,
"no-empty-source": null
"declaration-colon-newline-after": null,
"property-no-vendor-prefix": null
}
}
+8 -1
View File
@@ -1,3 +1,10 @@
{
"recommendations": ["dbaeumer.vscode-eslint"]
"recommendations": [
"dbaeumer.vscode-eslint",
"EditorConfig.EditorConfig",
"stylelint.vscode-stylelint",
"esbenp.prettier-vscode",
"clinyong.vscode-css-modules",
"Huuums.vscode-fast-folder-structure"
]
}
+26 -37
View File
@@ -1,39 +1,28 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main Process",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-vite.cmd"
},
"runtimeArgs": ["--sourcemap"],
"env": {
"REMOTE_DEBUGGING_PORT": "9222"
}
},
{
"name": "Debug Renderer Process",
"port": 9222,
"request": "attach",
"type": "chrome",
"webRoot": "${workspaceFolder}/src/renderer",
"timeout": 60000,
"presentation": {
"hidden": true
}
}
],
"compounds": [
{
"name": "Debug All",
"configurations": ["Debug Main Process", "Debug Renderer Process"],
"presentation": {
"order": 1
}
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Electron: Main",
"type": "node",
"request": "launch",
"protocol": "inspector",
"runtimeExecutable": "npm",
"runtimeArgs": ["run start:main --inspect=5858 --remote-debugging-port=9223"],
"preLaunchTask": "Start Webpack Dev"
},
{
"name": "Electron: Renderer",
"type": "chrome",
"request": "attach",
"port": 9223,
"webRoot": "${workspaceFolder}",
"timeout": 15000
}
],
"compounds": [
{
"name": "Electron: All",
"configurations": ["Electron: Main", "Electron: Renderer"]
}
]
}
+16 -27
View File
@@ -1,30 +1,26 @@
{
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.associations": {
".eslintrc": "jsonc",
".prettierrc": "jsonc",
".eslintignore": "ignore"
},
"eslint.validate": ["typescript", "typescriptreact"],
"eslint.validate": ["typescript"],
"eslint.workingDirectories": [
{ "directory": "./", "changeProcessCWD": true },
{ "directory": "./server", "changeProcessCWD": true }
],
"typescript.tsserver.experimental.enableProjectDiagnostics": false,
"typescript.tsserver.experimental.enableProjectDiagnostics": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.fixAll.stylelint": "explicit",
"source.organizeImports": "never",
"source.formatDocument": "explicit"
"source.fixAll.eslint": true,
"source.fixAll.stylelint": true,
"source.organizeImports": false,
"source.formatDocument": true
},
"css.validate": true,
"less.validate": false,
"scss.validate": true,
"scss.lint.unknownAtRules": "warning",
"scss.lint.unknownProperties": "warning",
"javascript.validate.enable": false,
"javascript.format.enable": false,
"typescript.format.enable": false,
@@ -37,21 +33,14 @@
"npm-debug.log.*": true,
"test/**/__snapshots__": true,
"package-lock.json": true,
"*.{css,sass,scss}.d.ts": true,
"out/**/*": true,
"dist/**/*": true
"*.{css,sass,scss}.d.ts": true
},
"i18n-ally.localesPaths": ["src/i18n", "src/i18n/locales"],
"typescript.tsdk": "node_modules\\typescript\\lib",
"typescript.preferences.importModuleSpecifier": "non-relative",
"stylelint.config": null,
"stylelint.validate": ["css", "postcss"],
"stylelint.validate": ["css", "scss", "typescript", "typescriptreact"],
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.preferences.autoImportFileExcludePatterns": [
"@mantine/core",
"@mantine/modals",
"@mantine/dates"
],
"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
"folderTemplates.structures": [
@@ -64,14 +53,14 @@
"template": "Functional Component with CSS Modules"
},
{
"fileName": "<FTName | kebabcase>.module.css"
"fileName": "<FTName | kebabcase>.module.scss"
}
]
}
],
"folderTemplates.fileTemplates": {
"Functional Component with CSS Modules": [
"import styles from './<FTName | kebabcase>.module.css';",
"import styles from './<FTName | kebabcase>.module.scss';",
"",
"interface <FTName | pascalcase>Props {}",
"",
+25
View File
@@ -0,0 +1,25 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"label": "Start Webpack Dev",
"script": "start:renderer",
"options": {
"cwd": "${workspaceFolder}"
},
"isBackground": true,
"problemMatcher": {
"owner": "custom",
"pattern": {
"regexp": "____________"
},
"background": {
"activeOnStart": true,
"beginsPattern": "Compiling\\.\\.\\.$",
"endsPattern": "(Compiled successfully|Failed to compile)\\.$"
}
}
}
]
}
+6 -13
View File
@@ -1,23 +1,16 @@
# --- Builder stage
FROM node:23-alpine as builder
FROM node:18-alpine as builder
WORKDIR /app
COPY . /app
# Copy package.json first to cache node_modules
COPY package.json pnpm-lock.yaml .
RUN npm install -g pnpm
RUN pnpm install
# Copy code and build with cached modules
COPY . .
RUN pnpm run build:web
# Scripts include electron-specific dependencies, which we don't need
RUN npm install --legacy-peer-deps --ignore-scripts
RUN npm run build:web
# --- Production stage
FROM nginx:alpine-slim
COPY --chown=nginx:nginx --from=builder /app/out/web /usr/share/nginx/html
COPY ./settings.js.template /etc/nginx/templates/settings.js.template
COPY --chown=nginx:nginx --from=builder /app/release/app/dist/web /usr/share/nginx/html
COPY ng.conf.template /etc/nginx/templates/default.conf.template
ENV PUBLIC_PATH="/"
+16 -95
View File
@@ -1,4 +1,4 @@
<img src="assets/icons/icon.png" alt="logo" title="feishin" align="right" height="60px" width="60px" />
<img src="assets/icons/icon.png" alt="logo" title="feishin" align="right" height="60px" />
# Feishin
@@ -27,19 +27,17 @@
</a>
</p>
---
Rewrite of [Sonixd](https://github.com/jeffvli/sonixd).
## Features
- [x] MPV player backend
- [x] Web player backend
- [x] Modern UI
- [x] Scrobble playback to your server
- [x] Smart playlist editor (Navidrome)
- [x] Synchronized and unsynchronized lyrics support
- [ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1)
- [x] MPV player backend
- [x] Web player backend
- [x] Modern UI
- [x] Scrobble playback to your server
- [x] Smart playlist editor (Navidrome)
- [x] Synchronized and unsynchronized lyrics support
- [ ] [Request a feature](https://github.com/jeffvli/feishin/issues) or [view taskboard](https://github.com/users/jeffvli/projects/5/views/1)
## Screenshots
@@ -51,12 +49,8 @@ Rewrite of [Sonixd](https://github.com/jeffvli/sonixd).
Download the [latest desktop client](https://github.com/jeffvli/feishin/releases). The desktop client is the recommended way to use Feishin. It supports both the MPV and web player backends, as well as includes built-in fetching for lyrics.
#### macOS Notes
If you're using a device running macOS 12 (Monterey) or higher, [check here](https://github.com/jeffvli/feishin/issues/104#issuecomment-1553914730) for instructions on how to remove the app from quarantine.
For media keys to work, you will be prompted to allow Feishin to be a Trusted Accessibility Client. After allowing, you will need to restart Feishin for the privacy settings to take effect.
### Web and Docker
Visit [https://feishin.vercel.app](https://feishin.vercel.app) to use the hosted web version of Feishin. The web client only supports the web player backend.
@@ -72,42 +66,16 @@ docker build -t feishin .
docker run --name feishin -p 9180:9180 feishin
```
#### Docker Compose
To install via Docker Compose use the following snippit. This also works on Portainer.
```yaml
services:
feishin:
container_name: feishin
image: 'ghcr.io/jeffvli/feishin:latest'
environment:
- SERVER_NAME=jellyfin # pre defined server name
- SERVER_LOCK=true # When true AND name/type/url are set, only username/password can be toggled
- SERVER_TYPE=jellyfin # navidrome also works
- SERVER_URL= # http://address:port
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=America/Los_Angeles
ports:
- 9180:9180
restart: unless-stopped
```
### Configuration
1. Upon startup you will be greeted with a prompt to select the path to your MPV binary. If you do not have MPV installed, you can download it [here](https://mpv.io/installation/) or install it using any package manager supported by your OS. After inputting the path, restart the app.
2. After restarting the app, you will be prompted to select a server. Click the `Open menu` button and select `Manage servers`. Click the `Add server` button in the popup and fill out all applicable details. You will need to enter the full URL to your server, including the protocol and port if applicable (e.g. `https://navidrome.my-server.com` or `http://192.168.0.1:4533`).
- **Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h).
- **Linux users** - The default password store uses `libsecret`. `kwallet4/5/6` are also supported, but must be explicitly set in Settings > Window > Passwords/secret score.
- **Navidrome** - For the best experience, select "Save password" when creating the server and configure the `SessionTimeout` setting in your Navidrome config to a larger value (e.g. 72h).
3. _Optional_ - If you want to host Feishin on a subpath (not `/`), then pass in the following environment variable: `PUBLIC_PATH=PATH`. For example, to host on `/feishin`, pass in `PUBLIC_PATH=/feishin`.
4. _Optional_ - To hard code the server url, pass the following environment variables: `SERVER_NAME`, `SERVER_TYPE` (one of `jellyfin` or `navidrome`), `SERVER_URL`. To prevent users from changing these settings, pass `SERVER_LOCK=true`. This can only be set if all three of the previous values are set.
## FAQ
### MPV is either not working or is rapidly switching between pause/play states
@@ -116,65 +84,18 @@ First thing to do is check that your MPV binary path is correct. Navigate to the
### What music servers does Feishin support?
Feishin supports any music server that implements a [Navidrome](https://www.navidrome.org/), [Jellyfin](https://jellyfin.org/), or [OpenSubsonic compatible](https://opensubsonic.netlify.app/) API.
Feishin supports any music server that implements a [Navidrome](https://www.navidrome.org/) or [Jellyfin](https://jellyfin.org/) API. **Subsonic API is not currently supported**. This will likely be added in [later when the new Subsonic API is decided on](https://support.symfonium.app/t/subsonic-servers-participation/1233).
- [Navidrome](https://github.com/navidrome/navidrome)
- [Jellyfin](https://github.com/jellyfin/jellyfin)
- [OpenSubsonic](https://opensubsonic.netlify.app/) compatible servers, such as...
- [Airsonic-Advanced](https://github.com/airsonic-advanced/airsonic-advanced)
- [Ampache](https://ampache.org)
- [Astiga](https://asti.ga/)
- [Funkwhale](https://www.funkwhale.audio/)
- [Gonic](https://github.com/sentriz/gonic)
- [LMS](https://github.com/epoupon/lms)
- [Nextcloud Music](https://apps.nextcloud.com/apps/music)
- [Supysonic](https://github.com/spl0k/supysonic)
- [Qm-Music](https://github.com/chenqimiao/qm-music)
- More (?)
### I have the issue "The SUID sandbox helper binary was found, but is not configured correctly" on Linux
This happens when you have user (unprivileged) namespaces disabled (`sysctl kernel.unprivileged_userns_clone` returns 0). You can fix this by either enabling unprivileged namespaces, or by making the `chrome-sandbox` Setuid.
```bash
chmod 4755 chrome-sandbox
sudo chown root:root chrome-sandbox
```
Ubunutu 24.04 specifically introduced breaking changes that affect how namespaces work. Please see https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890#:~:text=security%20improvements%20 for possible fixes.
- [Navidrome](https://github.com/navidrome/navidrome)
- [Jellyfin](https://github.com/jellyfin/jellyfin)
- [Funkwhale](https://funkwhale.audio/) - TBD
- Subsonic-compatible servers - TBD
## Development
Built and tested using Node `v23.11.0`.
Built and tested using Node `v16.15.0`.
This project is built off of [electron-vite](https://github.com/alex8088/electron-vite)
- `pnpm run dev` - Start the development server
- `pnpm run dev:watch` - Start the development server in watch mode (for main / preload HMR)
- `pnpm run start` - Starts the app in production preview mode
- `pnpm run build` - Builds the app for desktop
- `pnpm run build:electron` - Build the electron app (main, preload, and renderer)
- `pnpm run build:remote` - Build the remote app (remote)
- `pnpm run build:web` - Build the standalone web app (renderer)
- `pnpm run package` - Package the project
- `pnpm run package:dev` - Package the project for development locally
- `pnpm run package:linux` - Package the project for Linux locally
- `pnpm run package:mac` - Package the project for Mac locally
- `pnpm run package:win` - Package the project for Windows locally
- `pnpm run publish:linux` - Publish the project for Linux
- `pnpm run publish:linux:beta` - Publish the project for Linux (beta channel)
- `pnpm run publish:linux-arm64` - Publish the project for Linux ARM64
- `pnpm run publish:linux-arm64:beta` - Publish the project for Linux ARM64 (beta channel)
- `pnpm run publish:mac` - Publish the project for Mac
- `pnpm run publish:mac:beta` - Publish the project for Mac (beta channel)
- `pnpm run publish:win` - Publish the project for Windows
- `pnpm run publish:win:beta` - Publish the project for Windows (beta channel)
- `pnpm run typecheck` - Type check the project
- `pnpm run typecheck:node` - Type check the project with tsconfig.node.json
- `pnpm run typecheck:web` - Type check the project with tsconfig.web.json
- `pnpm run lint` - Lint the project
- `pnpm run lint:fix` - Lint the project and fix linting errors
- `pnpm run i18next` - Generate i18n files
This project is built off of [electron-react-boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate) v4.6.0.
## Translation
+1 -3
View File
@@ -2,11 +2,9 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<key>com.apple.security.cs.allow-jit</key>
<true/>
</dict>
</plist>
Binary file not shown.
-3
View File
@@ -1,3 +0,0 @@
provider: generic
url: https://example.com/auto-updates
updaterCacheDirName: feishin-updater
-13
View File
@@ -1,13 +0,0 @@
version: '3.5'
services:
feishin:
container_name: feishin
image: ghcr.io/jeffvli/feishin:latest
restart: unless-stopped
ports:
- 9180:9180
environment:
- SERVER_NAME=jellyfin # pre defined server name
- SERVER_LOCK=true # When true AND name/type/url are set, only username/password can be toggled
- SERVER_TYPE=jellyfin # navidrome also works
- SERVER_URL= # http://address:port
-57
View File
@@ -1,57 +0,0 @@
appId: org.jeffvli.feishin
productName: Feishin
artifactName: ${productName}-${version}-${os}-${arch}.${ext}
electronVersion: 35.1.5
directories:
buildResources: assets
files:
- 'out/**/*'
- 'package.json'
extraResources:
- assets/**
asarUnpack:
- resources/**
win:
target:
- zip
- nsis
icon: assets/icons/icon.png
nsis:
allowToChangeInstallationDirectory: true
oneClick: false
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
mac:
target:
target: default
arch:
- arm64
- x64
icon: assets/icons/icon.icns
type: distribution
hardenedRuntime: true
entitlements: assets/entitlements.mac.plist
entitlementsInherit: assets/entitlements.mac.plist
gatekeeperAssess: false
notarize: false
dmg:
contents: [{ x: 130, y: 220 }, { x: 410, y: 220, type: link, path: /Applications }]
linux:
target:
- AppImage
- tar.xz
category: AudioVideo;Audio;Player
icon: assets/icons/icon.png
artifactName: ${productName}-${os}-${arch}.${ext}
npmRebuild: false
publish:
provider: github
owner: jeffvli
repo: feishin
channel: beta
-57
View File
@@ -1,57 +0,0 @@
appId: org.jeffvli.feishin
productName: Feishin
artifactName: ${productName}-${version}-${os}-${arch}.${ext}
electronVersion: 35.1.5
directories:
buildResources: assets
files:
- 'out/**/*'
- 'package.json'
extraResources:
- assets/**
asarUnpack:
- resources/**
win:
target:
- zip
- nsis
icon: assets/icons/icon.png
nsis:
allowToChangeInstallationDirectory: true
oneClick: false
shortcutName: ${productName}
uninstallDisplayName: ${productName}
createDesktopShortcut: always
mac:
target:
target: default
arch:
- arm64
- x64
icon: assets/icons/icon.icns
type: distribution
hardenedRuntime: true
entitlements: assets/entitlements.mac.plist
entitlementsInherit: assets/entitlements.mac.plist
gatekeeperAssess: false
notarize: false
dmg:
contents: [{ x: 130, y: 220 }, { x: 410, y: 220, type: link, path: /Applications }]
linux:
target:
- AppImage
- tar.xz
category: AudioVideo;Audio;Player
icon: assets/icons/icon.png
artifactName: ${productName}-${os}-${arch}.${ext}
npmRebuild: false
publish:
provider: github
owner: jeffvli
repo: feishin
channel: latest
-66
View File
@@ -1,66 +0,0 @@
import react from '@vitejs/plugin-react';
import { externalizeDepsPlugin, UserConfig } from 'electron-vite';
import { resolve } from 'path';
import conditionalImportPlugin from 'vite-plugin-conditional-import';
import dynamicImportPlugin from 'vite-plugin-dynamic-import';
import { ViteEjsPlugin } from 'vite-plugin-ejs';
const currentOSEnv = process.platform;
const config: UserConfig = {
main: {
build: {
rollupOptions: {
external: ['source-map-support'],
},
sourcemap: true,
},
define: {
'import.meta.env.IS_LINUX': JSON.stringify(currentOSEnv === 'linux'),
'import.meta.env.IS_MACOS': JSON.stringify(currentOSEnv === 'darwin'),
'import.meta.env.IS_WIN': JSON.stringify(currentOSEnv === 'win32'),
},
plugins: [
externalizeDepsPlugin(),
dynamicImportPlugin(),
conditionalImportPlugin({
currentEnv: currentOSEnv,
envs: ['win32', 'linux', 'darwin'],
}),
],
resolve: {
alias: {
'/@/main': resolve('src/main'),
'/@/shared': resolve('src/shared'),
},
},
},
preload: {
plugins: [externalizeDepsPlugin()],
resolve: {
alias: {
'/@/preload': resolve('src/preload'),
'/@/shared': resolve('src/shared'),
},
},
},
renderer: {
css: {
modules: {
generateScopedName: 'fs-[name]-[local]',
localsConvention: 'camelCase',
},
},
plugins: [react(), ViteEjsPlugin({ web: false })],
resolve: {
alias: {
'/@/i18n': resolve('src/i18n'),
'/@/remote': resolve('src/remote'),
'/@/renderer': resolve('src/renderer'),
'/@/shared': resolve('src/shared'),
},
},
},
};
export default config;
-53
View File
@@ -1,53 +0,0 @@
import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier';
import tseslint from '@electron-toolkit/eslint-config-ts';
import perfectionist from 'eslint-plugin-perfectionist';
import eslintPluginReact from 'eslint-plugin-react';
import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
import eslintPluginReactRefresh from 'eslint-plugin-react-refresh';
export default tseslint.config(
{ ignores: ['**/node_modules', '**/dist', '**/out'] },
tseslint.configs.recommended,
perfectionist.configs['recommended-natural'],
eslintPluginReact.configs.flat.recommended,
eslintPluginReact.configs.flat['jsx-runtime'],
{
settings: {
react: {
version: 'detect',
},
},
},
{
files: ['**/*.{ts,tsx}'],
plugins: {
'react-hooks': eslintPluginReactHooks,
'react-refresh': eslintPluginReactRefresh,
},
rules: {
...eslintPluginReactHooks.configs.recommended.rules,
...eslintPluginReactRefresh.configs.vite.rules,
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-duplicate-enum-values': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': 'warn',
curly: ['error', 'all'],
indent: [
'error',
'tab',
{
offsetTernaryExpressions: true,
SwitchCase: 1,
},
],
'no-unused-vars': 'off',
'no-use-before-define': 'off',
quotes: ['error', 'single'],
'react-refresh/only-export-components': 'off',
'react/display-name': 'off',
semi: ['error', 'always'],
'single-attribute-per-line': 'off',
},
},
eslintConfigPrettier,
);
+1 -9
View File
@@ -16,12 +16,4 @@ server {
alias /usr/share/nginx/html/;
try_files $uri $uri/ /index.html =404;
}
location ${PUBLIC_PATH}settings.js {
alias /etc/nginx/conf.d/settings.js;
}
location ${PUBLIC_PATH}/settings.js {
alias /etc/nginx/conf.d/settings.js;
}
}
}
+37271
View File
File diff suppressed because it is too large Load Diff
+315 -132
View File
@@ -1,61 +1,292 @@
{
"name": "feishin",
"version": "0.21.0",
"description": "A modern self-hosted music player.",
"productName": "Feishin",
"description": "Feishin music server",
"version": "0.5.2",
"scripts": {
"build": "concurrently \"npm run build:main\" \"npm run build:renderer\" \"npm run build:remote\"",
"build:main": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.main.prod.ts",
"build:remote": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.remote.prod.ts",
"build:renderer": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.prod.ts",
"build:web": "cross-env NODE_ENV=production TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.web.prod.ts",
"build:docker": "npm run build:web && docker build -t jeffvli/feishin .",
"rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir release/app",
"lint": "concurrently \"npm run lint:code\" \"npm run lint:styles\"",
"lint:code": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx --fix",
"lint:styles": "npx stylelint **/*.tsx --fix",
"package": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never",
"package:pr": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never --win --mac --linux",
"package:dev": "ts-node ./.erb/scripts/clean.js dist && npm run build && electron-builder build --publish never --dir",
"postinstall": "ts-node .erb/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.ts",
"start": "ts-node ./.erb/scripts/check-port-in-use.js && npm run start:renderer",
"start:main": "cross-env NODE_ENV=development electron -r ts-node/register/transpile-only ./src/main/main.ts",
"start:preload": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.preload.dev.ts",
"start:remote": "cross-env NODE_ENV=developemnt TS_NODE_TRANSPILE_ONLY=true webpack --config ./.erb/configs/webpack.config.remote.dev.ts",
"start:renderer": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.dev.ts",
"start:web": "cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack serve --config ./.erb/configs/webpack.config.renderer.web.ts",
"test": "jest",
"prepare": "husky install",
"i18next": "i18next -c src/i18n/i18next-parser.config.js",
"prod:buildserver": "pwsh -c \"./scripts/server-build.ps1\"",
"prod:publishserver": "pwsh -c \"./scripts/server-publish.ps1\""
},
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"cross-env NODE_ENV=development eslint --cache"
],
"*.json,.{eslintrc,prettierrc}": [
"prettier --ignore-path .eslintignore --parser json --write"
],
"*.{css,scss}": [
"prettier --ignore-path .eslintignore --single-quote --write"
],
"*.{html,md,yml}": [
"prettier --ignore-path .eslintignore --single-quote --write"
]
},
"build": {
"productName": "Feishin",
"appId": "org.jeffvli.feishin",
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
"asar": true,
"asarUnpack": "**\\*.{node,dll}",
"files": [
"dist",
"node_modules",
"package.json"
],
"afterSign": ".erb/scripts/notarize.js",
"electronVersion": "27.1.0",
"mac": {
"target": {
"target": "default",
"arch": [
"arm64",
"x64"
]
},
"icon": "assets/icons/icon.icns",
"type": "distribution",
"hardenedRuntime": true,
"entitlements": "assets/entitlements.mac.plist",
"entitlementsInherit": "assets/entitlements.mac.plist",
"gatekeeperAssess": false
},
"dmg": {
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
]
},
"win": {
"target": [
"nsis",
"zip"
],
"icon": "assets/icons/icon.ico"
},
"deb": {
"depends": [
"libgssapi_krb5.so.2",
"libavahi-common.so.3",
"libavahi-client.so.3",
"libkrb5.so.3",
"libkrb5support.so.0",
"libkeyutils.so.1",
"libcups.so.2"
]
},
"rpm": {
"depends": [
"libgssapi_krb5.so.2",
"libavahi-common.so.3",
"libavahi-client.so.3",
"libkrb5.so.3",
"libkrb5support.so.0",
"libkeyutils.so.1",
"libcups.so.2"
]
},
"freebsd": {
"depends": [
"libgssapi_krb5.so.2",
"libavahi-common.so.3",
"libavahi-client.so.3",
"libkrb5.so.3",
"libkrb5support.so.0",
"libkeyutils.so.1",
"libcups.so.2"
]
},
"linux": {
"target": [
"AppImage",
"tar.xz"
],
"icon": "assets/icons/icon.png",
"category": "Development"
},
"directories": {
"app": "release/app",
"buildResources": "assets",
"output": "release/build"
},
"extraResources": [
"./assets/**"
],
"publish": {
"provider": "github",
"owner": "jeffvli",
"repo": "feishin"
}
},
"repository": {
"type": "git",
"url": "git+https://github.com/jeffvli/feishin.git"
},
"author": {
"name": "jeffvli",
"url": "https://github.com/jeffvli/"
},
"contributors": [],
"license": "GPL-3.0",
"bugs": {
"url": "https://github.com/jeffvli/feishin/issues"
},
"keywords": [
"subsonic",
"navidrome",
"airsonic",
"jellyfin",
"react",
"electron"
],
"homepage": "https://github.com/jeffvli/feishin",
"bugs": {
"url": "https://github.com/jeffvli/feishin/issues"
"jest": {
"testURL": "http://localhost/",
"testEnvironment": "jsdom",
"transform": {
"\\.(ts|tsx|js|jsx)$": "ts-jest"
},
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/.erb/mocks/fileMock.js",
"\\.(css|less|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"js",
"jsx",
"ts",
"tsx",
"json"
],
"moduleDirectories": [
"node_modules",
"release/app/node_modules"
],
"testPathIgnorePatterns": [
"release/app/dist"
],
"setupFiles": [
"./.erb/scripts/check-build-exists.ts"
]
},
"license": "GPL-3.0",
"author": {
"name": "jeffvli",
"url": "https://github.com/jeffvli/"
},
"main": "./out/main/index.js",
"scripts": {
"build": "pnpm run typecheck && pnpm run build:electron && pnpm run build:remote",
"build:electron": "electron-vite build",
"build:remote": "vite build --config remote.vite.config.ts",
"build:web": "vite build --config web.vite.config.ts",
"dev": "electron-vite dev",
"dev:remote": "vite dev --config remote.vite.config.ts",
"dev:watch": "electron-vite dev --watch",
"i18next": "i18next -c src/i18n/i18next-parser.config.js",
"postinstall": "electron-builder install-app-deps",
"lint": "pnpm run lint-code && pnpm run lint-styles",
"lint-code": "eslint --max-warnings=0 --cache .",
"lint-code:fix": "eslint --cache --fix .",
"lint-styles": "stylelint --max-warnings=0 'src/**/*.{css,scss}'",
"lint-styles:fix": "stylelint 'src/**/*.{css,scss}' --fix",
"lint:fix": "pnpm run lint-code:fix && pnpm run lint-styles:fix",
"package": "pnpm run build && electron-builder",
"package:dev": "pnpm run build && electron-builder --dir",
"package:linux": "pnpm run build && electron-builder --linux",
"package:linux-arm64:pr": "pnpm run build && electron-builder --linux --arm64 --publish never",
"package:linux:pr": "pnpm run build && electron-builder --linux --publish never",
"package:mac": "pnpm run build && electron-builder --mac",
"package:mac:pr": "pnpm run build && electron-builder --mac --publish never",
"package:win": "pnpm run build && electron-builder --win",
"package:win:pr": "pnpm run build && electron-builder --win --publish never",
"publish:linux": "pnpm run build && electron-builder --publish always --linux",
"publish:linux-arm64": "pnpm run build && electron-builder --publish always --linux --arm64",
"publish:linux-arm64:beta": "pnpm run build && electron-builder --config electron-builder-beta.yml --publish always --linux --arm64",
"publish:linux:beta": "pnpm run build && electron-builder --config electron-builder-beta.yml --publish always --linux",
"publish:mac": "pnpm run build && electron-builder --publish always --mac",
"publish:mac:beta": "pnpm run build && electron-builder --config electron-builder-beta.yml --publish always --mac",
"publish:win": "pnpm run build && electron-builder --publish always --win",
"publish:win:beta": "pnpm run build && electron-builder --config electron-builder-beta.yml --publish always --win",
"start": "electron-vite preview",
"typecheck": "pnpm run typecheck:node && pnpm run typecheck:web",
"typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false",
"typecheck:web": "tsc --noEmit -p tsconfig.web.json --composite false"
"devDependencies": {
"@electron/rebuild": "^3.2.10",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
"@stylelint/postcss-css-in-js": "^0.38.0",
"@teamsupercell/typings-for-css-modules-loader": "^2.5.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.0.0",
"@types/electron-localshortcut": "^3.1.0",
"@types/jest": "^27.4.1",
"@types/lodash": "^4.14.188",
"@types/md5": "^2.3.2",
"@types/node": "^17.0.23",
"@types/react": "^18.0.25",
"@types/react-dom": "^18.0.8",
"@types/react-test-renderer": "^17.0.1",
"@types/react-virtualized-auto-sizer": "^1.0.1",
"@types/react-window": "^1.8.5",
"@types/react-window-infinite-loader": "^1.0.6",
"@types/styled-components": "^5.1.26",
"@types/terser-webpack-plugin": "^5.0.4",
"@types/webpack-bundle-analyzer": "^4.4.1",
"@types/webpack-env": "^1.16.3",
"@typescript-eslint/eslint-plugin": "^5.47.0",
"@typescript-eslint/parser": "^5.47.0",
"browserslist-config-erb": "^0.0.3",
"chalk": "^4.1.2",
"concurrently": "^7.1.0",
"core-js": "^3.21.1",
"cross-env": "^7.0.3",
"css-loader": "^6.7.1",
"css-minimizer-webpack-plugin": "^3.4.1",
"detect-port": "^1.3.0",
"electron": "^27.1.0",
"electron-builder": "^24.9.0",
"electron-devtools-installer": "^3.2.0",
"electron-notarize": "^1.2.1",
"electronmon": "^2.0.2",
"eslint": "^8.30.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-erb": "^4.0.3",
"eslint-import-resolver-typescript": "^2.7.1",
"eslint-import-resolver-webpack": "^0.13.2",
"eslint-plugin-compat": "^4.0.2",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.1.3",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-promise": "^6.0.0",
"eslint-plugin-react": "^7.29.4",
"eslint-plugin-react-hooks": "^4.4.0",
"eslint-plugin-sort-keys-fix": "^1.1.2",
"eslint-plugin-typescript-sort-keys": "^2.1.0",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.5.0",
"husky": "^7.0.4",
"i18next-parser": "^6.6.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^27.5.1",
"lint-staged": "^12.3.7",
"mini-css-extract-plugin": "^2.6.0",
"postcss-scss": "^4.0.4",
"postcss-styled-syntax": "^0.5.0",
"postcss-syntax": "^0.36.2",
"prettier": "^2.6.2",
"react-refresh": "^0.12.0",
"react-refresh-typescript": "^2.0.4",
"react-test-renderer": "^18.0.0",
"rimraf": "^3.0.2",
"sass": "^1.49.11",
"sass-loader": "^12.6.0",
"style-loader": "^3.3.1",
"stylelint": "^15.10.3",
"stylelint-config-css-modules": "^4.3.0",
"stylelint-config-recess-order": "^4.3.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-config-standard-scss": "^4.0.0",
"stylelint-config-styled-components": "^0.1.1",
"terser-webpack-plugin": "^5.3.1",
"ts-jest": "^27.1.4",
"ts-loader": "^9.2.8",
"ts-node": "^10.7.0",
"tsconfig-paths-webpack-plugin": "^4.0.0",
"typescript": "^5.2.2",
"typescript-plugin-styled-components": "^3.0.0",
"url-loader": "^4.1.1",
"webpack": "^5.71.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.8.0",
"webpack-merge": "^5.8.0"
},
"dependencies": {
"@ag-grid-community/client-side-row-model": "^28.2.1",
@@ -63,39 +294,33 @@
"@ag-grid-community/infinite-row-model": "^28.2.1",
"@ag-grid-community/react": "^28.2.1",
"@ag-grid-community/styles": "^28.2.1",
"@atlaskit/pragmatic-drag-and-drop": "1.4.0",
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.0",
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3",
"@electron-toolkit/preload": "^3.0.1",
"@electron-toolkit/utils": "^4.0.0",
"@mantine/colors-generator": "^8.2.8",
"@mantine/core": "^8.2.8",
"@mantine/dates": "^8.2.8",
"@mantine/form": "^8.2.8",
"@mantine/hooks": "^8.2.8",
"@mantine/modals": "^8.2.8",
"@mantine/notifications": "^8.2.8",
"@emotion/react": "^11.10.4",
"@mantine/core": "^6.0.17",
"@mantine/dates": "^6.0.17",
"@mantine/form": "^6.0.17",
"@mantine/hooks": "^6.0.17",
"@mantine/modals": "^6.0.17",
"@mantine/notifications": "^6.0.17",
"@mantine/utils": "^6.0.17",
"@tanstack/react-query": "^4.32.1",
"@tanstack/react-query-devtools": "^4.32.1",
"@tanstack/react-query-persist-client": "^4.32.1",
"@ts-rest/core": "^3.23.0",
"@xhayper/discord-rpc": "^1.3.0",
"audiomotion-analyzer": "^4.5.0",
"auto-text-size": "^0.2.3",
"axios": "^1.12.0",
"cheerio": "^1.0.0",
"@xhayper/discord-rpc": "^1.0.24",
"axios": "^1.4.0",
"clsx": "^2.0.0",
"cmdk": "^0.2.0",
"dayjs": "^1.11.6",
"dompurify": "^3.1.6",
"electron-debug": "^3.2.0",
"electron-localshortcut": "^3.2.1",
"electron-log": "^5.1.1",
"electron-log": "^4.4.6",
"electron-store": "^8.1.0",
"electron-updater": "^6.3.9",
"electron-updater": "^4.6.5",
"fast-average-color": "^9.3.0",
"format-duration": "^2.0.0",
"framer-motion": "^10.13.0",
"fuse.js": "^6.6.2",
"history": "^5.3.0",
"i18next": "^21.10.0",
"idb-keyval": "^6.2.1",
"immer": "^9.0.21",
@@ -103,82 +328,40 @@
"lodash": "^4.17.21",
"md5": "^2.3.0",
"memoize-one": "^6.0.0",
"motion": "^12.18.1",
"mpris-service": "^2.1.2",
"nanoid": "^3.3.3",
"node-mpv": "github:jeffvli/Node-MPV#32b4d64395289ad710c41d481d2707a7acfc228f",
"overlayscrollbars": "^2.11.1",
"overlayscrollbars-react": "^0.5.6",
"qs": "^6.14.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"net": "^1.0.2",
"node-mpv": "github:jeffvli/Node-MPV",
"overlayscrollbars": "^2.2.1",
"overlayscrollbars-react": "^0.5.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^3.1.4",
"react-i18next": "^11.18.6",
"react-icons": "^5.5.0",
"react-image": "^4.1.0",
"react-intersection-observer": "^9.16.0",
"react-loading-skeleton": "^3.5.0",
"react-icons": "^4.10.1",
"react-player": "^2.11.0",
"react-router": "^6.16.0",
"react-router-dom": "^6.16.0",
"react-simple-img": "^3.0.0",
"react-virtualized-auto-sizer": "^1.0.17",
"react-window": "^1.8.9",
"react-window-infinite-loader": "^1.0.9",
"semver": "^7.5.4",
"styled-components": "^6.0.8",
"swiper": "^9.3.1",
"use-sync-external-store": "^1.5.0",
"ws": "^8.18.2",
"zod": "^3.22.3",
"zustand": "^5.0.5"
"zod": "^3.21.4",
"zustand": "^4.3.9"
},
"devDependencies": {
"@electron-toolkit/eslint-config-prettier": "^3.0.0",
"@electron-toolkit/eslint-config-ts": "^3.0.0",
"@electron-toolkit/tsconfig": "^1.0.1",
"@types/electron-localshortcut": "^3.1.0",
"@types/lodash": "^4.17.18",
"@types/md5": "^2.3.5",
"@types/node": "^22.15.32",
"@types/react": "^18.3.23",
"@types/react-dom": "^18.3.7",
"@types/react-window": "^1.8.5",
"@types/react-window-infinite-loader": "^1.0.6",
"@types/source-map-support": "^0.5.10",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^4.3.4",
"concurrently": "^7.1.0",
"cross-env": "^7.0.3",
"electron": "^37.4.0",
"electron-builder": "^26.0.12",
"electron-devtools-installer": "^3.2.0",
"electron-vite": "^3.1.0",
"eslint": "^9.24.0",
"eslint-plugin-perfectionist": "^4.13.0",
"eslint-plugin-prettier": "^5.4.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.19",
"i18next-parser": "^9.0.2",
"postcss-preset-mantine": "^1.17.0",
"prettier": "^3.5.3",
"prettier-plugin-packagejson": "^2.5.14",
"sass-embedded": "^1.89.0",
"stylelint": "^16.14.1",
"stylelint-config-css-modules": "^4.4.0",
"stylelint-config-recess-order": "^7.1.0",
"stylelint-config-standard": "^38.0.0",
"typescript": "^5.8.3",
"vite": "^6.3.6",
"vite-plugin-conditional-import": "^0.1.7",
"vite-plugin-dynamic-import": "^1.6.0",
"vite-plugin-ejs": "^1.7.0",
"vite-plugin-pwa": "^1.0.3"
"resolutions": {
"styled-components": "^6"
},
"pnpm": {
"onlyBuiltDependencies": [
"electron",
"esbuild"
"devEngines": {
"node": ">=14.x",
"npm": ">=7.x"
},
"browserslist": [],
"electronmon": {
"patterns": [
"!server",
"!src/renderer"
]
},
"productName": "feishin"
}
}
-11744
View File
File diff suppressed because it is too large Load Diff
-5
View File
@@ -1,5 +0,0 @@
module.exports = {
plugins: {
'postcss-preset-mantine': {},
},
};
+2331
View File
File diff suppressed because it is too large Load Diff
+24
View File
@@ -0,0 +1,24 @@
{
"name": "feishin",
"version": "0.5.2",
"description": "",
"main": "./dist/main/main.js",
"author": {
"name": "jeffvli",
"url": "https://github.com/jeffvli/"
},
"scripts": {
"electron-rebuild": "node -r ts-node/register ../../.erb/scripts/electron-rebuild.js",
"link-modules": "node -r ts-node/register ../../.erb/scripts/link-modules.ts",
"postinstall": "npm run electron-rebuild && npm run link-modules"
},
"dependencies": {
"cheerio": "^1.0.0-rc.12",
"mpris-service": "^2.1.2",
"ws": "^8.13.0"
},
"devDependencies": {
"electron": "25.3.0"
},
"license": "GPL-3.0"
}
-51
View File
@@ -1,51 +0,0 @@
import react from '@vitejs/plugin-react';
import path from 'path';
import { defineConfig, normalizePath } from 'vite';
import { ViteEjsPlugin } from 'vite-plugin-ejs';
import { version } from './package.json';
export default defineConfig({
build: {
emptyOutDir: true,
outDir: path.resolve(__dirname, './out/remote'),
rollupOptions: {
input: {
favicon: normalizePath(path.resolve(__dirname, './assets/icons/favicon.ico')),
index: normalizePath(path.resolve(__dirname, './src/remote/index.html')),
manifest: normalizePath(path.resolve(__dirname, './src/remote/manifest.json')),
remote: normalizePath(path.resolve(__dirname, './src/remote/index.tsx')),
worker: normalizePath(path.resolve(__dirname, './src/remote/service-worker.ts')),
},
output: {
assetFileNames: '[name].[ext]',
chunkFileNames: '[name].js',
entryFileNames: '[name].js',
},
},
sourcemap: true,
},
css: {
modules: {
generateScopedName: 'fs-[name]-[local]',
localsConvention: 'camelCase',
},
},
plugins: [
react(),
ViteEjsPlugin({
prod: process.env.NODE_ENV === 'production',
root: normalizePath(path.resolve(__dirname, './src/remote')),
version,
}),
],
resolve: {
alias: {
'/@/i18n': path.resolve(__dirname, './src/i18n'),
'/@/remote': path.resolve(__dirname, './src/remote'),
'/@/renderer': path.resolve(__dirname, './src/renderer'),
'/@/shared': path.resolve(__dirname, './src/shared'),
},
},
root: path.resolve(__dirname, './src/remote'),
});
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

-1
View File
@@ -1 +0,0 @@
"use strict";window.SERVER_URL="${SERVER_URL}";window.SERVER_NAME="${SERVER_NAME}";window.SERVER_TYPE="${SERVER_TYPE}";window.SERVER_LOCK=${SERVER_LOCK};
+9
View File
@@ -0,0 +1,9 @@
import '@testing-library/jest-dom';
import { render } from '@testing-library/react';
import { App } from '../renderer/app';
describe('App', () => {
it('should render', () => {
expect(render(<App />)).toBeTruthy();
});
});
+24 -95
View File
@@ -1,61 +1,38 @@
import { PostProcessorModule, StringMap, TOptions } from 'i18next';
import { PostProcessorModule } from 'i18next';
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import ca from './locales/ca.json';
import cs from './locales/cs.json';
import de from './locales/de.json';
import en from './locales/en.json';
import es from './locales/es.json';
import fa from './locales/fa.json';
import fi from './locales/fi.json';
import fr from './locales/fr.json';
import hu from './locales/hu.json';
import id from './locales/id.json';
import it from './locales/it.json';
import ja from './locales/ja.json';
import ko from './locales/ko.json';
import nbNO from './locales/nb-NO.json';
import nl from './locales/nl.json';
import pl from './locales/pl.json';
import ptBr from './locales/pt-BR.json';
import pt from './locales/pt.json';
import zhHans from './locales/zh-Hans.json';
import de from './locales/de.json';
import it from './locales/it.json';
import ru from './locales/ru.json';
import sl from './locales/sl.json';
import ptBr from './locales/pt-BR.json';
import sr from './locales/sr.json';
import sv from './locales/sv.json';
import ta from './locales/ta.json';
import tr from './locales/tr.json';
import zhHans from './locales/zh-Hans.json';
import zhHant from './locales/zh-Hant.json';
import cs from './locales/cs.json';
import nbNO from './locales/nb-NO.json';
import nl from './locales/nl.json';
const resources = {
ca: { translation: ca },
cs: { translation: cs },
de: { translation: de },
en: { translation: en },
es: { translation: es },
fa: { translation: fa },
fi: { translation: fi },
fr: { translation: fr },
hu: { translation: hu },
id: { translation: id },
de: { translation: de },
it: { translation: it },
ja: { translation: ja },
ko: { translation: ko },
'nb-NO': { translation: nbNO },
nl: { translation: nl },
pl: { translation: pl },
pt: { translation: pt },
'pt-BR': { translation: ptBr },
ru: { translation: ru },
sl: { translation: sl },
'pt-BR': { translation: ptBr },
fr: { translation: fr },
ja: { translation: ja },
pl: { translation: pl },
'zh-Hans': { translation: zhHans },
sr: { translation: sr },
sv: { translation: sv },
ta: { translation: ta },
tr: { translation: tr },
'zh-Hans': { translation: zhHans },
'zh-Hant': { translation: zhHant },
cs: { translation: cs },
nl: { translation: nl },
'nb-NO': { translation: nbNO },
};
export const languages = [
@@ -63,10 +40,6 @@ export const languages = [
label: 'English',
value: 'en',
},
{
label: 'Català',
value: 'ca',
},
{
label: 'Čeština',
value: 'cs',
@@ -83,18 +56,6 @@ export const languages = [
label: 'Français',
value: 'fr',
},
{
label: 'Bahasa Indonesia',
value: 'id',
},
{
label: 'Suomeksi',
value: 'fi',
},
{
label: 'Magyar',
value: 'hu',
},
{
label: 'Italiano',
value: 'it',
@@ -103,10 +64,6 @@ export const languages = [
label: '日本語',
value: 'ja',
},
{
label: '한국어',
value: 'ko',
},
{
label: 'Nederlands',
value: 'nl',
@@ -115,14 +72,7 @@ export const languages = [
label: 'Norsk (Bokmål)',
value: 'nb-NO',
},
{
label: 'فارسی',
value: 'fa',
},
{
label: 'Português',
value: 'pt',
},
{
label: 'Português (Brasil)',
value: 'pt-BR',
@@ -135,10 +85,6 @@ export const languages = [
label: 'Русский',
value: 'ru',
},
{
label: 'Slovenščina',
value: 'sl',
},
{
label: 'Srpski',
value: 'sr',
@@ -147,69 +93,52 @@ export const languages = [
label: 'Svenska',
value: 'sv',
},
{
label: 'Tamil',
value: 'ta',
},
{
label: 'Türkçe',
value: 'tr',
},
{
label: '简体中文',
value: 'zh-Hans',
},
{
label: '繁體中文',
value: 'zh-Hant',
},
];
const lowerCasePostProcessor: PostProcessorModule = {
type: 'postProcessor',
name: 'lowerCase',
process: (value: string) => {
return value.toLocaleLowerCase();
},
type: 'postProcessor',
};
const upperCasePostProcessor: PostProcessorModule = {
type: 'postProcessor',
name: 'upperCase',
process: (value: string) => {
return value.toLocaleUpperCase();
},
type: 'postProcessor',
};
const titleCasePostProcessor: PostProcessorModule = {
type: 'postProcessor',
name: 'titleCase',
process: (value: string) => {
return value.replace(/\S\S*/g, (txt) => {
return txt.charAt(0).toLocaleUpperCase() + txt.slice(1).toLowerCase();
});
},
type: 'postProcessor',
};
const ignoreSentenceCaseLanguages = ['de'];
const sentenceCasePostProcessor: PostProcessorModule = {
type: 'postProcessor',
name: 'sentenceCase',
process: (value: string, _key: string, _options: TOptions<StringMap>, translator: any) => {
process: (value: string) => {
const sentences = value.split('. ');
return sentences
.map((sentence) => {
return (
sentence.charAt(0).toLocaleUpperCase() +
(!ignoreSentenceCaseLanguages.includes(translator.language)
? sentence.slice(1).toLocaleLowerCase()
: sentence.slice(1))
sentence.charAt(0).toLocaleUpperCase() + sentence.slice(1).toLocaleLowerCase()
);
})
.join('. ');
},
type: 'postProcessor',
};
i18n.use(lowerCasePostProcessor)
.use(upperCasePostProcessor)
+3 -3
View File
@@ -5,9 +5,7 @@ module.exports = {
createOldCatalogs: true,
customValueTemplate: null,
defaultNamespace: 'translation',
defaultValue: function (locale, namespace, key) {
return key;
},
defaultValue: '',
failOnUpdate: false,
failOnWarnings: false,
i18nextOptions: null,
@@ -39,6 +37,8 @@ module.exports = {
output: 'src/renderer/i18n/locales/$LOCALE.json',
pluralSeparator: '_',
resetDefaultValueLocale: 'en',
skipDefaultValues: false,
sort: true,
useKeysAsDefaultValue: true,
verbose: false,
};
-831
View File
@@ -1,831 +0,0 @@
{
"page": {
"sidebar": {
"myLibrary": "La meva llibreria",
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"tracks": "$t(entity.track_other)",
"nowPlaying": "ara sona",
"shared": "$t(entity.playlist_other) compartida"
},
"albumArtistDetail": {
"relatedArtists": "$t(entity.artist_other) similars",
"viewAllTracks": "veure totes les $t(entity.track_other)",
"about": "Sobre {{artist}}",
"appearsOn": "apareix a",
"recentReleases": "Llançaments recents",
"viewDiscography": "Mosta la discografia",
"topSongs": "millos cançons",
"topSongsFrom": "les millors cançons de {{title}}",
"viewAll": "mostra-ho tot"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "més d'aquest $t(entity.artist_one)",
"moreFromGeneric": "més de {{item}}",
"released": "publicat"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "àlbums de {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"appMenu": {
"quit": "$t(common.quit)",
"settings": "$t(common.setting_other)",
"goBack": "torna enrere",
"goForward": "avança",
"collapseSidebar": "replega la barra lateral",
"expandSidebar": "expandeix la barra lateral",
"manageServers": "gestionar servidors",
"selectServer": "seleccionar servidor",
"version": "versió {{version}}",
"openBrowserDevtools": "obre les eines de desenvolupament del navegador",
"privateModeOff": "desactiva el mode privat",
"privateModeOn": "activa el mode privat"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"play": "$t(player.play)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"download": "descarregar",
"showDetails": "informació",
"numberSelected": "{{count}} seleccionat",
"shareItem": "comparteix l'element",
"goToAlbumArtist": "Ves a $t(entity.albumArtist_one)",
"goToAlbum": "ves a $t(entity.album_one)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "mostra $t(entity.album_other) $t(entity.genre_one)",
"showTracks": "mostra $t(entity.track_other) $t(entity.genre_one)"
},
"home": {
"title": "$t(common.home)",
"explore": "explora la teva biblioteca",
"newlyAdded": "afegits recentment",
"mostPlayed": "els més reproduïts",
"recentlyPlayed": "reproduït recentment"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "pistes de {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
},
"manageServers": {
"username": "nom d'usuari",
"title": "gestionar servidors",
"serverDetails": "detalls del servidor",
"editServerDetailsTooltip": "editar els detalls del servidor",
"removeServer": "eliminar el servidor",
"url": "URL"
},
"fullscreenPlayer": {
"config": {
"opacity": "opacitat",
"synchronized": "sincronitzat",
"unsynchronized": "no sincronitzat",
"useImageAspectRatio": "utilitza la relació d'aspecte de la imatge",
"dynamicBackground": "fons dinàmic",
"dynamicIsImage": "activar la imatge de fons",
"followCurrentLyric": "seguir la lletra actual",
"lyricAlignment": "alineació de la lletra",
"lyricSize": "tamany de la lletra",
"dynamicImageBlur": "mida del desenfocament de la imatge",
"lyricOffset": "demora de la lletra (ms)",
"showLyricMatch": "mosta coincidències de lletres",
"showLyricProvider": "mostra el proveïdor de la lletra",
"lyricGap": "espera entre lletres"
},
"lyrics": "lletres",
"visualizer": "visualitzador",
"noLyrics": "no s'ha trobat cap lletra",
"related": "relacionat",
"upNext": "a continuació"
},
"setting": {
"advanced": "avançat",
"generalTab": "general",
"hotkeysTab": "tecles d'accés ràpid",
"playbackTab": "reproducció",
"windowTab": "finestra"
},
"globalSearch": {
"commands": {
"goToPage": "anar a la pàgina",
"searchFor": "cerca {{query}}",
"serverCommands": "ordres del servidor"
},
"title": "ordres"
},
"itemDetail": {
"copyPath": "copia ruta al porta-retalls",
"copiedPath": "ruta copiada correctament",
"openFile": "mostra la pista al gestor d'arxius"
},
"playlist": {
"reorder": "el reordenament només s'activa quan s'ordena per id"
}
},
"common": {
"home": "inici",
"year": "any",
"add": "afegir",
"ascending": "ascendent",
"biography": "biografia",
"bitrate": "taxa de bits",
"bpm": "bpm",
"cancel": "cancel·lar",
"center": "centrar",
"close": "tancar",
"codec": "còdec",
"configure": "configurar",
"confirm": "confirmar",
"create": "crear",
"decrease": "disminuir",
"delete": "eliminar",
"descending": "descendent",
"description": "descripció",
"disable": "desactivar",
"disc": "disc",
"dismiss": "descartar",
"duration": "duració",
"edit": "editar",
"enable": "activar",
"expand": "expandir",
"filters": "filtres",
"increase": "incrementar",
"left": "esquerra",
"maximize": "maximitzar",
"menu": "menú",
"minimize": "minimitzar",
"modified": "modificació",
"name": "nom",
"no": "no",
"none": "cap",
"note": "nota",
"ok": "bé",
"preview": "vista prèvia",
"quit": "sortir",
"random": "aleatori",
"rating": "valoració",
"reload": "torna a carregar",
"reset": "restablir",
"right": "dreta",
"save": "desar",
"search": "cercar",
"share": "compartir",
"size": "mida",
"sortOrder": "ordenar",
"tags": "etiquetes",
"title": "títol",
"translation": "traducció",
"unknown": "desconegut",
"version": "versió",
"yes": "sí",
"additionalParticipants": "participants addicionals",
"channel_one": "canal",
"channel_many": "canals",
"channel_other": "canals",
"filter_one": "filtre",
"filter_many": "filtres",
"filter_other": "filtres",
"saveAs": "desar com",
"action_one": "acció",
"action_many": "accions",
"action_other": "accions",
"newVersion": "s'ha instal·lat una nova versió ({{version}})",
"viewReleaseNotes": "veure les notes de la versió",
"currentSong": "$t(entity.track_one) actual",
"limit": "límit",
"previousSong": "$t(entity.track_one) anterior",
"trackNumber": "pista",
"albumGain": "guany de l'àlbum",
"albumPeak": "pic de l'àlbum",
"areYouSure": "estàs segur?",
"backward": "enrere",
"clear": "neteja",
"collapse": "col·lapsa",
"comingSoon": "aviat disponible…",
"favorite": "preferit",
"forceRestartRequired": "reinicia per aplicar els canvis… tanca la notificació per reiniciar",
"owner": "propietari",
"refresh": "actualitzar",
"resetToDefault": "restablir els valors predeterminats",
"saveAndReplace": "desar i substituir",
"bitDepth": "profunditat de bits",
"forward": "endavant",
"manage": "gestiona",
"mbid": "ID de MusicBrainz",
"noResultsFromQuery": "la petició no ha produït resultats",
"path": "ruta",
"playerMustBePaused": "cal pausar el reproductor",
"restartRequired": "cal reiniciar",
"sampleRate": "freqüència de mostreig",
"setting": "configuració",
"trackGain": "guany de pista",
"trackPeak": "pic de pista",
"gap": "espera"
},
"entity": {
"album_one": "àlbum",
"album_many": "àlbums",
"album_other": "àlbums",
"albumWithCount_one": "{{count}} àlbum",
"albumWithCount_many": "{{count}} àlbums",
"albumWithCount_other": "{{count}} àlbums",
"albumArtist_one": "artista de l'àlbum",
"albumArtist_many": "artistes de l'àlbum",
"albumArtist_other": "artistes de l'àlbum",
"albumArtistCount_one": "{{count}} artista de l'àlbum",
"albumArtistCount_many": "{{count}} artistes de l'àlbum",
"albumArtistCount_other": "{{count}} artistes de l'àlbum",
"artist_one": "artista",
"artist_many": "artistes",
"artist_other": "artistes",
"artistWithCount_one": "{{count}} artista",
"artistWithCount_many": "{{count}} artistes",
"artistWithCount_other": "{{count}} artistes",
"playlist_one": "llista de reproducció",
"playlist_many": "llistes de reproducció",
"playlist_other": "llistes de reproducció",
"playlistWithCount_one": "{{count}} llista de reproducció",
"playlistWithCount_many": "{{count}} llistes de reproducció",
"playlistWithCount_other": "{{count}} llistes de reproducció",
"smartPlaylist": "$t(entity.playlist_one) intel·ligent",
"play_one": "{{count}} reproducció",
"play_many": "{{count}} reproduccions",
"play_other": "{{count}} reproduccions",
"folderWithCount_one": "{{count}} carpeta",
"folderWithCount_many": "{{count}} carpetes",
"folderWithCount_other": "{{count}} carpetes",
"genreWithCount_one": "{{count}} gènere",
"genreWithCount_many": "{{count}} gèneres",
"genreWithCount_other": "{{count}} gèneres",
"track_one": "pista",
"track_many": "pistes",
"track_other": "pistes",
"trackWithCount_one": "{{count}} pista",
"trackWithCount_many": "{{count}} pistes",
"trackWithCount_other": "{{count}} pistes",
"folder_one": "carpeta",
"folder_many": "carpetes",
"folder_other": "carpetes",
"genre_one": "gènere",
"genre_many": "gèneres",
"genre_other": "gèneres",
"song_one": "cançó",
"song_many": "cançons",
"song_other": "cançons",
"favorite_one": "preferit",
"favorite_many": "preferits",
"favorite_other": "preferits"
},
"form": {
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"title": "afegir a una $t(entity.playlist_one)",
"input_skipDuplicates": "salta't els duplicats",
"success": "s'ha afegit $t(entity.trackWithCount, {\"count\": {{message}} }) a $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"success": "$t(entity.playlist_one) s'ha creat amb èxit",
"title": "crear una $t(entity.playlist_one)",
"input_public": "públic"
},
"deletePlaylist": {
"success": "$t(entity.playlist_one) s'ha eliminat amb èxit",
"title": "elimina la $t(entity.playlist_one)",
"input_confirm": "escriviu el nom de la $t(entity.playlist_one) per confirmar"
},
"editPlaylist": {
"success": "$t(entity.playlist_one) s'ha actualitzat amb èxit",
"title": "editar la $t(entity.playlist_one)",
"publicJellyfinNote": "Per algun motiu, Jellyfin no exposa si una llista de reproducció és pública o no. Si voleu que es mantingui pública, seleccioneu la següent entrada"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "cerca de lletres"
},
"addServer": {
"input_password": "contrasenya",
"input_username": "nom d'usuari",
"error_savePassword": "hi ha hagut un error en intentar desar la contrasenya",
"ignoreCors": "ignora el cors ($t(common.restartRequired))",
"ignoreSsl": "ignora l'ssl ($t(common.restartRequired))",
"input_legacyAuthentication": "activa l'autenticació antiga",
"input_name": "nom del servidor",
"input_savePassword": "desa la contrasenya",
"input_url": "url",
"success": "servidor afegit correctament",
"title": "afegeix un servidor"
},
"shareItem": {
"description": "descripció",
"allowDownloading": "permetre descàrrega",
"setExpiration": "estableix expiració",
"success": "s'ha copiat l'enllaç de compartició al porta-retalls (o feu clic aquí per obrir-lo)",
"expireInvalid": "la data d'expiració ha de ser al futur",
"createFailed": "no s'ha pogut crear el recurs compartit (està habilitat, l'ús compartit?)"
},
"updateServer": {
"success": "s'ha actualitzat el servidor amb èxit",
"title": "actualitzar el servidor"
},
"queryEditor": {
"title": "editor de consultes",
"input_optionMatchAll": "coincidències totals",
"input_optionMatchAny": "coincidències parcials"
},
"privateMode": {
"enabled": "mode privat actiu; l'estat de reproducció ara està ocult d'integracions externes",
"disabled": "mode privat inactiu; l'estat de reproducció ara és visible per les integracions externes",
"title": "mode privat"
}
},
"action": {
"addToFavorites": "afegir als $t(entity.favorite_other)",
"addToPlaylist": "afegir a $t(entity.playlist_one)",
"createPlaylist": "crear $t(entity.playlist_one)",
"deletePlaylist": "elimina la $t(entity.playlist_one)",
"editPlaylist": "edita la $t(entity.playlist_one)",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "elimina dels $t(entity.favorite_other)",
"removeFromPlaylist": "elimina de $t(entity.playlist_one)",
"clearQueue": "buidar la cua",
"removeFromQueue": "treure de la cua",
"goToPage": "anar a la pàgina",
"openIn": {
"lastfm": "Obrir a Last.fm",
"musicbrainz": "Obrir a MusicBrainz"
},
"deselectAll": "deselecciona-ho tot",
"viewPlaylists": "veure$t(entity.playlist_other)",
"moveToNext": "passar al següent",
"moveToBottom": "anar al final",
"moveToTop": "anar al principi",
"setRating": "Qualifica",
"toggleSmartPlaylistEditor": "canvia l'editor $t(entity.smartPlaylist)"
},
"setting": {
"language_description": "estableix l'idioma de l'aplicació ($t(common.restartRequired))",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"playButtonBehavior_optionPlay": "$t(player.play)",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"font": "tipus de lletra",
"fontType": "selecció de tipus de lletra",
"fontType_optionBuiltIn": "tipus de lletra integrats",
"fontType_optionCustom": "tipus de lletra personalitzats",
"fontType_optionSystem": "tipus de lletra del sistema",
"disableAutomaticUpdates": "desactivar les actualitzacions automàtiques",
"disableLibraryUpdateOnStartup": "desactiva la comprovació de noves versions a l'inici",
"homeConfiguration": "configuració de la pàgina d'inici",
"sidebarConfiguration": "configuració de la barra lateral",
"contextMenu": "configuració del menú contextual (clic amb el botó dret)",
"hotkey_playbackNext": "pista següent",
"hotkey_playbackPrevious": "pista anterior",
"sidePlayQueueStyle_optionAttached": "unida",
"sidePlayQueueStyle_optionDetached": "separada",
"audioDevice": "dispositiu d'àudio",
"audioDevice_description": "seleccioneu el dispositiu d'àudio que voleu utilitzar per a la reproducció (només pel reproductor web)",
"audioPlayer": "reproductor d'àudio",
"audioPlayer_description": "seleccioneu el reproductor d'àudio que voleu utilitzar per a la reproducció",
"sidebarConfiguration_description": "selecciona els elements i l'ordre en què apareixen a la barra lateral",
"sidebarPlaylistList_description": "mostra o amaga les llistes de reproducció a la barra lateral",
"accentColor": "color de ressaltat",
"accentColor_description": "estableix el color de ressaltat de l'aplicació",
"useSystemTheme_description": "seguir la preferència de d'aspecte clar o fosc definida pel sistema",
"themeDark": "aspecte fosc",
"theme": "aspecte",
"themeLight": "aspecte clar",
"useSystemTheme": "utilitzar l'aspecte del sistema",
"discordUpdateInterval_description": "el temps en segons entre cada actualització (mínim 15 segons)",
"enableRemote": "activar el servidor de control remot",
"enableRemote_description": "el servidor de control remot permet que altres dispositius controlin l'aplicació",
"notify": "activa les notificacions de cançons",
"transcode": "activa la transcodificació",
"transcode_description": "permet la transcodificació a diferents formats",
"albumBackground": "imatge de fons de l'àlbum",
"albumBackground_description": "afegeix una imatge de fons per les pàgines d'àlbum amb caràtula",
"albumBackgroundBlur": "mida del desenfocament de la imatge de fons de l'àlbum",
"albumBackgroundBlur_description": "ajusa la quantitat de desenfocament que s'aplica a la imatge de fons de l'àlbum",
"applicationHotkeys": "tecles de drecera de l'aplicació",
"applicationHotkeys_description": "configura les tecles de drecera de l'aplicació. marca la casella per configurar-les com a derecres globals (només per ordinador)",
"artistConfiguration": "configuració de la pàgina de l'artista de l'àlbum",
"artistConfiguration_description": "configura quins elements es mostren i el seu ordre de la pàgina de l'artista de l'àlbum",
"audioExclusiveMode": "mode d'àudio exclusiu",
"audioExclusiveMode_description": "activa el mode d'àudio exclusiu. En aquest mode, el sistema normalment estarà bloquejat i només mpv podrà emetre àudio",
"buttonSize": "mida dels botons de la barra de reproducció",
"buttonSize_description": "la mida dels botons de la barra de reproducció",
"clearCache": "neteja la memòria del navegador",
"clearCache_description": "una \"neteja profunda\" del feishin. a més de netejar la memòria del feishin, buida la memòria del navegador (com les imatges desades i altres recursos). la configuració i les credencials del servidor es mantenen",
"clearQueryCache": "buida la memòria de feishin",
"clearQueryCache_description": "una neteja superficial de feishin. això refrescarà les llistes de reproducció, les metadades de les pistes i reestablirà les lletres desades. la configuració, les credencials del servidor i les imatges desades es mantindran",
"clearCacheSuccess": "memòria netejada correctament",
"contextMenu_description": "us permet amagar els elements que es mostren al menú quan fas clic dret sobre un element. els elements no seleccionats estaran amagats",
"crossfadeDuration": "duracció de la fosa encadenada",
"crossfadeDuration_description": "estableix la duració de l'efecte de fosa encadenada",
"crossfadeStyle": "estil de fosa encadenada",
"crossfadeStyle_description": "selecciona l'estil de fosa encadenada que s'utilitzarà pel reproductor d'àudio",
"customCssEnable": "activa el css personalitzat",
"customCssEnable_description": "permet escriure CSS personalitzat.",
"customCssNotice": "Atenció: tot i que hi ha un filtre (no es permet ni url() ni content:), l'ús de CSS personalitzat pot presentar riscs si canvieu la interfície.",
"customCss": "css personalitzat",
"customCss_description": "contingut del css personalitzat. Nota: la propietat \"content\" i els urls remots no es permeten. A sota hi teniu una previsualització. Els camps addicionals que no establiu hi apareixin pel filtre.",
"customFontPath": "ruta de font personalitzada",
"customFontPath_description": "estableix la ruta a una font personalitzada per utilitzar-la a l'aplicació",
"discordApplicationId": "id d'aplicació de {{discord}}",
"discordApplicationId_description": "l'id d'aplicació per l'estat d'activitat de {{discord}} (per defecte, {{defaultId}})",
"discordPausedStatus": "mosta l'estat d'activitat quan està en pausa",
"discordPausedStatus_description": "si està activat, l'estat es mostrarà quan el reproductor estigui pausat",
"discordIdleStatus": "mosta l'estat d'activitat en inactivitat",
"discordIdleStatus_description": "si està activat, s'actualitzarà l'estat mentre el reproductor estigui inactiu",
"discordListening": "mosta l'estat com escoltant",
"discordListening_description": "mosta l'estat com escoltant en comptes de jugant",
"discordRichPresence": "estat d'activitat de {{discord}}",
"discordRichPresence_description": "activa l'estat de reproducció a l'activitat de {{discord}}. Les tecles d'imatge són: {{icon}}, {{playing}} i {{paused}}",
"discordServeImage": "serveix imatges de {{discord}} des del servidor",
"discordServeImage_description": "comparteix la caràtula per l'estat d'activitat de {{discord}} des del servidor; només disponible per jellyfin i navidrome",
"discordUpdateInterval": "interval d'actualització de l'estat d'activitat de {{discord}}",
"doubleClickBehavior": "posa en cua totes les pistes cercades en fer doble clic",
"doubleClickBehavior_description": "si està actiu, totes les pistes coincidents en una cerca de pistes es posaran a la cua. altrament, només la que seleccioneu s'afegirà a la cua",
"externalLinks": "mostra enllaços externs",
"externalLinks_description": "permet mostrar enllaços externs (Last.fm, MusicBrainz) a les pàgines d'artista/àlbum",
"exitToTray": "surt a la safata",
"exitToTray_description": "en sortir de l'aplicació, minimitza-la a la safa del sistema",
"floatingQueueArea": "mostra la zona flotant de la cua",
"floatingQueueArea_description": "mostra una icona flotant al costat dret de la pantalla per veure la cua de reproducció",
"followLyric": "segueix la lletra actual",
"followLyric_description": "desplaça la lletra a la posició de reproducció actual",
"preferLocalLyrics": "prefereix les lletres locals",
"preferLocalLyrics_description": "prefereix les lletres locals per sobre de les remotes, si estan disponibles",
"font_description": "estableix la font utilitzada a l'aplicació",
"fontType_description": "\"font incorporada\" selecciona una de les fonts proporcionades per Feishin. \"font del sistema\" us permet seleccionar qualsevol font proporcionada pel sistema operatiu. \"personalitzada\" us permet proporcionar la vostra pròpia font",
"gaplessAudio": "àudio sense pauses",
"gaplessAudio_description": "estableix la configuració d'àudio sense pauses per mpv",
"gaplessAudio_optionWeak": "feble (recomanat)",
"genreBehavior": "comportament predeterminat per les pàgines de gènere",
"genreBehavior_description": "determina si clicar sobre un gènere obre per defecte la llista de pistes o d'àlbums",
"globalMediaHotkeys": "tecles de drecera globals",
"globalMediaHotkeys_description": "activa o desactiva l'ús de les tecles multimèdia del sistema per controlar la reproducció",
"homeConfiguration_description": "configura quins objectes es mostren, i en quin ordre, a la pàgina d'inici",
"homeFeature": "carrusel de destacats d'inici",
"homeFeature_description": "controla si es mostra el gran carrusel d'elements destacats a la pàgina d'inici",
"hotkey_browserBack": "anar enrere",
"hotkey_browserForward": "anar endavant",
"hotkey_favoriteCurrentSong": "marca $t(common.currentSong) com a preferida",
"hotkey_favoritePreviousSong": "marca $t(common.previousSong) com a preferida",
"hotkey_globalSearch": "cerca global",
"hotkey_localSearch": "cerca a la pàgina",
"hotkey_playbackPause": "pausa",
"hotkey_playbackPlay": "reprodueix",
"hotkey_playbackPlayPause": "reprodueix / pausa",
"hotkey_playbackStop": "atura",
"hotkey_rate0": "neteja la qualificació",
"hotkey_rate1": "qualifica amb 1 estrella",
"hotkey_rate2": "qualifica amb 2 estrelles",
"hotkey_rate3": "qualifica amb 3 estrelles",
"hotkey_rate4": "qualifica amb 4 estrelles",
"hotkey_rate5": "qualifica amb 5 estrelles",
"hotkey_skipBackward": "salta enrere",
"hotkey_skipForward": "salta endavant",
"hotkey_toggleCurrentSongFavorite": "canvia si $t(common.currentSong) és preferida",
"hotkey_toggleFullScreenPlayer": "activa o desactiva el reproductor a pantalla completa",
"hotkey_togglePreviousSongFavorite": "canvia si $t(common.previousSong) és preferida",
"hotkey_toggleQueue": "activa o desactiva la cua",
"hotkey_toggleRepeat": "activa o desactiva la repetició",
"hotkey_toggleShuffle": "activa o desactiva la reproducció a l'atzar",
"hotkey_unfavoriteCurrentSong": "elimina $t(common.currentSong) dels preferits",
"hotkey_unfavoritePreviousSong": "elimina $t(common.previousSong) dels preferits",
"hotkey_volumeDown": "redueix el volum",
"hotkey_volumeMute": "silencia el volum",
"hotkey_volumeUp": "augmenta el volum",
"hotkey_zoomIn": "amplia",
"hotkey_zoomOut": "redueix",
"imageAspectRatio": "utilitza la relació d'aspecte predeterminada de la caràtula",
"imageAspectRatio_description": "si està activat, la caràtula es mostrarà amb la relació d'aspecte predeterminada. per caràtules que no siguin 1:1, l'espai restant estarà buit",
"language": "llengua",
"lastfm": "mostra els enllaços last.fm",
"lastfm_description": "mosta enllaços a last.fm a les pàgines d'artista/àlbum",
"lastfmApiKey": "clau d'API per {{lastfm}}",
"lastfmApiKey_description": "la clau d'API per {{lastfm}}. necessària per la caràtula",
"lyricFetch": "extreu la lletra d'internet",
"lyricFetch_description": "extreu la lletra de diverses fonts d'internet",
"lyricFetchProvider": "proveïdors de lletres",
"lyricFetchProvider_description": "selecciona els proveïdors de lletres. l'ordre en què apareixen és l'ordre en què es consultaran",
"lyricOffset": "desfasament de la lletra (ms)",
"lyricOffset_description": "desplaça la lletra els mil·lisegons especificats",
"notify_description": "mostra notificacions en canvia la cançó actual",
"minimizeToTray": "minimitza a la safata",
"minimizeToTray_description": "minimitza l'aplicació a la safata del sistema",
"minimumScrobblePercentage": "duració mínima de l'scrobble (percentatge)",
"minimumScrobblePercentage_description": "el percentatge mínim de la cançó que cal reproduir abans d'activar l'scrobble",
"minimumScrobbleSeconds": "scrobble mínim (segons)",
"minimumScrobbleSeconds_description": "la duració mínima en segons durant la qual cal reproduir la cançó abans d'activar l'scrobble",
"mpvExecutablePath": "ruta de l'executable de l'mpv",
"mpvExecutablePath_description": "estableix la ruta de l'executable de l'mpv. si el deixeu buit, s'utilitzarà la ruta predeterminada",
"mpvExtraParameters": "paràmetres de l'mpv",
"mpvExtraParameters_help": "un per línia",
"musicbrainz": "mostra els enllaços de musicbrainz",
"musicbrainz_description": "mostra enllaços a les pàgines d'artista/àlbum a musicbrainz si hi ha mbid",
"neteaseTranslation": "activeu les traduccions NetEase",
"neteaseTranslation_description": "Si ho activeu, cerca i mostra lletres traduïdes de NetEase si estan disponibles.",
"passwordStore": "contrasenyes/emmagatzematge secret",
"passwordStore_description": "quina contrasenya/emmagatzematge secret s'utilitza. canvieu-ho si teniu problemes per desar contrasenyes.",
"playbackStyle": "estil de reproducció",
"playbackStyle_description": "selecciona l'estil de reproducció a utilitzar pel reproductor d'àudio",
"playbackStyle_optionCrossFade": "fosa encadenada",
"playbackStyle_optionNormal": "normal",
"playButtonBehavior": "comportament del botó de reproducció",
"playButtonBehavior_description": "estableix el comportament predeterminat del botó de reproducció quan s'afegeixen cançons a la cua",
"playerAlbumArtResolution": "resolució de la caràtula de l'àlbum al reproductor",
"playerAlbumArtResolution_description": "la resolució de la previsualització gran de la caràtula al reproductor. si és més alta, serà més nítida, però es carregarà més lent. el valor predeterminat 0 vol dir automàtic",
"playerbarOpenDrawer": "activa el reproductor en pantalla completa",
"playerbarOpenDrawer_description": "permet fer clic a la barra de reproducció per obrir el reproductor de pantalla completa",
"remotePassword": "contrasenya del servidor de control remot",
"remotePassword_description": "estableix la contrasenya pel servidor de control remot. Aquestes credencials es transfereixen de forma no segura per defecte, de manera que hauríeu d'utilitzar una contrasenya única no relacionada amb res més",
"remotePort": "port del servidor de control remot",
"remotePort_description": "estableix el port pel servidor de control remot",
"remoteUsername": "nom d'usuari pel servidor de control remot",
"remoteUsername_description": "estableix el nom d'usuari pel servidor de control remot. si tant el nom d'usuari com la contrasenya són buits, l'autenticació estarà desactivada",
"replayGainPreamp_description": "ajusta el guany del preamplificador aplicat als valors de {{ReplayGain}}",
"sampleRate": "ràtio de mostratge",
"sampleRate_description": "selecciona el ràtio de mostratge de sortida que s'ha d'utilitzar si la freqüència de mostratge seleccionada és diferent a la del mitjà actual. un valor inferior a 8000 utilitzarà la freqüència predeterminada",
"savePlayQueue": "desa la cua de reproducció",
"savePlayQueue_description": "desa la cua de reproducció quan l'aplicació es tanca i la restaura quan s'obre",
"scrobble": "scrobble",
"scrobble_description": "fa scrobble de les reproduccions al vostre servidor multimèdia",
"showSkipButton": "mostra els botons de saltar",
"showSkipButton_description": "mostra o amaga els botons de saltar a la barra de reproducció",
"showSkipButtons": "mostra els botons de saltar",
"showSkipButtons_description": "mostra o amaga els botons de saltar a la barra de reproducció",
"sidebarCollapsedNavigation": "navegació de la barra lateral (plegada)",
"sidebarCollapsedNavigation_description": "mostra o amaga la navegació a la barra lateral plegada",
"sidebarPlaylistList": "llista de reproducció lateral",
"sidePlayQueueStyle": "estil de la cua de reproducció lateral",
"sidePlayQueueStyle_description": "estableix l'estil de la cua de reproducció lateral",
"skipDuration": "interval de salt",
"skipDuration_description": "estableix l'interval de temps que se saltarà en fer servir els botons de saltar a la barra de reproducció",
"skipPlaylistPage": "salta la pàgina de la llista de reproducció",
"skipPlaylistPage_description": "en navegar a una llista de reproducció, obre la pàgina de cançons de la llista de reproducció en comptes de la pàgina predeterminada",
"startMinimized": "obre minimitzada",
"startMinimized_description": "obre l'aplicació a la safata del sistema",
"theme_description": "estableix el tema visual per l'aplicació",
"themeDark_description": "estableix el tema fosc per l'aplicació",
"themeLight_description": "estableix el tema clar per l'aplicació",
"transcodeNote": "tindrà efecte després d'1 (web) o 2 (mpv) cançons",
"transcodeBitrate": "taxa de bits per transcodificar",
"transcodeBitrate_description": "selecciona la taxa de bits per transcodificar. 0 significa deixar que el servidor triï",
"transcodeFormat": "format per transcodificar",
"transcodeFormat_description": "selecciona el format per transcodificar. deixeu-ho buit per deixar que el servidor decideixi",
"translationApiProvider": "proveïdor d'api de traducció",
"translationApiProvider_description": "proveïdor de l'api de traducció",
"translationApiKey": "clau de l'api de traducció",
"translationTargetLanguage": "llengua meta de traducció",
"translationTargetLanguage_description": "llengua meta per la traducció",
"trayEnabled": "mostra a la safata",
"trayEnabled_description": "mostra/oculta la icona/menú de la safata. si està desactivat, també desactiva la funcionalitat de minimitzar/sortir a la safata",
"volumeWheelStep": "increment de volum de la roda",
"volumeWheelStep_description": "la quantitat de volum a canviar quan utilitzeu la roda del ratolí sobre el controlador de volum",
"volumeWidth": "amplada del controlador de volum",
"volumeWidth_description": "l'amplada del controlador de volum",
"webAudio": "utilitza l'àudio web",
"webAudio_description": "utilitza l'àudio web. això habilita funcions avançades com Replaygain. desactiveu-ho si teniu una experiència diferent",
"replayGainClipping": "saturació de {{ReplayGain}}",
"replayGainClipping_description": "rebaixa automàticament el guany per evitar la saturació causada pel {{ReplayGain}}",
"replayGainFallback": "alternativa per {{ReplayGain}}",
"replayGainFallback_description": "guany en db que s'ha d'aplicar si el fitxer no té etiquetes de {{ReplayGain}}",
"replayGainMode": "mode de {{ReplayGain}}",
"replayGainMode_description": "ajuda el volum del guany segons els vlors de {{ReplayGain}} desats a les metadades del fitxer",
"replayGainPreamp": "preamplificador de {{ReplayGain}} (dB)",
"translationApiKey_description": "clau api per la traducció (només per serveis globals)",
"preservePitch": "mantén el to",
"preservePitch_description": "manté el to quan s'altera la velocitat de reproducció",
"windowBarStyle": "estil de la barra de la finestra",
"windowBarStyle_description": "selecciona l'estil de la barra de la finestra",
"zoom": "percentatge de zoom",
"zoom_description": "estableix el percentatge de zoom de l'aplicació",
"discordDisplayType": "tipus de pantalla d'activitat de {{discord}}",
"discordDisplayType_description": "canvia què escolteu al vostre estat",
"discordDisplayType_songname": "nom de la cançó",
"discordDisplayType_artistname": "nom de l'artista",
"hotkey_navigateHome": "ves a l'inici",
"preventSleepOnPlayback": "evitar entrar en repòs durant la reproducció",
"preventSleepOnPlayback_description": "evita que la pantalla s'adormi mentre la música es reprodueix"
},
"table": {
"column": {
"albumCount": "$t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"genre": "$t(entity.genre_one)",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"releaseYear": "any",
"playCount": "reproduccions",
"releaseDate": "data de llançament",
"album": "àlbum",
"albumArtist": "artista de l'àlbum",
"biography": "biografia",
"bitrate": "taxa de bits",
"bpm": "bpm",
"dateAdded": "data d'addició",
"discNumber": "disc",
"trackNumber": "pista",
"comment": "comentari",
"favorite": "preferit",
"lastPlayed": "última reproducció",
"path": "ruta",
"rating": "qualificació",
"title": "títol"
},
"config": {
"general": {
"gap": "$t(common.gap)",
"size": "$t(common.size)",
"autoFitColumns": "ajusta les columnes automàticament",
"followCurrentSong": "segueix la cançó actual",
"displayType": "tipus de visualització",
"itemGap": "espai entre elements (px)",
"itemSize": "mida dels elements (px)",
"tableColumns": "columnes de la taula"
},
"label": {
"actions": "$t(common.action_other)",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "$t(common.biography)",
"bitrate": "$t(common.bitrate)",
"bpm": "$t(common.bpm)",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"duration": "$t(common.duration)",
"favorite": "$t(common.favorite)",
"genre": "$t(entity.genre_one)",
"note": "$t(common.note)",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"rating": "$t(common.rating)",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "$t(common.title)",
"year": "$t(common.year)",
"playCount": "compte de reproduccions",
"releaseDate": "data de llançament",
"dateAdded": "data d'addició",
"trackNumber": "número de pista",
"discNumber": "número de disc",
"lastPlayed": "última reproducció",
"rowIndex": "índex de files",
"titleCombined": "$t(common.title) (combinat)"
},
"view": {
"table": "taula",
"card": "targeta",
"grid": "quadrícula",
"list": "llista",
"poster": "pòster"
}
}
},
"filter": {
"fromYear": "des de l'any",
"releaseYear": "any de llançament",
"toYear": "fins a l'any",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "biografia",
"bitrate": "taxa de bits",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"comment": "comentari",
"disc": "disc",
"duration": "durada",
"genre": "$t(entity.genre_one)",
"id": "identificador",
"name": "nom",
"note": "nota",
"owner": "$t(common.owner)",
"random": "aleatori",
"rating": "valoració",
"search": "cercar",
"title": "títol",
"playCount": "compte de reproduccions",
"releaseDate": "data de llançament",
"mostPlayed": "els més reproduïts",
"dateAdded": "data d'addició",
"trackNumber": "pista",
"communityRating": "valoració de la comunitat",
"criticRating": "valoració dels crítics",
"recentlyAdded": "afegit recentment",
"recentlyPlayed": "reproduït recentment",
"recentlyUpdated": "actualitzat recentment",
"albumCount": "nombre de $t(entity.album_other)",
"favorited": "preferits",
"isCompilation": "és una compilació",
"isFavorited": "és un preferit",
"isPublic": "és públic",
"isRated": "està qualificat",
"isRecentlyPlayed": "s'ha reproduït fa poc",
"lastPlayed": "última reproducció",
"path": "ruta",
"songCount": "nombre de cançons"
},
"player": {
"muted": "silenciat",
"repeat": "repetició d'una pista",
"skip": "saltar",
"stop": "parar",
"queue_clear": "buidar la cua",
"viewQueue": "veure la cua",
"playbackFetchInProgress": "carregant cançons…",
"playbackFetchNoResults": "no s'han trobat cançons",
"playbackSpeed": "velocitat de reproducció",
"playSimilarSongs": "reproduir cançons similars",
"repeat_off": "repetició desactivada",
"repeat_all": "repetició",
"shuffle": "reproducció aleatòria",
"shuffle_off": "reproducció aleatòria desactivada",
"addLast": "afegeix al final",
"addNext": "afegeix a continuació",
"favorite": "marcar com a preferida",
"mute": "silencia",
"next": "següent",
"play": "reprodueix",
"playbackFetchCancel": "està trigant bastant... tanqueu la notificació per cancel·lar",
"playRandom": "reproducció a l'atzar",
"previous": "anterior",
"queue_moveToBottom": "mou la selecció a l'inici",
"queue_moveToTop": "mou la selecció al final",
"queue_remove": "elimina la selecció",
"skip_back": "salta enrere",
"skip_forward": "salta endavant",
"toggleFullscreenPlayer": "activa el reproductor de pantalla completa",
"unfavorite": "elimina de preferits",
"pause": "pausa"
},
"error": {
"credentialsRequired": "credencials requerides",
"genericError": "s'ha produït un error",
"invalidServer": "servidor no vàlid",
"localFontAccessDenied": "accés denegat als tipus de lletra locals",
"networkError": "s'ha produït un error de xarxa",
"openError": "no s'ha pogut obrir el fitxer",
"remotePortError": "s'ha produït un error en intentar configurar el port del servidor remot",
"serverNotSelectedError": "no s'ha seleccionat cap servidor",
"sessionExpiredError": "la sessió ha caducat",
"systemFontError": "s'ha produït un error en intentar obtenir els tipus de lletra del sistema",
"remoteEnableError": "s'ha produït un error en intentar $t(common.enable) el servidor remot",
"remotePortWarning": "reiniciar el servidor per aplicar el nou port",
"serverRequired": "servidor requerit",
"apiRouteError": "no es pot encaminar la sol·licitud",
"audioDeviceFetchError": "hi ha hagut un error en obtenir els dispositius d'àudio",
"authenticationFailed": "autenticació fallida",
"badAlbum": "esteu veient aquesta pàgina perquè aquesta cançó no és part de cap àlbum. aquest problema pot passar si teniu una cançó al nivell superior de la vostra carpeta de música. jellyfin només agrupa pistes si són en una carpeta.",
"badValue": "l'opció \"{{value}}\"és invàlida. aquest valor ja no existeix",
"loginRateError": "massa intents d'inici de sessió, intenteu-ho de nou d'aquí uns segons",
"mpvRequired": "Cal l'MPV",
"notificationDenied": "s'han negat els permisos per enviar notificacions. aquesta opció no té cap efecte",
"playbackError": "hi ha hagut un error en intentar reproduir el mitjà",
"remoteDisableError": "hi ha hagut un error en intentar $t(common.disable) el servidor remot",
"endpointNotImplementedError": "el punt final {{endpoint}} no està implementat per {{serverType}}"
}
}
+33 -232
View File
@@ -4,14 +4,14 @@
"stop": "zastavit",
"repeat": "opakovat",
"queue_remove": "odebrat vybrané",
"playRandom": "přehrát náhodně",
"playRandom": "přehrát náhodné",
"skip": "přeskočit",
"previous": "předchozí",
"toggleFullscreenPlayer": "přepnout celoobrazovkový přehrávač",
"skip_back": "přeskočit dozadu",
"favorite": "oblíbené",
"next": "další",
"shuffle": "přehrát náhodně",
"shuffle": "náhodně",
"playbackFetchNoResults": "nenalezeny žádné skladby",
"playbackFetchInProgress": "načítání skladeb…",
"addNext": "přidat další",
@@ -28,9 +28,7 @@
"shuffle_off": "náhodně zakázáno",
"addLast": "přidat poslední",
"mute": "ztlumit",
"skip_forward": "přeskočit dopředu",
"playSimilarSongs": "přehrát podobné skladby",
"viewQueue": "zobrazit frontu"
"skip_forward": "přeskočit dopředu"
},
"setting": {
"crossfadeStyle_description": "vyberte způsob prolnutí u přehrávače zvuku",
@@ -43,6 +41,7 @@
"hotkey_playbackPause": "pozastavení",
"replayGainFallback": "fallback {{ReplayGain}}",
"sidebarCollapsedNavigation_description": "zobrazit nebo skrýt navigaci ve sbaleném postranním panelu",
"mpvExecutablePath_help": "jedna na řádek",
"hotkey_volumeUp": "zvýšení hlasitosti",
"skipDuration": "doba k přeskočení",
"discordIdleStatus_description": "při povolení bude upraven stav když je přehrávač nečinný",
@@ -54,7 +53,7 @@
"skipDuration_description": "nastavení doby k přeskočení při použití tlačítek k přeskočení na liště přehrávače",
"enableRemote_description": "povolí vzdálený ovládací server pro umožnění ostatním zařízením ovládat aplikaci",
"fontType_optionSystem": "systémové písmo",
"mpvExecutablePath_description": "nastavení cesty ke spustitelnému souboru mpv. pokud je prázdné, bude použita výchozí cesta",
"mpvExecutablePath_description": "nastavení cesty ke spustitelnému souboru mpv",
"replayGainClipping_description": "Zabránění clippingu způsobenému funkcí {{ReplayGain}} automatickým snížením zesílení",
"replayGainPreamp": "před-zesílení {{ReplayGain}} (dB)",
"hotkey_favoriteCurrentSong": "oblíbit $t(common.currentSong)",
@@ -62,7 +61,7 @@
"crossfadeStyle": "způsob prolnutí",
"sidePlayQueueStyle_optionAttached": "připojené",
"sidebarConfiguration": "nastavení postranního panelu",
"sampleRate_description": "vyberte výstupní vzorkovací frekvenci k použití, když je vybraná vzorkovací frekvence jiná, než ta u aktuálního média. hodnota nižší než 8000 použije výchozí frekvenci",
"sampleRate_description": "vyberte výstupní vzorkovací frekvenci k použití, když je vybraná vzorkovací frekvence jiná, než ta u aktuálního média",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainClipping": "clipping {{ReplayGain}}",
"hotkey_zoomIn": "přiblížení",
@@ -124,7 +123,7 @@
"hotkey_toggleShuffle": "přepnutí náhodného přehrávání",
"theme": "motiv",
"playbackStyle_description": "nastavení způsobu přehrávání pro přehrávač zvuku",
"discordRichPresence_description": "povolit stav přehrávání v {{discord}} rich presence. Klíče obrázků jsou: {{icon}}, {{playing}}, {{paused}}",
"discordRichPresence_description": "povolit stav přehrávání v {{discord}} rich presence. Klíče obrázků jsou: {{icon}}, {{playing}}, {{paused}} ",
"mpvExecutablePath": "cesta ke spustitelnému souboru mpv",
"audioDevice": "zvukové zařízení",
"hotkey_rate2": "hodnocení 2 hvězdami",
@@ -171,7 +170,7 @@
"hotkey_zoomOut": "oddálení",
"hotkey_unfavoriteCurrentSong": "zrušení oblíbení u $t(common.currentSong)",
"hotkey_rate0": "vymazání hodnocení",
"discordApplicationId": "id aplikace pro {{discord}}",
"discordApplicationId": "aplikační id pro {{discord}}",
"applicationHotkeys_description": "nastavení klávesových zkratek aplikace. přepněte pole pro nastavení jako globální zkratku (pouze na počítači)",
"floatingQueueArea_description": "zobrazit ikonu přejetí myší na pravé straně obrazovky pro zobrazení fronty",
"hotkey_volumeMute": "ztlumení",
@@ -192,95 +191,7 @@
"discordRichPresence": "{{discord}} rich presence",
"font_description": "nastavení písma použitého v aplikaci",
"savePlayQueue_description": "uložit frontu přehrávání, když je aplikace zavřena a obnovit ji při otevření aplikace",
"useSystemTheme": "použít systémový motiv",
"buttonSize": "velikost tlačítek lišty přehrávače",
"buttonSize_description": "velikost tlačítek na liště přehrávače",
"clearCache": "vymazat mezipaměť prohlížeče",
"clearCache_description": "„tvrdé pročištění“ aplikace feishin. kromě mezipaměti aplikace feishin vymaže i mezipaměť prohlížeče (uložené obrázky a další zdroje). přihlašovací údaje k serveru a nastavení nebudou ovlivněny",
"clearQueryCache": "vymazat mezipaměť aplikace feishin",
"clearQueryCache_description": "„lehké pročištění“ aplikace feishin. tímto obnovíte seznamy skladeb, metadata skladeb a resetujete uložené texty. nastavení, přihlašovací údaje k serveru a obrázky v mezipaměti nebudou ovlivněny",
"startMinimized": "spustit minimalizované",
"homeConfiguration_description": "nastavte, které položky a v jakém pořadí mají být zobrazeny na domovské stránce",
"passwordStore": "ukládání hesel / tajných klíčů",
"mpvExtraParameters_help": "jeden na řádek",
"homeConfiguration": "nastavení domovské stránky",
"playerAlbumArtResolution_description": "rozlišení náhledu obalu alba ve velkém přehrávači. větší hodnota znamená kvalitnější obrázek, ale může se déle načítat. výchozí hodnota je 0, což znamená automatické rozlišení",
"playerAlbumArtResolution": "rozlišení obalu alba v přehrávači",
"genreBehavior": "výchozí chování stránky žánrů",
"externalLinks_description": "zapne zobrazování externích odkazů (Last.fm, MusicBrainz) na stránce umělce/alba",
"genreBehavior_description": "určuje, zda kliknutí na žánr otevře seznam skladeb nebo alb",
"clearCacheSuccess": "mezipaměť úspěšně vymazána",
"externalLinks": "zobrazit externí odkazy",
"startMinimized_description": "spustit aplikaci do systémové lišty",
"passwordStore_description": "který způsob ukládání hesel / tajných klíčů použít. změňte tuto možnost, pokud máte problémy s ukládáním hesel.",
"homeFeature": "carousel doporučení na domovské stránce",
"homeFeature_description": "ovládá, zda se má zobrazovat velký carousel s doporučenými alby na domovské stránce",
"imageAspectRatio": "použít nativní poměr stran obalů alb",
"imageAspectRatio_description": "pokud je povoleno, budou obaly alb zobrazeny s jejich nativním poměrem stran. u obalů, které nemají poměr 1:1, bude zbývající místo prázdné",
"doubleClickBehavior": "dvojitým kliknutím zařadit všechny vyhledané skladby do fronty",
"doubleClickBehavior_description": "pokud je zapnuto, budou všechny odpovídající skladby ve vyhledávání zařazeny do fronty. v opačném případě bude zařazena pouze ta, na kterou kliknete",
"volumeWidth": "šířka posuvníku hlasitosti",
"volumeWidth_description": "horizontální velikost posuvníku hlasitosti",
"discordListening": "zobrazit stav jako „Poslouchá“",
"discordListening_description": "zobrazit stav jako „Poslouchá“ namísto „Hraje“",
"contextMenu": "nastavení kontextové nabídky (kliknutí pravým)",
"contextMenu_description": "umožňuje skrýt položky, které se zobrazí v nabídce po kliknutí pravým tlačítkem myši na položku. položky, které nejsou zaškrtnuté, se skryjí",
"customCssEnable": "povolit vlastní CSS",
"customCssEnable_description": "povolit vlastní CSS.",
"customCssNotice": "Varování: i když provádíme určitou sanitizaci (zakázáním url() a content:), může používání CSS stále představovat riziko změnami rozhraní.",
"customCss_description": "vlastní CSS obsah. Upozornění: vlastnosti content a vzdálené url jsou zakázané. Níže je zobrazen náhled vašeho obsahu. Další pole, která jste nenastavili, jsou přítomna z důvodu sanitizace.",
"customCss": "vlastní CSS",
"webAudio": "použít webový zvuk",
"webAudio_description": "použít webový zvuk. tím povolíte pokročilé funkce jako replaygain. zakažte, pokud se objeví problémy",
"transcodeNote": "projeví se po 1 (web) - 2 (mpv) skladbách",
"transcode": "povolit překódování",
"transcode_description": "zapnout překódování do různých formátů",
"transcodeFormat_description": "vybere formát k překódování. pokud chcete nechat rozhodnout server, ponechte prázdné",
"transcodeFormat": "formát k překódování",
"transcodeBitrate": "datový tok k překódování",
"transcodeBitrate_description": "vybere datový tok k překódování. 0 znamená, že necháte server vybrat",
"albumBackground": "obrázek alba na pozadí",
"albumBackground_description": "přidá obrázek alba na pozadí pro stránky alba obsahující obrázky alba",
"albumBackgroundBlur": "velikost rozostření obrázku alba na pozadí",
"albumBackgroundBlur_description": "upraví množství rozostření použité na obrázek alba na pozadí",
"playerbarOpenDrawer": "lišta přehrávače jako přepínač celé obrazovky",
"playerbarOpenDrawer_description": "umožňuje kliknutí na lištu přehrávače pro otevření celoobrazovkového přehrávače",
"artistConfiguration": "nastavení stránky umělce alba",
"artistConfiguration_description": "nastavit, které položky na stránce umělce alba budou zobrazeny a v jakém pořadí",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"trayEnabled": "zobrazit v oznamovací oblasti",
"trayEnabled_description": "zobrazit/skrýt ikonu/nabídku v oznamovací oblasti. pokud je zakázáno, vypne také minimalizaci/ukončení do oznamovací oblasti",
"translationApiProvider": "poskytovatel api překladů",
"translationApiProvider_description": "poskytovatel api pro překlady",
"translationApiKey": "klíč api překladů",
"translationApiKey_description": "klíč api pro překlady (podporuje pouze koncový bod globální služby)",
"translationTargetLanguage": "cílový jazyk překladu",
"translationTargetLanguage_description": "cílový jazyk pro překlad",
"lastfmApiKey": "klíč API {{lastfm}}",
"lastfmApiKey_description": "klíč API pro {{lastfm}}. vyžadováno pro obaly alb",
"discordServeImage": "načítat obrázky {{discord}} ze serveru",
"discordServeImage_description": "sdílet obaly alb pro {{discord}} rich presence ze samotného serveru, dostupné pouze pro jellyfin a navidrome",
"lastfm": "zobrazit odkazy na last.fm",
"lastfm_description": "na stránkách umělců a alb zobrazit odkazy na last.fm",
"musicbrainz": "zobrazit odkazy na musicbrainz",
"musicbrainz_description": "na stránkách umělců a alb, kde existuje mbid, zobrazit odkazy na musicbrainz",
"neteaseTranslation": "Povolit překlady NetEase",
"neteaseTranslation_description": "Pokud je povoleno, načte a zobrazí přeložené texty ze služby NetEase, pokud jsou dostupné.",
"preferLocalLyrics": "preferovat místní texty",
"preferLocalLyrics_description": "preferovat místní texty před vzdálenými, pokud jsou dostupné",
"discordPausedStatus": "zobrazit rich presence při pozastavení",
"discordPausedStatus_description": "pokud je povoleno, bude při pozastavení přehrávače zobrazen stav",
"preservePitch": "zachovat výšku",
"preservePitch_description": "zachová výšku při úpravě rychlosti přehrávání",
"notify": "povolit oznámení o skladbách",
"notify_description": "zobrazit oznámení při změně aktuální skladby",
"discordDisplayType": "typ zobrazení stavu {{discord}}",
"discordDisplayType_description": "změní, co posloucháte, ve vašem stavu",
"discordDisplayType_songname": "název skladby",
"discordDisplayType_artistname": "jména umělců",
"hotkey_navigateHome": "přejít domů",
"preventSleepOnPlayback": "zabránit uspání při přehrávání",
"preventSleepOnPlayback_description": "zabránit uspání displeje během přehrávání hudby"
"useSystemTheme": "použít systémový motiv"
},
"action": {
"editPlaylist": "upravit $t(entity.playlist_one)",
@@ -299,12 +210,7 @@
"moveToBottom": "přesunout dolů",
"setRating": "nastavit hodnocení",
"toggleSmartPlaylistEditor": "přepnout editor $t(entity.smartPlaylist)",
"removeFromFavorites": "odebrat z $t(entity.favorite_other)",
"openIn": {
"lastfm": "Otevřít v Last.fm",
"musicbrainz": "Otevřít v MusicBrainz"
},
"moveToNext": "přesunout na další"
"removeFromFavorites": "odebrat z $t(entity.favorite_other)"
},
"common": {
"backward": "zpátky",
@@ -387,43 +293,21 @@
"random": "náhodně",
"size": "velikost",
"biography": "biografie",
"note": "poznámka",
"albumGain": "gain alba",
"albumPeak": "vrchol alba",
"close": "zavřít",
"mbid": "ID MusicBrainz",
"trackGain": "zisk (gain) skladby",
"reload": "znovu načíst",
"share": "sdílet",
"codec": "kodek",
"trackPeak": "vrchol skladby",
"preview": "náhled",
"translation": "překlad",
"additionalParticipants": "další přispívající",
"tags": "štítky",
"viewReleaseNotes": "zobrazit seznam změn",
"newVersion": "byla nainstalována nová verze ({{version}})",
"bitDepth": "bitová hloubka",
"sampleRate": "vzorkovací frekvence"
"note": "poznámka"
},
"table": {
"config": {
"view": {
"card": "karta",
"table": "tabulka",
"poster": "plakát",
"list": "seznam",
"grid": "mřížka"
"poster": "plakát"
},
"general": {
"displayType": "typ zobrazení",
"gap": "$t(common.gap)",
"tableColumns": "sloupce tabulky",
"autoFitColumns": "automaticky přizpůsobit sloupce",
"size": "$t(common.size)",
"itemGap": "mezera mezi položkami (px)",
"itemSize": "velikost položek (px)",
"followCurrentSong": "následovat aktuální skladbu"
"size": "$t(common.size)"
},
"label": {
"releaseDate": "datum vydání",
@@ -451,9 +335,7 @@
"discNumber": "číslo disku",
"favorite": "$t(common.favorite)",
"year": "$t(common.year)",
"albumArtist": "$t(entity.albumArtist_one)",
"codec": "$t(common.codec)",
"songCount": "$t(entity.track_other)"
"albumArtist": "$t(entity.albumArtist_one)"
}
},
"column": {
@@ -478,9 +360,7 @@
"albumArtist": "umělec alba",
"path": "cesta",
"discNumber": "disk",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)",
"codec": "$t(common.codec)"
"channels": "$t(common.channel_other)"
}
},
"error": {
@@ -502,12 +382,7 @@
"mpvRequired": "vyžadován přehrávač MPV",
"audioDeviceFetchError": "při pokusu o přístup ke zvukovým zařízením se vyskytla chyba",
"invalidServer": "neplatný server",
"loginRateError": "příliš mnoho pokusů o přihlášení, zkuste to znovu za pár vteřin",
"badAlbum": "tuto stránku vidíte, protože tato skladba není součástí alba. tento problém může nastat, pokud máte skladbu na nejvyšší úrovni vaší složky s hudbou. jellyfin seskupuje skladby pouze, pokud se nacházejí ve složce.",
"networkError": "vyskytla se chyba sítě",
"openError": "nepodařilo se otevřít soubor",
"badValue": "neplatná možnost „{{value}}“. tato možnost již neexistuje",
"notificationDenied": "oprávnění k posílání oznámení byla zamítnuta. toto nastavení nemá žádný vliv"
"loginRateError": "příliš mnoho pokusů o přihlášení, zkuste to znovu za pár vteřin"
},
"filter": {
"mostPlayed": "nejvíce přehráváno",
@@ -565,9 +440,7 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"shared": "$t(entity.playlist_other) sdíleny",
"myLibrary": "moje knihovna"
"albumArtists": "$t(entity.albumArtist_other)"
},
"fullscreenPlayer": {
"config": {
@@ -581,16 +454,11 @@
"unsynchronized": "nesynchronizováno",
"lyricAlignment": "zarovnání textů",
"useImageAspectRatio": "použít poměr stran obrázku",
"lyricGap": "mezera textů",
"dynamicImageBlur": "velikost rozostření obrázku",
"dynamicIsImage": "povolit obrázek na pozadí",
"lyricOffset": "posunutí textů (ms)"
"lyricGap": "mezera textů"
},
"upNext": "další",
"lyrics": "texty",
"related": "související",
"visualizer": "vizualizér",
"noLyrics": "nenalezeny žádné texty"
"related": "související"
},
"appMenu": {
"selectServer": "vybrat server",
@@ -602,9 +470,7 @@
"openBrowserDevtools": "otevřít vývojářské nástroje",
"quit": "$t(common.quit)",
"goBack": "přejít zpět",
"goForward": "přejít vpřed",
"privateModeOff": "vypnout soukromý režim",
"privateModeOn": "zapnout soukromý režim"
"goForward": "přejít vpřed"
},
"contextMenu": {
"addToPlaylist": "$t(action.addToPlaylist)",
@@ -622,15 +488,7 @@
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "vybráno {{count}}",
"removeFromQueue": "$t(action.removeFromQueue)",
"showDetails": "získat informace",
"shareItem": "sdílet položku",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"download": "stáhnout",
"playShuffled": "$t(player.shuffle)",
"moveToNext": "$t(action.moveToNext)",
"goToAlbum": "přejít na $t(entity.album_one)",
"goToAlbumArtist": "přejít na $t(entity.albumArtist_one)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"home": {
"mostPlayed": "nejpřehrávanější",
@@ -641,28 +499,22 @@
},
"albumDetail": {
"moreFromArtist": "více od tohoto umělce",
"moreFromGeneric": "více od {{item}}",
"released": "vydáno"
"moreFromGeneric": "více od {{item}}"
},
"setting": {
"playbackTab": "přehrávání",
"generalTab": "obecné",
"hotkeysTab": "klávesové zkratky",
"windowTab": "okno",
"advanced": "pokročilé"
"windowTab": "okno"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showTracks": "zobrazit $t(entity.track_other) s žánrem",
"showAlbums": "zobrazit $t(entity.album_other) s žánrem"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "skladby od umělce {{artist}}",
"genreTracks": "$t(entity.track_other) s žánrem „{{genre}}“"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"commands": {
@@ -676,36 +528,7 @@
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "alba od umělce {{artist}}",
"genreAlbums": "$t(entity.album_other) s žánrem „{{genre}}“"
},
"albumArtistDetail": {
"recentReleases": "nedávno vydáno",
"viewDiscography": "zobrazit diskografii",
"about": "O umělci {{artist}}",
"appearsOn": "také v",
"topSongs": "nejlepší skladby",
"topSongsFrom": "nejlepší skladby od umělce {{title}}",
"relatedArtists": "podobní $t(entity.artist_other)",
"viewAllTracks": "zobrazit všechny $t(entity.track_other)",
"viewAll": "zobrazit vše"
},
"itemDetail": {
"copiedPath": "cesta úspěšně zkopírována",
"copyPath": "kopírovat cestu do schránky",
"openFile": "zobrazit skladbu ve správci souborů"
},
"playlist": {
"reorder": "změna pořadí povolena pouze při řazení podle id"
},
"manageServers": {
"url": "URL",
"username": "uživatelské jméno",
"editServerDetailsTooltip": "upravit podrobnosti o serveru",
"removeServer": "odstranit server",
"serverDetails": "podrobnosti o serveru",
"title": "správa serverů"
"title": "$t(entity.album_other)"
}
},
"form": {
@@ -736,7 +559,7 @@
"error_savePassword": "při ukládání hesla se vyskytla chyba"
},
"addToPlaylist": {
"success": "přidáno $t(entity.trackWithCount, {\"count\": {{message}} }) do $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "přidáno {{message}} $t(entity.song_other) do {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "přidat do $t(entity.playlist_one)",
"input_skipDuplicates": "přeskočit duplicity",
"input_playlists": "$t(entity.playlist_other)"
@@ -747,8 +570,7 @@
},
"queryEditor": {
"input_optionMatchAll": "shoda všeho",
"input_optionMatchAny": "shoda libovolného",
"title": "editor dotazů"
"input_optionMatchAny": "shoda libovolného"
},
"lyricSearch": {
"input_name": "$t(common.name)",
@@ -756,22 +578,7 @@
"title": "Hledat texty"
},
"editPlaylist": {
"title": "upravit $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) úspěšně aktualizován",
"publicJellyfinNote": "Jellyfin z nějakého důvodu neukazuje, zda je seznam skladeb veřejný, nebo ne. Pokud si přejete, aby zůstal veřejný, zvolte prosím následující vstup"
},
"shareItem": {
"allowDownloading": "umožnit stahování",
"success": "odkaz ke sdílení zkopírován do schránky (klikněte sem pro otevření)",
"description": "popis",
"expireInvalid": "čas vypršení musí být v budoucnosti",
"setExpiration": "nastavit vypršení",
"createFailed": "nepodařilo se vytvořit sdílení (je sdílení povoleno?)"
},
"privateMode": {
"enabled": "soukromý režim povolen, stav přehrávání je nyní skryt před externími integracemi",
"disabled": "soukromý režim povolen, stav přehrávání je nyní viditelný pro externími integrace",
"title": "soukromý režim"
"title": "upravit $t(entity.playlist_one)"
}
},
"entity": {
@@ -791,8 +598,8 @@
"folderWithCount_few": "{{count}} složky",
"folderWithCount_other": "{{count}} složek",
"albumArtist_one": "umělec alba",
"albumArtist_few": "umělci alb",
"albumArtist_other": "umělci alb",
"albumArtist_few": "umělci alba",
"albumArtist_other": "umělců alba",
"track_one": "skladba",
"track_few": "skladby",
"track_other": "skladby",
@@ -810,7 +617,7 @@
"artistWithCount_other": "{{count}} umělců",
"folder_one": "složka",
"folder_few": "složky",
"folder_other": "složky",
"folder_other": "složek",
"smartPlaylist": "chytrý $t(entity.playlist_one)",
"album_one": "album",
"album_few": "alba",
@@ -820,12 +627,6 @@
"genreWithCount_other": "{{count}} žánrů",
"trackWithCount_one": "{{count}} skladba",
"trackWithCount_few": "{{count}} skladby",
"trackWithCount_other": "{{count}} skladeb",
"play_one": "{{count}} přehrání",
"play_few": "{{count}} přehrání",
"play_other": "{{count}} přehrání",
"song_one": "píseň",
"song_few": "písničky",
"song_other": "písní"
"trackWithCount_other": "{{count}} skladeb"
}
}
+49 -207
View File
@@ -8,27 +8,22 @@
"deletePlaylist": "löschen $t(entity.playlist_one)",
"deselectAll": "Alle abwählen",
"goToPage": "Gehe zur Seite",
"moveToTop": "Nach oben",
"moveToBottom": "Nach unten",
"moveToTop": "Nach Oben",
"moveToBottom": "Nach Unten",
"removeFromPlaylist": "Entfernen von $t(entity.playlist_one)",
"viewPlaylists": "Ansicht $t(entity.playlist_other)",
"refresh": "$t(common.refresh)",
"removeFromQueue": "Von Warteschlange entfernen",
"setRating": "Bewertung festlegen",
"toggleSmartPlaylistEditor": "Editor $t(entity.smartPlaylist) umschalten",
"removeFromFavorites": "Entfernen von $t(entity.favorite_other)",
"openIn": {
"lastfm": "In Last.fm öffnen",
"musicbrainz": "In MusicBrainz öffnen"
},
"moveToNext": "nach unten verschieben"
"removeFromFavorites": "Entfernen von $t(entity.favorite_other)"
},
"common": {
"backward": "rückwärts",
"increase": "erhöhen",
"rating": "Wertung",
"bpm": "bpm",
"refresh": "Aktualisieren",
"refresh": "erneuern",
"unknown": "Unbekannt",
"areYouSure": "Bist Du sicher?",
"edit": "Bearbeiten",
@@ -66,9 +61,7 @@
"delete": "Löschen",
"cancel": "Abbrechen",
"forceRestartRequired": "Neustarten um die Änderungen zu übernehmen... Schließe die Benachrichtigung zum Neustarten",
"setting": "Einstellungen",
"setting_one": "Einstellung",
"setting_other": "Einstellungen",
"setting": "Einstellung",
"version": "Version",
"title": "Titel",
"filter_one": "Filter",
@@ -91,7 +84,7 @@
"sortOrder": "Reihenfolge",
"none": "keine",
"menu": "Menü",
"restartRequired": "(Neustart benötigt)",
"restartRequired": "Neustart benötigt",
"previousSong": "vorheriger $t(entity.track_one)",
"noResultsFromQuery": "Die Abfrage brachte keine Ergebnisse",
"quit": "Verlassen",
@@ -103,23 +96,7 @@
"random": "zufällig",
"size": "Größe",
"biography": "Biografie",
"note": "Hinweis",
"preview": "Vorschau",
"reload": "Neu Laden",
"mbid": "MusicBrainz ID",
"close": "schliessen",
"share": "Teilen",
"translation": "Übersetzung",
"trackGain": "Track-Pegelverstärkung",
"trackPeak": "Track-Spitzenpegel",
"codec": "Codec",
"albumPeak": "Album-Spitzenpegel",
"albumGain": "Album-Pegelverstärkung",
"tags": "tags",
"viewReleaseNotes": "Release Notes anzeigen",
"newVersion": "eine neue Version wurde installiert ({{version}})",
"bitDepth": "Bittiefe",
"sampleRate": "Abtastrate"
"note": "Hinweis"
},
"error": {
"remotePortWarning": "Starten Sie den Server neu, um den neuen Port anzuwenden",
@@ -140,15 +117,10 @@
"mpvRequired": "MPV benötigt",
"audioDeviceFetchError": "Beim Versuch, Audiogeräte abzurufen, ist ein Fehler aufgetreten",
"invalidServer": "Ungültiger Server",
"loginRateError": "Zu viele Anmeldeversuche, bitte versuche es in einigen Sekunden erneut",
"badAlbum": "Sie sehen diese Seite, weil dieses Lied nicht Teil eines Albums ist. Wahrscheinlich sehen Sie dieses Problem, wenn Sie einen Song in Ihrem Musikordner auf oberster Ebene haben. Jellyfin gruppiert nur Songs, wenn sie sich in einem Ordner befinden.",
"networkError": "ein Netzwerkfehler ist aufgetreten",
"openError": "datei kann nicht geöffnet werden",
"badValue": "ungültige option \"{{value}}\". Dieser Wert existiert nicht mehr",
"notificationDenied": "Berechtigungen über Benachrichtigungen wurden verweigert. Diese Einstellung hat keinen Effekt"
"loginRateError": "Zu viele Anmeldeversuche, bitte versuche es in einigen Sekunden erneut"
},
"filter": {
"mostPlayed": "Meistgespielt",
"mostPlayed": "Meist gespielt",
"comment": "Kommentar",
"playCount": "Anzahl abgespielt",
"recentlyUpdated": "kürzlich aktualisiert",
@@ -193,13 +165,13 @@
},
"form": {
"deletePlaylist": {
"title": "$t(entity.playlist_one) löschen",
"title": "Lösche $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) erfolgreich gelöscht",
"input_confirm": "Geben Sie zur Bestätigung den Namen von $t(entity.playlist_one) ein"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"title": "$t(entity.playlist_one) erstellen",
"title": "Erstellen $t(entity.playlist_one)",
"input_public": "öffentlich",
"success": "$t(entity.playlist_one) erfolgreich erstellt",
"input_name": "$t(common.name)",
@@ -219,7 +191,7 @@
"error_savePassword": "Beim Versuch, das Passwort zu speichern, ist ein Fehler aufgetreten"
},
"addToPlaylist": {
"success": "{{message}} $t(entity.track_other) zu {{numOfPlaylists}} $t(entity.playlist_other) hinzugefügt",
"success": "{{message}} $t(entity.song_other) zu {{numOfPlaylists}} $t(entity.playlist_other) hinzugefügt",
"title": "Zu $t(entity.playlist_one) hinzufügen",
"input_skipDuplicates": "Duplikate überspringen",
"input_playlists": "$t(entity.playlist_other)"
@@ -233,20 +205,12 @@
"input_optionMatchAny": "Treffer Einige"
},
"editPlaylist": {
"title": "Bearbeite $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) erfolgreich aktualisiert"
"title": "Bearbeite $t(entity.playlist_one)"
},
"lyricSearch": {
"title": "Songtext Suche",
"input_name": "$t(common.name)",
"input_artist": "$t(entity.artist_one)"
},
"shareItem": {
"description": "Beschreibung",
"setExpiration": "Ablaufdatum setzen",
"expireInvalid": "Ablaufdatum muss in der Zukunft liegen",
"allowDownloading": "Herunterladen zulassen",
"success": "Link in die Zwischenablage kopiert (oder hier klicken um zu öffnen)"
}
},
"entity": {
@@ -260,12 +224,12 @@
"artist_other": "Interpreten",
"folderWithCount_one": "{{count}} Verzeichnis",
"folderWithCount_other": "{{count}} Verzeichnisse",
"albumArtist_one": "Albuminterpret",
"albumArtist_other": "Albuminterpreten",
"albumArtist_one": "Album Interpret",
"albumArtist_other": "Album Interpreten",
"track_one": "Track",
"track_other": "Tracks",
"albumArtistCount_one": "{{count}} Albuminterpret",
"albumArtistCount_other": "{{count}} Albuminterpreten",
"albumArtistCount_one": "{{count}} Album Interpret",
"albumArtistCount_other": "{{count}} Album Interpreten",
"albumWithCount_one": "{{count}} Album",
"albumWithCount_other": "{{count}} Alben",
"favorite_one": "Favorit",
@@ -280,50 +244,15 @@
"genreWithCount_other": "{{count}} Genres",
"trackWithCount_one": "{{count}} Track",
"trackWithCount_other": "{{count}} Tracks",
"smartPlaylist": "Smart $t(entity.playlist_one)",
"play_one": "{{count}} Wiedergabe",
"play_other": "{{count}} Wiedergaben",
"song_one": "Lied",
"song_other": "Lieder"
"smartPlaylist": "Smart $t(entity.playlist_one)"
},
"table": {
"config": {
"view": {
"table": "Tabelle",
"card": "Karte",
"poster": "Poster"
"table": "Tabelle"
},
"general": {
"tableColumns": "Tabellenspalten",
"gap": "$t(common.gap)",
"size": "$t(common.size)",
"displayType": "Anzeigestil"
},
"label": {
"dateAdded": "Hinzugefügt am",
"lastPlayed": "zuletzt gespielt",
"rowIndex": "Reihenindex",
"trackNumber": "Tracknummer",
"biography": "$t(common.biography)",
"bitrate": "$t(common.bitrate)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"favorite": "$t(common.favorite)",
"actions": "$t(common.action_other)",
"genre": "$t(entity.genre_one)",
"album": "$t(entity.album_one)",
"size": "$t(common.size)",
"bpm": "$t(common.bpm)",
"titleCombined": "$t(common.title) (kombiniert)",
"channels": "$t(common.channel_other)",
"duration": "$t(common.duration)",
"note": "$t(common.note)",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"rating": "$t(common.rating)",
"releaseDate": "Veröffentlichungsdatum",
"title": "$t(common.title)",
"year": "$t(common.year)"
"tableColumns": "Tabellenspalten"
}
},
"column": {
@@ -332,24 +261,7 @@
"releaseDate": "Veröffentlichungsdatum",
"bitrate": "Bitrate",
"title": "Titel",
"path": "Pfad",
"album": "Album",
"albumArtist": "Albenkünstler",
"bpm": "bpm",
"favorite": "Favorit",
"lastPlayed": "zuletzt gespielt",
"rating": "Bewertung",
"albumCount": "$t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"channels": "$t(common.channel_other)",
"comment": "Kommentar",
"dateAdded": "hinzugefügt am",
"playCount": "Abgespielt",
"discNumber": "Disk",
"genre": "$t(entity.genre_one)",
"songCount": "$t(entity.track_other)",
"trackNumber": "Nr.",
"size": "$t(common.size)"
"path": "Pfad"
}
},
"page": {
@@ -360,21 +272,16 @@
"synchronized": "synchronisiert",
"followCurrentLyric": "dem Songtext folgen",
"opacity": "Deckkraft",
"lyricSize": "Songtext-Größe",
"lyricSize": "Songtext Größe",
"showLyricProvider": "Songtext-Anbieter anzeigen",
"unsynchronized": "nicht synchronisiert",
"lyricAlignment": "Songtext-Ausrichtung",
"lyricAlignment": "Songtext Ausrichtung",
"useImageAspectRatio": "Bildseitenverhältnis verwenden",
"lyricGap": "Songtext-Lücke",
"dynamicIsImage": "Hintergrundbild aktivieren",
"dynamicImageBlur": "Größe der Bildunschärfe",
"lyricOffset": "Zeitversetzung des Liedtexts (ms)"
"lyricGap": "Songtext Lücke"
},
"upNext": "als nächstes",
"lyrics": "Songtexte",
"related": "Ähnliche",
"noLyrics": "Keine Liedtexte gefunden",
"visualizer": "visualizer"
"related": "Ähnliche"
},
"appMenu": {
"selectServer": "Server auswählen",
@@ -382,34 +289,33 @@
"manageServers": "Server verwalten",
"expandSidebar": "Seitenleiste erweitern",
"collapseSidebar": "Seitenleiste einklappen",
"openBrowserDevtools": "Browser-Entwicklungswerkzeuge öffnen",
"openBrowserDevtools": "Browser Entwicklungswerkzeuge öffnen",
"goBack": "Gehe zurück",
"goForward": "Gehe vorwärts",
"settings": "$t(common.setting_other)",
"quit": "$t(common.quit)"
},
"home": {
"mostPlayed": "Meistgespielt",
"mostPlayed": "Meist gespielt",
"newlyAdded": "Neu hinzugefügte Veröffentlichungen",
"explore": "Entdecke deine Bibliothek",
"explore": "Entdecken Sie Ihre Bibliothek",
"recentlyPlayed": "Kürzlich gespielt",
"title": "$t(common.home)"
},
"albumDetail": {
"moreFromArtist": "Mehr von diesem $t(entity.artist_one)",
"moreFromGeneric": "Mehr von {{item}}",
"released": "erschienen"
"moreFromArtist": "Mehr von diesem $t(entity.genre_one)",
"moreFromGeneric": "Mehr von {{item}}"
},
"globalSearch": {
"commands": {
"serverCommands": "Serverbefehle",
"goToPage": "Gehe zur Seite",
"searchFor": "Nach {{query}} suchen"
"searchFor": "Suche nach {{query}}"
},
"title": "Befehle"
},
"contextMenu": {
"numberSelected": "{{count}} ausgewählt",
"numberSelected": "{{count}} Ausgewählte",
"addToPlaylist": "$t(action.addToPlaylist)",
"addToFavorites": "$t(action.addToFavorites)",
"setRating": "$t(action.setRating)",
@@ -424,11 +330,7 @@
"addLast": "$t(player.addLast)",
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"removeFromQueue": "$t(action.removeFromQueue)",
"playShuffled": "$t(player.shuffle)",
"download": "Download",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"moveToNext": "$t(action.moveToNext)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"sidebar": {
"nowPlaying": "läuft gerade",
@@ -441,60 +343,28 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"shared": "$t(entity.playlist_other) geteilt",
"myLibrary": "meine bibliothek"
"albumArtists": "$t(entity.albumArtist_other)"
},
"setting": {
"playbackTab": "Wiedergabe",
"generalTab": "Allgemein",
"generalTab": "allgemein",
"hotkeysTab": "Kurzbefehle",
"windowTab": "Fenster",
"advanced": "Erweitert"
"windowTab": "Fenster"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showTracks": "$t(entity.genre_one) $t(entity.track_other) anzeigen",
"showAlbums": "$t(entity.genre_one) $t(entity.album_other) anzeigen"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "Tracks von {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "Alben von {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"albumArtistDetail": {
"about": "Über {{artist}}",
"appearsOn": "erscheint auf",
"recentReleases": "Kürzliche Veröffentlichungen",
"viewDiscography": "Diskographie ansehen",
"viewAllTracks": "Alle $t(entity.track_other) ansehen",
"topSongsFrom": "Toplieder von {{title}}",
"viewAll": "Alles ansehen",
"topSongs": "Toplieder"
},
"manageServers": {
"title": "Servers verwalten",
"editServerDetailsTooltip": "Serverdetails editieren",
"removeServer": "Server entfernen",
"url": "URL",
"serverDetails": "Serverdetails",
"username": "Benutzername"
},
"itemDetail": {
"copyPath": "Pfad in Zwischenablage kopieren",
"copiedPath": "Pfad erfolgreich kopiert",
"openFile": "Track im Dateiexplorer anzeigen"
"title": "$t(entity.album_other)"
}
},
"player": {
@@ -526,13 +396,11 @@
"pause": "Pause",
"unfavorite": "Aus Favoriten entfernen",
"skip_forward": "Vorspulen",
"skip": "Überspringen",
"playSimilarSongs": "Ähnliche Lieder abspielen",
"viewQueue": "Warteschlange anzeigen"
"skip": "Überspringen"
},
"setting": {
"audioDevice_description": "Wählen Sie das Audiogerät aus, das für die Wiedergabe verwendet werden soll (nur Webplayer)",
"audioExclusiveMode": "Audio-Exklusivmodus",
"audioDevice_description": "Wählen Sie das Audiogerät aus, das für die Wiedergabe verwendet werden soll (nur Webplayer).",
"audioExclusiveMode": "Audio Exklusiver Modus",
"audioDevice": "Audiogerät",
"accentColor": "Akzentfarbe",
"accentColor_description": "Legt die Akzentfarbe für die Anwendung fest",
@@ -561,22 +429,23 @@
"theme_description": "Legt das für die Anwendung zu verwendende Thema fest",
"hotkey_playbackPause": "Pause",
"sidebarCollapsedNavigation_description": "Zeigt die Navigation in der minimierten Seitenleiste an oder verbirgt sie",
"mpvExecutablePath_help": "eine pro Zeile",
"hotkey_volumeUp": "Lauter",
"skipDuration": "Sprungdauer",
"skipDuration": "Sprung Dauer",
"showSkipButtons": "Schaltflächen zum Überspringen anzeigen",
"playButtonBehavior_optionPlay": "$t(player.play)",
"minimumScrobblePercentage": "minimale Scrobble-Dauer (Prozentsatz)",
"lyricFetch": "Songtexte aus dem Internet abrufen",
"scrobble": "Scrobbeln",
"skipDuration_description": "Legt die zu überspringende Dauer fest, wenn die Überspringen-Schaltflächen in der Player-Leiste verwendet werden",
"mpvExecutablePath_description": "Legt den Pfad zur ausführbaren MPV-Datei fest. Wenn leer gelassen, wird der Standard-Pfad verwendet",
"mpvExecutablePath_description": "Legt den Pfad zur ausführbaren MPV-Datei fest",
"replayGainClipping_description": "Verhindern Sie durch {{ReplayGain}} verursachtes Clipping, indem Sie die Verstärkung automatisch verringern",
"replayGainPreamp": "{{ReplayGain}} Vorverstärker (db)",
"hotkey_favoriteCurrentSong": "Favorit $t(common.currentSong)",
"sampleRate": "Abtastrate",
"sidePlayQueueStyle_optionAttached": "angefügt",
"sidebarConfiguration": "Seitenleistenkonfiguration",
"sampleRate_description": "Wähle die auszugebende Abtastrate aus, wenn sich die ausgewählte Abtastfrequenz von der des aktuellen Mediums unterscheidet. Ein Wert unter 8000 wird die Standard-Frequenz verwenden",
"sampleRate_description": "Wählen Sie die auszugebende Abtastrate aus, wenn sich die ausgewählte Abtastfrequenz von der des aktuellen Mediums unterscheidet",
"replayGainMode_optionNone": "$t(common.none)",
"hotkey_zoomIn": "Hineinzoomen",
"scrobble_description": "Scrobble wird auf Ihrem Medienserver abgespielt",
@@ -626,7 +495,7 @@
"savePlayQueue": "Wiedergabe-Warteschlange speichern",
"minimumScrobbleSeconds_description": "die Mindestdauer in Sekunden, die das Lied abspielen muss, bevor es gescrobbelt wird",
"skipPlaylistPage_description": "Gehen Sie beim Navigieren zu einer Wiedergabeliste zur Titelseite der Wiedergabeliste und nicht zur Standardseite",
"fontType_description": "Die integrierte Schriftart wählt eine der von Feishin bereitgestellten Schriftarten aus. Mit der Systemschriftart können Sie jede von Ihrem Betriebssystem bereitgestellte Schriftart auswählen. Benutzerdefiniert erlaubt es eine eigene Schriftart bereitzustellen",
"fontType_description": "Die integrierte Schriftart wählt eine der von Feishin bereitgestellten Schriftarten aus. Mit der Systemschriftart können Sie jede von Ihrem Betriebssystem bereitgestellte Schriftart auswählen. Benutzerdefiniert erlaubt es eine eigene Schriftart bereitstellen",
"playButtonBehavior": "Verhalten der Wiedergabetaste",
"volumeWheelStep": "Lautstärkeregler Stufe",
"sidebarPlaylistList_description": "Ein- oder Ausblenden der Playlisten-Liste in der Seitenleiste",
@@ -641,7 +510,7 @@
"sidebarConfiguration_description": "Wählen Sie die Elemente und die Reihenfolge aus, in der sie in der Seitenleiste angezeigt werden",
"remotePort": "Port des Fernsteuerungsserver",
"hotkey_playbackNext": "Nächster Track",
"useSystemTheme_description": "der systemdefinierten Hell- oder Dunkelpräferenz folgen",
"useSystemTheme_description": "der systemdefinierten Hell oder Dunkel Präferenz folgen",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"lyricFetch_description": "Songtexte aus verschiedenen Internetquellen abrufen",
"lyricFetchProvider_description": "Wählen Sie die Anbieter aus, von denen Sie Liedtexte abrufen möchten. Die Reihenfolge der Anbieter ist die Reihenfolge, in der sie abgefragt werden",
@@ -682,33 +551,6 @@
"font_description": "Wähle die Schriftart für die Anwendung",
"themeLight": "Thema (hell)",
"sidePlayQueueStyle_optionDetached": "lösgelöst",
"windowBarStyle_description": "Wähle den Stil der Windows-Leiste",
"hotkey_toggleCurrentSongFavorite": "$t(common.currentSong) zu Favoriten hinzufügen",
"clearQueryCache_description": "\"Weiches\" Zurücksetzen. Dies wird Playlisten, Musik-Metadaten und gespeicherte Liedtexte zurücksetzen, Zugangsinformationen und zwischengespeicherte Bilder werden behalten",
"discordRichPresence_description": "Zeige deinen Wiedergabe-Status in {{discord}} als rich presence an. Angezeigte Bilder sind: {{icon}}, {{playing}}, und {{paused}}",
"clearCache": "Browser-Zwischenspeicher löschen",
"clearQueryCache": "feishins Zwischenspeicher leeren",
"clearCache_description": "Hartes Zurücksetzen. Neben feishins Zwischenspeicher wird auch der des Browsers gelöscht (Bilder und andere Daten). Zugangsinformationen und Einstellungen werden behalten",
"sidePlayQueueStyle": "Wiedergabelistenstil in der Seitenleiste",
"zoom_description": "Setzt den Zoom (in %) für das Programm",
"zoom": "Zoom",
"albumBackground": "Album Hintergrund",
"customCss": "Benutzerdefiniert css",
"homeConfiguration": "Startseite Konfiguration",
"lastfmApiKey": "{{lastfm}} API-Schlüssel",
"lastfmApiKey_description": "Der API-Schlüssel für {{lastfm}}. wird für benötigt",
"discordListening": "Status als hört zu anzeigen",
"discordListening_description": "Status als hört zu statt als spielt anzeigen",
"lastfm": "zeige last.fm links",
"lastfm_description": "zeige links zu last.fm auf dem Künstler/Album-Seiten",
"musicbrainz": "Zeig musicbrainz links",
"customCssEnable": "aktiviere Benutzerdefinierte css",
"albumBackground_description": "fügt ein Hintergrundbild für die Albumseiten hinzu, welche das Albumcover zeigen",
"albumBackgroundBlur": "Größe der Album-Bildunschärfe",
"albumBackgroundBlur_description": "passt die Stärke der Unschärfe an, welche auf das Hintergrundbild des Albums angewandt wird",
"clearCacheSuccess": "Cache erfolgreich geleert",
"contextMenu": "Kontextmenü-Einstellungen (Rechtsklick)",
"customCssEnable_description": "ermöglicht das Schreiben benutzerdefinierten CSS.",
"doubleClickBehavior": "bei Doppelklick alle gesuchten Tracks zur Warteschlange hinzufügen"
"windowBarStyle_description": "Wähle den Stil der Windows-Leiste"
}
}
+12 -223
View File
@@ -8,7 +8,6 @@
"deselectAll": "deselect all",
"editPlaylist": "edit $t(entity.playlist_one)",
"goToPage": "go to page",
"moveToNext": "move to next",
"moveToBottom": "move to bottom",
"moveToTop": "move to top",
"refresh": "$t(common.refresh)",
@@ -17,26 +16,16 @@
"removeFromQueue": "remove from queue",
"setRating": "set rating",
"toggleSmartPlaylistEditor": "toggle $t(entity.smartPlaylist) editor",
"viewPlaylists": "view $t(entity.playlist_other)",
"openIn": {
"lastfm": "Open in Last.fm",
"musicbrainz": "Open in MusicBrainz"
}
"viewPlaylists": "view $t(entity.playlist_other)"
},
"common": {
"action_one": "action",
"action_other": "actions",
"add": "add",
"additionalParticipants": "additional participants",
"newVersion": "a new version has been installed ({{version}})",
"viewReleaseNotes": "view release notes",
"albumGain": "album gain",
"albumPeak": "album peak",
"areYouSure": "are you sure?",
"ascending": "ascending",
"backward": "backward",
"biography": "biography",
"bitDepth": "bit depth",
"bitrate": "bitrate",
"bpm": "bpm",
"cancel": "cancel",
@@ -44,8 +33,6 @@
"channel_one": "channel",
"channel_other": "channels",
"clear": "clear",
"close": "close",
"codec": "codec",
"collapse": "collapse",
"comingSoon": "coming soon…",
"configure": "configure",
@@ -79,7 +66,6 @@
"menu": "menu",
"minimize": "minimize",
"modified": "modified",
"mbid": "MusicBrainz ID",
"name": "name",
"no": "no",
"none": "none",
@@ -89,18 +75,15 @@
"owner": "owner",
"path": "path",
"playerMustBePaused": "player must be paused",
"preview": "preview",
"previousSong": "previous $t(entity.track_one)",
"quit": "quit",
"random": "random",
"rating": "rating",
"refresh": "refresh",
"reload": "reload",
"reset": "reset",
"resetToDefault": "reset to default",
"restartRequired": "restart required",
"right": "right",
"sampleRate": "sample rate",
"save": "save",
"saveAndReplace": "save and replace",
"saveAs": "save as",
@@ -108,15 +91,10 @@
"setting": "setting",
"setting_one": "setting",
"setting_other": "settings",
"share": "share",
"size": "size",
"sortOrder": "order",
"tags": "tags",
"title": "title",
"trackNumber": "track",
"trackGain": "track gain",
"trackPeak": "track peak",
"translation": "translation",
"unknown": "unknown",
"version": "version",
"year": "year",
@@ -147,15 +125,11 @@
"genreWithCount_other": "{{count}} genres",
"playlist_one": "playlist",
"playlist_other": "playlists",
"play_one": "{{count}} play",
"play_other": "{{count}} plays",
"playlistWithCount_one": "{{count}} playlist",
"playlistWithCount_other": "{{count}} playlists",
"smartPlaylist": "smart $t(entity.playlist_one)",
"track_one": "track",
"track_other": "tracks",
"song_one": "song",
"song_other": "songs",
"trackWithCount_one": "{{count}} track",
"trackWithCount_other": "{{count}} tracks"
},
@@ -163,8 +137,6 @@
"apiRouteError": "unable to route request",
"audioDeviceFetchError": "an error occurred when trying to get audio devices",
"authenticationFailed": "authentication failed",
"badAlbum": "you are seeing this page because this song is not part of an album. you are most likely seeing this issue if you have a song at the top level of your music folder. jellyfin only groups tracks if they are in a folder.",
"badValue": "invalid option \"{{value}}\". this value no longer exists",
"credentialsRequired": "credentials required",
"endpointNotImplementedError": "endpoint {{endpoint}} is not implemented for {{serverType}}",
"genericError": "an error occurred",
@@ -173,8 +145,6 @@
"loginRateError": "too many login attempts, please try again in a few seconds",
"mpvRequired": "MPV required",
"networkError": "a network error occurred",
"notificationDenied": "permissions for notifications were denied. this setting has no effect",
"openError": "could not open file",
"playbackError": "an error occurred when trying to play the media",
"remoteDisableError": "an error occurred when trying to $t(common.disable) the remote server",
"remoteEnableError": "an error occurred when trying to $t(common.enable) the remote server",
@@ -237,8 +207,6 @@
"input_legacyAuthentication": "enable legacy authentication",
"input_name": "server name",
"input_password": "password",
"input_preferInstantMix": "prefer instant mix",
"input_preferInstantMixDescription": "only use instant mix to get similar songs. useful if you have plugins that modify this behavior",
"input_savePassword": "save password",
"input_url": "url",
"input_username": "username",
@@ -248,7 +216,7 @@
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "skip duplicates",
"success": "added $t(entity.trackWithCount, {\"count\": {{message}} }) to $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "added {{message}} $t(entity.song_other) to {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "add to $t(entity.playlist_one)"
},
"createPlaylist": {
@@ -265,8 +233,6 @@
"title": "delete $t(entity.playlist_one)"
},
"editPlaylist": {
"publicJellyfinNote": "Jellyfin for some reason does not expose whether a playlist is public or not. If you wish for this to remain public, please have the following input selected",
"success": "$t(entity.playlist_one) updated successfully",
"title": "edit $t(entity.playlist_one)"
},
"lyricSearch": {
@@ -275,51 +241,23 @@
"title": "lyric search"
},
"queryEditor": {
"title": "query editor",
"input_optionMatchAll": "match all",
"input_optionMatchAny": "match any"
},
"shareItem": {
"allowDownloading": "allow downloading",
"description": "description",
"setExpiration": "set expiration",
"success": "share link copied to clipboard (or click here to open)",
"expireInvalid": "expiration must be in the future",
"createFailed": "failed to create share (is sharing enabled?)"
},
"updateServer": {
"success": "server updated successfully",
"title": "update server"
},
"privateMode": {
"enabled": "private mode enabled, playback status is now hidden from external integrations",
"disabled": "private mode disabled, playback status is now visible to enabled external integrations",
"title": "private mode"
}
},
"page": {
"albumArtistDetail": {
"about": "About {{artist}}",
"appearsOn": "appears on",
"recentReleases": "recent releases",
"viewDiscography": "view discography",
"relatedArtists": "related $t(entity.artist_other)",
"topSongs": "top songs",
"topSongsFrom": "top songs from {{title}}",
"viewAll": "view all",
"viewAllTracks": "view all $t(entity.track_other)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "more from this $t(entity.artist_one)",
"moreFromGeneric": "more from {{item}}",
"released": "released"
"moreFromGeneric": "more from {{item}}"
},
"albumList": {
"artistAlbums": "albums by {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
@@ -328,22 +266,12 @@
"goBack": "go back",
"goForward": "go forward",
"manageServers": "manage servers",
"privateModeOff": "turn off private mode",
"privateModeOn": "turn on private mode",
"openBrowserDevtools": "open browser devtools",
"quit": "$t(common.quit)",
"selectServer": "select server",
"settings": "$t(common.setting_other)",
"version": "version {{version}}"
},
"manageServers": {
"title": "manage servers",
"serverDetails": "server details",
"url": "URL",
"username": "username",
"editServerDetailsTooltip": "edit server details",
"removeServer": "remove server"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
@@ -353,31 +281,20 @@
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"download": "download",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"numberSelected": "{{count}} selected",
"play": "$t(player.play)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "share item",
"goToAlbum": "go to $t(entity.album_one)",
"goToAlbumArtist": "go to $t(entity.albumArtist_one)",
"showDetails": "get info"
"setRating": "$t(action.setRating)"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "dynamic background",
"dynamicImageBlur": "image blur size",
"dynamicIsImage": "enable background image",
"followCurrentLyric": "follow current lyric",
"lyricAlignment": "lyric alignment",
"lyricOffset": "lyrics offset (ms)",
"lyricGap": "lyric gap",
"lyricSize": "lyric size",
"opacity": "opacity",
@@ -389,13 +306,9 @@
},
"lyrics": "lyrics",
"related": "related",
"upNext": "up next",
"visualizer": "visualizer",
"noLyrics": "no lyrics found"
"upNext": "up next"
},
"genreList": {
"showAlbums": "show $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "show $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
@@ -411,22 +324,12 @@
"mostPlayed": "most played",
"newlyAdded": "newly added releases",
"recentlyPlayed": "recently played",
"recentlyReleased": "recently released",
"title": "$t(common.home)"
},
"itemDetail": {
"copyPath": "copy path to clipboard",
"copiedPath": "path copied successfully",
"openFile": "show track in file manager"
},
"playlist": {
"reorder": "reordering only enabled when sorting by id"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"setting": {
"advanced": "advanced",
"generalTab": "general",
"hotkeysTab": "hotkeys",
"playbackTab": "playback",
@@ -439,17 +342,13 @@
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"myLibrary": "my library",
"nowPlaying": "now playing",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "shared $t(entity.playlist_other)",
"tracks": "$t(entity.track_other)"
},
"trackList": {
"artistTracks": "tracks by {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
@@ -466,7 +365,6 @@
"playbackFetchNoResults": "no songs found",
"playbackSpeed": "playback speed",
"playRandom": "play random",
"playSimilarSongs": "play similar songs",
"previous": "previous",
"queue_clear": "clear queue",
"queue_moveToBottom": "move selected to top",
@@ -477,7 +375,7 @@
"repeat_off": "repeat disabled",
"repeat_one": "repeat one",
"repeat_other": "",
"shuffle": "play shuffled",
"shuffle": "shuffle",
"shuffle_off": "shuffle disabled",
"skip": "skip",
"skip_back": "skip backwards",
@@ -485,92 +383,43 @@
"stop": "stop",
"toggleFullscreenPlayer": "toggle fullscreen player",
"unfavorite": "unfavorite",
"pause": "pause",
"viewQueue": "view queue"
"pause": "pause"
},
"setting": {
"accentColor": "accent color",
"accentColor_description": "sets the accent color for the application",
"albumBackground": "album background image",
"albumBackground_description": "adds a background image for album pages containing the album art",
"albumBackgroundBlur": "album background image blur size",
"albumBackgroundBlur_description": "adjusts the amount of blur applied to the album background image",
"applicationHotkeys": "application hotkeys",
"applicationHotkeys_description": "configure application hotkeys. toggle the checkbox to set as a global hotkey (desktop only)",
"artistBackground": "artist background image",
"artistBackground_description": "adds a background image for artist pages containing the artist art",
"artistBackgroundBlur": "artist background image blur size",
"artistBackgroundBlur_description": "adjusts the amount of blur applied to the artist background image",
"artistConfiguration": "album artist page configuration",
"artistConfiguration_description": "configure what items are shown, and in what order, on the album artist page",
"audioDevice": "audio device",
"audioDevice_description": "select the audio device to use for playback (web player only)",
"audioExclusiveMode": "audio exclusive mode",
"audioExclusiveMode_description": "enable exclusive output mode. In this mode, the system is usually locked out, and only mpv will be able to output audio",
"audioPlayer": "audio player",
"audioPlayer_description": "select the audio player to use for playback",
"buttonSize": "player bar button size",
"buttonSize_description": "the size of the player bar buttons",
"clearCache": "clear browser cache",
"clearCache_description": "a 'hard clear' of feishin. in addition to clearing feishin's cache, empty the browser cache (saved images and other assets). server credentials and settings are preserved",
"clearQueryCache": "clear feishin cache",
"clearQueryCache_description": "a 'soft clear' of feishin. this will refresh playlists, track metadata, and reset saved lyrics. settings, server credentials and cached images are preserved",
"clearCacheSuccess": "cache cleared successfully",
"contextMenu": "context menu (right click) configuration",
"contextMenu_description": "allows you to hide items that are shown in the menu when you right click on an item. items that are unchecked will be hidden",
"crossfadeDuration": "crossfade duration",
"crossfadeDuration_description": "sets the duration of the crossfade effect",
"crossfadeStyle": "crossfade style",
"crossfadeStyle_description": "select the crossfade style to use for the audio player",
"customCssEnable": "enable custom css",
"customCssEnable_description": "allow for writing custom css.",
"customCssNotice": "Warning: while there is some sanitization (disallowing url() and content:), using custom CSS can still pose risks by changing the interface.",
"customCss": "custom css",
"customCss_description": "custom css content. Note: content and remote urls are disallowed properties. A preview of your content is shown below. Additional fields you didn't set are present due to sanitization.",
"customFontPath": "custom font path",
"customFontPath_description": "sets the path to the custom font to use for the application",
"disableAutomaticUpdates": "disable automatic updates",
"releaseChannel_optionLatest": "latest",
"releaseChannel_optionBeta": "beta",
"releaseChannel": "release channel",
"releaseChannel_description": "choose between stable releases or beta releases for automatic updates",
"disableLibraryUpdateOnStartup": "disable checking for new versions on startup",
"discordApplicationId": "{{discord}} application id",
"discordApplicationId_description": "the application id for {{discord}} rich presence (defaults to {{defaultId}})",
"discordPausedStatus": "show rich presence when paused",
"discordPausedStatus_description": "when enabled, status will show when player is paused",
"discordIdleStatus": "show rich presence idle status",
"discordIdleStatus_description": "when enabled, update status while player is idle",
"discordListening": "show status as listening",
"discordListening_description": "show status as listening instead of playing",
"discordRichPresence": "{{discord}} rich presence",
"discordRichPresence_description": "enable playback status in {{discord}} rich presence. Image keys are: {{icon}}, {{playing}}, and {{paused}}",
"discordServeImage": "serve {{discord}} images from server",
"discordServeImage_description": "share cover art for {{discord}} rich presence from server itself, only available for jellyfin and navidrome. {{discord}} uses a bot to fetch images, so your server must be reachable from the public internet.",
"discordRichPresence_description": "enable playback status in {{discord}} rich presence. Image keys are: {{icon}}, {{playing}}, and {{paused}} ",
"discordUpdateInterval": "{{discord}} rich presence update interval",
"discordUpdateInterval_description": "the time in seconds between each update (minimum 15 seconds)",
"discordDisplayType": "{{discord}} presence display type",
"discordDisplayType_description": "changes what you are listening to in your status",
"discordDisplayType_songname": "song name",
"discordDisplayType_artistname": "artist name(s)",
"discordLinkType": "{{discord}} presence links",
"discordLinkType_description": "adds external links to {{lastfm}} or {{musicbrainz}} to the song and artist fields in {{discord}} rich presence. {{musicbrainz}} is the most accurate but requires tags and doesn't provide artist links while {{lastfm}} should always provide a link. makes no extra network requests",
"discordLinkType_none": "$t(common.none)",
"discordLinkType_mbz_lastfm": "{{musicbrainz}} with {{lastfm}} fallback",
"doubleClickBehavior": "queue all searched tracks when double clicking",
"doubleClickBehavior_description": "if true, all matching tracks in a track search will be queued. otherwise, only the clicked one will be queued",
"enableRemote": "enable remote control server",
"enableRemote_description": "enables the remote control server to allow other devices to control the application",
"externalLinks": "show external links",
"externalLinks_description": "enables showing external links (Last.fm, MusicBrainz) on artist/album pages",
"exitToTray": "exit to tray",
"exitToTray_description": "exit the application to the system tray",
"floatingQueueArea": "show floating queue hover area",
"floatingQueueArea_description": "display a hover icon on the right side of the screen to view the play queue",
"followLyric": "follow current lyric",
"followLyric_description": "scroll the lyric to the current playing position",
"preferLocalLyrics": "prefer local lyrics",
"preferLocalLyrics_description": "prefer local lyrics over remote lyrics when available",
"font": "font",
"font_description": "sets the font to use for the application",
"fontType": "font type",
@@ -581,21 +430,14 @@
"gaplessAudio": "gapless audio",
"gaplessAudio_description": "sets the gapless audio setting for mpv",
"gaplessAudio_optionWeak": "weak (recommended)",
"genreBehavior": "genre page default behavior",
"genreBehavior_description": "determines whether clicking on a genre opens by default in track or album list",
"globalMediaHotkeys": "global media hotkeys",
"globalMediaHotkeys_description": "enable or disable the usage of your system media hotkeys to control playback",
"homeConfiguration": "home page configuration",
"homeConfiguration_description": "configure what items are shown, and in what order, on the home page",
"homeFeature": "home featured carousel",
"homeFeature_description": "controls whether to show the large featured carousel on the home page",
"hotkey_browserBack": "browser back",
"hotkey_browserForward": "browser forward",
"hotkey_favoriteCurrentSong": "favorite $t(common.currentSong)",
"hotkey_favoritePreviousSong": "favorite $t(common.previousSong)",
"hotkey_globalSearch": "global search",
"hotkey_localSearch": "in-page search",
"hotkey_navigateHome": "navigate to home",
"hotkey_playbackNext": "next track",
"hotkey_playbackPause": "pause",
"hotkey_playbackPlay": "play",
@@ -623,22 +465,14 @@
"hotkey_volumeUp": "volume up",
"hotkey_zoomIn": "zoom in",
"hotkey_zoomOut": "zoom out",
"imageAspectRatio": "use native cover art aspect ratio",
"imageAspectRatio_description": "if enabled, cover art will be shown using their native aspect ratio. for art that is not 1:1, the remaining space will be empty",
"language": "language",
"language_description": "sets the language for the application ($t(common.restartRequired))",
"lastfm": "show last.fm links",
"lastfm_description": "show links to last.fm on artist/album pages",
"lastfmApiKey": "{{lastfm}} API key",
"lastfmApiKey_description": "the API key for {{lastfm}}. required for cover art",
"lyricFetch": "fetch lyrics from the internet",
"lyricFetch_description": "fetch lyrics from various internet sources",
"lyricFetchProvider": "providers to fetch lyrics from",
"lyricFetchProvider_description": "select the providers to fetch lyrics from. the order of the providers is the order in which they will be queried",
"lyricOffset": "lyric offset (ms)",
"lyricOffset_description": "offset the lyric by the specified amount of milliseconds",
"notify": "enable song notifications",
"notify_description": "show notifications when changing the current song",
"minimizeToTray": "minimize to tray",
"minimizeToTray_description": "minimize the application to the system tray",
"minimumScrobblePercentage": "minimum scrobble duration (percentage)",
@@ -646,15 +480,9 @@
"minimumScrobbleSeconds": "minimum scrobble (seconds)",
"minimumScrobbleSeconds_description": "the minimum duration in seconds of the song that must be played before it is scrobbled",
"mpvExecutablePath": "mpv executable path",
"mpvExecutablePath_description": "sets the path to the mpv executable. if left empty, the default path will be used",
"mpvExecutablePath_description": "sets the path to the mpv executable",
"mpvExecutablePath_help": "one per line",
"mpvExtraParameters": "mpv parameters",
"mpvExtraParameters_help": "one per line",
"musicbrainz": "show musicbrainz links",
"musicbrainz_description": "show links to musicbrainz on artist/album pages, where mbid exists",
"neteaseTranslation": "Enable NetEase translations",
"neteaseTranslation_description": "When enabled, fetches and displays translated lyrics from NetEase if available.",
"passwordStore": "passwords/secret store",
"passwordStore_description": "what password/secret store to use. change this if you are having issues storing passwords.",
"playbackStyle": "playback style",
"playbackStyle_description": "select the playback style to use for the audio player",
"playbackStyle_optionCrossFade": "crossfade",
@@ -664,11 +492,6 @@
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"playButtonBehavior_optionPlay": "$t(player.play)",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerAlbumArtResolution": "player album art resolution",
"playerAlbumArtResolution_description": "the resolution for the large player's album art preview. larger makes it look more crisp, but may slow loading down. defaults to 0, meaning auto",
"playerbarOpenDrawer": "playerbar fullscreen toggle",
"playerbarOpenDrawer_description": "allows clicking of the playerbar to open the full screen player",
"remotePassword": "remote control server password",
"remotePassword_description": "sets the password for the remote control server. These credentials are by default transferred insecurely, so you should use a unique password that you do not care about",
"remotePort": "remote control server port",
@@ -687,7 +510,7 @@
"replayGainPreamp": "{{ReplayGain}} preamp (dB)",
"replayGainPreamp_description": "adjust the preamp gain applied to the {{ReplayGain}} values",
"sampleRate": "sample rate",
"sampleRate_description": "select the output sample rate to be used if the sample frequency selected is different from that of the current media. a value less than 8000 will use the default frequency",
"sampleRate_description": "select the output sample rate to be used if the sample frequency selected is different from that of the current media",
"savePlayQueue": "save play queue",
"savePlayQueue_description": "save the play queue when the application is closed and restore it when the application is opened",
"scrobble": "scrobble",
@@ -710,41 +533,16 @@
"skipDuration_description": "sets the duration to skip when using the skip buttons on the player bar",
"skipPlaylistPage": "skip playlist page",
"skipPlaylistPage_description": "when navigating to a playlist, go to the playlist song list page instead of the default page",
"startMinimized": "start minimized",
"startMinimized_description": "start the application in system tray",
"preventSleepOnPlayback": "prevent sleep on playback",
"preventSleepOnPlayback_description": "prevent the display from sleeping while music is playing",
"theme": "theme",
"theme_description": "sets the theme to use for the application",
"themeDark": "theme (dark)",
"themeDark_description": "sets the dark theme to use for the application",
"themeLight": "theme (light)",
"themeLight_description": "sets the light theme to use for the application",
"transcodeNote": "takes effect after 1 (web) - 2 (mpv) songs",
"transcode": "enable transcoding",
"transcode_description": "enables transcoding to different formats",
"transcodeBitrate": "bitrate to transcode",
"transcodeBitrate_description": "selects the bitrate to transcode. 0 means let the server pick",
"transcodeFormat": "format to transcode",
"transcodeFormat_description": "selects the format to transcode. leave empty to let the server decide",
"translationApiProvider": "translation api provider",
"translationApiProvider_description": "api provider for translation",
"translationApiKey": "translation api key",
"translationApiKey_description": "api key for translation (Support global service endpoint only)",
"translationTargetLanguage": "translation target language",
"translationTargetLanguage_description": "target language for translation",
"trayEnabled": "show tray",
"trayEnabled_description": "show/hide tray icon/menu. if disabled, also disables minimize/exit to tray",
"useSystemTheme": "use system theme",
"useSystemTheme_description": "follow the system-defined light or dark preference",
"volumeWheelStep": "volume wheel step",
"volumeWheelStep_description": "the amount of volume to change when scrolling the mouse wheel on the volume slider",
"volumeWidth": "volume slider width",
"volumeWidth_description": "the width of the volume slider",
"webAudio": "use web audio",
"webAudio_description": "use web audio. this enables advanced features like replaygain. disable if you experience otherwise",
"preservePitch": "preserve pitch",
"preservePitch_description": "preserves pitch when modifying playback speed",
"windowBarStyle": "window bar style",
"windowBarStyle_description": "select the style of the window bar",
"zoom": "zoom percentage",
@@ -754,13 +552,12 @@
"column": {
"album": "album",
"albumArtist": "album artist",
"albumCount": "$t(entity.album_other)",
"albumCount": "$t(entity.album_one)",
"artist": "$t(entity.artist_one)",
"biography": "biography",
"bitrate": "bitrate",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"comment": "comment",
"dateAdded": "date added",
"discNumber": "disc",
@@ -772,7 +569,6 @@
"rating": "rating",
"releaseDate": "release date",
"releaseYear": "year",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "title",
"trackNumber": "track"
@@ -780,11 +576,8 @@
"config": {
"general": {
"autoFitColumns": "auto fit columns",
"followCurrentSong": "follow current song",
"displayType": "display type",
"gap": "$t(common.gap)",
"itemGap": "item gap (px)",
"itemSize": "item size (px)",
"size": "$t(common.size)",
"tableColumns": "table columns"
},
@@ -797,7 +590,6 @@
"bitrate": "$t(common.bitrate)",
"bpm": "$t(common.bpm)",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"dateAdded": "date added",
"discNumber": "disc number",
"duration": "$t(common.duration)",
@@ -812,7 +604,6 @@
"releaseDate": "release date",
"rowIndex": "row index",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "$t(common.title)",
"titleCombined": "$t(common.title) (combined)",
"trackNumber": "track number",
@@ -820,8 +611,6 @@
},
"view": {
"card": "card",
"grid": "grid",
"list": "list",
"poster": "poster",
"table": "table"
}
+63 -262
View File
@@ -8,10 +8,10 @@
"skip": "saltar",
"previous": "anterior",
"toggleFullscreenPlayer": "activar el reproductor a pantalla completa",
"skip_back": "retroceder",
"skip_back": "saltar hacia atrás",
"favorite": "favorito",
"next": "siguiente",
"shuffle": "Reproducir aleatoriamente",
"shuffle": "mezclar",
"playbackFetchNoResults": "ninguna canción encontrada",
"playbackFetchInProgress": "cargando canciones…",
"addNext": "añadir siguiente",
@@ -21,27 +21,26 @@
"repeat_off": "repetir desactivado",
"queue_clear": "limpiar cola",
"muted": "silenciado",
"unfavorite": "no favorita",
"queue_moveToTop": "mover seleccionado al final",
"unfavorite": "no favorito",
"queue_moveToTop": "mover seleccionado al fondo",
"queue_moveToBottom": "mover seleccionado al principio",
"shuffle_off": "mezclar desactivado",
"addLast": "añadir último",
"mute": "silencio",
"skip_forward": "saltar hacia delante",
"pause": "pausa",
"playSimilarSongs": "Reproducir canciones similares",
"viewQueue": "ver cola"
"pause": "pausa"
},
"setting": {
"crossfadeStyle_description": "selecciona el estilo de crossfade a usar por el reproductor de audio",
"remotePort_description": "establece el puerto para el control remoto del servidor",
"hotkey_skipBackward": "retroceder",
"hotkey_skipBackward": "saltar hacia atrás",
"replayGainMode_description": "ajusta el volumen de ganancia acorde a los valores de {{ReplayGain}} almacenados en los metadatos del archivo",
"audioDevice_description": "selecciona el dispositivo de audio a usar durante la reproducción (solo reproductor web)",
"audioDevice_description": "selecciona el dispositivo de audio para usar en la reproducción (solo reproductor web)",
"theme_description": "establece el tema a usar por la aplicación",
"hotkey_playbackPause": "pausa",
"replayGainFallback": "{{ReplayGain}} alternativa",
"sidebarCollapsedNavigation_description": "mostrar u ocultar la navegación en la barra lateral contraída",
"mpvExecutablePath_help": "uno por línea",
"hotkey_volumeUp": "subir volumen",
"skipDuration": "duración de salto",
"discordIdleStatus_description": "cuando se activa, actualiza el estado mientras el reproductor está inactivo",
@@ -53,7 +52,7 @@
"skipDuration_description": "establece la duración a saltar cuando se usa los botones de saltar en la barra del reproductor",
"enableRemote_description": "activa el control remoto del servidor para permitir a otros dispositivos controlar la aplicación",
"fontType_optionSystem": "fuente del sistema",
"mpvExecutablePath_description": "establece la ruta del ejecutable mpv. si se deja vacío, se usará la ruta predeterminada",
"mpvExecutablePath_description": "establece la ruta del ejecutable mpv",
"replayGainClipping_description": "previene el recorte causado por {{ReplayGain}} bajando automáticamente la ganancia",
"replayGainPreamp": "preamplificador (dB) de {{ReplayGain}}",
"hotkey_favoriteCurrentSong": "$t(common.currentSong) favorita",
@@ -61,14 +60,14 @@
"crossfadeStyle": "estilo de crossfade",
"sidePlayQueueStyle_optionAttached": "acoplada",
"sidebarConfiguration": "configuración de la barra lateral",
"sampleRate_description": "selecciona el ratio de muestreo de salida a ser usado si la frecuencia de muestreo seleccionada es diferente de la del medio actual. un valor inferior a 8000 usará la frecuencia predeterminada",
"sampleRate_description": "selecciona el ratio de muestreo de salida a ser usado si la frecuencia de muestreo seleccionada es diferente de la del medio actual",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainClipping": "recortar {{ReplayGain}}",
"hotkey_zoomIn": "ampliar",
"scrobble_description": "hace scrobble de las reproducciones en tu servidor de medios",
"audioExclusiveMode_description": "activa el modo de audio exclusivo. En este modo, el sistema es normalmente bloqueado, y solo se permitirá mpv en la salida de audio",
"discordUpdateInterval": "intervalo de actualización del estado de actividad de {{discord}}",
"themeLight": "tema (claro)",
"themeLight": "tema (luminoso)",
"fontType_optionBuiltIn": "fuente incorporada",
"hotkey_playbackPlayPause": "play / pausa",
"hotkey_rate1": "calificar con 1 estrella",
@@ -82,8 +81,8 @@
"hotkey_playbackPlay": "reproducir",
"hotkey_togglePreviousSongFavorite": "cambia $t(common.previousSong) a favorito",
"hotkey_volumeDown": "bajar volumen",
"hotkey_unfavoritePreviousSong": "$t(common.previousSong) no favorita",
"audioPlayer_description": "selecciona el reproductor de audio a usar durante la reproducción",
"hotkey_unfavoritePreviousSong": "$t(common.previousSong) no favorito",
"audioPlayer_description": "selecciona el reproductor de audio a usar en la reproducción",
"globalMediaHotkeys": "teclas de acceso rápido globales a medios",
"hotkey_globalSearch": "búsqueda global",
"gaplessAudio_description": "establece la configuración de audio sin pausas para mpv",
@@ -106,11 +105,11 @@
"font": "fuente",
"mpvExtraParameters": "parámetros de mpv",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"themeLight_description": "establece el tema claro a usar por la aplicación",
"themeLight_description": "establece el tema luminoso a usar por la aplicación",
"hotkey_toggleFullScreenPlayer": "cambia el reproductor a pantalla completa",
"hotkey_localSearch": "búsqueda en la página",
"hotkey_toggleQueue": "cambia la cola",
"remotePassword_description": "establece la contraseña para el control remoto del servidor. Esas credenciales son transferidas de forma insegura por defecto, por lo que deberías usar una contraseña única para que no tengas nada de lo que preocuparte",
"remotePassword_description": "establece la contraseña para el control remoto del servidor. Esas credenciales son transferidas de forma insegura por defecto, por lo que deberías usar una contraseña única para que no tengas nada de qué preocuparte",
"hotkey_rate5": "calificar con 5 estrellas",
"hotkey_playbackPrevious": "pista anterior",
"showSkipButtons_description": "muestra o esconde los botones de saltar en la barra del reproductor",
@@ -120,13 +119,13 @@
"hotkey_toggleShuffle": "alterna aleatorio",
"theme": "tema",
"playbackStyle_description": "selecciona el estilo de reproducción a usar por el reproductor de audio",
"discordRichPresence_description": "activa el estado de reproducción en el estado de actividad de {{discord}}. Las teclas de imagen son: {{icon}}, {{playing}}, y {{paused}}",
"discordRichPresence_description": "activa el estado de reproducción en el estado de actividad de {{discord}}. Las teclas de imagen son: {{icon}}, {{playing}}, y {{paused}} ",
"mpvExecutablePath": "ruta del ejecutable mpv",
"audioDevice": "dispositivo de audio",
"hotkey_rate2": "calificar con 2 estrellas",
"playButtonBehavior_description": "establece el comportamiento por defecto del botón de reproducción cuando se añaden canciones a la cola",
"minimumScrobblePercentage_description": "el porcentaje mínimo de la canción que debe ser reproducido antes de hacer scrobble",
"exitToTray": "salir a la bandeja",
"exitToTray": "salida a bandeja",
"hotkey_rate4": "calificar con 4 estrellas",
"enableRemote": "activar control remoto del servidor",
"showSkipButton_description": "muestra o esconde los botones de saltar en la barra del reproductor",
@@ -142,13 +141,13 @@
"replayGainFallback_description": "ganancia en db a aplicar si el archivo no tiene etiquetas de {{ReplayGain}}",
"replayGainPreamp_description": "ajusta la ganancia del preamplificador aplicada a los valores de {{ReplayGain}}",
"hotkey_toggleRepeat": "alterna repetir",
"lyricOffset_description": "desfasa la letra en la cantidad de milisegundos especificada",
"lyricOffset_description": "desfasa la letra por la cantidad de milisegundos especificada",
"sidebarConfiguration_description": "selecciona los elementos y el orden en que aparecerán en la barra lateral",
"fontType": "tipo de fuente",
"remotePort": "puerto del control remoto del servidor",
"applicationHotkeys": "teclas de acceso rápido de la aplicación",
"hotkey_playbackNext": "pista siguiente",
"useSystemTheme_description": "sigue la preferencia clara u oscura definida por el sistema",
"useSystemTheme_description": "sigue la preferencia luminosa u oscura definida por el sistema",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"lyricFetch_description": "busca letras en varias fuentes de Internet",
"lyricFetchProvider_description": "selecciona los proveedores para buscar letras. el orden de los proveedores es el orden en el que se consultarán",
@@ -160,13 +159,13 @@
"sidePlayQueueStyle_optionDetached": "separada",
"audioPlayer": "reproductor de audio",
"hotkey_zoomOut": "reducir",
"hotkey_unfavoriteCurrentSong": "$t(common.currentSong) no favorita",
"hotkey_rate0": "Limpiar calificación",
"hotkey_unfavoriteCurrentSong": "$t(common.currentSong) no favorito",
"hotkey_rate0": "limpiar calificación",
"discordApplicationId": "id de aplicación {{discord}}",
"applicationHotkeys_description": "configura las teclas de acceso rápido de la aplicación. marca la casilla para establecerlas como teclas de acceso rápido globales (solo escritorio)",
"floatingQueueArea_description": "muestra un icono flotante en el lado derecho de la pantalla para ver la cola de reproducción",
"hotkey_volumeMute": "silenciar volumen",
"hotkey_toggleCurrentSongFavorite": "$t(common.currentSong) cambia a favorita",
"hotkey_toggleCurrentSongFavorite": "cambia $t(common.currentSong) a favorito",
"remoteUsername": "nombre de usuario del control remoto del servidor",
"showSkipButton": "mostrar botones de saltar",
"sidebarPlaylistList": "listas de reproducción de la barra lateral",
@@ -192,95 +191,7 @@
"accentColor_description": "establece el color de realce de la aplicación",
"skipPlaylistPage": "saltar página de lista de reproducción",
"hotkey_browserForward": "avance",
"hotkey_browserBack": "retroceso",
"clearCache": "Limpiar la caché del navegador",
"clearQueryCache": "Limpiar la caché de Feishin",
"clearQueryCache_description": "Una 'limpieza suave' de Feishin. Esto refrescará las listas de reproducción, los metadatos de las pistas y restablecerá las letras guardadas. Se mantienen los ajustes, credenciales del servidor y las imágenes en caché",
"buttonSize": "tamaño del botón de la barra de reproducción",
"clearCache_description": "Una 'limpieza fuerte' de Feishin. Para limpiar la caché de Feishin, vacía la caché del navegador (imágenes guardadas y otros elementos). Se mantienen las credenciales y ajustes del servidor",
"buttonSize_description": "el tamaño de los botones de la barra de reproducción",
"passwordStore_description": "qué método de almacenamiento de contraseñas/claves secretas utilizar. cambia esta opción si tienes problemas para guardar contraseñas.",
"startMinimized_description": "inicia la aplicación en la bandeja del sistema",
"startMinimized": "iniciar minimizado",
"passwordStore": "contraseñas/almacenamiento secreto",
"playerAlbumArtResolution_description": "la resolución para la vista previa de la carátula del álbum del reproductor grande. más grande hace que parezca más nítido, pero puede ralentizar la carga. El valor predeterminado es 0, lo que significa automático",
"playerAlbumArtResolution": "resolución de la carátula del álbum del reproductor",
"homeConfiguration": "Configuración de la página de inicio",
"mpvExtraParameters_help": "Uno por línea",
"genreBehavior": "Comportamiento predeterminado de la página de géneros",
"externalLinks_description": "Permite mostrar enlaces externos (Last.fm, MusicBrainz) en las páginas del artista/álbum",
"genreBehavior_description": "Determina si al hacer clic en un género se abre por defecto la lista de pistas o de álbumes",
"homeConfiguration_description": "Configura qué elementos son mostrados y en qué orden en la página de inicio",
"clearCacheSuccess": "Caché limpiada correctamente",
"externalLinks": "Mostrar enlaces externos",
"homeFeature": "Carrusel destacado de inicio",
"homeFeature_description": "Controla si se muestra el gran carrusel destacado en la página de inicio",
"imageAspectRatio_description": "Si está habilitado, la portada será mostrada usando su relación de aspecto nativa. Para arte que no es 1:1, el espacio restante estará vacío",
"imageAspectRatio": "Usar relación de aspecto nativa de portada",
"doubleClickBehavior": "poner en cola todas las pistas buscadas al hacer doble clic",
"doubleClickBehavior_description": "si está activado, se pondrán en cola todas las pistas que coincidan en una búsqueda de pistas. De lo contrario, solo se pondrán en cola las pistas seleccionadas",
"volumeWidth": "Ancho del deslizador de volumen",
"volumeWidth_description": "La anchura del deslizador de volumen",
"discordListening_description": "muestra el estado como Escuchando en lugar de Jugando a",
"discordListening": "Mostrar estado como escuchando",
"contextMenu": "Configuración del menú de contexto (clic derecho)",
"contextMenu_description": "Te permite esconder elementos que son mostrados en el menú cuando haces clic derecho en un elemento. Los elementos que no estén seleccionados serán escondidos",
"customCssEnable": "Habilitar CSS personalizado",
"customCssEnable_description": "Permite escribir CSS personalizado.",
"customCss": "CSS personalizado",
"customCssNotice": "Aviso: mientras hay alguna sanitización (rechazar url() y content:), usar CSS personalizado puede aún entrañar riesgos cambiando la interfaz.",
"customCss_description": "Content CSS personalizado. Nota: content y urls remotas son propiedades rechazadas. Una vista previa de tu content se muestra debajo. Las entradas adicionales que no estableciste están presentes debido a la sanitización.",
"webAudio": "usar audio web",
"webAudio_description": "Utilizar audio web. Esto habilita funciones avanzadas como Replaygain. Desactiva esta opción si tienes problemas",
"transcode": "activar la transcodificación",
"transcode_description": "permite la transcodificación a distintos formatos",
"transcodeBitrate": "tasa de bits a transcodificar",
"transcodeBitrate_description": "selecciona el bitrate a transcodificar. 0 significa dejar que el servidor elija",
"transcodeNote": "tendrá efecto después de 1 (web) - 2 (mpv) canciones",
"transcodeFormat": "formato a transcodificar",
"transcodeFormat_description": "selecciona el formato a transcodificar. dejar vacío para que el servidor decida",
"albumBackground": "imagen de fondo del álbum",
"albumBackground_description": "Añade una imagen de fondo a las páginas del álbum que contienen la carátula del álbum",
"albumBackgroundBlur": "Tamaño de desenfoque de la imagen de fondo del álbum",
"albumBackgroundBlur_description": "Ajusta la cantidad de desenfoque aplicado a la imagen de fondo del álbum",
"playerbarOpenDrawer": "Cambiar la barra del reproductor a pantalla completa",
"playerbarOpenDrawer_description": "Permite hacer clic en la barra del reproductor para abrir el reproductor a pantalla completa",
"artistConfiguration": "Configuración de la página del artista del álbum",
"artistConfiguration_description": "Configura qué elementos se muestran y en qué orden en la página del artista del álbum",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"trayEnabled": "Mostrar en el área de notificación",
"trayEnabled_description": "muestra/oculta el icono/menú del área de notificación. si está deshabilitado, también deshabilita minimizar/salir a la bandeja",
"translationApiProvider": "Proveedor de API de traducción",
"translationApiProvider_description": "Proveedor de API para traducción",
"translationApiKey": "clave api de traducción",
"translationApiKey_description": "Clave API para la traducción (solo para el punto final del servicio global)",
"translationTargetLanguage": "idioma final de la traducción",
"translationTargetLanguage_description": "lengua de destino de la traducción",
"lastfmApiKey_description": "la clave API para {{lastfm}}. Requerida para la portada",
"lastfmApiKey": "Clave API para {{lastfm}}",
"discordServeImage": "Servir imágenes de {{discord}} desde el servidor",
"discordServeImage_description": "Comparte el arte de la portada para el estado de actividad de {{discord}} desde el propio servidor, solo disponible para Jellyfin y Navidrome",
"lastfm": "Mostrar enlaces de last.fm",
"lastfm_description": "Muestra enlaces a last.fm en las páginas de artistas/álbumes",
"musicbrainz": "Mostrar enlaces de MusicBrainz",
"musicbrainz_description": "Muestra enlaces a MusicBrainz en las páginas de artistas/álbumes, donde exista mbid",
"neteaseTranslation": "Activar traducciones de NetEase",
"neteaseTranslation_description": "Cuando se habilita, busca y muestra letras traducidas desde NetEase si está disponible.",
"preferLocalLyrics_description": "Prefiere letras locales sobre letras remotas cuando esté disponible",
"preferLocalLyrics": "Preferir letras locales",
"discordPausedStatus": "Mostrar estado de actividad cuando esté en pausa",
"discordPausedStatus_description": "Cuando está activado, el estado mostrará cuando el reproductor esté en pausa",
"preservePitch": "Mantener el tono",
"preservePitch_description": "Mantiene el tono cuando se modifica la velocidad de reproducción",
"notify": "Activar notificaciones de canciones",
"notify_description": "Muestra notificaciones cuando se cambia la canción actual",
"discordDisplayType_songname": "Nombre de la canción",
"discordDisplayType_artistname": "Nombre(s) del artista(s)",
"discordDisplayType_description": "Cambia qué estás escuchando en tu estado",
"discordDisplayType": "Tipo de pantalla de actividad de {{discord}}",
"hotkey_navigateHome": "Navegar a inicio",
"preventSleepOnPlayback": "Evitar entrar en reposo durante la reproducción",
"preventSleepOnPlayback_description": "Evita que la pantalla entre en reposo mientras se está reproduciendo música"
"hotkey_browserBack": "retroceso"
},
"action": {
"editPlaylist": "editar $t(entity.playlist_one)",
@@ -296,21 +207,16 @@
"deletePlaylist": "eliminar $t(entity.playlist_one)",
"removeFromQueue": "eliminar de la cola",
"deselectAll": "desmarcar todo",
"moveToBottom": "mover al final",
"moveToBottom": "mover al fondo",
"setRating": "establecer calificación",
"toggleSmartPlaylistEditor": "cambiar editor $t(entity.smartPlaylist)",
"removeFromFavorites": "eliminar de $t(entity.favorite_other)",
"openIn": {
"lastfm": "Abrir en Last.fm",
"musicbrainz": "Abrir en MusicBrainz"
},
"moveToNext": "pasar al siguiente"
"removeFromFavorites": "eliminar de $t(entity.favorite_other)"
},
"common": {
"backward": "hacia atrás",
"increase": "aumentar",
"rating": "calificación",
"bpm": "lpm",
"bpm": "bpm",
"refresh": "actualizar",
"unknown": "desconocido",
"areYouSure": "estás seguro?",
@@ -319,7 +225,7 @@
"left": "izquierda",
"save": "guardar",
"right": "derecha",
"currentSong": "$t(entity.track_one) actual",
"currentSong": "actual $t(entity.track_one)",
"collapse": "contraer",
"trackNumber": "pista",
"descending": "descendiente",
@@ -357,7 +263,7 @@
"saveAndReplace": "guardar y reemplazar",
"playerMustBePaused": "el reproductor debe pausarse",
"confirm": "confirmar",
"resetToDefault": "restablecer al valor predeterminado",
"resetToDefault": "restablecer a valor por defecto",
"home": "inicio",
"comingSoon": "próximamente…",
"reset": "restablecer",
@@ -369,7 +275,7 @@
"previousSong": "anterior $t(entity.track_one)",
"noResultsFromQuery": "la petición no devolvió resultados",
"quit": "salir",
"expand": "expandir",
"expand": "ampliar",
"search": "buscar",
"saveAs": "guardar como",
"disc": "disco",
@@ -387,24 +293,7 @@
"action_other": "acciones",
"channel_one": "Canal",
"channel_many": "Canales",
"channel_other": "Canales",
"trackPeak": "pico de pista",
"albumPeak": "pico del álbum",
"albumGain": "Ganancia de álbum",
"mbid": "ID de MusicBrainz",
"codec": "Códec",
"close": "Cerrar",
"reload": "Recargar",
"share": "Compartir",
"trackGain": "Ganancia de pista",
"preview": "Vista previa",
"translation": "traducción",
"additionalParticipants": "Participantes adicionales",
"tags": "Etiquetas",
"newVersion": "Una nueva versión ha sido instalada ({{version}})",
"viewReleaseNotes": "Ver notas de lanzamiento",
"bitDepth": "Profundidad de bit",
"sampleRate": "Frecuencia de muestreo"
"channel_other": "Canales"
},
"error": {
"remotePortWarning": "reiniciar el servidor para aplicar el nuevo puerto",
@@ -425,16 +314,11 @@
"mpvRequired": "MPV requerido",
"audioDeviceFetchError": "un error ocurrió cuando se intentó obtener los dispositivos de audio",
"invalidServer": "servidor inválido",
"loginRateError": "demasiados intentos de inicio de sesión, por favor inténtalo en unos segundos",
"badAlbum": "Estás viendo esta página porque esta canción no forma parte de un álbum. Este problema puede ocurrir si tienes una canción en el nivel superior de tu carpeta de música. Jellyfin solo agrupa pistas si están en una carpeta.",
"networkError": "Ocurrió un error de red",
"openError": "No se pudo abrir el archivo",
"badValue": "Opción inválida \"{{value}}\". Este valor ya no existe",
"notificationDenied": "Se denegaron los permisos para notificaciones. Esta configuración no tiene efecto"
"loginRateError": "demasiados intentos de inicio de sesión, por favor inténtalo en unos segundos"
},
"filter": {
"mostPlayed": "más reproducido",
"isCompilation": "es una compilación",
"isCompilation": "es compilación",
"recentlyPlayed": "recientemente reproducido",
"isRated": "es clasificado",
"title": "título",
@@ -452,7 +336,7 @@
"albumArtist": "$t(entity.albumArtist_one)",
"isRecentlyPlayed": "reproducido recientemente",
"isFavorited": "es favorito",
"bpm": "lpm",
"bpm": "bpm",
"releaseYear": "año de lanzamiento",
"disc": "disco",
"biography": "biografía",
@@ -465,7 +349,7 @@
"criticRating": "calificación de la crítica",
"trackNumber": "pista",
"comment": "comentarios",
"playCount": "número de reproducciones",
"playCount": "número de reproducción",
"recentlyUpdated": "actualizado recientemente",
"channels": "$t(common.channel_other)",
"owner": "$t(common.owner)",
@@ -488,9 +372,7 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"shared": "compartido $t(entity.playlist_other)",
"myLibrary": "Mi biblioteca"
"albumArtists": "$t(entity.albumArtist_other)"
},
"appMenu": {
"selectServer": "seleccionar servidor",
@@ -502,9 +384,7 @@
"openBrowserDevtools": "abrir herramientas de desarrollador del navegador",
"quit": "$t(common.quit)",
"goBack": "retroceder",
"goForward": "avanzar",
"privateModeOff": "Apagar modo privado",
"privateModeOn": "Encender modo privado"
"goForward": "avanzar"
},
"contextMenu": {
"addToPlaylist": "$t(action.addToPlaylist)",
@@ -522,22 +402,14 @@
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "{{count}} seleccionado",
"removeFromQueue": "$t(action.removeFromQueue)",
"shareItem": "Compartir elemento",
"showDetails": "Obtener información",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"download": "descargar",
"playShuffled": "$t(player.shuffle)",
"moveToNext": "$t(action.moveToNext)",
"goToAlbum": "Ir a $t(entity.album_one)",
"goToAlbumArtist": "Ir a $t(entity.albumArtist_one)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"home": {
"mostPlayed": "más reproducidos",
"newlyAdded": "nuevos lanzamientos añadidos",
"title": "$t(common.home)",
"explore": "explora desde tu biblioteca",
"recentlyPlayed": "reproducidos recientemente"
"explore": "explorar desde tu biblioteca",
"recentlyPlayed": "recientemente reproducidos"
},
"fullscreenPlayer": {
"upNext": "siguiente",
@@ -552,40 +424,29 @@
"lyricAlignment": "alineación de letra",
"useImageAspectRatio": "usar ratio de aspecto de imagen",
"showLyricMatch": "mostrar coincidencia de letras",
"lyricGap": "desfase de letra",
"dynamicImageBlur": "tamaño de desenfoque de imagen",
"dynamicIsImage": "habilitar imagen de fondo",
"lyricOffset": "desplazamiento de letras (ms)"
"lyricGap": "desfase de letra"
},
"lyrics": "letras",
"related": "relacionado",
"visualizer": "visualizador",
"noLyrics": "sin letras"
"related": "relacionado"
},
"albumDetail": {
"moreFromArtist": "más de este $t(entity.artist_one)",
"moreFromGeneric": "más de {{item}}",
"released": "publicado el"
"moreFromGeneric": "más de {{item}}"
},
"setting": {
"playbackTab": "reproducción",
"generalTab": "general",
"hotkeysTab": "teclas de acceso rápido",
"windowTab": "ventana",
"advanced": "Avanzado"
"windowTab": "ventana"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "Mostrar $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "Mostrar $t(entity.genre_one) $t(entity.track_other)"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"artistTracks": "Pistas de {{artist}}"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"commands": {
@@ -599,36 +460,7 @@
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"artistAlbums": "Álbumes de {{artist}}"
},
"albumArtistDetail": {
"viewAllTracks": "ver todas las $t(entity.track_other)",
"relatedArtists": "$t(entity.artist_other) similares",
"topSongs": "mejores canciones",
"topSongsFrom": "las mejores canciones de {{title}}",
"viewAll": "Ver todo",
"recentReleases": "Lanzamientos recientes",
"viewDiscography": "Ver discografía",
"about": "Sobre {{artist}}",
"appearsOn": "Aparece en"
},
"itemDetail": {
"copiedPath": "Ruta copiada correctamente",
"openFile": "Mostrar pista en el gestor de archivos",
"copyPath": "Copiar ruta al portapapeles"
},
"playlist": {
"reorder": "la reordenación solo se activa al ordenar por id"
},
"manageServers": {
"removeServer": "eliminar servidor",
"title": "administrar servidores",
"serverDetails": "detalles del servidor",
"username": "nombre de usuario",
"editServerDetailsTooltip": "editar detalles del servidor",
"url": "URL"
"title": "$t(entity.album_other)"
}
},
"form": {
@@ -659,7 +491,7 @@
"error_savePassword": "un error ocurrió cuando se intentó guardar la contraseña"
},
"addToPlaylist": {
"success": "añadido $t(entity.trackWithCount, {\"count\": {{message}} }) a $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "añadido {{message}} $t(entity.song_other) a {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "añadir a $t(entity.playlist_one)",
"input_skipDuplicates": "saltar duplicados",
"input_playlists": "$t(entity.playlist_other)"
@@ -674,27 +506,11 @@
"title": "buscar letras"
},
"editPlaylist": {
"title": "editar $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) actualizada correctamente",
"publicJellyfinNote": "Jellyfin por alguna razón no expone si una lista de reproducción es pública o no. Si deseas que ésta siga siendo pública, por favor ten seleccionada la siguiente entrada"
"title": "editar $t(entity.playlist_one)"
},
"queryEditor": {
"input_optionMatchAll": "coincidir todos",
"input_optionMatchAny": "coincidir cualquiera",
"title": "Editor de consultas"
},
"shareItem": {
"createFailed": "No se pudo crear el recurso compartido (¿está habilitado el uso compartido?)",
"allowDownloading": "Permitir la descarga",
"description": "Descripción",
"setExpiration": "Establecer expiración",
"success": "Enlace de compartición copiado al portapapeles (o pulsa aquí para abrir)",
"expireInvalid": "La expiración debe ser en el futuro"
},
"privateMode": {
"enabled": "Modo privado activado, el estado de reproducción ahora está oculto de integraciones externas",
"disabled": "Modo privado desactivado, el estado de reproducción ahora es visible a las integraciones externas habilitadas",
"title": "Modo privado"
"input_optionMatchAny": "coincidir cualquiera"
}
},
"table": {
@@ -711,18 +527,16 @@
"releaseDate": "fecha de lanzamiento",
"bitrate": "tasa de bits",
"title": "título",
"bpm": "lpm",
"bpm": "bpm",
"dateAdded": "fecha de adición",
"artist": "$t(entity.artist_one)",
"songCount": "$t(entity.track_other)",
"trackNumber": "pista",
"genre": "$t(entity.genre_one)",
"albumArtist": "artista del álbum",
"albumArtist": "artista de álbum",
"path": "ruta",
"discNumber": "disco",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)",
"codec": "$t(common.codec)"
"channels": "$t(common.channel_other)"
},
"config": {
"label": {
@@ -748,29 +562,22 @@
"note": "$t(common.note)",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"playCount": "número de reproducciones",
"playCount": "número de reproducción",
"genre": "$t(entity.genre_one)",
"favorite": "$t(common.favorite)",
"year": "$t(common.year)",
"codec": "$t(common.codec)",
"songCount": "$t(entity.track_other)"
"year": "$t(common.year)"
},
"general": {
"gap": "$t(common.gap)",
"tableColumns": "columnas de la tabla",
"autoFitColumns": "ajuste automático de columnas",
"size": "$t(common.size)",
"displayType": "tipo de visualización",
"itemGap": "espacio entre elementos (px)",
"itemSize": "tamaño del elemento (px)",
"followCurrentSong": "seguir la canción actual"
"displayType": "tipo de visualización"
},
"view": {
"card": "tarjeta",
"table": "tabla",
"poster": "cartel",
"list": "Lista",
"grid": "Cuadrícula"
"poster": "cartel"
}
}
},
@@ -791,15 +598,15 @@
"folderWithCount_one": "{{count}} carpeta",
"folderWithCount_many": "{{count}} carpetas",
"folderWithCount_other": "{{count}} carpetas",
"albumArtist_one": "artista del álbum",
"albumArtist_many": "artistas del álbum",
"albumArtist_other": "artistas del álbum",
"albumArtist_one": "artista de álbum",
"albumArtist_many": "artistas de álbum",
"albumArtist_other": "artistas de álbum",
"track_one": "pista",
"track_many": "pistas",
"track_other": "pistas",
"albumArtistCount_one": "{{count}} artista del álbum",
"albumArtistCount_many": "{{count}} artistas del álbum",
"albumArtistCount_other": "{{count}} artistas del álbum",
"albumArtistCount_one": "{{count}} artista de álbum",
"albumArtistCount_many": "{{count}} artistas de álbum",
"albumArtistCount_other": "{{count}} artistas de álbum",
"albumWithCount_one": "{{count}} álbum",
"albumWithCount_many": "{{count}} álbumes",
"albumWithCount_other": "{{count}} álbumes",
@@ -820,12 +627,6 @@
"genreWithCount_other": "{{count}} géneros",
"trackWithCount_one": "{{count}} pista",
"trackWithCount_many": "{{count}} pistas",
"trackWithCount_other": "{{count}} pistas",
"play_one": "{{count}} reproducción",
"play_many": "{{count}} reproducciones",
"play_other": "{{count}} reproducciones",
"song_one": "canción",
"song_many": "canciones",
"song_other": "canciones"
"trackWithCount_other": "{{count}} pistas"
}
}
-626
View File
@@ -1,626 +0,0 @@
{
"player": {
"repeat_all": "تکرار همه",
"stop": "توقف",
"repeat": "تکرار",
"skip": "رد کن",
"toggleFullscreenPlayer": "تغییر به پخش‌کنندهٔ تمام‌صفحه",
"skip_back": "برو عقب",
"shuffle": "پخش تصادفی",
"repeat_off": "تکرار غیرفعال",
"pause": "ایست",
"unfavorite": "حذف از موردعلاقه‌ها",
"shuffle_off": "پخش تصادفی غیر فعال",
"skip_forward": "برو جلو",
"queue_moveToTop": "جابجا کردن انتخاب شده به پایین",
"queue_clear": "خالی کردن صف",
"queue_remove": "حذف انتخاب شده",
"addLast": "افزودن به پایان",
"next": "پسین",
"play": "پخش",
"playbackSpeed": "تندی پخش",
"playRandom": "پخش تصادفی",
"previous": "پیشین",
"mute": "بی‌صدا کردن",
"playbackFetchCancel": "دارد طول می‌کشد... برای لفو کردن اعلان را ببندید",
"playbackFetchInProgress": "بارگذاری قطعه‌ها…",
"queue_moveToBottom": "جابجا کردن انتخاب شده به بالا",
"addNext": "افزودن به پسین",
"favorite": "مورد علاقه",
"playSimilarSongs": "پخش آهنگ‌های همگون",
"playbackFetchNoResults": "هیچ آهنگی پیدا نشد",
"viewQueue": "دیدن صف",
"muted": "بی‌صدا"
},
"action": {
"editPlaylist": "ویرایش $t(entity.playlist_one)",
"goToPage": "برو به صفحهٔ",
"moveToTop": "انتقال به بالا",
"clearQueue": "خالی کردن صف",
"addToFavorites": "افزودن به $t(entity.favorite_other)",
"addToPlaylist": "افزودن به $t(entity.playlist_one)",
"createPlaylist": "ساخت $t(entity.playlist_one)",
"removeFromPlaylist": "حذف از $t(entity.playlist_one)",
"viewPlaylists": "نمایش $t(entity.playlist_other)",
"refresh": "$t(common.refresh)",
"deletePlaylist": "حذف $t(entity.playlist_one)",
"removeFromQueue": "حذف از صف",
"deselectAll": "لغو انتخاب همه",
"moveToBottom": "انتقال به پایین",
"setRating": "تعیین امتیاز",
"toggleSmartPlaylistEditor": "تغییر ویرایشگر $t(entity.smartPlaylist)",
"removeFromFavorites": "حذف از $t(entity.favorite_other)",
"openIn": {
"lastfm": "باز کردن در Last.fm",
"musicbrainz": "باز کردن در MusicBranz"
},
"moveToNext": "جابجا کردن به بعدی"
},
"setting": {
"hotkey_skipBackward": "برو عقب",
"audioDevice_description": "دستگاه صوتی را برای پخش انتخاب کنید (فقط پخش‌کنندهٔ تحت وب)",
"hotkey_playbackPause": "pause",
"hotkey_volumeUp": "زیاد کردن صدا",
"playButtonBehavior_optionPlay": "$t(player.play)",
"lyricFetch": "دریافت متن ترانه از اینترنت",
"enableRemote_description": "کنترل از راه دور سرویس‌دهنده را فعال کنید تا به دستگاه‌های دیگر اجازهٔ مدیریت اپلیکیشن را بدهید",
"mpvExecutablePath_description": "تعیین مسیر فایل اجرایی MPV",
"sampleRate": "sample rate",
"replayGainMode_optionNone": "$t(common.none)",
"hotkey_rate1": "امتیاز ۱ ستاره",
"hotkey_skipForward": "برو جلو",
"disableLibraryUpdateOnStartup": "غیرفعال کردن بررسی آخرین نسخه در آغاز به کار برنامه",
"discordApplicationId_description": "the application id for {{discord}} rich presence (defaults to {{defaultId}})",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"hotkey_playbackPlay": "پخش",
"hotkey_volumeDown": "کم کردن صدا",
"audioPlayer_description": "پخش‌کنندهٔ صدا را برای پخش انتخاب کنید",
"hotkey_globalSearch": "جست و جوی سراسری",
"disableAutomaticUpdates": "غیرفعال کردن به‌‌روزرسانی خودکار",
"exitToTray_description": "خروج از اپلیکیشن به system tray",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"discordUpdateInterval_description": "فاصلهٔ بین هر به روزرسانی به ثانیه (حداقل ۱۵ ثانیه)",
"audioExclusiveMode": "حالت اختصاصی صدا",
"remotePassword": "رمز عبور کنترل از راه دور",
"language_description": "زبان اپلیکیشن را معین می‌کند $t(common.restartRequired)",
"hotkey_rate3": "امتیاز ۳ ستاره",
"font": "قلم",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"hotkey_toggleFullScreenPlayer": "تغییر به پخش‌کنندهٔ تمام‌صفحه",
"hotkey_localSearch": "جست و جو در صفحه",
"hotkey_toggleQueue": "تغییر صف",
"hotkey_rate5": "امتیاز ۵ ستاره",
"hotkey_playbackPrevious": "قطعهٔ قبل",
"language": "زبان",
"hotkey_toggleShuffle": "تغییر شافل",
"mpvExecutablePath": "مسیر اجرای MPV",
"audioDevice": "دستگاه صوتی",
"hotkey_rate2": "امتیاز ۲ ستاره",
"playButtonBehavior_description": "رفتار پیش‌فرض دکمهٔ پخش را هنگامی که آهنگی به صف افزوده می‌شود را معین می‌کند",
"exitToTray": "خروج به tray",
"hotkey_rate4": "امتیاز ۴ ستاره",
"enableRemote": "فعال کردن کنترل از راه دور سرویس‌دهنده",
"showSkipButton_description": "نمایش یا مخفی کردن دکمهٔ رد کردن روی نوار پخش‌کننده",
"playButtonBehavior": "رفتار دکمهٔ پخش",
"playbackStyle_optionNormal": "عادی",
"hotkey_toggleRepeat": "تغییر تکرار",
"fontType": "نوع قلم",
"hotkey_playbackNext": "قطعهٔ بعد",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"lyricFetch_description": "دریافت متن ترانه از منابع اینترنتی",
"customFontPath": "مسیر قلم سفارشی",
"audioPlayer": "پخش‌کنندهٔ صدا",
"hotkey_rate0": "حذف امتیاز",
"discordApplicationId": "{{discord}} application id",
"hotkey_volumeMute": "بستن صدا",
"showSkipButton": "نمایش دکمهٔ رد کردن",
"customFontPath_description": "مسیر قلم سفارشی را برای استفاده در اپلیکیشن مشخص کنید",
"gaplessAudio_optionWeak": "ضعیف (توصیه شده)",
"hotkey_playbackStop": "توقف",
"font_description": "قلم مورد استفادهٔ اپلیکیشن را معین می‌کند",
"accentColor_description": "رنگ شاخص را برای نرم‌افزار مشخص می‌کند",
"applicationHotkeys": "کلیدهای میان‌بر نرم‌افزار",
"accentColor": "رنگ شاخص",
"albumBackgroundBlur": "اندازه‌ی مبهمی نگاره‌ی پس‌زمینه‌ی آلبوم",
"albumBackgroundBlur_description": "مقدار مبهمی‌ای که روی نگاره‌ی پس‌زمینه‌ی آلبوم اعمال می‌شود را تنظیم می‌کند",
"albumBackground": "نگاره‌ی پس‌زمینه‌ی آلبوم",
"albumBackground_description": "یک نگاره‌ی پس‌زمینه برای صفحات آلبوم دارای نگار آلبوم هستند، می‌افزاید",
"artistConfiguration": "پیکربندی صفحه‌ی هنرمند آلبوم",
"applicationHotkeys_description": "پیکربندی کلیدهای میان‌بر نرم‌افزار. برای تنظیم یک کلید میان‌بر عمومی مربع چک را فعال کنید (فقط پخش‌کننده‌ی میزکار)",
"clearCache": "پاک‌سازی کَش مرورگر",
"clearQueryCache": "پاک‌سازی کَش فیشین",
"clearCacheSuccess": "با موفقیت کَش پاک شد",
"artistConfiguration_description": "پیکربندی اینکه چه آیتمی‌هایی و در چه ترتیبی در صفحه‌ی هنرمند آلبوم نمایش داده شوند",
"buttonSize": "اندازه‌ی دکمه‌ی پخش نوار",
"contextMenu": "پیکربندی فهرست زمینه (کلیک راست)",
"buttonSize_description": "اندازه‌ی دکمه‌های پخش نوار",
"audioExclusiveMode_description": "حالت اختصاصی خروجی را فعال می‌کند. در این حالت، سامانه معمولاً قفل است و فقط mpv می‌تواند خروجی صدا دهد",
"clearQueryCache_description": "یک 'پاک‌سازی نرم' از فیشین. این فهرست‌های پخش و فراداده‌ی قطعه‌ها را تازه می‌کند و متن شعرهای ذخیره شده را بازنشانی می‌کند. پیکربندی‌ها، اعتبارنامه‌های سرویس‌دهنده و نگاره‌های کَش شده حفظ می‌شوند",
"clearCache_description": "یک 'پاک‌سازی سخت' فیشین. افزون بر پاک‌سازی کَش فیشین، کَش مرورگر هم تهی می‌شود (نگاره‌های ذخیره شده و باقی دارایی‌ها). اعتبارنامه‌ها و پیکربندی‌ها حفظ می‌شوند",
"contextMenu_description": "به شما اجازه می‌دهد که آیتم‌های نمایش داده شده در فهرستی که وقتی روی یک آیتم کلیک راست می‌کنید پدیدار می‌شود، را پنهان کنید. آیتم‌هایی که منتخب نیستند پنهان می‌شوند",
"crossfadeStyle": "شیوه‌ی crossfade",
"customCssEnable_description": "اجازه دادن برای نوشتن css سفارشی.",
"translationApiKey": "کلید API ترجمه",
"webAudio_description": "از صدای وب بهره‌مند می‌شود. این قابلیت‌های پیشرفته‌ای مانند گین بازپخش (replygain) را فعال می‌کند. غیرفعال کنید اگر غیر از این را تجربه می‌کنید",
"windowBarStyle_description": "گزینش سبک نوار پنجره",
"translationApiKey_description": "کلید API برای ترجمه (پشتیبانی فقط برای نقطه‌ی پایانی سرویس‌دهنده‌ی جهانی)",
"theme": "تم",
"hotkey_togglePreviousSongFavorite": "تغییر وضعیت برای مورد علاقه‌ی $t(common.previousSong)",
"transcode": "فعال‌سازی رمزگردانی",
"transcode_description": "رمزگردانی به فرمت‌های گوناگون را فعال می‌کند",
"transcodeBitrate": "نرخ انتقال رمزگردانی",
"startMinimized": "پنهان‌شده آغاز کن",
"theme_description": "تم مورد استفاده در نرم‌افزار را می‌گزیند",
"themeLight": "تم (روشن)",
"transcodeBitrate_description": "نرخ انتقال برای رمزگردانی را انتخاب می‌کند. 0 بدان معناست سرور آن را انتخاب کند",
"transcodeFormat": "فرمت رمزگردانی",
"transcodeFormat_description": "فرمت رمزگردانی را انتخاب می‌کند. برای اینکه سرور آن را انتخاب کند، خالی بگذارید",
"customCssEnable": "فعال کردن css سفارشی",
"translationTargetLanguage": "زبان هدف ترجمه",
"hotkey_toggleCurrentSongFavorite": "تغییر وضعیت مورد علاقه برای $t(common.currentSong)",
"themeDark_description": "تم تاریک را برای استفاده‌ی نرم‌افزار می‌گزیند",
"volumeWheelStep_description": "اندازه‌ای از حجم صدا را در زمان اسکرول کردن روی نوار لغزنده تغییر داده شود",
"trayEnabled": "نمایش سینی",
"trayEnabled_description": "نمایش/پنهان کردن آیکون/فهرست در سینی. اگر غیرفعال باشد، کوچک کردن/خروج به سینی را نیز غیرفعال می‌کند",
"useSystemTheme_description": "از روشنی یا تاریکی که سیستم تعریف کرده است، پیروی می‌کند",
"crossfadeDuration": "زمان محو کردن گذار قطعه به قطعه‌ی بعدی",
"themeLight_description": "تم روشن را برای استفاده‌ی نرم‌افزار می‌گزیند",
"volumeWidth": "عرض نوار لغزنده‌ی حجم صدا",
"crossfadeStyle_description": "شیوه‌ی crossfade که می‌خواهید پخش‌کننده از آن استفاده کند را انتخاب کنید",
"startMinimized_description": "نرم‌افزار را در سینی اجرا کن",
"volumeWidth_description": "عرضی که نوار لغزنده‌ی حجم صدا داشته باشد",
"themeDark": "تم (تاریک)",
"useSystemTheme": "استفاده از تم سیستم",
"volumeWheelStep": "گام چرخ حجم صدا",
"webAudio": "استفاده از صدای وب",
"windowBarStyle": "سبک نوار پنجره",
"crossfadeDuration_description": "زمان افکت crossfade را مشخص می‌کند"
},
"common": {
"backward": "به عقب",
"increase": "افزایش",
"rating": "امتیاز",
"bpm": "bpm",
"refresh": "تازه‌سازی",
"unknown": "ناشناخته",
"areYouSure": "مطمئنید؟",
"edit": "ویرایش",
"favorite": "موردعلاقه",
"left": "چپ",
"save": "ذخیره",
"right": "راست",
"currentSong": "فعلی $t(entity.track_one)",
"collapse": "بستن",
"trackNumber": "قطعه",
"descending": "نزولی",
"add": "افزودن",
"gap": "فاصله",
"ascending": "صعودی",
"dismiss": "رد",
"year": "سال",
"manage": "مدیریت",
"limit": "محدود",
"minimize": "کمینه",
"modified": "ویراسته شده",
"duration": "مدت",
"name": "نام",
"maximize": "بیشینه",
"decrease": "کم کردن",
"ok": "باشه",
"description": "شرح",
"configure": "تنظیم",
"path": "مسیر",
"center": "وسط",
"no": "خیر",
"owner": "مالک",
"enable": "فعال",
"clear": "خالی",
"forward": "جلو",
"delete": "حذف",
"cancel": "لغو",
"forceRestartRequired": "برای اعمال تغییرها دوباره راه‌اندازی کنید… اعلان را برای راه‌اندازی دوباره ببندید",
"version": "نسخه",
"title": "عنوان",
"filter_one": "پالایش",
"filter_other": "پالایش",
"filters": "پالایش",
"create": "ساختن",
"bitrate": "بیت‌ریت",
"saveAndReplace": "ذخیره و جایگزین",
"action_one": "عملیات",
"action_other": "عملیات",
"playerMustBePaused": "پخش‌کننده باید متوقف شود",
"confirm": "تایید",
"resetToDefault": "بازنشانی به پیش‌فرض",
"home": "خانه",
"comingSoon": "به زودی…",
"reset": "بازنشانی",
"channel_one": "کانال",
"channel_other": "کانال",
"disable": "غیرفعال",
"sortOrder": "ترتیب",
"none": "هیچ",
"menu": "منو",
"restartRequired": "راه‌اندازی دوباره لازم است",
"previousSong": "$t(entity.track_one) پیشین",
"noResultsFromQuery": "جست‌وجو نتیجه‌ای نداشت",
"quit": "خروج",
"expand": "گسترش",
"search": "جست‌وجو",
"saveAs": "ذخیره کن با اسم",
"disc": "دیسک",
"yes": "بله",
"random": "تصادفی",
"size": "حجم",
"biography": "زندگی‌نامه",
"note": "توجه",
"albumGain": "گین آلبوم",
"close": "بستن",
"albumPeak": "اوج آلبوم",
"mbid": "شناسه‌ی MusicBrainz",
"reload": "بارگذاری مجدد",
"setting": "پیکربندی",
"trackGain": "گین قطعه",
"trackPeak": "اوج قطعه",
"translation": "ترجمه",
"preview": "پیش‌نمایش",
"share": "اشتراک‌گذاری",
"codec": "کدک"
},
"error": {
"remotePortWarning": "برای تعیین port تازه، سرویس دهنده را دوباره راه‌اندازی کنید",
"playbackError": "هنگام پخش خطایی رخ داد",
"remotePortError": "هنگام تعیین port سرویس دهنده خطایی رخ داد",
"serverRequired": "سرویس‌دهنده ضروری است",
"authenticationFailed": "احراز هویت شکست خورد",
"apiRouteError": "درخواست منتقل نشد",
"genericError": "خطایی رخ داد",
"credentialsRequired": "باید وارد شوید",
"sessionExpiredError": "جلسه شما منقضی شده است",
"remoteEnableError": "هنگام $t(common.enable) سرویس دهنده خطای رخ داد",
"serverNotSelectedError": "سرویس‌دهنده‌ای انتخاب نشده",
"remoteDisableError": "هنگام $t(common.disable) سرویس دهنده خطایی رخ داد",
"mpvRequired": "وجود MPV ضروری است",
"audioDeviceFetchError": "هنگام دسترسی به دستگاه صوتی خطایی رخ داد",
"localFontAccessDenied": "دسترسی به فونت‌های محلی پذیرفته نشد",
"loginRateError": "تلاش‌های بسیار برای ورود انجام داده‌اید،‌لطفاً بعد از چند ثانیه دوباره امتحان کنید",
"networkError": "خطای شبکه رخ داد",
"badAlbum": "شما این صفحه را می‌بینید چون‌که این آهنگ قسمتی از یک آلبوم نیست. شما احتمالا این مسأله را به این خاطر می‌بینید که آهنگی در پوشه‌ی سطح بالای آهنگ‌هایتان دارید. جلی‌فین فقط قطعه‌هایی را گروه‌بندی می‌کند که در یک پوشه قرار دارند.",
"invalidServer": "سرویس‌دهنده‌ی نامعتبر",
"openError": "نمی‌توان پرونده را باز کرد",
"endpointNotImplementedError": "نقطه‌ی پایان {{endpoint}} برای {{serverType}} قرار داده نشده است",
"systemFontError": "خطایی هنگام تلاش برای دریافت فونت‌های سیستم رخ داد"
},
"filter": {
"mostPlayed": "بیشتر پخش شده",
"comment": "نظر",
"playCount": "تعداد پخش",
"recentlyUpdated": "به تازگی به روز شده",
"channels": "$t(common.channel_other)",
"recentlyPlayed": "به تازگی پخش شده",
"isRated": "امتیاز داده شده است",
"owner": "$t(common.owner)",
"title": "عنوان",
"rating": "امتیاز",
"search": "جست‌وجو",
"bitrate": "بیت‌ریت",
"genre": "$t(entity.genre_one)",
"recentlyAdded": "به تازگی افزوده شده",
"note": "توجه",
"name": "نام",
"dateAdded": "تاریخ افزوده شدن",
"releaseDate": "تاریخ انتشار",
"albumCount": "$t(entity.album_other) عدد",
"path": "مسیر",
"favorited": "موردعلاقه",
"albumArtist": "$t(entity.albumArtist_one)",
"isRecentlyPlayed": "به تازگی پخش شده است",
"isFavorited": "موردعلاقه است",
"bpm": "bpm",
"releaseYear": "سال انتشار",
"id": "id",
"disc": "دیسک",
"biography": "زندگی‌نامه",
"songCount": "تعداد ترانه",
"artist": "$t(entity.artist_one)",
"duration": "مدت",
"isPublic": "عمومی است",
"random": "تصادفی",
"lastPlayed": "به تازگی پخش شده",
"toYear": "تا سال",
"fromYear": "از سال",
"criticRating": "امتیاز منتقدین",
"album": "$t(entity.album_one)",
"trackNumber": "قطعه",
"communityRating": "رتبه بندی جامعه",
"isCompilation": "مخلوط است"
},
"form": {
"deletePlaylist": {
"title": "حذف $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) حذف شد",
"input_confirm": "برای تایید، نام $t(entity.playlist_one) را وارد کنید"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"title": "ساخت $t(entity.playlist_one)",
"input_public": "عمومی",
"input_name": "$t(common.name)",
"success": "$t(entity.playlist_one) ساخته شد",
"input_owner": "$t(common.owner)"
},
"addServer": {
"title": "افزودن سرویس دهنده",
"input_username": "نام کاربری",
"input_url": "نشانی",
"input_password": "رمز عبور",
"input_name": "نام سرویس‌دهنده",
"success": "سرویس‌دهنده افزوده شد",
"input_savePassword": "ذخیرهٔ رمز",
"error_savePassword": "هنگام ذخیره رمز خطایی رخ داد",
"ignoreCors": "نادیده گرفتن هسته‌ها ($t(common.restartRequired))",
"input_legacyAuthentication": "فعال‌سازی احراز هویت سنتی",
"ignoreSsl": "نادیده گرفتن ssl ($t(common.restartRequired))"
},
"addToPlaylist": {
"success": "$t(entity.song_other) به {{numOfPlaylists}}$t(entity.playlist_other) افزوده شد",
"title": "افزودن به $t(entity.playlist_one)",
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "پرش از تکراری‌ها"
},
"lyricSearch": {
"input_name": "$t(common.name)",
"input_artist": "$t(entity.artist_one)",
"title": "جست‌وجو در متن شعر"
},
"editPlaylist": {
"title": "ویرایش $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) با موفقیت بروزرسانی شد",
"publicJellyfinNote": "جلی‌فین به دلیلی این‌که فهرست پخش عمومی‌ست یا خصوصی را فاش نمی‌کند. اگر می‌خواهید این عمومی باقی بماند، لطفاٌ ورودی پیش‌رو را منتخب داشته باشید"
},
"queryEditor": {
"input_optionMatchAny": "همخوانی داشتن هر کدام",
"input_optionMatchAll": "همخوانی داشتن همه"
},
"shareItem": {
"expireInvalid": "انقضا باید در آینده باشد",
"description": "بازنمود",
"setExpiration": "تنظیم انقضا",
"success": "پیوند اشتراک‌گذاری در کلیپ‌بورد کپی شد (یا اینجا را کلیک کنید تا باز شود)",
"allowDownloading": "اجازه دادن بارگیری",
"createFailed": "ناکامی در ساخت پیوند اشتراک‌گذاری (آیا اشتراک‌گذاری فعال است؟)"
},
"updateServer": {
"success": "سرویس‌دهنده با موفقیت بروزرسانی شد",
"title": "بروزرسانی سرویس‌دهنده"
}
},
"entity": {
"genre_one": "ژانر",
"genre_other": "ژانرها",
"playlistWithCount_one": "{{count}} فهرست پخش",
"playlistWithCount_other": "{{count}} فهرست پخش",
"playlist_one": "فهرست پخش",
"playlist_other": "فهرست‌های پخش",
"artist_one": "هنرمند",
"artist_other": "هنرمندان",
"folderWithCount_one": "{{count}} پوشه",
"folderWithCount_other": "{{count}} پوشه",
"albumArtist_one": "هنرمند آلبوم",
"albumArtist_other": "هنرمندان آلبوم",
"track_one": "قطعه",
"track_other": "قطعه‌ها",
"albumArtistCount_one": "{{count}} هنرمند آلبوم",
"albumArtistCount_other": "{{count}} هنرمند آلبوم",
"albumWithCount_one": "{{count}} آلبوم",
"albumWithCount_other": "{{count}} آلبوم",
"favorite_one": "موردعلاقه",
"favorite_other": "موردعلاقه",
"artistWithCount_one": "{{count}} هنرمند",
"artistWithCount_other": "{{count}} هنرمند",
"folder_one": "پوشه",
"folder_other": "پوشه‌ها",
"smartPlaylist": "$t(entity.playlist_one) هوشمند",
"album_one": "آلبوم",
"album_other": "آلبوم‌ها",
"genreWithCount_one": "{{count}} ژانر",
"genreWithCount_other": "{{count}} ژانر",
"trackWithCount_one": "{{count}} قطعه",
"trackWithCount_other": "{{count}} قطعه",
"play_one": "{{count}} بار پخش",
"play_other": "{{count}} بار پخش",
"song_one": "آهنگ",
"song_other": "آهنگ‌ها"
},
"page": {
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "آلبوم‌های {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"appMenu": {
"settings": "$t(common.setting_other)",
"selectServer": "گزینش سرویس‌دهنده",
"expandSidebar": "گسترش نوار کناری",
"collapseSidebar": "فروکش نوار کناری",
"goBack": "بازگشت",
"openBrowserDevtools": "باز کردن ابزارهای توسعه مرورگر",
"quit": "$t(common.quit)",
"goForward": "پیش رفتن",
"manageServers": "مدیریت سرویس‌دهنده‌ها",
"version": "نسخه‌ی {{version}}"
},
"albumArtistDetail": {
"appearsOn": "مشاهده می‌شود در",
"about": "درباره‌ی {{artist}}",
"recentReleases": "عرضه‌های اخیر",
"viewAllTracks": "نمایش همه‌ی $t(entity.track_other)",
"topSongsFrom": "قطعه‌های برتر از {{title}}",
"viewAll": "نمایش همه",
"viewDiscography": "نمایش کاتالوگ",
"relatedArtists": "$t(entity.artist_other) مربوطه",
"topSongs": "قطعه‌های برتر"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"numberSelected": "{{count}} تا انتخاب شده",
"play": "$t(player.play)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"deselectAll": "$t(action.deselectAll)",
"download": "بارگیری",
"shareItem": "اشتراک‌گذاری آیتم",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"showDetails": "دریافت داده",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromQueue": "$t(action.removeFromQueue)",
"playShuffled": "$t(player.shuffle)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"setRating": "$t(action.setRating)",
"deletePlaylist": "$t(action.deletePlaylist)",
"moveToNext": "$t(action.moveToNext)"
},
"fullscreenPlayer": {
"related": "موارد مربوطه",
"visualizer": "تجسم یافته",
"config": {
"dynamicImageBlur": "اندازه مبهمی نگاره",
"dynamicIsImage": "فعال‌سازی نگاره به عنوان پس‌زمینه",
"lyricOffset": "انحراف متن شعر (میلی‌ثانیه)",
"unsynchronized": "همگام نشده",
"dynamicBackground": "پس‌زمینه پویا",
"followCurrentLyric": "دنبال کردن متن شعر کنونی",
"lyricAlignment": "هم‌ترازی متن شعر",
"lyricGap": "فاصله‌ی متن شعر",
"showLyricProvider": "نمایش فراهم‌گر متن شعر",
"useImageAspectRatio": "استفاده از نسبت نمای نگاره",
"lyricSize": "اندازه‌ی متن شعر",
"opacity": "شفافی",
"showLyricMatch": "نمایش همخوانی متن شعر",
"synchronized": "همگام شده"
},
"noLyrics": "هیچ متن شعری پیدا نشد",
"lyrics": "متن شعر",
"upNext": "در ادامه"
},
"home": {
"mostPlayed": "بیشترین پخش‌شده‌ها",
"title": "$t(common.home)",
"explore": "در کتاب‌خانه‌ی خود کاوش کنید",
"newlyAdded": "عرضه‌های تازه افزوده شده",
"recentlyPlayed": "تازه پخش شده‌ها"
},
"playlist": {
"reorder": "مرتب کردن دوباره زمانی فقط زمانی فعال شود که مرتب‌سازی بر اساس شناسه است"
},
"setting": {
"advanced": "پیشرفته",
"windowTab": "پنجره",
"generalTab": "همگانی",
"hotkeysTab": "کلیدهای میان‌بر",
"playbackTab": "پخش"
},
"sidebar": {
"genres": "$t(entity.genre_other)",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"folders": "$t(entity.folder_other)",
"artists": "$t(entity.artist_other)",
"home": "$t(common.home)",
"nowPlaying": "پخش کنونی",
"tracks": "$t(entity.track_other)",
"settings": "$t(common.setting_other)",
"shared": "$t(entity.playlist_other) اشتراک‌گذاری شده"
},
"albumDetail": {
"moreFromArtist": "موارد بیشتر از این $t(entity.artist_one)",
"moreFromGeneric": "موارد بیشتر از {{item}}",
"released": "عرضه شده"
},
"manageServers": {
"title": "مدیریت سرویس‌دهنده‌ها",
"url": "آدرس",
"serverDetails": "ریزگان سرویس‌دهنده",
"removeServer": "حذف سرویس‌دهنده",
"username": "نام کاربری",
"editServerDetailsTooltip": "ویرایش ریزگان سرویس‌دهنده"
},
"genreList": {
"showAlbums": "نمایش $t(entity.genre_one) $t(entity.album_other)",
"title": "$t(entity.genre_other)",
"showTracks": "نمایش $t(entity.genre_one) $t(entity.track_other)"
},
"globalSearch": {
"commands": {
"goToPage": "رفتن به صفحه‌ی",
"searchFor": "جست‌و‌جو برای {{query}}",
"serverCommands": "فرمان‌های سرویس‌دهنده"
},
"title": "فرمان‌ها"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "قطعه‌های {{artist}}",
"genreTracks": "$t(entity.track_other) \"{{genre}}\""
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"itemDetail": {
"copyPath": "کپی کردن مسیر در کلیپ‌بورد",
"copiedPath": "مسیر با موفقیت کپی شد",
"openFile": "نمایش قطعه در مدیر پرونده"
}
},
"table": {
"column": {
"size": "$t(common.size)",
"lastPlayed": "آخرین بار پخش شده",
"discNumber": "دیسک",
"songCount": "$t(entity.track_other)",
"title": "عنوان",
"trackNumber": "قطعه",
"favorite": "مورد علاقه",
"genre": "$t(entity.genre_one)",
"comment": "دیدگاه",
"playCount": "تعداد پخش",
"rating": "امتیاز",
"path": "مسیر",
"releaseYear": "سال",
"dateAdded": "تاریخ افزوده شدن",
"releaseDate": "تاریخ عرضه"
},
"config": {
"general": {
"followCurrentSong": "آهنگ کنونی را دنبال کن",
"displayType": "نوع نمایش",
"itemSize": "اندازه‌ی آیتم (px)",
"size": "$t(common.size)",
"tableColumns": "ستون‌های جدول",
"autoFitColumns": "تطبیق دادن ستون‌ها به شیوه‌ی خودکار",
"gap": "$t(common.gap)",
"itemGap": "فاصله‌ی آیتم (px)"
},
"view": {
"card": "کارت"
},
"label": {
"playCount": "تعداد پخش",
"dateAdded": "تاریخ افزوده شدن",
"discNumber": "شماره‌ی دیسک",
"lastPlayed": "آخرین بار پخش شده",
"actions": "$t(common.action_other)"
}
}
}
}
-795
View File
@@ -1,795 +0,0 @@
{
"common": {
"size": "koko",
"search": "etsi",
"sortOrder": "järjestys",
"setting": "asetus",
"title": "otsikko",
"trackNumber": "raita",
"action_one": "toiminto",
"action_other": "toiminnot",
"add": "lisää",
"areYouSure": "oletko varma?",
"ascending": "nouseva",
"backward": "takaperin",
"bitrate": "bittinopeus",
"channel_one": "kanava",
"channel_other": "kanavat",
"collapse": "luhista",
"comingSoon": "tulossa pian…",
"configure": "konfiguroi",
"confirm": "hyväksy",
"disable": "poista käytöstä",
"disc": "levy",
"dismiss": "hylkää",
"favorite": "suosikki",
"filter_one": "suodatin",
"filter_other": "suodattimet",
"filters": "suodattimet",
"forceRestartRequired": "käynnistä uudelleen ottaaksesi muutokset käyttöön… sulje ilmoitus käynnistääksesi uudelleen",
"gap": "väli",
"home": "koti",
"left": "vasen",
"limit": "raja",
"manage": "hallitse",
"menu": "valikko",
"minimize": "minimoi",
"modified": "muokattu",
"name": "nimi",
"no": "ei",
"none": "ei mitään",
"noResultsFromQuery": "kysely ei tuottanut tuloksia",
"note": "huomautus",
"ok": "ok",
"owner": "omistaja",
"path": "polku",
"preview": "esikatsele",
"previousSong": "edellinen $t(entity.track_one)",
"resetToDefault": "palauta oletusarvoihin",
"restartRequired": "vaatii uudelleenkäynnistyksen",
"right": "oikea",
"save": "tallenna",
"saveAndReplace": "tallenna ja korvaa",
"saveAs": "tallenna nimellä",
"unknown": "tuntematon",
"version": "versio",
"year": "vuosi",
"yes": "kyllä",
"close": "sulje",
"descending": "laskeva",
"biography": "biografia",
"cancel": "peruuta",
"bpm": "bpm",
"decrease": "pienennä",
"center": "keskitä",
"clear": "tyhjennä",
"codec": "koodekki",
"create": "luo",
"description": "kuvaus",
"currentSong": "nykyinen $t(entity.track_one)",
"delete": "poista",
"duration": "kesto",
"edit": "muokkaa",
"enable": "ota käyttöön",
"expand": "laajenna",
"increase": "lisää",
"forward": "eteenpäin",
"maximize": "maksimoi",
"mbid": "MusicBrainz ID",
"share": "jaa",
"random": "satunnainen",
"reload": "lataa uudelleen",
"quit": "poistu",
"rating": "arvostelu",
"refresh": "virkistä",
"reset": "nollaa",
"playerMustBePaused": "soittimen täytyy olla pysäytetty",
"translation": "käännös",
"albumGain": "albumin vahvistus (gain)",
"albumPeak": "albumin huippu (peak)",
"trackGain": "raidan vahvistus (gain)",
"trackPeak": "kappaleen huippu (peak)",
"additionalParticipants": "muut osallistujat",
"tags": "tägit",
"newVersion": "uusi versio on asennettu ({{version}})",
"viewReleaseNotes": "katsele julkaisutietoja",
"bitDepth": "bittisyvyys",
"sampleRate": "näytteenottotaajuus"
},
"entity": {
"album_one": "albumi",
"album_other": "albumit",
"albumArtist_one": "albumin artisti",
"albumArtist_other": "albumin artistit",
"artistWithCount_one": "{{count}} artisti",
"artistWithCount_other": "{{count}} artistia",
"playlist_one": "soittolista",
"playlist_other": "soittolistat",
"playlistWithCount_one": "{{count}} soittolista",
"playlistWithCount_other": "{{count}} soittolistaa",
"albumArtistCount_one": "{{count}} albumin artisti",
"albumArtistCount_other": "{{count}} albumin artistia",
"albumWithCount_one": "{{count}} albumi",
"albumWithCount_other": "{{count}} albumia",
"artist_one": "artisti",
"artist_other": "artistit",
"favorite_one": "suosikki",
"favorite_other": "suosikit",
"folder_one": "kansio",
"folder_other": "kansiot",
"folderWithCount_one": "{{count}} kansio",
"folderWithCount_other": "{{count}} kansiota",
"genre_one": "genre",
"genre_other": "genret",
"genreWithCount_one": "{{count}} genre",
"genreWithCount_other": "{{count}} genreä",
"smartPlaylist": "älykäs $t(entity.playlist_one)",
"track_one": "raita",
"track_other": "raidat",
"trackWithCount_one": "{{count}} raita",
"trackWithCount_other": "{{count}} raitaa",
"play_one": "{{count}} toisto",
"play_other": "{{count}} toistoa",
"song_one": "kappale",
"song_other": "kappaleet"
},
"action": {
"clearQueue": "tyhjennä jono",
"createPlaylist": "luo $t(entity.playlist_one)",
"deselectAll": "poista kaikkien valinta",
"editPlaylist": "muokkaa $t(entity.playlist_one)",
"removeFromQueue": "poista jonosta",
"viewPlaylists": "katsele $t(entity.playlist_other)",
"openIn": {
"lastfm": "Avaa Last.fm:ssä",
"musicbrainz": "Avaa MusicBrainz:ssä"
},
"goToPage": "mene sivulle",
"moveToBottom": "siirry pohjalle",
"moveToTop": "siirry ylös",
"addToFavorites": "lisää kohteeseen $t(entity.favorite_other)",
"addToPlaylist": "lisää kohteeseen $t(entity.playlist_one)",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "poista kohteesta $t(entity.favorite_other)",
"toggleSmartPlaylistEditor": "kytke $t(entity.smartPlaylist) editori",
"deletePlaylist": "poista $t(entity.playlist_one)",
"removeFromPlaylist": "poista kohteesta $t(entity.playlist_one)",
"setRating": "aseta arvostelu",
"moveToNext": "siirry seuraavaan"
},
"error": {
"remoteEnableError": "virhe tapahtui yrittäessä $t(common.enable) etäpalvelinta",
"remotePortError": "virhe tapahtui etäpalvelimen porttia määrittäessä",
"serverNotSelectedError": "palvelinta ei ole valittu",
"remoteDisableError": "virhe tapahtui yrittäessä $t(common.disable) etäpalvelinta",
"serverRequired": "palvelin vaadittu",
"systemFontError": "virhe tapahtui yrittäessä hakea järjestelmän fontteja",
"sessionExpiredError": "istuntosi on vanhentunut",
"genericError": "tapahtui virhe",
"invalidServer": "virheellinen palvelin",
"audioDeviceFetchError": "äänentoistolaitteita haettaessa tapahtui virhe",
"authenticationFailed": "tunnistautuminen epäonnistui",
"badAlbum": "näet tämän sivun koska tämä kappale ei ole osa albumia. Näet tämän todennäköisesti jos kappaleesi on päämusiikkikansiosi juuressa. jellyfin ryhmittää kappaleet vain jos ne ovat kansiossa.",
"apiRouteError": "pyynnön reititys epäonnistui",
"credentialsRequired": "käyttäjätunnuksia vaaditaan",
"loginRateError": "liian monta kirjautumisyritystä, kokeile muutaman sekuntin päästä uudestaan",
"mpvRequired": "MPV vaadittu",
"networkError": "verkkoyhteysvirhe",
"openError": "tiedostoa ei voitu avata",
"localFontAccessDenied": "paikallisiin fontteihin pääsy on kielletty",
"playbackError": "mediaa toistaessa tapahtui virhe",
"remotePortWarning": "käynnistä palvelin uudestaan ottaaksesi uuden portin käyttöön",
"endpointNotImplementedError": "päätepiste {{endpoint}} ei ole toteutettu {{serverType}} varten",
"badValue": "kelpaamaton optio \"{{value}}\". tätä arvoa ei ole enää olemassa",
"notificationDenied": "luvat ilmouilmoituksia varten evättiin. tällä asetuksella ei ole vaikutusta"
},
"filter": {
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "biografia",
"bitrate": "bittinopeus",
"bpm": "lyöntiä minuutissa (bpm)",
"channels": "$t(common.channel_other)",
"title": "otsikko",
"playCount": "toistomäärä",
"dateAdded": "lisätty päivänä",
"lastPlayed": "viimeksi toistettu",
"mostPlayed": "eniten toistettu",
"isRecentlyPlayed": "on äskettäin toistettu",
"rating": "arvostelu",
"recentlyAdded": "äskettäin lisätty",
"recentlyUpdated": "äskettäin päivitetty",
"releaseDate": "julkaisupäivä",
"toYear": "vuoteen",
"releaseYear": "julkaisuvuosi",
"search": "haku",
"trackNumber": "raita",
"isPublic": "on julkinen",
"genre": "$t(entity.genre_one)",
"favorited": "suosikeissa",
"fromYear": "vuodelta",
"isRated": "on arvosteltu",
"recentlyPlayed": "äskettäin toistetut",
"albumCount": "$t(entity.album_other) määrä",
"disc": "levy",
"duration": "kesto",
"id": "tunnus",
"random": "satunnainen",
"isFavorited": "on suosikeissa",
"isCompilation": "on osa kokoelmaa",
"comment": "kommentti",
"communityRating": "yhteisön arvostelu",
"criticRating": "kriitikon arvostelu",
"name": "nimi",
"note": "muistiinpano",
"owner": "$t(common.owner)",
"path": "polku",
"songCount": "kappalemäärä"
},
"form": {
"addServer": {
"input_legacyAuthentication": "käytä vanhaa kirjautumistapaa",
"ignoreCors": "ohita CORS ($t(common.restartRequired))",
"input_name": "palvelimen nimi",
"ignoreSsl": "ohita SSL ($t(common.restartRequired))",
"input_savePassword": "tallenna salasana",
"input_url": "url-osoite",
"title": "lisää palvelin",
"error_savePassword": "salasanaa tallentaessa tapahtui virhe",
"input_password": "salasana",
"input_username": "käyttäjänimi",
"success": "palvelin lisätty onnistuneesti"
},
"createPlaylist": {
"input_public": "julkinen",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"success": "$t(entity.playlist_one) luotu onnistuneesti",
"title": "luo $t(entity.playlist_one)",
"input_description": "$t(common.description)"
},
"addToPlaylist": {
"input_skipDuplicates": "ohita kaksoiskappaleet",
"success": "$t(entity.trackWithCount, {\"count\": {{message}} }) lisätty $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "lisää soittolistalle $t(entity.playlist_one)",
"input_playlists": "$t(entity.playlist_other)"
},
"updateServer": {
"success": "palvelin on päivitetty onnistuneesti",
"title": "päivitä palvelin"
},
"deletePlaylist": {
"success": "$t(entity.playlist_one) poistettu onnistuneesti",
"title": "poista $t(entity.playlist_one)",
"input_confirm": "kirjoita soittolistan $t(entity.playlist_one) nimi vahvistaaksesi"
},
"editPlaylist": {
"success": "$t(entity.playlist_one) päivitetty onnistuneesti",
"title": "muokkaa $t(entity.playlist_one)",
"publicJellyfinNote": "Jellyfin ei jostain syystä kerro onko soittolista julkinen vai ei. Jos haluat sen pysyvän julkisena, pidä seuraava valinta valittuna"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "sanojen haku"
},
"shareItem": {
"createFailed": "jaon luonti epäonnistui (onko jako päällä?)",
"allowDownloading": "salli lataus",
"description": "kuvaus",
"setExpiration": "aseta vanheneminen",
"success": "jakolinkki kopioitu leikepöydälle (tai klikkaa tästä avataksesi)",
"expireInvalid": "vanhetumisen pitää olla tulevaisuudessa"
},
"queryEditor": {
"input_optionMatchAny": "sovita joku",
"input_optionMatchAll": "sovita kaikki",
"title": "kyselyeditori"
}
},
"setting": {
"clearCacheSuccess": "välimuisti on tyhjennetty onnistuneesti",
"artistConfiguration_description": "valise näytettävät asiat ja niiden järjestys albumin artistin sivulla",
"audioDevice": "äänilaite",
"clearQueryCache_description": "feishinin 'pehmeä tyhjennys'. tämä tyhjentää soittolistat, raitojen metadatat ja tallennetut sanoitukset. asetukset, palvelimien käyttäjätunnukset ja välimuistissa olevat kuvat säilyvät",
"crossfadeDuration": "ristihäivytyksen kesto",
"audioPlayer_description": "valitse toistossa käytettävä soitin",
"buttonSize": "soittimen palkin nappien koko",
"buttonSize_description": "soittimen palkin nappien koko",
"clearCache": "tyhjennä selaimen välimuisti",
"clearQueryCache": "tyhjennä feishinin välimuisti",
"crossfadeDuration_description": "aseta ristihäivytystehosteen kesto",
"applicationHotkeys_description": "aseta sovelluksen pikanäppäimet. vaihda valintaruutua asettaaksesi valinta globaaliksi pikanäppäimeksi (vain työpöydällä)",
"crossfadeStyle": "ristihäivytyksen tyyli",
"crossfadeStyle_description": "valitse soittimessa käytettävän ristihäivytyksen tyyli",
"contextMenu_description": "mahdollistaa sinun piilottaa asiat, jotka näytetään valikossa klikatessasi objektia hiiren väärällä painikkella. poistetut valinnat piilotetaan",
"customCssEnable_description": "mahdollista oman css:n kirjoittaminen.",
"accentColor": "korostusväri",
"customCssEnable": "käytä omaa css:ää",
"albumBackgroundBlur_description": "säätää albumin taustakuvan sumennuksen määrää",
"audioExclusiveMode_description": "käytä yksinomaista ulostulotilaa. Tässä tilassa järjestelmä on yleensä lukittuna ja vain mpv voi tuottaa ääntä",
"albumBackgroundBlur": "albumin taustakuvan sumennuksen koko",
"clearCache_description": "feishinin 'kova tyhjennys'. feishinin välimuistin lisäksi tyhjennä selaimen välimuisti (tallennetut kuvat ja muut kohteet). palvelimien käyttäjättunnukset ja asetukset säilyvät",
"audioExclusiveMode": "äänen yksinomainen tila",
"audioPlayer": "soitin",
"contextMenu": "kontekstivalikon (hiiren väärä näppäin) asetukset",
"accentColor_description": "aseta sovelluksen korostusväri",
"albumBackground_description": "lisää taustakuva albumin sivuille, jotka sisältävät albumin kuvitusta",
"artistConfiguration": "albumin artistin sivun hallinta",
"audioDevice_description": "valitse toistossa käytettävä äänilaite (vain verkkosoittimessa)",
"applicationHotkeys": "sovelluksen pikanäppäimet",
"albumBackground": "albumin taustakuva",
"customCss": "oma css",
"customFontPath_description": "asettaa polun mukautetulle fontille jota sovellus käyttää",
"homeConfiguration": "koti sivun muokkaus",
"homeConfiguration_description": "määritä mitä osioita näkyy, ja missä järjestyksessä, koti sivulla",
"gaplessAudio_optionWeak": "heikko (suositus)",
"genreBehavior_description": "määrittää avautuuko generä painettaessa oletuksena ääniraita vaiko albumi listassa",
"hotkey_browserBack": "selain takaisin",
"hotkey_playbackPlay": "toista",
"hotkey_playbackPlayPause": "toista / tauko",
"hotkey_playbackPrevious": "edellinen ääniraita",
"hotkey_rate3": "arvostelu 3 tähteä",
"hotkey_playbackStop": "lopeta",
"hotkey_rate4": "arvostelu 4 tähteä",
"hotkey_rate1": "arvostelu 1 tähti",
"hotkey_rate2": "arvostelu 2 tähteä",
"hotkey_unfavoriteCurrentSong": "poista suosikeista $t(common.currentSong)",
"fontType_description": "sisäänrakennettu fontti valitsee yhden Feishinin tuomista fonteista. järjestelmän fontti antaa sinun valita minkä tahansa käyttöjärjestelmään asennetun fontin. mukautettu antaa sinun tuoda oman fontin",
"fontType_optionBuiltIn": "sisäänrakennettu fontti",
"fontType_optionSystem": "järjestelmän fontti",
"fontType_optionCustom": "mukautettu fontti",
"hotkey_favoriteCurrentSong": "lisää suosikiksi $t(common.currentSong)",
"hotkey_favoritePreviousSong": "lisää suosikiksi $t(common.previousSong)",
"hotkey_rate5": "arvostelu 5 tähteä",
"hotkey_skipBackward": "ohita taaksepäin",
"hotkey_skipForward": "ohita eteenpäin",
"font": "kirjaisin",
"font_description": "asettaa fontin jota sovellus käyttää",
"discordApplicationId": "{{discord}} sovelluksen tunnus",
"hotkey_globalSearch": "globaali haku",
"hotkey_playbackNext": "seuraava ääniraita",
"hotkey_browserForward": "selain eteenpäin",
"hotkey_playbackPause": "tauko",
"hotkey_localSearch": "hae sivulta",
"customFontPath": "mukautetun fontin polku",
"fontType": "fonttityyppi",
"hotkey_unfavoritePreviousSong": "poista suosikeista $t(common.previousSong)",
"customCss_description": "mukautettu CSS-sisältö. Huomautus: content- ja etä-URL-osoitteet ovat estettyjä ominaisuuksia. Esikatselu sisällöstäsi on alla. Lisäkenttiä, joita et ole määrittänyt, on näkyvissä puhdistuksen vuoksi.",
"customCssNotice": "Varoitus: vaikka jonkinlainen puhdistus onkin tehty (url()- ja content:-komentojen estäminen), mukautetun CSS:n käyttäminen voi silti aiheuttaa riskejä muuttamalla käyttöliittymää.",
"disableLibraryUpdateOnStartup": "poista uusimman version tarkistus käynnistyksen yhteydessä käytöstä",
"disableAutomaticUpdates": "poista automaattiset päivitykset käytöstä",
"discordIdleStatus": "näytä rich presencen käyttämätön tila",
"discordIdleStatus_description": "kun käytössä, päivitä tila kun soitin on käyttämättömänä",
"doubleClickBehavior": "lisää kaikki haetut kappaleet soittojonoon tuplaklikkauksella",
"discordUpdateInterval_description": "päivitysväli sekunnteina (vähintään 15 sekunttia)",
"discordRichPresence": "{{discord}} rich presence",
"discordRichPresence_description": "ota toiston tila käyttöön {{discord}}n rich presence-toiminnossa. Kuvakkeiden avaimet ovat {{icon}}, {{playing}} ja {{paused}}",
"discordUpdateInterval": "{{discord}} rich presencen päivitysväli",
"enableRemote": "aktivoi etäohjauspalvelin",
"externalLinks_description": "ottaa ulkoiset linkit (Last.fm, MusicBrainz) artistien/albumien sivuilla",
"exitToTray": "sulje tehtäväpalkkiin",
"doubleClickBehavior_description": "jos päällä, kaikki hakutuloksissa olevat kappaleet lisätään soittojonoon. muuten vain napsautettu kappale lisätään jonoon",
"discordApplicationId_description": "{{discord}}n ohjelma-ID rich presenceä varten (oletuksena {{defaultId}})",
"enableRemote_description": "aktivoi etäohjauspalvelimen, jolla muut laitteet voivat ohjata sovellusta",
"externalLinks": "näytä ulkoiset linkit",
"exitToTray_description": "sovellus suljetaan tehtäväpalkkiin",
"discordListening_description": "näytä status kuuntelee pelaa sijaan",
"discordListening": "näytä status kuuntelee",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"lastfmApiKey_description": "API-avain {{lastfm}}:lle. tarvitaan kansikuvia varten",
"passwordStore_description": "mitä salasanojen/avaimien tallennusta käytetään. muuta tätä, jos sinulla on ongelmia salasanojen tallennuksessa.",
"floatingQueueArea_description": "näyttää ikonin ikkunan oikealla reunalla jonon katselua varten",
"homeFeature_description": "ohjaa näytetäänkö suuri esittelykaruselli kotisivulla",
"hotkey_rate0": "arvostelun tyhjennys",
"hotkey_togglePreviousSongFavorite": "vaihda $t(common.previousSong) suosikkiasetus",
"imageAspectRatio_description": "jos käytössä, kansikuvat näytetään niiden alkuperäisellä kuvasuhteella. jos kuvasuhde ei ole 1:1, jäljelle jäävä tila jää tyhjäksi",
"language_description": "asettaa sovelluksen kielen $t(common.restartRequired)",
"lyricFetch": "hae sanoitukset internetistä",
"lyricFetchProvider_description": "valitse lähteet sanoituksien hakua varten. lähteiden järjestys on se järjestys, jossa ne tiedustellaan",
"minimumScrobblePercentage": "pienin skrobblauksen kesto (prosenttia)",
"mpvExecutablePath": "mpv:n suoritettavan tiedoston polku",
"mpvExecutablePath_description": "asettaa mpv:n suoritettavan tiedoston polun. ollessa tyhjä, käytetään oletuspolkua",
"mpvExtraParameters_help": "yksi per rivi",
"playButtonBehavior_optionPlay": "$t(player.play)",
"genreBehavior": "genre-sivun oletustoiminta",
"globalMediaHotkeys": "globaalit median pikanäppäimet",
"globalMediaHotkeys_description": "ota käyttöön tai poista käytöstä järjestelmän median pikanäppäinten käyttö toiston hallintaa",
"hotkey_toggleCurrentSongFavorite": "vaihda $t(common.currentSong) suosikkiasetus",
"imageAspectRatio": "käytä alkuperäistä kansikuvan kuvasuhdetta",
"language": "kieli",
"lyricOffset_description": "siirrä sanoituksia valitun ajan millisekuntteina",
"minimizeToTray": "pienennä ilmaisinalueelle",
"gaplessAudio_description": "asettaa tauottoman toiston asetukset mpv:hen",
"hotkey_volumeDown": "äänenvoimakkuuden vähentäminen",
"hotkey_zoomIn": "lähennä",
"lyricFetch_description": "hae sanoitukset eri lähteistä internetissä",
"lyricFetchProvider": "lähteet sanoituksia varten",
"lyricOffset": "sanotuksien siirto (ms)",
"mpvExtraParameters": "mpv:n parametrit",
"followLyric": "seuraa lyriikoita",
"followLyric_description": "vieritä lyriikat tämänhetkiseen paikkaan",
"hotkey_toggleQueue": "vaihda jono",
"minimumScrobblePercentage_description": "vähimmäisprosentti kappaleesta, joka on soitettava ennen kuin se skrobblataan",
"minimumScrobbleSeconds": "pienin skrobblaus (sekunttia)",
"minimumScrobbleSeconds_description": "vähimmäisaika kappaleesta, joka on soitettava ennen kuin se skrobblataan",
"passwordStore": "salasanojen/avaimien tallennus",
"hotkey_volumeUp": "äänenvoimakkuuden lisääminen",
"hotkey_toggleShuffle": "vaihda sekoitus",
"hotkey_volumeMute": "mykistäminen",
"lastfmApiKey": "{{lastfm}} API-avain",
"minimizeToTray_description": "pienennä sovellus ilmaisinalueelle",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"hotkey_zoomOut": "loitonna",
"floatingQueueArea": "näytä kelluvan jonon avausalue",
"homeFeature": "kodin esittelykaruselli",
"hotkey_toggleFullScreenPlayer": "vaihda kokonäytön toistin",
"hotkey_toggleRepeat": "vaihda kertaus",
"gaplessAudio": "tauoton toisto",
"transcodeFormat_description": "valitsee transkoodattavan formaatin. jätä tyhjäksi palvelimen valintaa varten",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"themeDark": "teema (tumma)",
"transcodeNote": "tulee voimaan 1 (web) - 2 (mpv) kappaleen jälkeen",
"translationApiKey_description": "API-avain käännöstä varten (tukee vain globaalia palvelun palvelupistettä)",
"playbackStyle_description": "valitse toiston tyyli, jota käytetään soittimessa",
"transcode_description": "ottaa transkoodaksen käyttöön eri formaateille",
"transcodeBitrate": "transkoodattava bittinopeus",
"translationApiProvider": "käännös-API:n palveluntarjoaja",
"trayEnabled_description": "näytä/piilota järjestelmäpalkin kuvake/valikko. jos poistettu käytöstä, myös pienennä/sulje järjestelmäpalkkiin -toiminto poistetaan käytöstä",
"windowBarStyle_description": "valitse ikkunapalkin tyyli",
"webAudio": "käytä web-ääntä",
"windowBarStyle": "ikkunapalkin tyyli",
"zoom": "zoomausprosentti",
"playbackStyle": "toiston tyyli",
"remotePassword": "kauko-ohjauspalvelimen salasana",
"remoteUsername_description": "asettaa käyttäjänimen kauko-ohjauspalvelimelle. jos sekä käyttäjätunnus, että salasana ovat tyhjänä, todennus poistetaan käytöstä",
"skipPlaylistPage": "ohita soittolistojen sivu",
"themeDark_description": "asettaa tumman teeman käytettäväksi sovelluksessa",
"playbackStyle_optionCrossFade": "ristivaihto",
"playbackStyle_optionNormal": "normaali",
"playButtonBehavior": "toistopainikkeen toiminta",
"playButtonBehavior_description": "asettaa toistopainikkeen oletustoiminnan lisättäessä kappaleita jonoon",
"remotePort": "kauko-ohjauspalvelimen portti",
"replayGainMode": "{{ReplayGain}} tila",
"sampleRate_description": "valitse käytettävä näytteenottotaajuus, jos valittu näytetaajuus poikkeaa nykyisen median taajuudesta. arvo, joka on alle 8 000, käyttää oletustaajuutta",
"skipDuration": "ohituksen kesto",
"sidePlayQueueStyle_description": "asettaa tyylin sivupalkin toistojonolle",
"sidePlayQueueStyle_optionAttached": "liitetty",
"sidePlayQueueStyle_optionDetached": "irrotettu",
"startMinimized_description": "käynnistä sovellus järjestelmäpalkissa",
"theme": "teema",
"useSystemTheme_description": "seuraa järjestelmän määrittämää asetusta vaalealle tai tummalle asetukselle",
"remoteUsername": "kauko-ohjauspalvelimen käyttäjänimi",
"remotePort_description": "asettaa kauko-ohjauspalvelimen portin",
"remotePassword_description": "asettaa kauko-ohjauspalvelimen salasanan. Nämä tunnukset siirretään oletuksena turvattomasti, joten sinun kuuluisi käyttää uniikkia salasanaa, josta et välitä",
"replayGainClipping": "{{ReplayGain}} leikkaus",
"replayGainClipping_description": "Estää {{ReplayGain}}n aiheuttaman leikkauksen laskemalla vahvistusta automaatisesti",
"replayGainFallback": "{{ReplayGain}} palautus",
"playerAlbumArtResolution_description": "suurien kansikuvien resoluutio soittimen esikatselussa. suurempi tekee niistä terävempiä, mutta voi hidastaa latausta. oletuksena on 0, joka tarkoittaa automaattista",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"replayGainPreamp": "{{ReplayGain}} esivahvistus (dB)",
"scrobble_description": "skrobblaa toistot mediapalvelimellesi",
"replayGainPreamp_description": "säätää esivahvistuksen määrää {{ReplayGain}} arvoon",
"showSkipButtons": "näytä ohituspainikkeet",
"showSkipButtons_description": "näytä tai piilota soitinpalkin ohituspainikkeet",
"showSkipButton": "näytä ohituspainikkeet",
"showSkipButton_description": "näytä tai piilota soitinpalkin ohituspainikkeet",
"sidebarPlaylistList": "sivupakin soittolistojen lista",
"skipDuration_description": "asettaa ohitettavan ajan käytettäessä soitinpalkin ohituspainikkeita",
"volumeWidth": "äänenvoimakkuuden säätimen leveys",
"sidebarCollapsedNavigation_description": "näytä tai piilota navigointi romautetussa sivupalkissa",
"sidebarConfiguration": "sivupalkin asetukset",
"sidebarConfiguration_description": "valitse kohteet ja niiden järjestys sivupalkissa",
"volumeWidth_description": "äänenvoimakkuuden säätimen leveys",
"playerAlbumArtResolution": "soittimen kansikuvien resoluutio",
"playerbarOpenDrawer": "toistipalkin kokoruudun kytkin",
"playerbarOpenDrawer_description": "sallii toistopalkin klikkaamisen avaamaan kokonäytön soittimen",
"replayGainFallback_description": "asetettava vahvistus desibelinä (dB), jos tiedostolla ei ole {{ReplayGain}} tageja",
"replayGainMode_description": "säätää äänenvoimmakkuutta {{ReplayGain}} arvojen mukaisesti tiedoston metadatasta",
"sampleRate": "näytteenottotaajuus",
"savePlayQueue": "tallenna toistojono",
"savePlayQueue_description": "tallenna toistojono, kun sovellus suljetaan ja avaa se uudestaan, kun sovellus avataan",
"scrobble": "skrobblaus",
"sidebarCollapsedNavigation": "sivupalkin (romautettu) navigointi",
"sidebarPlaylistList_description": "näytä tai piilota soittolistojen lista sivupalkissa",
"sidePlayQueueStyle": "sivupalkin jonon tyyli",
"skipPlaylistPage_description": "navigoidessa soittolistaan, mene soittolistan kappaleiden listaan oletussivun sijaan",
"theme_description": "asettaa ohjelmassa käytettävän teeman",
"themeLight": "teema (vaalea)",
"themeLight_description": "asettaa vaalean teeman käytettäväksi sovelluksessa",
"transcode": "ota transkoodaus käyttöön",
"transcodeBitrate_description": "valitsee transkoodattavan bittinopeuden. 0 tarkoittaa palvelimen valintaa",
"transcodeFormat": "transkoodattava formaatti",
"translationApiProvider_description": "palveluntarjoajan API käännöstä varten",
"translationApiKey": "käännöksen API-avain",
"translationTargetLanguage": "käännöksen kohdekieli",
"translationTargetLanguage_description": "kohdekieli käännöstä varten",
"trayEnabled": "näytä järjestelmäpalkki",
"volumeWheelStep_description": "äänenvoimakkuuden muutoksen suuruus rullattaessa hiiren rullalla äänenvoimakkuuden säätimen päällä",
"zoom_description": "asettaa sovelluksen zoomausprosentin",
"webAudio_description": "käytä web-ääntä. tämä mahdollistaa edistyneet ominaisuudet, kuten replaygainin. poista käytöstä, jos koet ongelmia",
"startMinimized": "käynnistä pienennettynä",
"useSystemTheme": "käytä järjestelmän teemaa",
"volumeWheelStep": "äänenvoimakkuusrullan askel",
"discordServeImage": "jaa {{discord}} kuvat palvelimelta",
"discordServeImage_description": "jaa kansikuvat {{discord}}n rich presenceä varten suoraan palvelimelta. saatavilla vain jellyfinille ja navidromelle",
"musicbrainz_description": "näytä linkit musicbrainz sivulle artistin/albumin sivuilla, jos musicbrainz-id löytyy",
"lastfm": "näytä last.fm linkit",
"lastfm_description": "näytä linkit last.fm sivulle artistin/albumin sivuilla",
"musicbrainz": "näytä musicbrainz linkit",
"neteaseTranslation": "Ota NetEasen käännökset käyttöön",
"neteaseTranslation_description": "Käytöss ollessa noutaa ja näyttää käännetyt sanat NetEasesta, jos ne ovat saatavilla.",
"preferLocalLyrics_description": "suosi paikallisia sanoituksia ulkoisten sijasta, kun saatavilla",
"preferLocalLyrics": "suosi paikallisia sanoituksia",
"discordPausedStatus": "näytä rich presence tauotettuna",
"discordPausedStatus_description": "ollessak käytössä, status näyttää milloin soitin on tautotettuna",
"preservePitch": "säilytä sävelkorkeus",
"preservePitch_description": "säilytä sävelkorkeus toistonopeutta muokatessa",
"notify": "käytä kappaleen ilmoituksia",
"notify_description": "näytä limoituksia, kun vaihdetaan nykyistä kappaletta"
},
"page": {
"itemDetail": {
"copiedPath": "polku on kopioitu onnistuneesti",
"copyPath": "kopioi reitti leikepöytälle",
"openFile": "näytä kappale tiedostonhallinnassa"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "siirrä kohteesta $t(entity.artist_one)",
"moreFromGeneric": "listää kohteesta {{item}}",
"released": "julkaistu"
},
"albumList": {
"artistAlbums": "artistin {{artist}} albumit",
"genreAlbums": "\"{{genre}}\"$t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
"goBack": "mene takaisin",
"openBrowserDevtools": "avaa selaimen kehitystyökalut",
"quit": "$t(common.quit)",
"selectServer": "valitse palvelin",
"settings": "$t(common.setting_other)",
"expandSidebar": "laajenna sivupalkki",
"goForward": "mene eteenpäin",
"manageServers": "hallitse palvelimia",
"collapseSidebar": "kutista sivupalkki",
"version": "versio {{version}}"
},
"contextMenu": {
"playSimilarSongs": "$t(player.playSimilarSongs)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"numberSelected": "{{count}} valittuna",
"play": "$t(player.play)",
"download": "lataa",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"shareItem": "jaa kohde",
"showDetails": "lisätietoa",
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"moveToNext": "$t(action.moveToNext)",
"removeFromQueue": "$t(action.removeFromQueue)"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"settings": "$t(common.setting_other)",
"shared": "$t(entity.playlist_other) jaettu",
"tracks": "$t(entity.track_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"nowPlaying": "nyt soi",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"myLibrary": "oma kirjasto"
},
"setting": {
"generalTab": "yleinen",
"windowTab": "ikkuna",
"hotkeysTab": "pikanäppäimet",
"playbackTab": "toisto",
"advanced": "edistyneet"
},
"fullscreenPlayer": {
"upNext": "seuraavaksi",
"visualizer": "visualisaattori",
"noLyrics": "sanoja ei löytynyt",
"config": {
"showLyricMatch": "näytä sanojen yhteneväisyys",
"showLyricProvider": "näytä sanojen tarjoaja",
"lyricGap": "sanojen rako",
"synchronized": "synkronoitu",
"lyricSize": "sanojen koko",
"opacity": "läpinäkyvyys",
"unsynchronized": "synkronoimaton",
"useImageAspectRatio": "käytä kuvan kuvasuhdetta",
"dynamicBackground": "liikkuva tausta",
"dynamicImageBlur": "kuvan sumennuksen koko",
"dynamicIsImage": "käytä taustakuvaa",
"lyricOffset": "sanojen kompensointi (ms)",
"followCurrentLyric": "seuraa nykyisiä sanoja",
"lyricAlignment": "sanojen kohdistus"
},
"lyrics": "sanat",
"related": "liittyvät"
},
"genreList": {
"showAlbums": "näytä $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "näytä $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
"commands": {
"searchFor": "hae {{query}}",
"serverCommands": "palvelimen komennot",
"goToPage": "mene sivulle"
},
"title": "komennot"
},
"home": {
"explore": "tutki kirjastotasi",
"recentlyPlayed": "hiljattain soitetut",
"title": "$t(common.home)",
"mostPlayed": "eniten soitetut",
"newlyAdded": "hiljattain lisätyt julkaisut"
},
"albumArtistDetail": {
"about": "{{artist}}{sta/stä",
"viewDiscography": "katsele diskografiaa",
"relatedArtists": "liittyvät $t(entity.artist_other)",
"appearsOn": "esiintyy",
"topSongs": "parhaat kappaleet",
"topSongsFrom": "parhaat kappaleet albumilta {{title}}",
"recentReleases": "hiljattaiset julkaisut",
"viewAll": "katsele kaikkia",
"viewAllTracks": "katsele kaikkia $t(entity.track_other)"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"manageServers": {
"title": "hallitse palvelimia",
"serverDetails": "palvelimen lisätiedot",
"url": "URL",
"username": "käyttäjänimi",
"editServerDetailsTooltip": "muokkaa palvelimen lisätietoja",
"removeServer": "etäpalvelin"
},
"playlist": {
"reorder": "uudelleenjärjestely mahdollista vain, kun järjestellään id:n mukaan"
},
"trackList": {
"artistTracks": "artistin {{artist}} kappaleet",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
"player": {
"addLast": "lisää viimeinen",
"addNext": "lisää seuraava",
"favorite": "suosikki",
"queue_moveToTop": "siirrä valittu alas",
"queue_remove": "poista valittu",
"repeat": "kertaus",
"previous": "edellinen",
"queue_clear": "tyhjennä jono",
"skip": "ohita",
"skip_forward": "ohita eteenpäin",
"stop": "pysäytä",
"skip_back": "ohita taaksepäin",
"unfavorite": "poista suosikeista",
"playbackFetchNoResults": "kappaleita ei löytynyt",
"queue_moveToBottom": "siittä valittu ylös",
"pause": "tauota",
"playbackSpeed": "toistonopeus",
"repeat_all": "kertaa kaikki",
"playbackFetchCancel": "tämä vie aikaa... sulje ilmoitus peruaksesi",
"mute": "mykistä",
"shuffle": "soita sekoitettuna",
"next": "seuraava",
"play": "toista",
"playbackFetchInProgress": "ladataan kappaleita…",
"viewQueue": "katsele jonoa",
"muted": "mykistetty",
"playRandom": "toista satunnainen",
"playSimilarSongs": "toista samanlaisia kappaleita",
"repeat_off": "kertaus pois päältä",
"shuffle_off": "sekoitus pois päältä",
"toggleFullscreenPlayer": "vaihda kokoruudun soittimeen"
},
"table": {
"config": {
"general": {
"gap": "$t(common.gap)",
"size": "$t(common.size)",
"autoFitColumns": "sovita sarakkeet",
"followCurrentSong": "seuraa nykyistä kappaletta",
"displayType": "näytön tyyppi",
"itemGap": "kohteiden väli (px)",
"itemSize": "kohteiden koko (px)",
"tableColumns": "taulukon sarakkeet"
},
"label": {
"channels": "$t(common.channel_other)",
"trackNumber": "raidan numero",
"album": "$t(entity.album_one)",
"actions": "$t(common.action_other)",
"codec": "$t(common.codec)",
"dateAdded": "lisäyspäivämäärä",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"discNumber": "levyn numero",
"duration": "$t(common.duration)",
"favorite": "$t(common.favorite)",
"lastPlayed": "viimeksi soitettu",
"note": "$t(common.note)",
"titleCombined": "$t(common.title) (yhdistetty)",
"rowIndex": "rivin indeksi",
"biography": "$t(common.biography)",
"bitrate": "$t(common.bitrate)",
"bpm": "$t(common.bpm)",
"genre": "$t(entity.genre_one)",
"playCount": "toistojen lukumäärä",
"rating": "$t(common.rating)",
"releaseDate": "julkaisupäivämäärä",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "$t(common.title)",
"year": "$t(common.year)"
},
"view": {
"table": "taulukko",
"card": "kortti",
"poster": "juliste",
"grid": "ruudukko",
"list": "lista"
}
},
"column": {
"releaseYear": "vuosi",
"bpm": "bpm",
"artist": "$t(entity.artist_one)",
"biography": "biografia",
"dateAdded": "lisäyspäivämäärä",
"album": "albumi",
"albumArtist": "albumin artisti",
"lastPlayed": "viimeksi toistettu",
"path": "polku",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "nimi",
"trackNumber": "raita",
"codec": "$t(common.codec)",
"comment": "kommentti",
"albumCount": "$t(entity.album_other)",
"bitrate": "bittinopeus",
"channels": "$t(common.channel_other)",
"discNumber": "levy",
"favorite": "suosikki",
"genre": "$t(entity.genre_one)",
"playCount": "toistoja",
"rating": "arvostelu",
"releaseDate": "julkaisupäivämäärä"
}
}
}
+79 -281
View File
@@ -11,9 +11,9 @@
"skip_back": "reculer",
"favorite": "favori",
"next": "suivant",
"shuffle": "lecture aléatoire",
"playbackFetchNoResults": "aucun titre trouvé",
"playbackFetchInProgress": "chargement des titres…",
"shuffle": "aléatoire",
"playbackFetchNoResults": "aucune chansons trouvées",
"playbackFetchInProgress": "chargement des chansons…",
"addNext": "ajouter ensuite",
"playbackSpeed": "vitesse de lecture",
"playbackFetchCancel": "cela prend du temps… fermez la notification pour annuler",
@@ -28,15 +28,13 @@
"mute": "muet",
"skip_forward": "avancer",
"pause": "pause",
"unfavorite": "retirer des favoris",
"playSimilarSongs": "jouer des titres similaires",
"viewQueue": "voir la file d'attente"
"unfavorite": "dé-favori"
},
"action": {
"editPlaylist": "éditer $t(entity.playlist_one)",
"goToPage": "aller à la page",
"moveToTop": "déplacer en haut",
"clearQueue": "vider la file d'attente",
"clearQueue": "effacer la liste de lecture",
"addToFavorites": "ajouter aux $t(entity.favorite_other)",
"addToPlaylist": "ajouter à $t(entity.playlist_one)",
"createPlaylist": "créer $t(entity.playlist_one)",
@@ -49,25 +47,20 @@
"moveToBottom": "déplacer en bas",
"setRating": "noter",
"toggleSmartPlaylistEditor": "basculer l'éditeur de $t(entity.smartPlaylist)",
"removeFromFavorites": "retirer des $t(entity.favorite_other)",
"openIn": {
"lastfm": "Ouvrir dans Last.fm",
"musicbrainz": "Ouvrir dans MusicBrainz"
},
"moveToNext": "passer au suivant"
"removeFromFavorites": "retirer des $t(entity.favorite_other)"
},
"common": {
"backward": "en arrière",
"backward": "reculer",
"increase": "augmenter",
"rating": "note",
"bpm": "BPM",
"bpm": "bpm",
"refresh": "rafraichir",
"unknown": "inconnu",
"areYouSure": "êtes-vous sûr?",
"areYouSure": "êtes vous sûr ?",
"edit": "éditer",
"favorite": "favoris",
"left": "gauche",
"save": "enregistrer",
"save": "sauvegarder",
"right": "droite",
"currentSong": "$t(entity.track_one) actuelle",
"collapse": "réduire",
@@ -81,7 +74,7 @@
"manage": "gérer",
"limit": "limite",
"minimize": "minimiser",
"modified": "modifié",
"modified": "modifier",
"duration": "durée",
"name": "nom",
"maximize": "agrandir",
@@ -94,15 +87,12 @@
"no": "non",
"owner": "propriétaire",
"enable": "activer",
"clear": "vider",
"clear": "effacer",
"forward": "avancer",
"delete": "supprimer",
"cancel": "annuler",
"forceRestartRequired": "redémarrer pour appliquer les changements… fermer la notification pour redémarrer",
"setting": "paramètre",
"setting_one": "paramètre",
"setting_many": "",
"setting_other": "paramètres",
"version": "version",
"title": "titre",
"filter_one": "filtre",
@@ -111,7 +101,7 @@
"filters": "filtres",
"create": "créer",
"bitrate": "bitrate",
"saveAndReplace": "enregistrer et remplacer",
"saveAndReplace": "sauvegarder et remplacer",
"action_one": "action",
"action_many": "actions",
"action_other": "actions",
@@ -129,65 +119,43 @@
"none": "aucun",
"menu": "menu",
"restartRequired": "redémarrage requis",
"previousSong": "$t(entity.track_one) précédente",
"previousSong": "précédant $t(entity.track_one)",
"noResultsFromQuery": "la requête n'a retourné aucun résultat",
"quit": "quitter",
"expand": "étendre",
"search": "recherche",
"saveAs": "enregistrer en tant que",
"saveAs": "sauvegarder en tant que",
"disc": "disque",
"yes": "oui",
"random": "aléatoire",
"size": "taille",
"biography": "biographie",
"note": "note",
"albumGain": "gain de l'album",
"albumPeak": "crête de l'album",
"close": "fermer",
"mbid": "Identifiants MusicBrainz",
"preview": "aperçu",
"share": "partager",
"reload": "recharger",
"trackGain": "gain de la piste",
"trackPeak": "crête de la piste",
"codec": "codec",
"translation": "traduction",
"additionalParticipants": "participants additionnels",
"tags": "tags",
"newVersion": "une nouvelle version vient d'être installée ({{version}})",
"viewReleaseNotes": "voir la note de version",
"sampleRate": "taux d'échantillonnage",
"bitDepth": "bit par échantillon"
"note": "note"
},
"error": {
"remotePortWarning": "redémarrer le serveur pour appliquer le nouveau port",
"systemFontError": "une erreur sest produite lors de la tentative dobtenir les polices système",
"playbackError": "une erreur s'est produite lors de la tentative de lecture du média",
"endpointNotImplementedError": "l'endpoint {{endpoint}} n'est pas implémenté pour {{serverType}}",
"endpointNotImplementedError": "endpoint {{endpoint}} n'est pas implémenté pour {{serverType}}",
"remotePortError": "une erreur s'est produite lors de la tentative de définir le port du serveur distant",
"serverRequired": "serveur requis",
"authenticationFailed": "l'authentification a échoué",
"authenticationFailed": "l'authentification à échoué",
"apiRouteError": "incapable dacheminer la demande",
"genericError": "une erreur s'est produite",
"credentialsRequired": "identifiants requis",
"sessionExpiredError": "votre session a expiré",
"remoteEnableError": "une erreur s'est produite lors de la tentative de $t(common.enable) le serveur distant",
"localFontAccessDenied": "accès refusé aux polices locales",
"serverNotSelectedError": "aucun serveur sélectionné",
"serverNotSelectedError": "aucun serveur sélectionner",
"remoteDisableError": "une erreur s'est produite lors de la tentative de $t(common.disable) le serveur distant",
"mpvRequired": "MPV requis",
"audioDeviceFetchError": "une erreur sest produite lors de la tentative dobtenir les périphériques audio",
"invalidServer": "serveur invalide",
"loginRateError": "trop de tentative de connexion, merci de réessayer dans quelques secondes",
"openError": "impossible d'ouvrir le fichier",
"networkError": "une erreur de réseau est survenue",
"badAlbum": "vous voyez cette page parce que cette chanson ne fait pas parti d'un album. vous rencontrez probablement cette erreur si vous avez une chanson qui n'est pas dans votre répertoire de musique. jellyfin gère les chansons uniquement si elles sont dans un sous-dossier, qui est lui-même dans un dossier \"Musique(s)\".",
"badValue": "option {{value}} invalide. Cette valeur n'existe plus",
"notificationDenied": "les autorisations pour les notifications ont été refusées. ce paramètre n'a aucun effet"
"loginRateError": "trop de tentative de connexion, merci d'essayer dans quelque secondes"
},
"filter": {
"mostPlayed": "plus joués",
"playCount": "nombre d'écoute",
"playCount": "nombre d'écoutes",
"isCompilation": "est une compilation",
"recentlyPlayed": "récemment joué",
"isRated": "est noté",
@@ -204,15 +172,15 @@
"path": "chemin",
"favorited": "favoris",
"isRecentlyPlayed": "est récemment joué",
"isFavorited": "est favori",
"bpm": "BPM",
"isFavorited": "est favoris",
"bpm": "bpm",
"releaseYear": "année de sortie",
"disc": "disque",
"biography": "biographie",
"songCount": "nombre de chansons",
"duration": "durée",
"random": "aléatoire",
"lastPlayed": "dernier joué",
"lastPlayed": "dernière joué",
"toYear": "à l'année",
"fromYear": "depuis l'année",
"criticRating": "note des critiques",
@@ -241,9 +209,7 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"shared": "partagé $t(entity.playlist_other)",
"myLibrary": "Bibliothèque"
"albumArtists": "$t(entity.albumArtist_other)"
},
"fullscreenPlayer": {
"config": {
@@ -255,18 +221,13 @@
"unsynchronized": "désynchronisé",
"lyricAlignment": "alignement des paroles",
"useImageAspectRatio": "utiliser le ratio de l'image",
"opacity": "opacité",
"opacity": "opacitée",
"lyricSize": "Taille des paroles",
"lyricGap": "espacement des lettres",
"dynamicIsImage": "activer l'image d'arrière-plan",
"dynamicImageBlur": "intensité de flou sur image d'arrière-plan",
"lyricOffset": "paroles décalées (ms)"
"lyricGap": "espacement des lettres"
},
"upNext": "à suivre",
"lyrics": "paroles",
"related": "similaire",
"visualizer": "visualisateur",
"noLyrics": "aucune parole trouvée"
"related": "similaire"
},
"appMenu": {
"selectServer": "sélectionner le serveur",
@@ -278,28 +239,24 @@
"goForward": "avancer",
"version": "version {{version}}",
"settings": "$t(common.setting_other)",
"quit": "$t(common.quit)",
"privateModeOff": "désactiver le mode privé",
"privateModeOn": "activer le mode privé"
"quit": "$t(common.quit)"
},
"home": {
"mostPlayed": "Les plus joués",
"newlyAdded": "Ajoutés récemment",
"explore": "explorer depuis la bibliothèque",
"recentlyPlayed": "Joués récemment",
"mostPlayed": "plus joués",
"newlyAdded": "versions récemment ajoutés",
"explore": "explorer depuis votre bibliothèque",
"recentlyPlayed": "récemment joué",
"title": "$t(common.home)"
},
"albumDetail": {
"moreFromArtist": "plus de $t(entity.artist_one)",
"moreFromGeneric": "plus de {{item}}",
"released": "publié"
"moreFromGeneric": "plus de {{item}}"
},
"setting": {
"generalTab": "général",
"hotkeysTab": "raccourcis",
"generalTab": "générale",
"hotkeysTab": "raccourci",
"windowTab": "fenêtre",
"playbackTab": "lecteur",
"advanced": "avancé"
"playbackTab": "lecteur"
},
"globalSearch": {
"commands": {
@@ -325,63 +282,22 @@
"addLast": "$t(player.addLast)",
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"removeFromQueue": "$t(action.removeFromQueue)",
"shareItem": "partager un élément",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"showDetails": "obtenir des informations",
"download": "télécharger",
"playShuffled": "$t(player.shuffle)",
"moveToNext": "$t(action.moveToNext)",
"goToAlbumArtist": "aller à l'$t(entity.albumArtist_one)",
"goToAlbum": "aller à l'$t(entity.album_one)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "afficher $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "afficher $t(entity.genre_one) $t(entity.track_other)"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "pistes par {{artist}}",
"genreTracks": "'{{genre}}' $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "albums par {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"albumArtistDetail": {
"about": "À propos de {{artist}}",
"appearsOn": "apparaît sur",
"topSongsFrom": "meilleurs titres de {{title}}",
"viewAll": "voir tout",
"viewAllTracks": "voir tout $t(entity.track_other)",
"recentReleases": "sorties récentes",
"viewDiscography": "voir la discographie",
"relatedArtists": "en rapport avec $t(entity.artist_other)",
"topSongs": "meilleurs titres"
},
"itemDetail": {
"copyPath": "copier le chemin dans le presse-papiers",
"openFile": "afficher la piste dans le gestionnaire de fichiers",
"copiedPath": "chemin copié avec succès"
},
"playlist": {
"reorder": "le tri n'est possible que lors du tri par identifiant"
},
"manageServers": {
"serverDetails": "détails du serveur",
"removeServer": "retirer le serveur",
"url": "URL du serveur",
"title": "gérer les serveurs",
"username": "nom d'utilisateur",
"editServerDetailsTooltip": "modifier les détails du serveur"
"title": "$t(entity.album_other)"
}
},
"setting": {
@@ -404,18 +320,19 @@
"remotePort_description": "définit le port du serveur de contrôle à distance",
"hotkey_skipBackward": "reculer",
"hotkey_playbackPause": "pause",
"mpvExecutablePath_help": "line par line",
"hotkey_volumeUp": "monter le volume",
"discordIdleStatus_description": "quand activé, mettre à jour le status pendant que le lecteur est inactif",
"showSkipButtons": "affiche les boutons suivants et précédents",
"minimumScrobblePercentage": "durée minimal du scobble (pourcentage)",
"lyricFetch": "récupérer les paroles depuis internet",
"lyricFetch": "récupère les paroles depuis internet",
"scrobble": "scrobble",
"enableRemote_description": "activer le serveur de contrôle à distance, qui permet à d'autres appareils de contrôler l'application",
"fontType_optionSystem": "police système",
"mpvExecutablePath_description": "définit le chemin vers l'exécutable mpv, si vide, le chemin par défaut sera utilisé",
"mpvExecutablePath_description": "définit le chemin vers l'exécutable mpv",
"hotkey_favoriteCurrentSong": "favori $t(common.currentSong)",
"sampleRate": "taux d'échantillonnage",
"sampleRate_description": "sélectionne le taux d'échantillonnage de sortie utilisé si la fréquence d'échantillonnage sélectionnée est différente de celle du média actuel. une valeur inférieure à 8000 utilisera la fréquence par défaut",
"sampleRate_description": "sélectionnez le taux d'échantillonnage de sortie utilisé si la fréquence d'échantillonnage sélectionnée est différente de celle du média actuel",
"hotkey_zoomIn": "zoom avant",
"scrobble_description": "scrobble les lectures à votre serveur multimédia",
"hotkey_browserForward": "avancer",
@@ -443,7 +360,7 @@
"fontType_optionCustom": "police personnalisée",
"remotePassword": "mot de passe du serveur de contrôle à distance",
"lyricFetchProvider": "fournisseur depuis lequel récupérer les paroles",
"language_description": "définit la langue de l'application ($t(common.restartRequired))",
"language_description": "définit la langue de l'application $t(common.restartRequired)",
"playbackStyle_optionCrossFade": "fondu enchaîné",
"hotkey_rate3": "noter 3 étoiles",
"font": "police",
@@ -455,21 +372,21 @@
"hotkey_rate5": "noter 5 étoiles",
"hotkey_playbackPrevious": "piste précédente",
"showSkipButtons_description": "affiche ou cache les boutons suivants et précédents de la barre de lecture",
"language": "langage",
"language": "language",
"playbackStyle": "style de lecture",
"hotkey_toggleShuffle": "basculer la lecture aléatoire",
"playbackStyle_description": "sélectionnez le style de lecture à utiliser pour le lecteur audio",
"discordRichPresence_description": "active l'état de lecteur dans le status d'activité {{discord}}. Les images clés sont : {{icon}}, {{playing}}, et {{paused}}",
"discordRichPresence_description": "active l'état de lecteur dans le status d'activité {{discord}}. Les images clés sont: {{icon}}, {{playing}}, et {{paused}} ",
"mpvExecutablePath": "chemin de l'exécutable mpv",
"hotkey_rate2": "noter 2 étoiles",
"playButtonBehavior_description": "définit le comportement par défaut du bouton Jouer/Pause, lors de l'ajout de titres à la file d'attente",
"minimumScrobblePercentage_description": "le pourcentage minimum de la chanson qui doit être joué avant qu'elle ne soit scrobblée",
"playButtonBehavior_description": "définit le comportement par défaut du bouton play, lors de l'ajout de chanson à la file d'attente",
"minimumScrobblePercentage_description": "le pourcentage minimum de la chanson qui doit être joué avant qu'elle ne soit scrobbleée",
"exitToTray": "quitter vers la barre des tâches",
"hotkey_rate4": "noter 4 étoiles",
"enableRemote": "activer le serveur de contrôle à distance",
"showSkipButton_description": "affiche ou cache les boutons suivants et précédents de la barre de lecture",
"savePlayQueue": "sauvegarder la liste de lecture",
"minimumScrobbleSeconds_description": "la durée minimale en secondes de la chanson qui doit être jouée avant qu'elle ne soit scrobblée",
"minimumScrobbleSeconds_description": "la durée minimale en secondes de la chanson qui doit être jouée avant qu'elle ne soit scrobbleée",
"fontType_description": "police intégré vous permet de sélectionner une des polices fourni par Feishin. Police système vous permet de sélectionner une des polices fourni par votre système d'éxploitation. personnalisé vous permet de fournir votre propre police",
"playButtonBehavior": "comportement du bouton play",
"playbackStyle_optionNormal": "normale",
@@ -483,7 +400,7 @@
"lyricFetchProvider_description": "sélectionnez le fournisseur auprès desquels récupérer les paroles. l'ordre des fournisseurs et l'ordre dans lequel ils seront interrogés",
"globalMediaHotkeys_description": "active ou désactive l'utilisation des raccourcis clavier multimédia système pour contrôler la lecture",
"followLyric": "suivre les paroles actuelles",
"discordIdleStatus": "afficher l'état d'inactivité dans le statut de l'activité",
"discordIdleStatus": "afficher l'état d'inactivité dans le status de l'activité",
"hotkey_zoomOut": "zoom arrière",
"hotkey_unfavoriteCurrentSong": "retirer des favoris la $t(common.currentSong)",
"hotkey_rate0": "supprimer la note",
@@ -500,13 +417,13 @@
"savePlayQueue_description": "sauvegarde la liste de lecture quand l'application est fermée et la restaure quand l'application est ouverte",
"sidebarCollapsedNavigation_description": "affiche ou cache la navigation dans la barre latérale réduite",
"sidebarConfiguration": "configuration de la barre latérale",
"sidebarConfiguration_description": "sélectionnez les éléments et l'ordre dans lequel ils seront affichés dans la barre latérale",
"sidebarPlaylistList": "liste des listes de lecture de la barre latérale",
"sidebarConfiguration_description": "sélectionnez les items et l'ordre dans lesquels ils seront affichaient dans la barre latérale",
"sidebarPlaylistList": "liste de playlist de la barre latérale",
"sidebarCollapsedNavigation": "navigation de la barre latéral (réduite)",
"skipDuration": "durée de l'avance rapide",
"sidePlayQueueStyle_optionAttached": "attaché",
"sidePlayQueueStyle": "style de la liste de lecture latérale",
"sidebarPlaylistList_description": "affiche ou cache le menu de listes de lecture de la barre latérale",
"sidebarPlaylistList_description": "affiche ou cache la liste de playlist de la barre latérale",
"sidePlayQueueStyle_description": "définit le style de la liste de lecture latérale",
"sidePlayQueueStyle_optionDetached": "détaché",
"volumeWheelStep_description": "la valeur de volume à modifier lors du défilement de la molette de la souris sur le curseur de volume",
@@ -518,13 +435,13 @@
"themeLight_description": "définit le thème clair à utiliser pour l'application",
"zoom_description": "définit le pourcentage de zoom de l'application",
"theme": "thème",
"skipPlaylistPage_description": "lors de la navigation dans une liste de lecture, aller directement vers la liste des titres, au lieu de la page par défaut",
"skipPlaylistPage_description": "lors de la navigation dans une playlist, aller directement vers le liste des morceaux, au lieu de la page par défaut",
"volumeWheelStep": "valeur du pas de volume",
"windowBarStyle": "style de la barre de la fenêtre",
"useSystemTheme_description": "suivre les préférences du système (mode clair ou sombre)",
"skipPlaylistPage": "sauter la page de listes de lecture",
"useSystemTheme_description": "suivre les préférence du système (sombre ou clair)",
"skipPlaylistPage": "sauter la page de playlist",
"themeDark": "thème (sombre)",
"windowBarStyle_description": "ajuster le style de la barre de la fenêtre",
"windowBarStyle_description": "sélectionner le style de la barre de la fenêtre",
"useSystemTheme": "utiliser le thème du système",
"discordApplicationId_description": "l'identifiant de l'application pour le statut d'activité {{discord}} (par défaut à {{defaultId}})",
"audioExclusiveMode": "mode de sortie audio exclusif",
@@ -538,101 +455,13 @@
"replayGainMode_optionTrack": "$t(entity.track_one)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"replayGainMode_description": "ajuste le gain de volume accordement à la valeur de {{ReplayGain}} sauvegardé dans les métadonnées du fichier",
"replayGainFallback": "valeur de repli {{ReplayGain}}",
"replayGainClipping_description": "Prévient le clipping causé par {{ReplayGain}} en baissant automatiquement le gain",
"replayGainFallback": "{{ReplayGain}} fallback",
"replayGainClipping_description": "Préviens le clipping causé par {{ReplayGain}} en baissant automatiquement le gain",
"replayGainPreamp": "préamplificateur (dB) de {{ReplayGain}}",
"replayGainClipping": "écrêtage {{ReplayGain}}",
"replayGainClipping": "{{ReplayGain}} clipping",
"replayGainMode": "mode de {{ReplayGain}}",
"replayGainFallback_description": "gain en dB à appliquer si le fichier n'a pas de tag {{ReplayGain}}",
"replayGainPreamp_description": "ajuste le gain de préampli appliqué a la valeur de {{ReplayGain}}",
"clearQueryCache": "vide le cache de feishin",
"clearCache": "vider le cache navigateur",
"buttonSize_description": "la taille des boutons de la barre de lecture",
"clearQueryCache_description": "un 'soft clear' de Feishin. cela actualisera les liste de lecture, les métadonnées des titres, et réinitialisera les paroles enregistrées. les paramètres, identifiants du serveur et images mises en cache seront conservés",
"clearCache_description": "un 'hard clear' de feishin. en plus de vider le cache de feishin, vide le cache du navigateur (images sauvegardées et autres ressources). les identifiants serveurs et paramètres sont conservés",
"buttonSize": "taille des boutons du lecteur",
"clearCacheSuccess": "le cache a été vidé",
"externalLinks_description": "activer l'affichage de liens externes (Last.fm, MusicBrainz) sur la page de l'artiste/album",
"genreBehavior": "comportement par défaut de la page des genres",
"startMinimized_description": "démarrer l'application dans la barre des tâches",
"externalLinks": "afficher les liens externes",
"homeConfiguration": "configuration de la page d'accueil",
"homeFeature": "carrousel de la page d'accueil",
"homeFeature_description": "active ou désactive le carrousel sur la page d'accueil",
"imageAspectRatio": "utiliser le rapport hauteur/largeur natif de la pochette",
"imageAspectRatio_description": "si cette option est activée, les pochettes seront affichées en utilisant leur rapport hauteur/largeur natif. pour les pochettes qui n'ont pas un rapport 1:1 (carré), l'espace restant sera vide",
"mpvExtraParameters_help": "un par ligne",
"passwordStore_description": "quel mot de passe utiliser. changez cela si vous rencontrez des problèmes pour stocker les mots de passe.",
"playerAlbumArtResolution": "résolution de la pochette de l'album du lecteur",
"passwordStore": "mots de passe",
"playerAlbumArtResolution_description": "la résolution pour l'aperçu de la pochette d'album agrandie du lecteur. plus grand le rend plus net, mais peut ralentir le chargement. la valeur par défaut est 0 (automatique)",
"homeConfiguration_description": "configurer quels éléments sont affichés sur la page d'accueil, et dans quel ordre",
"startMinimized": "démarrer l'application en mode réduit",
"genreBehavior_description": "détermine si cliquer sur un genre ouvre par défaut la liste des pistes ou des albums",
"transcode": "activer le transcodage",
"transcode_description": "permet le transcodage vers différents formats",
"transcodeBitrate_description": "sélectionne le débit du transcodage. 0 signifie que le serveur choisit",
"transcodeFormat_description": "sélectionne le format du transcodage. laisser vide pour laisser le serveur décider",
"volumeWidth": "largeur de la barre de volume",
"volumeWidth_description": "la largeur de la barre de volume",
"customCssEnable": "activer le css personnalisé",
"customCssEnable_description": "permet d'écrire du css personnalisé.",
"customCssNotice": "Attention: bien qu'il y ait un certain assainissement (blocage de url() et de content:), l'utilisation de CSS personnalisé peut toujours présenter des risques en modifiant l'interface.",
"customCss": "css personnalisé",
"webAudio": "utiliser l'audio web",
"transcodeBitrate": "débit binaire du transcodage",
"transcodeFormat": "format de transcodage",
"webAudio_description": "utiliser l'audio web. cela permet d'utiliser des fonctions avancées comme le replaygain. désactivez si vous rencontrez d'autres problèmes",
"artistConfiguration": "page de configuration de l'artiste de l'album",
"artistConfiguration_description": "configurer les éléments et l'ordre à afficher, sur la page de l'artiste de l'album",
"doubleClickBehavior": "mettre en file d'attente toutes les pistes recherchées lors d'un double clic",
"contextMenu": "configuration du menu contextuel (clic droit)",
"contextMenu_description": "permet de masquer les éléments qui s'affichent dans le menu lorsque vous cliquez avec le bouton droit de la souris sur un élément. les éléments qui ne sont pas cochés seront masqués",
"albumBackground": "image d'arrière-plan de l'album",
"albumBackground_description": "ajoute une image d'arrière-plan pour les pages de l'album contenant les illustrations de l'album",
"albumBackgroundBlur_description": "ajuste le niveau de flou appliqué à l'image d'arrière-plan de l'album",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerbarOpenDrawer": "basculement plein écran de la barre de lecteur",
"playerbarOpenDrawer_description": "permet de cliquer sur la barre du lecteur pour ouvrir le lecteur plein écran",
"translationApiProvider": "fournisseur d'api de traduction",
"discordListening": "afficher le statut d'écoute",
"discordListening_description": "afficher le statut comme étant en écoute au lieu de lecture",
"translationApiKey_description": "clé api à utiliser pour traduire les paroles (ne prend en charge que les points de terminaison de service globaux)",
"translationTargetLanguage": "traduction langue cible",
"trayEnabled": "montrer le plateau",
"translationApiProvider_description": "le fournisseur d'api à utiliser pour la traduction des paroles",
"customCss_description": "contenu css personnalisé. Remarque : le contenu et les URL distantes sont des propriétés non autorisées. Un aperçu de votre contenu est affiché ci-dessous. Des champs supplémentaires que vous n'avez pas définis sont présents en raison de la vérification.",
"translationApiKey": "clé api de traduction",
"translationTargetLanguage_description": "langue cible pour la traduction des paroles",
"transcodeNote": "prend effet après 1 (web) - 2 (mpv) titres",
"trayEnabled_description": "afficher ou masquer l'icône et le menu de la barre d'état système. si désactivé, désactive également la réduction et la sortie vers la barre d'état système",
"doubleClickBehavior_description": "si vrai, toutes les pistes correspondantes dans une recherche de piste seront mises en file d'attente. sinon, seule celle sur laquelle vous avez cliqué sera mise en file d'attente",
"albumBackgroundBlur": "taille du flou de l'image d'arrière-plan de l'album",
"lastfmApiKey": "clé API {{lastfm}}",
"lastfmApiKey_description": "la clé API pour {{lastfm}} . requise pour la pochette d'album",
"discordServeImage": "servir l'image {{discord}} depuis le serveur",
"discordServeImage_description": "partage pochette du status d'activité {{discord}} depuis le serveur lui même, disponible uniquement pour jellyfin et navidrome",
"lastfm": "affiche les liens de last.fm",
"musicbrainz_description": "affiches les liens vers musicbrainz sur les pages des artistes/albums, quand mbid existes",
"lastfm_description": "affiche les liens vers last.fm sur les pages des artistes/albums",
"musicbrainz": "affiches les liens musicbrainz",
"neteaseTranslation": "Activer les traductions NetEase",
"neteaseTranslation_description": "Lorsque cette option est activée, récupère et affiche les paroles traduites de NetEase si elles sont disponibles.",
"preferLocalLyrics_description": "privilégier les paroles locales aux paroles distantes lorsqu'elles sont disponibles",
"preferLocalLyrics": "privilégier les paroles locales",
"discordPausedStatus_description": "quand activé, le status s'affichera lorsque le lecteur est en pause",
"discordPausedStatus": "afficher le status d'activité en pause",
"preservePitch": "préserver la hauteur",
"preservePitch_description": "préserver la hauteur lors du changement de la vitesse de lecture",
"notify": "activer les notifications des chansons",
"notify_description": "affiche une notification lors du changement de chanson",
"discordDisplayType": "type d'affichage du status {{discord}}",
"discordDisplayType_description": "change ce que vous écoutez dans votre statut",
"discordDisplayType_songname": "nom du morceau",
"discordDisplayType_artistname": "nom(s) dartiste",
"hotkey_navigateHome": "aller à l'accueil",
"preventSleepOnPlayback_description": "Empêche la mise en veille du lecteur lorsque la musique est en cours de lecture",
"preventSleepOnPlayback": "Empêche la mise en veille lors de la lecture"
"replayGainPreamp_description": "ajuste le gain de préampli appliqué a la valeur de {{ReplayGain}}"
},
"form": {
"deletePlaylist": {
@@ -654,13 +483,13 @@
"error_savePassword": "une erreur sest produite lors de la tentative de sauvegarde du mot de passe"
},
"addToPlaylist": {
"success": "$t(entity.trackWithCount, {\"count\": {{message}} }) ajouté à $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "{{message}} $t(entity.song_other) ajouté à {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "ajouter à $t(entity.playlist_one)",
"input_skipDuplicates": "sauter les doublons",
"input_playlists": "$t(entity.playlist_other)"
},
"createPlaylist": {
"title": "créer une $t(entity.playlist_one)",
"title": "créer $t(entity.playlist_one)",
"input_public": "publique",
"success": "$t(entity.playlist_one) créée avec succès",
"input_description": "$t(common.description)",
@@ -673,43 +502,27 @@
},
"queryEditor": {
"input_optionMatchAll": "correspondre à tous",
"input_optionMatchAny": "correspondre à n'importe quel",
"title": "éditeur de requête"
"input_optionMatchAny": "correspondre à n'importe quel"
},
"editPlaylist": {
"title": "modifier $t(entity.playlist_one)",
"publicJellyfinNote": "Jellyfin n'indique pas si une liste de lecture est publique ou non. Si vous souhaitez que cette liste de lecture reste publique, veuillez sélectionner l'entrée suivante",
"success": "$t(entity.playlist_one) mis à jour avec succès"
"title": "modifier $t(entity.playlist_one)"
},
"lyricSearch": {
"title": "rechercher parole",
"input_name": "$t(common.name)",
"input_artist": "$t(entity.artist_one)"
},
"shareItem": {
"allowDownloading": "autoriser le téléchargement",
"description": "description",
"setExpiration": "définir une expiration",
"success": "lien de partage copié dans le presse-papier (ou cliquez ici pour ouvrir)",
"expireInvalid": "l'expiration doit être définie à une date ultérieure",
"createFailed": "échec de la création du lien de partage (le partage est-il activé ?)"
},
"privateMode": {
"enabled": "le mode privé est activé, le statut de lecture est maintenant caché des intégrations externes",
"disabled": "le mode privé est désactivé, le statut de lecture est maintenant visible des intégrations externes",
"title": "mode privé"
}
},
"entity": {
"genre_one": "genre",
"genre_many": "genres",
"genre_other": "genres",
"playlistWithCount_one": "{{count}} liste de lecture",
"playlistWithCount_many": "{{count}} listes de lecture",
"playlistWithCount_other": "{{count}} listes de lecture",
"playlist_one": "liste de lecture",
"playlist_many": "listes de lecture",
"playlist_other": "listes de lecture",
"playlistWithCount_one": "{{count}} playlist",
"playlistWithCount_many": "{{count}} playlists",
"playlistWithCount_other": "{{count}} playlists",
"playlist_one": "playlist",
"playlist_many": "playlists",
"playlist_other": "playlists",
"artist_one": "artiste",
"artist_many": "artistes",
"artist_other": "artistes",
@@ -746,13 +559,7 @@
"genreWithCount_other": "{{count}} genres",
"trackWithCount_one": "{{count}} piste",
"trackWithCount_many": "{{count}} pistes",
"trackWithCount_other": "{{count}} pistes",
"play_one": "{{count}} écouter",
"play_many": "{{count}} écoute",
"play_other": "{{count}} écoute",
"song_one": "titre",
"song_many": "titres",
"song_other": "titres"
"trackWithCount_other": "{{count}} pistes"
},
"table": {
"config": {
@@ -761,17 +568,12 @@
"tableColumns": "colonnes de la liste",
"autoFitColumns": "colonnes à ajustement automatique",
"gap": "$t(common.gap)",
"size": "$t(common.size)",
"itemGap": "écart entre les éléments (en pixel)",
"itemSize": "taille des élements (en pixel)",
"followCurrentSong": "suivre la chanson actuelle"
"size": "$t(common.size)"
},
"view": {
"table": "liste",
"poster": "affiche",
"card": "Carte",
"grid": "grille",
"list": "liste"
"poster": "poster",
"card": "Carte"
},
"label": {
"releaseDate": "date de sortie",
@@ -799,9 +601,7 @@
"title": "$t(common.title)",
"size": "$t(common.size)",
"genre": "$t(entity.genre_one)",
"year": "$t(common.year)",
"songCount": "$t(entity.track_other)",
"codec": "$t(common.codec)"
"year": "$t(common.year)"
}
},
"column": {
@@ -826,9 +626,7 @@
"artist": "$t(entity.artist_one)",
"genre": "$t(entity.genre_one)",
"songCount": "$t(entity.track_other)",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)",
"codec": "$t(common.codec)"
"channels": "$t(common.channel_other)"
}
}
}
-254
View File
@@ -1,254 +0,0 @@
{
"action": {
"moveToNext": "ugrás a következőre",
"deletePlaylist": "$t(entity.playlist_one) törlése",
"removeFromFavorites": "eltávolítás innen: $t(entity.favorite_other)",
"setRating": "értékelés",
"viewPlaylists": "$t(entity.playlist_other) megtekintése",
"openIn": {
"lastfm": "Megnyitás Last.fm-ben",
"musicbrainz": "Megnyitás MusicBrainz-ben"
},
"clearQueue": "műsorlista kiürítése",
"createPlaylist": "$t(entity.playlist_one) létrehozása",
"deselectAll": "kijelölések törlése",
"editPlaylist": "$t(entity.playlist_one) szerkesztése",
"goToPage": "oldal meglátogatása",
"moveToBottom": "ugrás az utolsóhoz",
"moveToTop": "ugrás az elsőhöz",
"removeFromPlaylist": "eltávolítás innen: $t(entity.playlist_one)",
"removeFromQueue": "eltávolítás a műsorlistáról",
"toggleSmartPlaylistEditor": "$t(entity.smartPlaylist) szerkesztője",
"addToFavorites": "$t(entity.favorite_other) kedvelése",
"addToPlaylist": "hozzáadás lejátszási listához: $t(entity.playlist_one)"
},
"common": {
"collapse": "összecsukás",
"currentSong": "jelenlegi: $t(entity.track_one)",
"no": "nem",
"close": "bezárás",
"confirm": "rendben",
"create": "létrehozás",
"codec": "kodek",
"delete": "törlés",
"description": "leírás",
"comingSoon": "hamarosan…",
"decrease": "csökkentés",
"enable": "engedélyes",
"disable": "letiltás",
"disc": "lemez",
"modified": "módosult",
"forceRestartRequired": "a módosítások alkalmazásához újra kell indulnunk... zárd be az értesítést az újraindításhoz",
"home": "főoldal",
"name": "név",
"action_one": "művelet",
"action_other": "műveletek",
"add": "hozzáadás",
"albumGain": "album erősség",
"albumPeak": "album csúcs",
"areYouSure": "biztos vagy benne?",
"ascending": "növekvő",
"backward": "visszafelé",
"biography": "biográfia",
"bitrate": "bitráta",
"cancel": "mégse",
"center": "közép",
"channel_one": "csatorna",
"channel_other": "csatornák",
"clear": "törlés",
"configure": "konfigurálás",
"descending": "csökkenő",
"dismiss": "figyelmen kívül hagyás",
"duration": "hossz",
"edit": "szerkesztés",
"expand": "megnyitás",
"favorite": "kedvenc",
"filter_one": "szűrő",
"filter_other": "szűrők",
"filters": "szűrők",
"forward": "előre",
"gap": "rés",
"increase": "megnövelés",
"left": "bal",
"limit": "korlát",
"manage": "kezelés",
"maximize": "maximalizálás",
"menu": "menü",
"minimize": "minimalizálás",
"mbid": "MusicBrainz azonosító",
"noResultsFromQuery": "nincsenek találatok a keresett kifejezésre",
"note": "jegyzet",
"ok": "rendben",
"owner": "tulajdonos",
"path": "elérési út",
"playerMustBePaused": "a lejátszónak szüneteltetve kell lennie",
"preview": "előnézet",
"previousSong": "előző $t(entity.track_one)",
"quit": "kilépés",
"random": "véletlenszerű",
"refresh": "frissítés",
"reset": "reszetelés",
"resetToDefault": "visszaállítás alapértelmezettekre",
"right": "jobb",
"save": "mentés",
"search": "keresés",
"title": "cím",
"trackNumber": "dalszám",
"unknown": "ismeretlen",
"version": "verzió",
"yes": "igen",
"none": "egyik sem",
"restartRequired": "újraindítás szükséges",
"setting": "beállítás",
"translation": "fordítás",
"rating": "értékelések",
"reload": "újratöltés",
"share": "megosztás",
"sortOrder": "sorrend",
"saveAndReplace": "mentés és felülírás",
"saveAs": "mentés másként",
"size": "méret",
"year": "év",
"trackGain": "dal erősség",
"trackPeak": "dal csúcs"
},
"entity": {
"albumArtist_one": "album szerzője",
"albumArtist_other": "album szerzői",
"albumArtistCount_one": "{{count}} album szerző",
"albumArtistCount_other": "{{count}} album szerzők",
"albumWithCount_one": "{{count}} album",
"albumWithCount_other": "{{count}} album",
"artist_one": "előadó",
"artist_other": "előadók",
"favorite_one": "kedvelés",
"favorite_other": "kedvelések",
"folder_one": "mappa",
"folder_other": "mappák",
"genreWithCount_one": "{{count}} műfaj",
"genreWithCount_other": "{{count}} műfaj",
"track_one": "dal",
"track_other": "dalok",
"song_one": "zene",
"song_other": "zenék",
"album_one": "album",
"album_other": "albumok",
"smartPlaylist": "intelligens $t(entity.playlist_one)",
"artistWithCount_one": "{{count}} előadó",
"artistWithCount_other": "{{count}} előadó",
"playlist_one": "lejátszási lista",
"playlist_other": "lejátszási listák",
"playlistWithCount_one": "{{count}} lejátszási lista",
"playlistWithCount_other": "{{count}} lejátszási lista",
"folderWithCount_one": "{{count}} mappa",
"folderWithCount_other": "{{count}} mappa",
"genre_one": "műfaj",
"genre_other": "műfajok",
"play_one": "{{count}} lejátszás",
"play_other": "{{count}} lejátszás",
"trackWithCount_one": "{{count}} dal",
"trackWithCount_other": "{{count}} dal"
},
"error": {
"apiRouteError": "a kérést nem sikerült célbajuttatni",
"audioDeviceFetchError": "hiba történt a hangeszközök lekérésekor",
"authenticationFailed": "sikertelen hitelesítés",
"credentialsRequired": "hitelesítési adatok szükségesek",
"localFontAccessDenied": "hozzáférés megtagadásra került a helyi betűtípusokhoz",
"networkError": "hálózati hibába ütköztünk",
"openError": "a fájl megnyitása sikertelen volt",
"playbackError": "hiba történt a média lejátszásakor",
"remoteEnableError": "hiba történt a távoli szerver műveletkor: $t(common.enable)",
"remotePortError": "hiba történt a távoli szerver PORT-jának beállításakor",
"remotePortWarning": "indítsd újra a szervert az új PORT használatához",
"genericError": "hiba történt",
"endpointNotImplementedError": "a(z) {{endpoint}} végpont nincs implementálva a következőhöz: {{serverType}}",
"badAlbum": "azért látod ezt az oldalt mert ez a zeneszám nem része egy albumnak. ez általában akkor történik amikor egy szám a zenekönyvtárad gyökerébe kerül. a Jellyfin csak mappákba rendezett számokat csoportosít.",
"loginRateError": "túl sok bejelentkezési kísérlet, kérlek próbáld újra pár másodperc múlva",
"mpvRequired": "MPV szükséges",
"invalidServer": "érvénytelen szerver",
"remoteDisableError": "hiba történt a távoli szerver műveletkor: $t(common.disable)",
"sessionExpiredError": "a munkameneted lejárt",
"systemFontError": "hiba történt a rendszer betűtípusainak lekérésekor",
"serverRequired": "szerver szükséges",
"serverNotSelectedError": "nincs szerver kiválasztva"
},
"filter": {
"albumCount": "$t(entity.album_other) darab",
"bitrate": "bitráta",
"comment": "megjegyzés",
"dateAdded": "hozzáadva",
"duration": "hossz",
"fromYear": "évtől",
"isCompilation": "gyűjtemény",
"isRated": "értékelt",
"lastPlayed": "utoljára lejátszva",
"mostPlayed": "legtöbbször lejátszott",
"note": "megjegyzés",
"random": "véletlenszerű",
"rating": "értékelések",
"recentlyAdded": "nemrég hozzáadott",
"releaseDate": "megjelenési dátum",
"releaseYear": "megjelenés éve",
"songCount": "dal szám",
"title": "cím",
"disc": "lemez",
"criticRating": "kritikusok értékelése",
"communityRating": "közösségi értékelés",
"albumArtist": "$t(entity.albumArtist_one)",
"biography": "biográfia",
"album": "$t(entity.album_one)",
"favorited": "kedvelt",
"isRecentlyPlayed": "mostanában lejátszott",
"name": "név",
"owner": "$t(common.owner)",
"id": "azonosító",
"recentlyPlayed": "nemrég lejátszott",
"isFavorited": "kedvelt",
"search": "keresés",
"isPublic": "nyilvános",
"playCount": "lejátszások száma",
"recentlyUpdated": "nemrég módosult",
"path": "elérési út",
"toYear": "évhez",
"trackNumber": "dalszám"
},
"form": {
"addServer": {
"error_savePassword": "hiba történt a jelszó mentésekor",
"ignoreCors": "CORS figyelmen kívül hagyása $t(common.restartRequired)",
"ignoreSsl": "SSL figyelmen kívül hagyása $t(common.restartRequired)",
"input_password": "jelszó",
"input_url": "url",
"input_username": "felhasználónév",
"success": "szerver sikeresen hozzáadva",
"title": "szerver hozzáadása",
"input_name": "szervernév",
"input_savePassword": "jelszó mentése",
"input_legacyAuthentication": "klasszikus hitelesítés bekapcsolása"
},
"addToPlaylist": {
"input_skipDuplicates": "duplikátumok átugrása",
"input_playlists": "$t(entity.playlist_other)",
"success": "hozzáadtuk ezt: $t(entity.trackWithCount, {\"count\": {{message}} }) a következőhöz: $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "hozzáadás a következőhöz: $t(entity.playlist_one)"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"input_public": "nyilvános",
"title": "$t(entity.playlist_one) létrehozása",
"success": "$t(entity.playlist_one) sikeresen létrehozva"
},
"deletePlaylist": {
"input_confirm": "a megerősítéshez írd be a(z) $t(entity.playlist_one) nevét",
"success": "$t(entity.playlist_one) sikeresen törölve",
"title": "$t(entity.playlist_one) törlése"
},
"editPlaylist": {
"success": "$t(entity.playlist_one) sikeresen módosítva",
"publicJellyfinNote": "A Jellyfin valamiért nem teszi közzé, hogy egy lejátszási lista nyilvános-e. Amennyiben azt szeretnéd, hogy nyilvános maradjon, válaszd ki az alábbi beviteli mezőt"
}
}
}
-747
View File
@@ -1,747 +0,0 @@
{
"action": {
"createPlaylist": "buat $t(entity.playlist_one)",
"toggleSmartPlaylistEditor": "ubah editor $t(entity.smartPlaylist)",
"goToPage": "pergi ke halaman",
"moveToTop": "pindah ke atas",
"addToPlaylist": "tambahkan ke $t(entity.playlist_one)",
"removeFromFavorites": "hapus dari $t(entity.favorite_other)",
"removeFromPlaylist": "hapus dari $t(entity.playlist_one)",
"deselectAll": "batalkan pilih semua",
"editPlaylist": "ubah $t(entity.playlist_one)",
"moveToNext": "pindah ke berikutnya",
"refresh": "$t(common.refresh)",
"removeFromQueue": "hapus dari antrean",
"setRating": "setel penilaian",
"viewPlaylists": "lihat $t(entity.playlist_other)",
"openIn": {
"lastfm": "Buka di Last.fm",
"musicbrainz": "Buka di MusicBrainz"
},
"addToFavorites": "tambahkan ke $t(entity.favorite_other)",
"clearQueue": "kosongkan antrian",
"deletePlaylist": "hapus $t(entity.playlist_one)",
"moveToBottom": "pindah ke bawah"
},
"common": {
"clear": "bersihkan",
"action_other": "aksi",
"codec": "Koded",
"channel_other": "Saluran",
"duration": "durasi",
"create": "buat",
"center": "tengah",
"areYouSure": "apakah Anda yakin?",
"add": "tambah",
"albumGain": "perolehan album",
"albumPeak": "Puncak album",
"cancel": "batal",
"close": "Tutup",
"configure": "konfigurasi",
"currentSong": "lagu saat ini $t(entity.track_one)",
"delete": "hapus",
"description": "deskripsi",
"edit": "ubah",
"biography": "biografi",
"confirm": "konfirmasi",
"descending": "menurun",
"disable": "nonaktifkan",
"disc": "disk",
"enable": "aktifkan",
"expand": "perbesar",
"favorite": "favorit",
"filter_other": "filter",
"filters": "filter",
"forceRestartRequired": "perlu restart untuk menerapkan perubahan... tutup pemberitahuan untuk memulai ulang",
"forward": "maju",
"gap": "jarak",
"home": "beranda",
"increase": "tingkatkan",
"left": "kiri",
"limit": "batasi",
"manage": "kelola",
"maximize": "maksimalkan",
"menu": "menu",
"minimize": "minimalisasi",
"modified": "dimodifikasi",
"mbid": "ID MusicBrainz",
"name": "nama",
"no": "tidak",
"none": "tidak ada",
"noResultsFromQuery": "permintaan tidak menghasilkan hasil",
"note": "catatan",
"ok": "oke",
"owner": "pemilik",
"playerMustBePaused": "pemain harus dijeda",
"preview": "Pratinjau",
"previousSong": "lagu sebelumnya $t(entity.track_one)",
"quit": "keluar",
"random": "acak",
"rating": "penilaian",
"refresh": "segarkan",
"reload": "Muat Ulang",
"reset": "reset",
"resetToDefault": "reset ke default",
"restartRequired": "restart diperlukan",
"right": "kanan",
"save": "simpan",
"saveAndReplace": "simpan dan ganti",
"saveAs": "simpan sebagai",
"search": "cari",
"setting": "pengaturan",
"share": "Bagikan",
"size": "ukuran",
"sortOrder": "urutkan",
"title": "judul",
"trackNumber": "pista",
"trackGain": "Gain pista",
"trackPeak": "puncak lagu",
"unknown": "tidak dikenal",
"version": "versi",
"year": "tahun",
"yes": "ya",
"path": "path(jalur)",
"ascending": "menaik",
"bpm": "bpm",
"bitrate": "kecepatan bit",
"collapse": "lipat",
"comingSoon": "segera hadir…",
"decrease": "kurangi",
"dismiss": "abaikan",
"translation": "terjemahan",
"backward": "mundur"
},
"entity": {
"album_other": "album",
"albumArtist_other": "artis album",
"albumArtistCount_other": "{{count}} artis album",
"albumWithCount_other": "{{count}} album",
"artist_other": "artis",
"artistWithCount_other": "{{count}} artis",
"favorite_other": "favorit",
"folder_other": "folder",
"folderWithCount_other": "{{count}} folder",
"genre_other": "genre",
"genreWithCount_other": "{{count}} genre",
"playlist_other": "daftar putar",
"play_other": "Putar {{count}}",
"playlistWithCount_other": "{{count}} daftar putar",
"smartPlaylist": "$t(entity.playlist_one) pintar",
"track_other": "pista",
"song_other": "lagu",
"trackWithCount_other": "{{count}} pista"
},
"error": {
"apiRouteError": "tidak dapat mengarahkan permintaan",
"audioDeviceFetchError": "terjadi kesalahan saat mencoba mengambil perangkat audio",
"authenticationFailed": "autentikasi gagal",
"badAlbum": "Anda melihat halaman ini karena lagu ini tidak termasuk dalam album. Masalah ini bisa terjadi jika Anda memiliki lagu di tingkat atas folder musik Anda. Jellyfin hanya mengelompokkan lagu jika mereka berada di dalam folder.",
"credentialsRequired": "kredensial diperlukan",
"endpointNotImplementedError": "endpoint {{endpoint}} tidak diimplementasikan untuk {{serverType}}",
"genericError": "terjadi kesalahan",
"invalidServer": "server tidak valid",
"localFontAccessDenied": "akses ke font lokal ditolak",
"loginRateError": "terlalu banyak percobaan login, coba beberapa detik lagi",
"mpvRequired": "MPV diperlukan",
"networkError": "terjadi kesalahan jaringan",
"openError": "Tidak dapat membuka file",
"playbackError": "terjadi kesalahan saat mencoba memutar media",
"remoteDisableError": "terjadi kesalahan saat mencoba $t(common.disable) server jarak jauh",
"remoteEnableError": "terjadi kesalahan saat mencoba $t(common.enable) server jarak jauh",
"remotePortError": "terjadi kesalahan saat mencoba mengatur port server jarak jauh",
"remotePortWarning": "restart server untuk menerapkan port baru",
"serverNotSelectedError": "tidak ada server yang dipilih",
"serverRequired": "server diperlukan",
"sessionExpiredError": "sesi Anda telah kedaluwarsa",
"systemFontError": "terjadi kesalahan saat mencoba mendapatkan font sistem"
},
"filter": {
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"albumCount": "Hitung $t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"biography": "biografi",
"bitrate": "bitrate",
"bpm": "lpm",
"channels": "$t(common.channel_other)",
"comment": "komentar",
"communityRating": "penilaian komunitas",
"criticRating": "penilaian kritik",
"dateAdded": "tanggal ditambahkan",
"disc": "disk",
"duration": "durasi",
"favorited": "favorit",
"genre": "$t(entity.genre_one)",
"id": "id",
"isCompilation": "apakah ini kompilasi",
"isFavorited": "apakah ini favorit",
"isPublic": "apakah ini publik",
"isRated": "apakah ini terklasifikasi",
"isRecentlyPlayed": "baru saja diputar",
"lastPlayed": "terakhir diputar",
"mostPlayed": "paling sering diputar",
"name": "nama",
"note": "catatan",
"owner": "$t(common.owner)",
"playCount": "jumlah putar",
"random": "acak",
"rating": "penilaian",
"recentlyAdded": "baru saja ditambahkan",
"recentlyPlayed": "baru saja diputar",
"recentlyUpdated": "baru saja diperbarui",
"releaseDate": "tanggal rilis",
"releaseYear": "tahun rilis",
"search": "cari",
"songCount": "jumlah lagu",
"toYear": "hingga tahun",
"trackNumber": "nomor pista",
"fromYear": "dari tahun",
"title": "judul",
"path": "path(jalur)"
},
"form": {
"addServer": {
"error_savePassword": "terjadi kesalahan saat mencoba menyimpan kata sandi",
"ignoreCors": "abaikan cors ($t(common.restartRequired))",
"ignoreSsl": "abaikan ssl ($t(common.restartRequired))",
"input_legacyAuthentication": "izinkan autentikasi warisan",
"input_name": "nama server",
"input_password": "kata sandi",
"input_savePassword": "simpan kata sandi",
"input_url": "url",
"input_username": "nama pengguna",
"success": "server berhasil ditambahkan",
"title": "tambah server"
},
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "lewati duplikat",
"success": "ditambahkan $t(entity.trackWithCount, {\"count\": {{message}} }) ke $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "tambahkan ke $t(entity.playlist_one)"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"input_public": "publik",
"success": "$t(entity.playlist_one) berhasil dibuat",
"title": "buat $t(entity.playlist_one)"
},
"deletePlaylist": {
"input_confirm": "ketik nama $t(entity.playlist_one) untuk mengonfirmasi",
"success": "$t(entity.playlist_one) berhasil dihapus",
"title": "hapus $t(entity.playlist_one)"
},
"editPlaylist": {
"publicJellyfinNote": "Jellyfin entah bagaimana tidak menampilkan apakah playlist ini publik atau tidak. Jika Anda ingin playlist ini tetap publik, harap pilih entri berikut",
"success": "$t(entity.playlist_one) berhasil diperbarui",
"title": "ubah $t(entity.playlist_one)"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "cari lirik"
},
"queryEditor": {
"input_optionMatchAll": "cocokkan semua",
"input_optionMatchAny": "cocokkan salah satu"
},
"shareItem": {
"allowDownloading": "Izinkan unduhan",
"description": "Deskripsi",
"setExpiration": "Atur masa berlaku",
"success": "Tautan berbagi berhasil disalin ke papan klip (atau klik di sini untuk membuka)",
"expireInvalid": "Masa berlaku harus di masa depan",
"createFailed": "Tidak dapat membuat sumber daya berbagi (Apakah berbagi diaktifkan?)"
},
"updateServer": {
"success": "Server berhasil diperbarui",
"title": "perbarui server"
}
},
"page": {
"albumArtistDetail": {
"about": "Tentang {{artist}}",
"recentReleases": "Rilis terbaru",
"viewDiscography": "Lihat diskografi",
"relatedArtists": "$t(entity.artist_other) serupa",
"topSongs": "Lagu terbaik",
"topSongsFrom": "Lagu terbaik dari {{title}}",
"viewAll": "Lihat semua",
"viewAllTracks": "Lihat semua $t(entity.track_other)",
"appearsOn": "Tampil di"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "lebih banyak dari $t(entity.artist_one) ini",
"moreFromGeneric": "lebih banyak dari {{item}}",
"released": "dirilis"
},
"albumList": {
"artistAlbums": "album dari {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
"collapseSidebar": "perkecil sidebar",
"expandSidebar": "perluas sidebar",
"goBack": "kembali",
"goForward": "maju",
"manageServers": "kelola server",
"openBrowserDevtools": "buka alat pengembang browser",
"quit": "$t(common.quit)",
"selectServer": "pilih server",
"settings": "$t(common.setting_other)",
"version": "versi {{version}}"
},
"manageServers": {
"title": "kelola server",
"serverDetails": "detail server",
"url": "URL",
"username": "nama pengguna",
"editServerDetailsTooltip": "edit detail server",
"removeServer": "hapus server"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"download": "unduh",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"numberSelected": "{{count}} terpilih",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "Bagikan item",
"showDetails": "Lihat detail",
"moveToTop": "$t(action.moveToTop)",
"play": "$t(player.play)"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "latar belakang dinamis",
"dynamicImageBlur": "ukuran blur gambar",
"dynamicIsImage": "aktifkan gambar latar belakang",
"followCurrentLyric": "ikuti lirik saat ini",
"lyricAlignment": "penyelarasan lirik",
"lyricSize": "ukuran lirik",
"opacity": "opasitas",
"showLyricMatch": "tampilkan kecocokan lirik",
"showLyricProvider": "tampilkan penyedia lirik",
"synchronized": "sinkronisasi",
"unsynchronized": "tidak sinkronisasi",
"useImageAspectRatio": "gunakan rasio aspek gambar",
"lyricOffset": "offset lirik (ms)",
"lyricGap": "jarak lirik"
},
"lyrics": "lirik",
"related": "terkait",
"upNext": "berikutnya",
"noLyrics": "tanpa lirik",
"visualizer": "visualisasi"
},
"genreList": {
"showAlbums": "Tampilkan $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "Tampilkan $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
"commands": {
"goToPage": "pergi ke halaman",
"searchFor": "cari {{query}}",
"serverCommands": "perintah server"
},
"title": "perintah"
},
"home": {
"explore": "jelajahi dari pustaka Anda",
"mostPlayed": "paling banyak diputar",
"newlyAdded": "rilis baru ditambahkan",
"recentlyPlayed": "baru saja diputar",
"title": "$t(common.home)"
},
"itemDetail": {
"copyPath": "Salin jalur ke papan klip",
"copiedPath": "Jalur berhasil disalin",
"openFile": "Tampilkan lagu di pengelola file"
},
"playlist": {
"reorder": "penataan ulang hanya aktif saat mengurutkan berdasarkan ID"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"setting": {
"advanced": "Lanjutan",
"generalTab": "umum",
"hotkeysTab": "tombol pintasan",
"playbackTab": "pemutaran",
"windowTab": "jendela"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"nowPlaying": "sedang diputar",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "berbagi $t(entity.playlist_other)",
"tracks": "$t(entity.track_other)"
},
"trackList": {
"artistTracks": "lagu oleh {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
"player": {
"addLast": "tambahkan terakhir",
"favorite": "favorit",
"mute": "bisukan",
"muted": "terbisukan",
"next": "berikutnya",
"play": "putar",
"playbackFetchCancel": "ini memerlukan waktu... tutup pemberitahuan untuk membatalkan",
"playbackFetchInProgress": "memuat lagu…",
"playbackFetchNoResults": "tidak ada lagu ditemukan",
"playbackSpeed": "kecepatan pemutaran",
"playRandom": "putar acak",
"playSimilarSongs": "putar lagu serupa",
"previous": "sebelumnya",
"queue_clear": "bersihkan antrean",
"queue_moveToBottom": "pindahkan yang terpilih ke bawah",
"queue_moveToTop": "pindahkan yang terpilih ke atas",
"queue_remove": "hapus yang terpilih",
"repeat": "ulang",
"repeat_all": "ulang semua",
"repeat_off": "ulang dimatikan",
"shuffle": "putar acak",
"shuffle_off": "acak dimatikan",
"skip": "lewati",
"skip_back": "mundur",
"skip_forward": "lewati maju",
"stop": "berhenti",
"toggleFullscreenPlayer": "aktifkan pemutar layar penuh",
"unfavorite": "bukan favorit",
"pause": "jeda",
"viewQueue": "lihat antrean",
"addNext": "tambahkan berikutnya"
},
"setting": {
"accentColor": "warna sorotan",
"accentColor_description": "menetapkan warna sorotan aplikasi",
"albumBackground": "gambar latar belakang album",
"albumBackground_description": "Tambahkan gambar latar belakang ke halaman album yang berisi sampul album",
"albumBackgroundBlur": "Ukuran blur gambar latar belakang album",
"albumBackgroundBlur_description": "Atur tingkat blur gambar latar belakang album",
"applicationHotkeys": "tombol pintasan aplikasi",
"applicationHotkeys_description": "menetapkan tombol pintasan aplikasi. centang untuk menjadikannya tombol pintasan global (desktop saja)",
"artistConfiguration": "Pengaturan halaman artis album",
"artistConfiguration_description": "Atur elemen apa yang ditampilkan dan urutannya di halaman artis album",
"audioDevice": "perangkat audio",
"audioDevice_description": "pilih perangkat audio yang digunakan untuk pemutaran (hanya pemutar web)",
"audioExclusiveMode": "mode audio eksklusif",
"audioExclusiveMode_description": "aktifkan mode audio eksklusif. Dalam mode ini, sistem biasanya diblokir, dan hanya mpv yang akan diizinkan untuk output audio",
"audioPlayer": "pemutar audio",
"audioPlayer_description": "pilih pemutar audio yang digunakan untuk pemutaran",
"buttonSize": "ukuran tombol bilah pemutaran",
"buttonSize_description": "ukuran tombol pada bilah pemutaran",
"webAudio_description": "Menggunakan audio web. Ini mengaktifkan fitur lanjutan seperti Replaygain. Nonaktifkan opsi ini jika Anda mengalami masalah",
"windowBarStyle": "gaya bilah jendela",
"windowBarStyle_description": "pilih gaya bilah jendela",
"zoom": "persentase zoom",
"zoom_description": "tentukan persentase zoom aplikasi",
"clearCache_description": "'Pembersihan keras' Feishin. Untuk membersihkan cache Feishin, kosongkan cache browser (gambar yang disimpan dan elemen lainnya). Kredensial dan pengaturan server tetap terjaga",
"clearQueryCache": "Bersihkan cache Feishin",
"clearQueryCache_description": "'Pembersihan lunak' Feishin. Ini akan menyegarkan daftar putar, metadata lagu, dan mengatur ulang lirik yang disimpan. Pengaturan, kredensial server, dan gambar cache tetap terjaga",
"clearCacheSuccess": "Cache berhasil dibersihkan",
"contextMenu": "Pengaturan menu konteks (klik kanan)",
"contextMenu_description": "Memungkinkan Anda menyembunyikan elemen yang ditampilkan dalam menu saat Anda klik kanan pada elemen. Elemen yang tidak dipilih akan disembunyikan",
"crossfadeDuration": "durasi crossfade",
"crossfadeDuration_description": "atur durasi efek crossfade",
"crossfadeStyle": "gaya crossfade",
"crossfadeStyle_description": "pilih gaya crossfade yang digunakan oleh pemutar audio",
"customCssEnable": "Aktifkan CSS kustom",
"customCssEnable_description": "Memungkinkan penulisan CSS kustom.",
"customCssNotice": "Pemberitahuan: meskipun ada sanitasi (menolak url() dan content:), menggunakan CSS kustom masih dapat berisiko mengubah antarmuka.",
"customCss": "CSS kustom",
"customCss_description": "CSS kustom konten. Catatan: content dan url eksternal adalah properti yang ditolak. Pratinjau konten Anda ditampilkan di bawah. Entri tambahan yang tidak Anda tentukan hadir karena sanitasi.",
"customFontPath": "jalur font kustom",
"customFontPath_description": "tentukan jalur font kustom yang akan digunakan aplikasi",
"disableAutomaticUpdates": "nonaktifkan pembaruan otomatis",
"discordApplicationId": "ID aplikasi {{discord}}",
"discordApplicationId_description": "ID aplikasi untuk status aktivitas {{discord}} (defaultnya adalah {{defaultId}})",
"discordIdleStatus": "tampilkan status tidak aktif dalam status aktivitas",
"discordIdleStatus_description": "ketika diaktifkan, memperbarui status saat pemutar tidak aktif",
"discordListening": "Tampilkan status sebagai mendengarkan",
"discordListening_description": "tampilkan status sebagai mendengarkan alih-alih bermain",
"discordRichPresence": "status aktivitas {{discord}}",
"discordRichPresence_description": "aktifkan status pemutaran di status aktivitas {{discord}}. Gambar tombol adalah: {{icon}}, {{playing}}, dan {{paused}}",
"discordUpdateInterval": "interval pembaruan status aktivitas {{discord}}",
"discordUpdateInterval_description": "waktu dalam detik antara setiap pembaruan (minimal 15 detik)",
"doubleClickBehavior": "masukkan semua lagu yang dicari saat mengklik dua kali",
"doubleClickBehavior_description": "jika true, semua lagu yang cocok dalam pencarian lagu akan dimasukkan ke dalam antrean. Jika tidak, hanya lagu yang dipilih yang akan dimasukkan ke dalam antrean",
"enableRemote": "aktifkan kontrol jarak jauh server",
"enableRemote_description": "aktifkan kontrol jarak jauh server untuk memungkinkan perangkat lain mengontrol aplikasi",
"externalLinks": "Tampilkan tautan eksternal",
"externalLinks_description": "Izinkan untuk menampilkan tautan eksternal (Last.fm, MusicBrainz) di halaman artis/album",
"exitToTray": "keluar ke baki",
"exitToTray_description": "keluar dari aplikasi ke baki sistem",
"floatingQueueArea": "tampilkan area antrean mengambang",
"floatingQueueArea_description": "menampilkan ikon mengambang di sisi kanan layar untuk melihat antrean pemutaran",
"followLyric": "ikuti lirik saat ini",
"followLyric_description": "gulir lirik ke posisi pemutaran saat ini",
"font": "font",
"font_description": "tentukan font yang digunakan aplikasi",
"fontType": "jenis font",
"fontType_description": "font bawaan memilih salah satu font yang disediakan oleh Feishin. font sistem memungkinkan Anda memilih font apa pun yang disediakan oleh sistem operasi Anda. kustom memungkinkan Anda memberikan font Anda sendiri",
"fontType_optionBuiltIn": "font bawaan",
"fontType_optionCustom": "font kustom",
"fontType_optionSystem": "font sistem",
"gaplessAudio": "audio tanpa jeda",
"gaplessAudio_description": "tentukan pengaturan audio tanpa jeda untuk mpv",
"gaplessAudio_optionWeak": "lemah (disarankan)",
"genreBehavior": "Perilaku default halaman genre",
"genreBehavior_description": "Menentukan apakah klik pada genre akan membuka daftar lagu atau album secara default",
"globalMediaHotkeys": "tombol pintasan media global",
"globalMediaHotkeys_description": "aktifkan atau nonaktifkan penggunaan tombol pintasan sistem media untuk mengontrol pemutaran",
"homeConfiguration": "Pengaturan halaman beranda",
"homeConfiguration_description": "Mengatur elemen mana yang ditampilkan dan urutannya di halaman beranda",
"homeFeature": "Karusel fitur beranda",
"homeFeature_description": "Mengontrol apakah karusel besar fitur ditampilkan di halaman beranda",
"hotkey_browserBack": "mundur",
"hotkey_browserForward": "maju",
"hotkey_favoriteCurrentSong": "$t(common.currentSong) favorit",
"hotkey_favoritePreviousSong": "$t(common.previousSong) favorit",
"hotkey_globalSearch": "pencarian global",
"hotkey_localSearch": "pencarian di halaman",
"hotkey_playbackNext": "lagu berikutnya",
"hotkey_playbackPause": "jeda",
"hotkey_playbackPlay": "putar",
"hotkey_playbackPlayPause": "putar / jeda",
"hotkey_playbackPrevious": "lagu sebelumnya",
"hotkey_playbackStop": "berhenti",
"hotkey_rate0": "Bersihkan penilaian",
"hotkey_rate1": "beri penilaian 1 bintang",
"hotkey_rate2": "beri penilaian 2 bintang",
"hotkey_rate3": "beri penilaian 3 bintang",
"hotkey_rate4": "beri penilaian 4 bintang",
"hotkey_rate5": "beri penilaian 5 bintang",
"hotkey_skipBackward": "mundur",
"hotkey_skipForward": "lompat ke depan",
"hotkey_toggleCurrentSongFavorite": "ubah $t(common.currentSong) menjadi favorit",
"hotkey_toggleFullScreenPlayer": "ubah pemutar menjadi layar penuh",
"hotkey_togglePreviousSongFavorite": "ubah $t(common.previousSong) menjadi favorit",
"hotkey_toggleQueue": "ubah antrean",
"hotkey_toggleRepeat": "toggle ulangi",
"hotkey_toggleShuffle": "toggle acak",
"hotkey_unfavoriteCurrentSong": "$t(common.currentSong) tidak favorit",
"hotkey_unfavoritePreviousSong": "$t(common.previousSong) tidak favorit",
"hotkey_volumeDown": "turunkan volume",
"hotkey_volumeMute": "senyapkan volume",
"hotkey_volumeUp": "naikkan volume",
"hotkey_zoomIn": "perbesar",
"hotkey_zoomOut": "perkecil",
"imageAspectRatio": "Gunakan rasio aspek sampul asli",
"imageAspectRatio_description": "Jika diaktifkan, sampul akan ditampilkan dengan rasio aspek aslinya. Untuk seni yang tidak 1:1, ruang yang tersisa akan kosong",
"language_description": "menetapkan bahasa untuk aplikasi ($t(common.restartRequired))",
"lastfmApiKey": "Kunci API untuk {{lastfm}}",
"lastfmApiKey_description": "kunci API untuk {{lastfm}}. Diperlukan untuk sampul",
"lyricFetch": "cari lirik di Internet",
"lyricFetch_description": "mencari lirik dari berbagai sumber di Internet",
"lyricFetchProvider": "penyedia untuk mencari lirik",
"lyricFetchProvider_description": "pilih penyedia untuk mencari lirik. urutan penyedia adalah urutan pencarian",
"lyricOffset": "geser lirik (ms)",
"lyricOffset_description": "geser lirik sebanyak jumlah milidetik yang ditentukan",
"minimizeToTray": "minimalkan ke baki",
"minimizeToTray_description": "minimalkan aplikasi ke baki sistem",
"minimumScrobblePercentage": "persentase durasi scrobble minimum",
"minimumScrobblePercentage_description": "persentase minimum lagu yang harus diputar sebelum melakukan scrobble",
"minimumScrobbleSeconds": "scrobble minimum (detik)",
"minimumScrobbleSeconds_description": "durasi minimum dalam detik dari lagu yang harus diputar sebelum melakukan scrobble",
"mpvExecutablePath_description": "tentukan jalur executable mpv. jika dibiarkan kosong, jalur default akan digunakan",
"mpvExtraParameters_help": "Satu per baris",
"passwordStore": "kata sandi/penyimpanan rahasia",
"passwordStore_description": "metode penyimpanan kata sandi/kunci rahasia yang akan digunakan. ubah opsi ini jika Anda mengalami masalah dalam menyimpan kata sandi.",
"playbackStyle": "gaya pemutaran",
"playbackStyle_description": "pilih gaya pemutaran yang akan digunakan oleh pemutar audio",
"playbackStyle_optionCrossFade": "crossfade",
"playbackStyle_optionNormal": "normal",
"playButtonBehavior": "perilaku tombol putar",
"playButtonBehavior_description": "tentukan perilaku default tombol putar saat lagu ditambahkan ke antrean",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerAlbumArtResolution": "resolusi sampul album pemutar",
"playerAlbumArtResolution_description": "resolusi untuk pratinjau sampul album pemutar besar. semakin besar akan membuatnya lebih tajam, tetapi dapat memperlambat pemuatan. Nilai default adalah 0, yang berarti otomatis",
"playerbarOpenDrawer": "Buka pemutar ke layar penuh",
"playerbarOpenDrawer_description": "Izinkan mengklik bilah pemutar untuk membuka pemutar di layar penuh",
"remotePassword": "kata sandi kontrol jarak jauh server",
"remotePassword_description": "tentukan kata sandi untuk kontrol jarak jauh server. Kredensial ini dikirimkan dengan tidak aman secara default, jadi Anda harus menggunakan kata sandi unik untuk menghindari masalah",
"remotePort": "port kontrol jarak jauh server",
"remotePort_description": "tentukan port untuk kontrol jarak jauh server",
"remoteUsername": "nama pengguna kontrol jarak jauh server",
"remoteUsername_description": "tentukan nama pengguna untuk kontrol jarak jauh server. jika nama pengguna dan kata sandi kosong, otentikasi akan dinonaktifkan",
"replayGainClipping": "potong {{ReplayGain}}",
"replayGainClipping_description": "mencegah pemotongan yang disebabkan oleh {{ReplayGain}} dengan menurunkan gain secara otomatis",
"replayGainFallback": "alternatif {{ReplayGain}}",
"replayGainFallback_description": "gain dalam dB yang akan diterapkan jika file tidak memiliki tag {{ReplayGain}}",
"replayGainMode": "mode {{ReplayGain}}",
"replayGainMode_description": "menyesuaikan volume gain sesuai dengan nilai {{ReplayGain}} yang disimpan dalam metadata file",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"replayGainPreamp": "preamplifier (dB) {{ReplayGain}}",
"replayGainPreamp_description": "menyesuaikan gain preamplifier yang diterapkan ke nilai {{ReplayGain}}",
"sampleRate_description": "pilih rasio sampel output yang akan digunakan jika frekuensi sampel yang dipilih berbeda dari media yang sedang diputar. nilai di bawah 8000 akan menggunakan frekuensi default",
"savePlayQueue_description": "menyimpan antrean pemutaran saat aplikasi ditutup dan mengembalikannya saat dibuka",
"scrobble": "scrobble",
"scrobble_description": "melakukan scrobble pemutaran di server media Anda",
"showSkipButton": "tampilkan tombol lompat",
"showSkipButton_description": "menampilkan atau menyembunyikan tombol lompat di bilah pemutar",
"showSkipButtons": "tampilkan tombol lompat",
"showSkipButtons_description": "menampilkan atau menyembunyikan tombol lompat di bilah pemutar",
"sidebarCollapsedNavigation": "navigasi sidebar (terlipat)",
"sidebarCollapsedNavigation_description": "tampilkan atau sembunyikan navigasi di sidebar yang terlipat",
"sidebarConfiguration": "pengaturan sidebar",
"sidebarConfiguration_description": "pilih elemen dan urutan tampilannya di sidebar",
"sidebarPlaylistList": "daftar putar sidebar",
"sidebarPlaylistList_description": "tampilkan atau sembunyikan daftar putar di sidebar",
"sidePlayQueueStyle": "gaya antrean pemutaran samping",
"sidePlayQueueStyle_description": "menetapkan gaya antrean pemutaran samping",
"sidePlayQueueStyle_optionAttached": "terpasang",
"sidePlayQueueStyle_optionDetached": "terpisah",
"skipDuration": "durasi lompat",
"skipDuration_description": "tentukan durasi untuk lompat saat menggunakan tombol lompat di bilah pemutar",
"skipPlaylistPage": "lompat halaman daftar putar",
"skipPlaylistPage_description": "saat menavigasi ke daftar putar, pergi ke halaman daftar lagu dari daftar putar alih-alih halaman default",
"startMinimized": "mulai dengan minimalkan",
"startMinimized_description": "mulai aplikasi di baki sistem",
"theme": "tema",
"theme_description": "tentukan tema yang digunakan oleh aplikasi",
"themeDark": "tema (gelap)",
"themeDark_description": "tentukan tema gelap yang digunakan oleh aplikasi",
"themeLight": "tema (terang)",
"themeLight_description": "tentukan tema terang yang digunakan oleh aplikasi",
"transcodeNote": "Akan ditampilkan setelah 1 (web) - 2 (mpv) lagu",
"transcode": "aktifkan transkode",
"transcode_description": "mengaktifkan transkode ke berbagai format",
"transcodeBitrate": "bitrate untuk transkode",
"transcodeBitrate_description": "pilih bitrate untuk ditranskode. 0 berarti biarkan server yang memilih",
"transcodeFormat": "format untuk ditranskode",
"transcodeFormat_description": "pilih format untuk ditranskode. biarkan kosong agar server yang memutuskan",
"translationApiProvider": "Penyedia API penerjemahan",
"translationApiProvider_description": "Penyedia API untuk penerjemahan",
"translationApiKey": "kunci API penerjemahan",
"translationApiKey_description": "Kunci API untuk penerjemahan (hanya untuk endpoint layanan global)",
"translationTargetLanguage": "bahasa tujuan penerjemahan",
"translationTargetLanguage_description": "bahasa tujuan untuk penerjemahan",
"trayEnabled": "Tampilkan di area pemberitahuan",
"trayEnabled_description": "tampilkan/sembunyikan ikon/menu di area pemberitahuan. Jika dinonaktifkan, juga menonaktifkan meminimalkan/keluar ke baki",
"useSystemTheme": "gunakan tema sistem",
"useSystemTheme_description": "ikuti preferensi terang atau gelap yang ditetapkan oleh sistem",
"volumeWheelStep": "langkah roda volume",
"volumeWheelStep_description": "jumlah volume yang berubah saat menggulirkan roda mouse pada penggeser volume",
"volumeWidth": "Lebar penggeser volume",
"volumeWidth_description": "Lebar penggeser volume",
"webAudio": "gunakan audio web",
"clearCache": "Bersihkan cache browser",
"disableLibraryUpdateOnStartup": "nonaktifkan pemeriksaan versi baru saat startup",
"language": "bahasa",
"mpvExecutablePath": "jalur executable mpv",
"mpvExtraParameters": "parameter tambahan mpv",
"playButtonBehavior_optionPlay": "$t(player.play)",
"sampleRate": "rasio sampel",
"savePlayQueue": "simpan antrean pemutaran"
},
"table": {
"column": {
"album": "album",
"albumArtist": "artis album",
"albumCount": "$t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"biography": "biografi",
"bitrate": "bitrate",
"bpm": "lpm",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"comment": "komentar",
"dateAdded": "tanggal ditambahkan",
"discNumber": "nomor disk",
"favorite": "favorit",
"genre": "$t(entity.genre_one)",
"lastPlayed": "terakhir diputar",
"path": "jalur",
"playCount": "putaran",
"rating": "penilaian",
"releaseDate": "tanggal rilis",
"releaseYear": "tahun",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "judul",
"trackNumber": "pista"
},
"config": {
"general": {
"autoFitColumns": "sesuaikan kolom otomatis",
"followCurrentSong": "ikuti lagu saat ini",
"displayType": "tipe tampilan",
"gap": "$t(common.gap)",
"itemGap": "jarak antar elemen (px)",
"itemSize": "ukuran elemen (px)",
"size": "$t(common.size)",
"tableColumns": "kolom tabel"
},
"label": {
"actions": "$t(common.action_other)",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "$t(common.biography)",
"bitrate": "$t(common.bitrate)",
"bpm": "$t(common.bpm)",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"dateAdded": "tanggal ditambahkan",
"discNumber": "nomor disk",
"duration": "$t(common.duration)",
"favorite": "$t(common.favorite)",
"genre": "$t(entity.genre_one)",
"lastPlayed": "terakhir diputar",
"note": "$t(common.note)",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"playCount": "jumlah putaran",
"rating": "$t(common.rating)",
"releaseDate": "tanggal rilis",
"rowIndex": "indeks baris",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "$t(common.title)",
"titleCombined": "$t(common.title) (digabungkan)",
"trackNumber": "nomor pista",
"year": "$t(common.year)"
},
"view": {
"card": "kartu",
"poster": "poster",
"table": "tabel"
}
}
}
}
+29 -233
View File
@@ -16,12 +16,7 @@
"toggleSmartPlaylistEditor": "attiva/disattiva editor $t(entity.smartPlaylist)",
"removeFromFavorites": "rimuovi da $t(entity.favorite_other)",
"moveToTop": "sposta in cima",
"moveToBottom": "sposta in fondo",
"moveToNext": "passa al successivo",
"openIn": {
"lastfm": "Apri in Last.fm",
"musicbrainz": "Apri in MusicBrainz"
}
"moveToBottom": "sposta in fondo"
},
"common": {
"backward": "indietro",
@@ -104,24 +99,7 @@
"yes": "si",
"random": "casuale",
"size": "dimensione",
"note": "nota",
"additionalParticipants": "partecipanti aggiuntivi",
"newVersion": "è stata installata una nuova versione ({{version}})",
"viewReleaseNotes": "mostra le note di rilascio",
"albumGain": "guadagno (gain) dell'album",
"albumPeak": "picco di volume dell'album",
"close": "chiudi",
"codec": "codec",
"mbid": "MusicBrainz ID",
"preview": "anteprima",
"reload": "aggiorna",
"share": "condividi",
"tags": "tags",
"trackGain": "normalizzazione (gain) del brano",
"trackPeak": "picco di volume del brano",
"translation": "traduzione",
"bitDepth": "bit depth (profondità di bit)",
"sampleRate": "sample rate (frequenza di campionamento)"
"note": "nota"
},
"player": {
"repeat_all": "ripeti coda",
@@ -135,7 +113,7 @@
"skip_back": "salta indietro",
"favorite": "preferito",
"next": "successivo",
"shuffle": "riproduzione casuale",
"shuffle": "mescola",
"playbackFetchNoResults": "nessuna canzone trovata",
"playbackFetchInProgress": "caricamento canzoni…",
"addNext": "aggiungi successivo",
@@ -152,9 +130,7 @@
"shuffle_off": "non mescolare",
"addLast": "aggiungi in coda",
"mute": "silenzia",
"skip_forward": "salta avanti",
"playSimilarSongs": "riproduci brani simili",
"viewQueue": "visualizza coda"
"skip_forward": "salta avanti"
},
"setting": {
"crossfadeStyle_description": "seleziona lo stile dissolvenza da usare per il player audio",
@@ -164,6 +140,7 @@
"audioDevice_description": "seleziona il device audioda usare per la riproduzione (solo web player)",
"theme_description": "imposta il tema da usare per l'applicazione",
"hotkey_playbackPause": "pausa",
"mpvExecutablePath_help": "uno per linea",
"hotkey_volumeUp": "alza volume",
"skipDuration": "salta durata",
"discordIdleStatus_description": "quando è attivo, aggiorna lo stato mentre il player è inattivo",
@@ -174,7 +151,7 @@
"skipDuration_description": "imposta la durata da saltare quando vengono usati i pulsanti di salto nella barra del player",
"enableRemote_description": "abilita il controllo remoto del server per permettere ad altri dispositivi di controllare l'applicazione",
"fontType_optionSystem": "font di sistema",
"mpvExecutablePath_description": "imposta il percorso dell'eseguibile mpv. se lasciato vuoto, verrà utilizzato il percorso predefinito",
"mpvExecutablePath_description": "imposta il percorso dell'eseguibile di mpv",
"hotkey_favoriteCurrentSong": "$t(common.currentSong) preferita",
"crossfadeStyle": "stile dissolvenza",
"sidebarConfiguration": "configurazione barra laterale",
@@ -233,7 +210,7 @@
"hotkey_toggleShuffle": "attiva/disattiva mescolamento",
"theme": "tema",
"playbackStyle_description": "selezione lo stile di riproduzione da usare per il player audio",
"discordRichPresence_description": "abilita lo stato di riproduzione nello stato attività di {{discord}}. Le chiavi immagine sono: {{icon}}, {{playing}} e {{paused}}",
"discordRichPresence_description": "abilita lo status del playback nello stato attività di {{discord}}. Le chiavi immagine sono: {{icon}}, {{playing}} e {{paused}} ",
"mpvExecutablePath": "percorso eseguibile mpv",
"audioDevice": "device audio",
"hotkey_rate2": "voto 2 stelle",
@@ -268,7 +245,7 @@
"customFontPath": "percorso font personalizzato",
"followLyric": "segui testo corrente",
"crossfadeDuration": "durata dissolvenza",
"discordIdleStatus": "mostra lo stato attività di Discord quando non stai riproducendo",
"discordIdleStatus": "visualizza lo stato attività in stato inattivo",
"audioPlayer": "player audio",
"hotkey_zoomOut": "rimpicciolisci layout",
"hotkey_rate0": "rimuovi voto",
@@ -292,7 +269,7 @@
"replayGainMode_description": "aggiusta il volume secondo i valori {{ReplayGain}} salvati nei metadati del file",
"showSkipButtons": "mostra pulsanti per saltare",
"sampleRate": "frequenza di campionamento",
"sampleRate_description": "seleziona la frequenza di campionamento di output da utilizzare se quella selezionata è diversa da quella del file sorgente in riproduzione. Un valore inferiore a 8000 utilizzerà la frequenza predefinita",
"sampleRate_description": "seleziona la frequenza di campionamento di output da usare se la frequenza di campionamento selezionata è diversa da quella della del media attuale",
"hotkey_togglePreviousSongFavorite": "imposta/rimuovi $t(common.previousSong) favorito",
"hotkey_unfavoritePreviousSong": "rimuovi $t(common.previousSong) dai preferiti",
"showSkipButton_description": "mostra o nascondi i pulsanti per saltare nella barra del player",
@@ -312,99 +289,7 @@
"replayGainFallback_description": "gain in db da applicare se il file non possiede tag {{ReplayGain}}",
"replayGainPreamp_description": "aggiusta la preamplificazione del gain applicato sui valori {{ReplayGain}}",
"skipPlaylistPage": "Salta la pagina playlist",
"sidebarCollapsedNavigation": "navigazione con barra laterale (collassata)",
"clearCache_description": "pulitura \"forzata\" di feishin. Oltre a pulire la cache di feishin, elimina la cache del browser(immagini salvate e altri elementi). credenziali e impostazioni del server saranno mantenute",
"clearQueryCache": "pulisci cache di feishin",
"buttonSize_description": "Dimensione bottoni nella barra di riproduzione",
"clearCache": "pulisci la cache del browser",
"clearQueryCache_description": "\"leggera\" pulizia di feishin. verranno aggiornate le playlist, metadata delle tracce e i testi salvati. impostazioni, credenziali del server e le immagini salvate saranno mantenute",
"albumBackground": "immagine di sfondo dell'album",
"albumBackground_description": "aggiunge un'immagine di sfondo per le pagine degli album contenenti l'album art",
"albumBackgroundBlur": "intensità sfocatura immagine di sfondo dell'album",
"albumBackgroundBlur_description": "regola la quantità di sfocatura applicata all'immagine di sfondo dell'album",
"artistConfiguration": "configurazione della pagina artista dellalbum",
"artistConfiguration_description": "configurare quali elementi vengono visualizzati, e in quale ordine, nella pagina dell'artista dell'album",
"buttonSize": "dimensione del bottone nella barra di riproduzione",
"clearCacheSuccess": "cache pulita correttamente",
"contextMenu": "configurazione menu contestuale (clic destro)",
"contextMenu_description": "consente di nascondere gli elementi che vengono visualizzati nel menu quando si fa clic destro su un elemento. gli oggetti non selezionati saranno nascosti",
"customCssEnable": "abilita css personalizzato",
"customCssEnable_description": "consente di scrivere css personalizzati.",
"customCssNotice": "Attenzione: sebbene ci sia una certa sanitizzazione (vengono bloccati url() e content:), luso di CSS personalizzati può comunque comportare dei rischi modificando linterfaccia.",
"customCss": "css personalizzato",
"customCss_description": "contenuto CSS personalizzato. Nota: le proprietà content e gli URL remoti non sono consentiti. Di seguito è mostrata unanteprima del tuo contenuto. Sono presenti anche altri campi non impostati da te a causa della sanitizzazione.",
"discordPausedStatus": "mostra lo stato attività di Discord quando la riproduzione è in pausa",
"discordPausedStatus_description": "quando abilitato, verrà mostrato lo stato del lettore in standby/pausa (nessun brano in riproduzione)",
"discordListening": "mostra stato come in ascolto",
"discordListening_description": "mostra lo stato come in ascolto invece che in riproduzione",
"discordServeImage": "recupera le immagini di {{discord}} dal server",
"discordServeImage_description": "condividi la copertina per lo stato attività di {{discord}} direttamente dal server, disponibile solo per Jellyfin e Navidrome",
"doubleClickBehavior": "aggiungi alla coda tutte le tracce cercate, con un doppio clic",
"doubleClickBehavior_description": "se attivato, tutte le tracce corrispondenti alla ricerca verranno aggiunte alla coda. altrimenti, verrà aggiunta alla coda solo la traccia selezionata",
"externalLinks": "mostra link esterni",
"externalLinks_description": "consente di visualizzare link esterni (Last.fm, MusicBrainz) sulle pagine di artista/album",
"preferLocalLyrics": "utilizza i testi locali",
"preferLocalLyrics_description": "usa i testi locali anziché quelli online, quando disponibili",
"genreBehavior": "comportamento predefinito della pagina genere",
"genreBehavior_description": "determina se cliccando su un genere si apre di default la lista dei brani o degli album",
"homeConfiguration": "configurazione della home page",
"homeConfiguration_description": "configura quali elementi vengono mostrati e in quale ordine nella home page",
"homeFeature": "carosello in evidenza nella home page",
"homeFeature_description": "controlla se mostrare il grande carosello in evidenza nella pagina principale",
"imageAspectRatio": "usa dimensioni originali(aspect ratio) della copertina",
"imageAspectRatio_description": "se abilitato, la copertina verrà mostrata utilizzando le dimesioni originali. per le immagini con rapporto diverso da 1:1, lo spazio residuo resterà vuoto",
"lastfm": "mostra links last.fm",
"lastfm_description": "mostra i link per last.fm sulle pagine di artista/album",
"lastfmApiKey": "{{lastfm}} chiave API",
"lastfmApiKey_description": "chiave API per {{lastfm}}. necessaria per visualizzare le copertine",
"mpvExtraParameters_help": "uno per linea",
"musicbrainz": "mostra links musicbrainz",
"musicbrainz_description": "mostra link a musicbrainz sulle pagine degli artisti/album, se è disponibile un mbid",
"neteaseTranslation": "Abilita traduzioni di NetEase",
"neteaseTranslation_description": "Se abilitato, recupera e mostra i testi tradotti da NetEase, se disponibili.",
"passwordStore": "Archivio di password/segreti",
"passwordStore_description": "specifica quale archivio di password e segreti utilizzare. modificalo in caso di problemi nel salvataggio delle credenziali.",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerAlbumArtResolution": "risoluzione della copertina nel lettore",
"playerAlbumArtResolution_description": "la risoluzione dellanteprima della copertina nel lettore in formato grande. valori più alti la rendono più nitida, ma possono rallentare il caricamento. Il valore predefinito è 0, che indica la modalità automatica",
"sidePlayQueueStyle_optionAttached": "fissata",
"sidePlayQueueStyle_optionDetached": "sganciata",
"startMinimized": "avvia minimizzato",
"startMinimized_description": "avvia l'app nella barra di sistema",
"transcodeNote": "ha effetto dopo 1 brano (web) - 2 brani (mpv)",
"transcode": "abilita la transcodifica",
"transcode_description": "abilita la transcodifica in formati diversi",
"playerbarOpenDrawer": "attiva/disattiva schermo intero",
"playerbarOpenDrawer_description": "consente di cliccare sulla barra del lettore per aprire il lettore a schermo intero",
"replayGainClipping": "clipping di {{ReplayGain}}",
"replayGainFallback": "metodo alternativo di {{ReplayGain}}",
"transcodeBitrate": "bitrate per la transcodifica",
"transcodeBitrate_description": "seleziona il bitrate per la transcodifica. 0 significa lasciare che sia il server a scegliere",
"transcodeFormat": "formato per la transcodifica",
"transcodeFormat_description": "seleziona il formato per la transcodifica. se vuoto viene decisco dal server",
"translationApiProvider": "translation api provider",
"translationApiProvider_description": "api provider for translation",
"translationApiKey": "chiave api translation",
"translationApiKey_description": "chiave api per la traduzione (supporta solo endpoint di servizio globali)",
"translationTargetLanguage": "lingua di destinazione della traduzione",
"translationTargetLanguage_description": "lingua di destinazione per la traduzione",
"trayEnabled": "Mostra icona app nella barra di sistema",
"trayEnabled_description": "mostra/nascondi icona app nella barra si sistema. se disabilitato, disattiva anche minimizza/chiudi nella barra di sistema",
"volumeWidth": "larghezza della barra del volume",
"webAudio": "use audio web",
"webAudio_description": "usa audio web. abilita funzionalità avanzate come ReplayGain. disabilita se riscontri problemi",
"preservePitch": "mantieni tono (pitch)",
"preservePitch_description": "mantiene il tono (pitch) durante la modifica della velocità di riproduzione",
"volumeWidth_description": "larghezza del cursore del volume",
"discordDisplayType_description": "modifica cosa stai ascoltando nel tuo stato",
"discordDisplayType_songname": "titolo traccia",
"discordDisplayType_artistname": "nome artisti",
"hotkey_navigateHome": "vai alla schermata iniziale",
"notify": "abilita notifiche delle tracce",
"notify_description": "mostra una notifica quando cambia la traccia riprodotta",
"preventSleepOnPlayback": "non sospendere in riproduzione",
"preventSleepOnPlayback_description": "non sospendere il sistema quando la riproduzione è attiva",
"discordDisplayType": "stile dello stato su {{discord}}"
"sidebarCollapsedNavigation": "navigazione con barra laterale (collassata)"
},
"error": {
"remotePortWarning": "riavvia il server per applicare la nuova porta",
@@ -425,12 +310,7 @@
"mpvRequired": "MPV richiesto",
"audioDeviceFetchError": "si è verificato un errore nel provare ad ottenre i device audio",
"invalidServer": "server non valido",
"loginRateError": "troppi tentativi di accesso, per favore riprova tra qualche secondo",
"badAlbum": "stai visualizzando questa pagina perché questa canzone non fa parte di un album. probabilmente vedi questo messaggio perché hai una canzone posizionata direttamente nella cartella principale della tua libreria musicale. jellyfin raggruppa le tracce solo se si trovano allinterno di una cartella.",
"badValue": "opzione non valida \"{{value}}\". valore inesistente",
"networkError": "si è verificato un errore di rete",
"openError": "impossibile aprire il file",
"notificationDenied": "i permessi per le notifiche non sono stati concessi. questa configurazione non ha effetto"
"loginRateError": "troppi tentativi di accesso, per favore riprova tra qualche secondo"
},
"filter": {
"mostPlayed": "più riprodotti",
@@ -488,9 +368,7 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"myLibrary": "la mia libreria",
"shared": "condivisa $t(entity.playlist_other)"
"albumArtists": "$t(entity.albumArtist_other)"
},
"fullscreenPlayer": {
"config": {
@@ -504,16 +382,11 @@
"unsynchronized": "non sinncronizzato",
"lyricAlignment": "allineamento testo",
"useImageAspectRatio": "usa le proporzioni dell'immagine",
"lyricGap": "gap testo",
"dynamicImageBlur": "intensità sfocatura immagine",
"dynamicIsImage": "abilita immagine di sfondo",
"lyricOffset": "ritardo testi (ms)"
"lyricGap": "gap testo"
},
"upNext": "successivamente",
"lyrics": "testi",
"related": "correlati",
"visualizer": "visualizzatore audio",
"noLyrics": "nessun testo trovato"
"related": "correlati"
},
"appMenu": {
"selectServer": "seleziona server",
@@ -525,9 +398,7 @@
"openBrowserDevtools": "apri devtools browser",
"quit": "$t(common.quit)",
"goBack": "torna indietro",
"goForward": "vai avanti",
"privateModeOff": "disabilita modalità privata",
"privateModeOn": "abilita modalità privata"
"goForward": "vai avanti"
},
"contextMenu": {
"addToPlaylist": "$t(action.addToPlaylist)",
@@ -545,15 +416,7 @@
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "{{count}} selezionati",
"removeFromQueue": "$t(action.removeFromQueue)",
"download": "download",
"moveToNext": "$t(action.moveToNext)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "condividi elemento",
"showDetails": "mostra info",
"goToAlbum": "vai a $t(entity.album_one)",
"goToAlbumArtist": "vai a $t(entity.albumArtist_one)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"home": {
"mostPlayed": "più riprodotti",
@@ -564,28 +427,22 @@
},
"albumDetail": {
"moreFromArtist": "di più da questo $t(entity.artist_one)",
"moreFromGeneric": "di più da {{item}}",
"released": "rilasciato"
"moreFromGeneric": "di più da {{item}}"
},
"setting": {
"playbackTab": "riproduzione",
"generalTab": "generale",
"hotkeysTab": "tasti a scelta rapida",
"windowTab": "finestra",
"advanced": "avanzate"
"windowTab": "finestra"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "mostra $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "mostra $t(entity.genre_one) $t(entity.track_other)"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "tracce di {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"commands": {
@@ -599,36 +456,7 @@
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "albums di {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"albumArtistDetail": {
"about": "Info {{artist}}",
"appearsOn": "compare su",
"recentReleases": "uscite recenti",
"viewDiscography": "mostra discografia",
"relatedArtists": "correlati $t(entity.artist_other)",
"topSongs": "brani migliori",
"topSongsFrom": "brani migliori da {{title}}",
"viewAll": "mostra tutto",
"viewAllTracks": "mostra tutto $t(entity.track_other)"
},
"manageServers": {
"title": "gestisci servers",
"serverDetails": "dettagli server",
"url": "URL",
"username": "nome utente",
"editServerDetailsTooltip": "modifica dettagli server",
"removeServer": "rimuovi server"
},
"itemDetail": {
"copyPath": "copia percorso negli appunti",
"copiedPath": "percorso copiato con successo",
"openFile": "mostra traccia nel gestore file"
},
"playlist": {
"reorder": "riordino abilitato solo quando si ordina per id"
"title": "$t(entity.album_other)"
}
},
"form": {
@@ -659,7 +487,7 @@
"error_savePassword": "si è verificato un errore quando si è provato a salvare la password"
},
"addToPlaylist": {
"success": "aggiunto $t(entity.trackWithCount, {\"count\": {{message}} }) a $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "aggiunto {{message}} $t(entity.song_other) a {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "aggiungi a $t(entity.playlist_one)",
"input_skipDuplicates": "salta duplicati",
"input_playlists": "$t(entity.playlist_other)"
@@ -670,8 +498,7 @@
},
"queryEditor": {
"input_optionMatchAll": "soddisfa tutti",
"input_optionMatchAny": "soddisfa qualsiasi",
"title": "editor di query"
"input_optionMatchAny": "soddisfa qualsiasi"
},
"lyricSearch": {
"input_name": "$t(common.name)",
@@ -679,22 +506,7 @@
"title": "cerca testi"
},
"editPlaylist": {
"title": "modifica $t(entity.playlist_one)",
"publicJellyfinNote": "Jellyfin non mostra se una playlist è pubblica o meno. Se vuoi che rimanga pubblica, assicurati di selezionare lopzione seguente",
"success": "$t(entity.playlist_one) aggiornato con successo"
},
"shareItem": {
"allowDownloading": "consentire il download",
"description": "descrizione",
"setExpiration": "imposta scadenza",
"success": "link di condivisione copiato negli appunti (o clicca qui per aprirlo)",
"expireInvalid": "la scadenza deve essere nel futuro",
"createFailed": "condivisione fallita (è abilitata la condivisione?)"
},
"privateMode": {
"enabled": "la modalità privata è abilitata: lo stato di riproduzione viene ora nascosto alle integrazioni esterne",
"disabled": "la modalità privata è disabilitata: lo stato di riproduzione è ora visibile alle integrazioni esterne abilitate",
"title": "modalità privata"
"title": "modifica $t(entity.playlist_one)"
}
},
"table": {
@@ -704,17 +516,11 @@
"gap": "$t(common.gap)",
"tableColumns": "tabella colonne",
"autoFitColumns": "adatta colonne automaticamente",
"size": "$t(common.size)",
"followCurrentSong": "segui il brano corrente",
"itemGap": "spaziatura tra gli elementi (px)",
"itemSize": "dimensione dellelemento (px)"
"size": "$t(common.size)"
},
"view": {
"table": "tabella",
"card": "Scheda",
"grid": "griglia",
"list": "lista",
"poster": "poster"
"card": "Scheda"
},
"label": {
"releaseDate": "data rilascio",
@@ -742,9 +548,7 @@
"discNumber": "numero disco",
"favorite": "$t(common.favorite)",
"year": "$t(common.year)",
"albumArtist": "$t(entity.albumArtist_one)",
"codec": "$t(common.codec)",
"songCount": "$t(entity.track_other)"
"albumArtist": "$t(entity.albumArtist_one)"
}
},
"column": {
@@ -769,9 +573,7 @@
"albumArtist": "artista album",
"path": "percorso",
"discNumber": "disco",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)",
"codec": "$t(common.codec)"
"channels": "$t(common.channel_other)"
}
},
"entity": {
@@ -820,12 +622,6 @@
"genreWithCount_other": "{{count}} generi",
"trackWithCount_one": "{{count}} traccia",
"trackWithCount_many": "{{count}} tracce",
"trackWithCount_other": "{{count}} tracce",
"play_one": "{{count}} riproduzione",
"play_many": "{{count}} riproduzioni",
"play_other": "{{count}} riproduzioni",
"song_one": "traccia",
"song_many": "tracce",
"song_other": "tracce"
"trackWithCount_other": "{{count}} tracce"
}
}
+4 -4
View File
@@ -41,6 +41,7 @@
"hotkey_playbackPause": "一時停止",
"replayGainFallback": "{{ReplayGain}} フォールバック",
"sidebarCollapsedNavigation_description": "折りたたみサイドバーのナビゲーションを表示/非表示にします",
"mpvExecutablePath_help": "1行ごとに1アイテム",
"hotkey_volumeUp": "音量を上げる",
"skipDuration": "スキップの長さ",
"discordIdleStatus_description": "プレイヤーがアイドル状態でもステータスを更新します",
@@ -122,7 +123,7 @@
"hotkey_toggleShuffle": "シャッフルの切り替え",
"theme": "テーマ",
"playbackStyle_description": "オーディオプレーヤーに使用する再生スタイルを選択します",
"discordRichPresence_description": "{{discord}} のRich Presenceに再生ステータスを表示するようにします。画像キー: {{icon}}, {{playing}}, {{paused}}",
"discordRichPresence_description": "{{discord}} のRich Presenceに再生ステータスを表示するようにします。画像キー: {{icon}}, {{playing}}, {{paused}} ",
"mpvExecutablePath": "mpv 実行ファイルパス",
"audioDevice": "オーディオデバイス",
"hotkey_rate2": "2つ星で評価",
@@ -353,8 +354,7 @@
"albumArtist": "アルバムアーティスト",
"path": "パス",
"discNumber": "ディスク",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)"
"channels": "$t(common.channel_other)"
}
},
"error": {
@@ -553,7 +553,7 @@
"error_savePassword": "パスワードを保存する際にエラーが発生しました"
},
"addToPlaylist": {
"success": "{{message}} $t(entity.track_other) を {{numOfPlaylists}} $t(entity.playlist_other) に追加しました",
"success": "{{message}} $t(entity.song_other) を {{numOfPlaylists}} $t(entity.playlist_other) に追加しました",
"title": "$t(entity.playlist_one) に追加",
"input_skipDuplicates": "重複をスキップ",
"input_playlists": "$t(entity.playlist_other)"
-286
View File
@@ -1,286 +0,0 @@
{
"action": {
"createPlaylist": "$t(entity.playlist_one) 생성",
"addToFavorites": "$t(entity.favorite_other)에 추가",
"addToPlaylist": "$t(entity.playlist_one)에 추가",
"clearQueue": "대기열 지우기",
"deletePlaylist": "$t(entity.playlist_one) 삭제",
"deselectAll": "모두 선택 해제",
"editPlaylist": "$t(entity.playlist_one) 편집",
"goToPage": "페이지 이동",
"moveToBottom": "맨 아래로 이동",
"moveToTop": "맨 위로 이동",
"moveToNext": "다음으로 이동",
"removeFromQueue": "대기열에서 제거",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "$t(entity.favorite_other)에서 제거",
"removeFromPlaylist": "$t(entity.playlist_one)에서 제거",
"openIn": {
"musicbrainz": "MusicBrainz에서 보기",
"lastfm": "Last.fm에서 보기"
},
"viewPlaylists": "$t(entity.playlist_other) 보기",
"setRating": "평점 지정"
},
"common": {
"translation": "번역",
"resetToDefault": "기본 설정으로 되돌리기",
"right": "오른쪽",
"save": "저장",
"increase": "증가",
"version": "버전",
"year": "년",
"reset": "초기화",
"random": "랜덤",
"close": "닫기",
"codec": "코덱",
"create": "만들기",
"disc": "디스크",
"gap": "갭",
"left": "왼쪽",
"add": "추가",
"backward": "뒤로",
"saveAs": "(으)로 저장하기",
"search": "검색",
"setting": "설정",
"share": "공유",
"size": "크기",
"sortOrder": "순서",
"title": "곡명",
"trackNumber": "트랙번호",
"trackGain": "트랙 게인",
"trackPeak": "트랙 피크",
"unknown": "알 수 없음",
"cancel": "취소",
"clear": "지우기",
"collapse": "접기",
"comingSoon": "조만간…",
"configure": "설정",
"confirm": "확인",
"currentSong": "현재 $t(entity.track_one)",
"decrease": "감소",
"delete": "삭제",
"descending": "내림차순",
"description": "설명",
"disable": "비활성",
"edit": "편집",
"enable": "활성",
"expand": "확장",
"favorite": "즐겨찾기",
"forceRestartRequired": "변경 사항을 적용하려면 재실행 하세요... 알림을 닫으면 재실행합니다",
"forward": "앞으로",
"limit": "제한",
"manage": "관리하다",
"maximize": "최대화",
"menu": "메뉴",
"minimize": "최소화",
"modified": "수정된",
"name": "이름",
"path": "경로",
"playerMustBePaused": "플레이어가 일시정지 되어야 합니다",
"preview": "미리보기",
"previousSong": "이전곡 $t(entity.track_one)",
"quit": "종료",
"refresh": "새로고침",
"reload": "리로드",
"restartRequired": "반드시 재실행되어야 합니다",
"saveAndReplace": "저장하고 변경하기",
"yes": "네",
"ascending": "오름차순",
"areYouSure": "확실한가요?",
"bitrate": "비트 전송률",
"bpm": "bpm",
"biography": "바이오그래피",
"center": "중앙",
"channel_other": "채널",
"filter_other": "필터",
"mbid": "MusicBrainz ID",
"dismiss": "닫기",
"duration": "길이",
"home": "홈",
"no": "아니오",
"none": "없음",
"rating": "평점"
},
"entity": {
"albumWithCount_other": "{{count}} 앨범",
"artist_other": "아티스트",
"artistWithCount_other": "{{count}} 아티스트",
"favorite_other": "즐겨찾기",
"folder_other": "폴더",
"genre_other": "장르",
"genreWithCount_other": "{{count}} 장르",
"playlist_other": "플레이리스트",
"album_other": "앨범",
"albumArtist_other": "앨범 아티스트",
"albumArtistCount_other": "{{count}} 앨범 아티스트",
"folderWithCount_other": "{{count}} 폴더",
"trackWithCount_other": "{{count}} 트랙",
"song_other": "곡",
"play_other": "{{count}} 재생",
"playlistWithCount_other": "{{count}} 재생목록",
"smartPlaylist": "스마트 $t(entity.playlist_one)",
"track_other": "트랙"
},
"error": {
"systemFontError": "시스템 폰트를 가져오는데 실패하였습니다",
"loginRateError": "너무 많은 로그인 시도하였습니다 잠시 후 다시 시도해 주세요",
"mpvRequired": "MPV 필요",
"openError": "파일을 열 수 없습니다",
"remoteDisableError": "원격 서버를 $t(common.disable) 하는데 실패하였습니다",
"playbackError": "미디어를 재생하는 도중에 에러가 발생하였습니다",
"remoteEnableError": "원격 서버를 $t(common.enable) 하는데 실패하였습니다",
"serverNotSelectedError": "선택된 서버가 없습니다",
"serverRequired": "서버가 필요합니다",
"sessionExpiredError": "세션이 만료되었습니다",
"networkError": "네트워크 에러가 발생하였습니다",
"remotePortError": "원격 서버의 포트 설정하는데 실패하였습니다",
"remotePortWarning": "새로 설정한 포트를 적용하기 위해 서버를 재실행 해 주세요",
"audioDeviceFetchError": "오디오 장치를 불러올 수 없습니다",
"authenticationFailed": "인증 실패",
"badAlbum": "이 곡은 앨범의 일부가 아니기 때문에 표시되는 것입니다. 음악 폴더의 최상위에 곡이 있는 경우 이런 문제가 발생할 가능성이 높습니다. Jellyfin은 폴더 내 그룹만 추적합니다.",
"credentialsRequired": "인증서가 필요함",
"endpointNotImplementedError": "엔드포인트 {{endpoint}} 는 {{serverType}} 에 대해 구현되지 않았습니다",
"genericError": "에러가 발생했습니다",
"invalidServer": "잘못된 서버",
"localFontAccessDenied": "로컬 글꼴에 접근 거부되었습니다"
},
"filter": {
"title": "곡명",
"isRecentlyPlayed": "최근에 재생한",
"name": "이름",
"path": "경로",
"playCount": "재생 횟수",
"random": "무작위",
"recentlyAdded": "최근에 추가된",
"releaseDate": "발매일",
"recentlyPlayed": "최근에 재생된",
"recentlyUpdated": "최근에 업데이트된",
"search": "검색",
"dateAdded": "추가된 날짜",
"lastPlayed": "마지막으로 재생한",
"mostPlayed": "가장 많이 재생한",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"communityRating": "커뮤니티 평점",
"criticRating": "비평가 평점",
"disc": "디스크",
"bitrate": "비트 전송률",
"biography": "바이오그래피",
"channels": "$t(common.channel_other)",
"duration": "길이",
"bpm": "bpm"
},
"form": {
"addServer": {
"title": "서버 추가하기",
"success": "서버 추가하였습니다",
"input_name": "서버 이름",
"input_password": "비밀번호",
"input_savePassword": "비밀번호 저장하기",
"input_url": "url",
"error_savePassword": "비밀번호를 저장하는 도중 오류가 발생했습니다",
"ignoreCors": "CORS 무시 ($t(common.restartRequired))",
"ignoreSsl": "SSL 무시 ($t(common.restartRequired))",
"input_legacyAuthentication": "레거시 인증 사용",
"input_username": "유저 이름"
},
"addToPlaylist": {
"input_skipDuplicates": "중복 건너뛰기",
"title": "$t(entity.playlist_one) 에 추가",
"input_playlists": "$t(entity.playlist_other)"
},
"lyricSearch": {
"title": "가사 검색",
"input_name": "$t(common.name)",
"input_artist": "$t(entity.artist_one)"
},
"queryEditor": {
"input_optionMatchAll": "모두 일치",
"input_optionMatchAny": "무엇이든 일치"
},
"editPlaylist": {
"title": "$t(entity.playlist_one) 편집",
"publicJellyfinNote": "Jellyfin은 재생목록 공개 여부를 노출하지 않습니다. 만약 공개되길 원한다면 다음을 선택하세요",
"success": "$t(entity.playlist_one) 업데이트 되었습니다"
},
"shareItem": {
"allowDownloading": "다운로드 허용",
"description": "설명",
"success": "클립보드에 공유 링크를 복사했습니다 (또는 열어보려면 클릭하세요)",
"expireInvalid": "만료 날짜는 미래 날짜여야만 합니다",
"createFailed": "공유 링크를 생성하는데 실패하였습니다 (혹시 공유하기 설정되어 있나요?)",
"setExpiration": "만료 기간 설정하기"
},
"updateServer": {
"title": "서버 업데이트",
"success": "서버 업데이트 되었습니다"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"success": "$t(entity.playlist_one)를 생성했습니다",
"input_owner": "$t(common.owner)",
"input_public": "공개",
"title": "$t(entity.playlist_one) 생성"
},
"deletePlaylist": {
"input_confirm": "확인을 위해 $t(entity.playlist_one)의 이름을 적어주세요",
"success": "$t(entity.playlist_one)가 삭제되었습니다",
"title": "$t(entity.playlist_one) 삭제"
}
},
"page": {
"appMenu": {
"goBack": "뒤로",
"selectServer": "서버를 선택하세요",
"goForward": "앞으로",
"manageServers": "서버 설정하기",
"openBrowserDevtools": "브라우저 개발자 도구 열기",
"version": "버전 {{version}}"
},
"manageServers": {
"title": "서버 설정하기",
"serverDetails": "서버 세부설정",
"editServerDetailsTooltip": "서버 세부설정 편집하기",
"url": "URL",
"username": "username",
"removeServer": "서버 제거하기"
},
"fullscreenPlayer": {
"config": {
"opacity": "투명도",
"lyricAlignment": "가사 정렬",
"useImageAspectRatio": "이미지 종횡비 사용",
"synchronized": "동기화",
"unsynchronized": "비동기화"
},
"lyrics": "가사"
},
"contextMenu": {
"download": "다운로드",
"numberSelected": "{{count}}개 선택됨"
},
"albumArtistDetail": {
"about": "{{artist}}에 대해",
"viewDiscography": "디스코그래피 보기",
"appearsOn": "참여 앨범",
"recentReleases": "최근 앨범",
"relatedArtists": "연관 $t(entity.artist_other)"
}
},
"table": {
"config": {
"label": {
"playCount": "재생 횟수",
"dateAdded": "추가된 날짜"
},
"view": {
"card": "카드",
"poster": "포스터",
"table": "표"
}
}
}
}
+1 -526
View File
@@ -1,526 +1 @@
{
"action": {
"openIn": {
"lastfm": "Åpne i Last.fm",
"musicbrainz": "Åpne i MusicBrainz"
},
"moveToBottom": "flytt til bunnen",
"deletePlaylist": "slett $t(entity.playlist_one)",
"deselectAll": "avmarker alle",
"editPlaylist": "rediger $t(entity.playlist_one)",
"addToFavorites": "legg til $t(entity.favorite_other)",
"addToPlaylist": "legg til $t(entity.playlist_one)",
"clearQueue": "tøm kø",
"createPlaylist": "opprett $t(entity.playlist_one)",
"goToPage": "gå til side",
"moveToTop": "flytt til toppen",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "fjern fra $t(entity.favorite_other)",
"moveToNext": "flytt til neste",
"setRating": "angi vurdering",
"removeFromQueue": "fjern fra kø",
"removeFromPlaylist": "fjern fra $t(entity.playlist_one)",
"viewPlaylists": "vise $t(entity.playlist_other)",
"toggleSmartPlaylistEditor": "bytt $t(entity.smartPlaylist) editor"
},
"common": {
"bpm": "bpm",
"cancel": "avbryt",
"center": "midtstill",
"clear": "tøm",
"collapse": "slå sammen",
"configure": "konfigurer",
"confirm": "bekreft",
"currentSong": "gjeldende $t(entity.track_one)",
"version": "versjon",
"areYouSure": "er du sikker?",
"ascending": "stigende",
"backward": "bakover",
"biography": "biografi",
"bitrate": "bithastighet",
"close": "lukk",
"codec": "kodek",
"comingSoon": "kommer snart…",
"create": "opprett",
"decrease": "minsk",
"disable": "deaktiver",
"disc": "skive",
"duration": "lengde",
"enable": "aktiver",
"expand": "utvid",
"favorite": "favoritt",
"filters": "filter",
"forceRestartRequired": "ta omstart for å la endringene trå i kraft... lukk meldingen for å ta omstart",
"forward": "fremover",
"gap": "avstand",
"home": "hjem",
"increase": "øke",
"left": "venstre",
"limit": "grense",
"menu": "meny",
"minimize": "minimer",
"modified": "modifisert",
"mbid": "MusicBrainz ID",
"name": "navn",
"no": "nei",
"none": "ingen",
"noResultsFromQuery": "spørringen ga ikke noe resultat",
"note": "merke",
"owner": "eier",
"playerMustBePaused": "spilleren må settes på pause",
"path": "sti",
"previousSong": "forrige $t(entity.track_one)",
"refresh": "frisk opp",
"rating": "vurdering",
"random": "vilkårlig",
"reset": "tilbakestill",
"restartRequired": "omstart nødvendig",
"save": "lagre",
"saveAs": "lagre som",
"saveAndReplace": "lagre og overskriv",
"search": "søk",
"trackGain": "forsterkningsgrad spor",
"trackPeak": "maksnivå spor",
"translation": "oversettelse",
"unknown": "ukjent",
"preview": "forhåndsvisning",
"share": "del",
"quit": "avslutt",
"size": "størrelse",
"setting": "innstilling",
"trackNumber": "spor",
"title": "tittel",
"channel_one": "kanal",
"channel_other": "kanaler",
"filter_one": "filter",
"filter_other": "filter",
"add": "legg til",
"edit": "rediger",
"resetToDefault": "nullstill",
"ok": "ok",
"reload": "last inn på nytt",
"action_one": "handling",
"action_other": "handlinger",
"year": "år",
"yes": "ja",
"descending": "synkende",
"dismiss": "lukk",
"delete": "slett",
"description": "beskrivelse",
"manage": "håndtere",
"maximize": "maksimer",
"right": "høyre",
"sortOrder": "rekkefølge",
"tags": "tagger",
"newVersion": "en ny versjon har blitt installert ({{version}})",
"viewReleaseNotes": "se utgivelsesnotater",
"additionalParticipants": "ytterligere deltakere",
"albumGain": "gjennomsnittlig lydnivå for album",
"albumPeak": "høyeste lydnivå for album",
"bitDepth": "bitdybde",
"sampleRate": "samplingsfrekvens"
},
"entity": {
"smartPlaylist": "smart $t(entity.playlist_one)",
"album_one": "album",
"album_other": "album",
"albumArtist_one": "albumartist",
"albumArtist_other": "albumartister",
"albumArtistCount_one": "{{count}} albumartist",
"albumArtistCount_other": "{{count}} albumartister",
"albumWithCount_one": "{{count}} album",
"albumWithCount_other": "{{count}} album",
"favorite_one": "favoritt",
"favorite_other": "favoritter",
"folder_one": "mappe",
"folder_other": "mapper",
"play_one": "{{count}} avspilling",
"play_other": "{{count}} avspillinger",
"playlistWithCount_one": "{{count}} spilleliste",
"playlistWithCount_other": "{{count}} spillelister",
"artistWithCount_one": "{{count}} artist",
"artistWithCount_other": "{{count}} artister",
"genre_one": "sjanger",
"genre_other": "sjangere",
"track_one": "spor",
"track_other": "spor",
"genreWithCount_one": "{{count}} sjanger",
"genreWithCount_other": "{{count}} sjangere",
"playlist_one": "spilleliste",
"playlist_other": "spillelister",
"folderWithCount_one": "{{count}} mappe",
"folderWithCount_other": "{{count}} mapper",
"trackWithCount_one": "{{count}} spor",
"trackWithCount_other": "{{count}} spor",
"artist_one": "artist",
"artist_other": "artister",
"song_one": "sang",
"song_other": "sanger"
},
"error": {
"apiRouteError": "kan ikke behandle forespørselen",
"mpvRequired": "MPV er påkrevd",
"authenticationFailed": "autentisering feilet",
"badAlbum": "du ser denne siden fordi sangen ikke er med i et album. Mest sannsynlig opplever du dette problemet fordi du har en sang helt øverst i musikkmappen. Jellyfin grupperer kun spor som ligger i en mappe.",
"endpointNotImplementedError": "endepunkt {{endpoint}} er ikke implementert for {{serverType}}",
"credentialsRequired": "innloggingsdetaljer er påkrevd",
"genericError": "en feil har oppstått",
"invalidServer": "ugyldig server",
"playbackError": "et problem oppstod ved avspilling av media",
"localFontAccessDenied": "ingen tilgang til lokale skrifttyper",
"loginRateError": "for mange innloggingsforsøk, vennligst prøv igjen om noen få sekunder",
"audioDeviceFetchError": "en feil oppstod ved innhenting av lydenheter",
"networkError": "at nettverksproblem har oppstått",
"openError": "kunne ikke åpne fil",
"serverNotSelectedError": "ingen server er valgt",
"remotePortError": "et problem oppstod med å sette serverport",
"systemFontError": "et problem oppstod med innlasting av systemskrifttyper",
"serverRequired": "server er påkrevd",
"sessionExpiredError": "sesjonen din har utløpt",
"remotePortWarning": "ta omstart av serveren for å aktivere ny port",
"remoteDisableError": "en problem oppstod ved å $t(common.disable) serveren",
"remoteEnableError": "et problem oppstod ved å $t(common.enable) serveren",
"notificationDenied": "tillatelser for varsler ble avvist. Denne innstillingen har ingen effekt",
"badValue": "ugyldig alternativ \"{{value}}\". Denne verdien eksisterer ikke lenger"
},
"filter": {
"bpm": "bpm",
"criticRating": "kritikervurdering",
"id": "id",
"name": "navn",
"bitrate": "bithastighet",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "biografi",
"album": "$t(entity.album_one)",
"duration": "lengde",
"favorited": "merket som favoritt",
"comment": "kommentar",
"communityRating": "fellesskapsvurdering",
"dateAdded": "lagt til dato",
"disc": "skive",
"isPublic": "er offentlig",
"isRecentlyPlayed": "er avspilt nylig",
"mostPlayed": "mest avspilt",
"owner": "$t(common.owner)",
"path": "sti",
"lastPlayed": "sist avspilt",
"rating": "vurdering",
"recentlyPlayed": "nylig avspilt",
"playCount": "antall avspillinger",
"recentlyUpdated": "nylig oppdatert",
"random": "vilkårlig",
"search": "søk",
"songCount": "antall sanger",
"title": "tittel",
"toYear": "til år",
"releaseDate": "utgivelsesdato",
"releaseYear": "utgivelsesår",
"note": "notat",
"isRated": "er vurdert",
"fromYear": "fra år",
"isCompilation": "er samling",
"isFavorited": "er merket som favoritt",
"recentlyAdded": "nylig lagt til",
"channels": "$t(common.channel_other)",
"genre": "$t(entity.genre_one)",
"trackNumber": "spor",
"albumCount": "$t(entity.album_other) opptelling"
},
"form": {
"createPlaylist": {
"input_description": "$t(common.description)",
"input_owner": "$t(common.owner)",
"input_public": "offentlig",
"title": "opprett $t(entity.playlist_one)",
"input_name": "$t(common.name)",
"success": "$t(entity.playlist_one) opprettet"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "sangtekstsøk"
},
"addServer": {
"ignoreCors": "ignorer cors ($t(common.restartRequired))",
"ignoreSsl": "ignorer ssl ($t(common.restartRequired))",
"error_savePassword": "et problem oppstod ved lagring av passord",
"input_savePassword": "lagre passord",
"input_url": "lenke",
"input_username": "brukernavn",
"success": "serveren er lagt til",
"input_legacyAuthentication": "aktiver tradisjonell autentisering",
"input_name": "servernavn",
"title": "legg til server",
"input_password": "passord"
},
"addToPlaylist": {
"success": "la $t(entity.trackWithCount, {\"count\": {{message}} }) til $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "legg til i $t(entity.playlist_one)",
"input_skipDuplicates": "hopp over duplikater",
"input_playlists": "$t(entity.playlist_other)"
},
"deletePlaylist": {
"title": "slett $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) er slettet",
"input_confirm": "skrive inn navnet på $t(entity.playlist_one) for å bekrefte"
},
"editPlaylist": {
"title": "rediger $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) er oppdatert"
},
"shareItem": {
"allowDownloading": "tillat nedlasting",
"description": "beskrivelse",
"createFailed": "opprettelse av delt ressurs feilet (er deling aktivert?)",
"setExpiration": "angi utløpstid",
"success": "del lenke som er kopiert til utklippstavlen (eller klikk her for å åpne)",
"expireInvalid": "utløpstid må være et fremtidig tidspunkt"
},
"updateServer": {
"success": "vellykket oppdatering av serveren",
"title": "oppdater server"
},
"queryEditor": {
"input_optionMatchAll": "match alle",
"input_optionMatchAny": "matche hvilken som helst",
"title": "redigeringsverktøy for spørringer"
}
},
"page": {
"appMenu": {
"collapseSidebar": "slå sammen sidefelt",
"quit": "$t(common.quit)",
"selectServer": "velg server",
"version": "versjon {{version}}",
"manageServers": "administrere servere",
"goBack": "gå tilbake",
"openBrowserDevtools": "åpne utviklingsverktøy i nettleser",
"settings": "$t(common.setting_other)",
"expandSidebar": "utvid sidefelt",
"goForward": "gå fremover"
},
"contextMenu": {
"addToPlaylist": "$t(action.addToPlaylist)",
"showDetails": "hent info",
"moveToTop": "$t(action.moveToTop)",
"moveToBottom": "$t(action.moveToBottom)",
"numberSelected": "{{count}} valgt",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"createPlaylist": "$t(action.createPlaylist)",
"play": "$t(player.play)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"download": "last ned",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"addToFavorites": "$t(action.addToFavorites)",
"moveToNext": "$t(action.moveToNext)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "del element",
"addFavorite": "$t(action.addToFavorites)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)"
},
"albumArtistDetail": {
"topSongs": "beste sanger",
"viewDiscography": "se diskografi",
"recentReleases": "nylige utgivelser",
"topSongsFrom": "beste sanger fra {{title}}",
"viewAllTracks": "se alle $t(entity.track_other)",
"viewAll": "se alle",
"about": "Om {{artist}}",
"appearsOn": "opptrer på",
"relatedArtists": "relatert $t(entity.artist_other)"
},
"albumList": {
"artistAlbums": "album av {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "mer fra denne $t(entity.artist_one)",
"moreFromGeneric": "mer fra {{item}}",
"released": "utgitt"
},
"fullscreenPlayer": {
"config": {
"dynamicIsImage": "aktiver bakgrunnsbilde",
"lyricGap": "sangtekstavstand",
"dynamicImageBlur": "bilduskarphetstørrelse",
"lyricAlignment": "sangtekstjustering",
"lyricOffset": "sangtekstforskyvning (ms)",
"lyricSize": "sangtekststørrelse",
"opacity": "absorpsjon",
"showLyricMatch": "vis sangteksttreff",
"showLyricProvider": "vis sangteksttilbyder",
"synchronized": "synkronisert",
"unsynchronized": "usynkronisert",
"dynamicBackground": "dynamisk bakgrunn",
"useImageAspectRatio": "bruk sideforhold til bildet",
"followCurrentLyric": "følg sangtekst"
},
"noLyrics": "fant ikke sangtekst",
"lyrics": "sangtekst",
"upNext": "kommende",
"visualizer": "fremviser",
"related": "relatert"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "vis $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "vis $t(entity.genre_one) $t(entity.track_other)"
},
"globalSearch": {
"title": "kommandoer",
"commands": {
"goToPage": "gå til side",
"searchFor": "søk etter {{query}}",
"serverCommands": "serverkommandoer"
}
},
"home": {
"recentlyPlayed": "nylig avspilt",
"explore": "utforsk biblioteket ditt",
"mostPlayed": "mest spilt",
"newlyAdded": "utgivelser nylig lagt til",
"title": "$t(common.home)"
},
"manageServers": {
"title": "administrere servere",
"url": "lenke",
"username": "brukernavn",
"editServerDetailsTooltip": "rediger serverdetaljer",
"removeServer": "fjern server",
"serverDetails": "serverdetaljer"
},
"itemDetail": {
"openFile": "vis spor i filbhehandleren",
"copiedPath": "vellykket kopiering av stien",
"copyPath": "kopier stien til utklippstavlen"
},
"trackList": {
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)",
"artistTracks": "spor fra {{artist}}"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"tracks": "$t(entity.track_other)",
"nowPlaying": "spilles nå",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"albums": "$t(entity.album_other)",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "delt $t(entity.playlist_other)",
"artists": "$t(entity.artist_other)",
"myLibrary": "mitt bibliotek"
},
"setting": {
"generalTab": "generelt",
"advanced": "avansert",
"hotkeysTab": "hurtigtaster",
"playbackTab": "avspilling",
"windowTab": "vindu"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"playlist": {
"reorder": "omorganisering kun mulig ved sortering på id"
}
},
"player": {
"addLast": "legg til sist",
"queue_remove": "fjern valgte",
"queue_moveToBottom": "flytt valgte til toppen",
"addNext": "legg til som neste",
"favorite": "favoritt",
"mute": "skru av lyden",
"muted": "lyden er skrudd av",
"next": "neste",
"repeat_all": "gjenta alle",
"playbackFetchCancel": "dette kommer til å ta en stund... lukk denne meldingen for å avbryte",
"playRandom": "spill vilkårlig",
"queue_clear": "tøm kø",
"repeat_off": "gjentakelse er deaktivert",
"playbackFetchInProgress": "laster sanger…",
"repeat": "gjenta",
"play": "spill",
"previous": "forrige",
"queue_moveToTop": "flytt valgte til bunnen",
"playbackFetchNoResults": "ingen sanger funnet",
"playbackSpeed": "avspillingshastighet",
"playSimilarSongs": "spill lignende sanger",
"skip": "hopp over",
"shuffle": "spill i tilfeldig rekkefølge",
"shuffle_off": "tilfeldig rekkefølge skrudd av",
"skip_back": "hopp bakover",
"skip_forward": "hopp fremover",
"stop": "stopp",
"toggleFullscreenPlayer": "bytt til fullskjermspiller",
"pause": "sett på pause",
"viewQueue": "se kø",
"unfavorite": "fjern fra favoritter"
},
"setting": {
"accentColor": "aksentfarge",
"accentColor_description": "setter aksentfarge i applikasjonen",
"albumBackground": "album bakgrunnsbilde",
"albumBackgroundBlur": "album bakgrunnsbilde uskarphetsstørrelse",
"albumBackgroundBlur_description": "justerer grad av uskarphet lagt til på album bakgrunnsbilde",
"audioDevice": "lydenhet",
"zoom": "zoomprosent",
"zoom_description": "angir zoomprosent for applikasjonen"
},
"table": {
"config": {
"label": {
"playCount": "antall avspillinger",
"releaseDate": "utgivelsesdato",
"trackNumber": "spornummer",
"rowIndex": "radindeks",
"dateAdded": "dato lagt til",
"discNumber": "skivenummer",
"lastPlayed": "sist avspilt"
},
"view": {
"table": "tabell",
"card": "kort",
"grid": "rutenett",
"list": "liste",
"poster": "plakat"
},
"general": {
"autoFitColumns": "automatisk kolonnetilpasning",
"displayType": "visningstype",
"followCurrentSong": "følg gjeldende sang"
}
},
"column": {
"releaseYear": "år",
"comment": "kommentar",
"biography": "biografi",
"album": "album",
"albumArtist": "albumartist",
"dateAdded": "dato lagt til",
"discNumber": "skive",
"favorite": "favoritt",
"lastPlayed": "sist avspilt",
"path": "sti",
"playCount": "avspillinger",
"rating": "vurdering",
"releaseDate": "utgivelsesdato",
"title": "tittel",
"trackNumber": "spor"
}
}
}
{}
+6 -104
View File
@@ -2,7 +2,7 @@
"action": {
"editPlaylist": "pas $t(entity.playlist_one) aan",
"goToPage": "ga naar pagina",
"moveToTop": "verplaats naar boven",
"moveToTop": "verplaats naar top",
"addToFavorites": "toevoegen aan $t(entity.favorite_other)",
"addToPlaylist": "toevoegen aan $t(entity.playlist_one)",
"createPlaylist": "maak $t(entity.playlist_one)",
@@ -16,12 +16,7 @@
"setRating": "selecteer rating",
"toggleSmartPlaylistEditor": "editor $t(entity.smartPlaylist) schakelen",
"removeFromFavorites": "verwijder van $t(entity.favorite_other)",
"clearQueue": "verwijder lijst",
"openIn": {
"lastfm": "Open in Last.fm",
"musicbrainz": "Open in MusicBrainz"
},
"moveToNext": "ga naar volgende"
"clearQueue": "lijst leegmaken"
},
"common": {
"backward": "achteruit",
@@ -100,15 +95,7 @@
"search": "zoeken",
"saveAs": "opslaan als",
"yes": "ja",
"size": "grootte",
"reload": "herlaad",
"setting": "instelling",
"close": "sluiten",
"additionalParticipants": "andere deelnemers",
"newVersion": "een nieuwe versie is geinstalleerd ({{version}})",
"viewReleaseNotes": "zie release notes",
"albumGain": "album gain",
"translation": "vertaling"
"size": "grootte"
},
"filter": {
"rating": "rating",
@@ -156,54 +143,7 @@
},
"page": {
"contextMenu": {
"setRating": "$t(action.setRating)",
"addToPlaylist": "$t(action.addToPlaylist)",
"addToFavorites": "$t(action.addToFavorites)",
"moveToTop": "$t(action.moveToTop)",
"deletePlaylist": "$t(action.deletePlaylist)",
"moveToBottom": "$t(action.moveToBottom)",
"createPlaylist": "$t(action.createPlaylist)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"addNext": "$t(player.addNext)",
"deselectAll": "$t(action.deselectAll)",
"addLast": "$t(player.addLast)",
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "{{count}} geselecteerd",
"removeFromQueue": "$t(action.removeFromQueue)"
},
"appMenu": {
"selectServer": "selecteer server",
"version": "versie {{version}}",
"settings": "$t(common.setting_other)",
"manageServers": "beheer servers",
"expandSidebar": "sidebar uitklappen",
"collapseSidebar": "sidebar inklappen",
"openBrowserDevtools": "open browser devtools",
"quit": "$t(common.quit)",
"goBack": "terug",
"goForward": "vooruit"
},
"albumDetail": {
"moreFromArtist": "meer van deze $t(entity.artist_one)",
"moreFromGeneric": "meer van {{item}}"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "dynamische achtergrond",
"followCurrentLyric": "volg de actuele songtekst",
"opacity": "opaciteit",
"lyricSize": "tekstgrootte",
"lyricAlignment": "songtekst uitlijning",
"lyricGap": "tekstkloof"
}
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumList": {
"title": "$t(entity.album_other)"
"setRating": "$t(action.setRating)"
}
},
"error": {
@@ -258,14 +198,11 @@
"genreWithCount_one": "{{count}} genre",
"genreWithCount_other": "{{count}} genres",
"trackWithCount_one": "{{count}} track",
"trackWithCount_other": "{{count}} tracks",
"song_one": "lied",
"song_other": "liedjes"
"trackWithCount_other": "{{count}} tracks"
},
"table": {
"column": {
"rating": "rating",
"size": "$t(common.size)"
"rating": "rating"
},
"config": {
"label": {
@@ -290,41 +227,6 @@
"ignoreSsl": "negeer ssl $t(common.restartRequired)",
"ignoreCors": "negeer cors $t(common.restartRequired)",
"error_savePassword": "er is iets mis gegaan met het opslaan van het wachtwoord"
},
"deletePlaylist": {
"title": "verwijder $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) succesvol verwijdert",
"input_confirm": "Typ de naam van $t(entity.playlist_one) om te bevestigen"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"title": "$t(entity.playlist_one) aanmaken",
"input_public": "publiek",
"input_name": "$t(common.name)",
"success": "$t(entity.playlist_one) aangemaakt",
"input_owner": "$t(common.owner)"
},
"addToPlaylist": {
"success": "{{message}}$t(entity.song_other) aan {{numOfPlaylists}} $t(entity.playlist_other) toegevoegd",
"title": "aan $t(entity.playlist_one) toevoegen",
"input_skipDuplicates": "duplicaten overslaan",
"input_playlists": "$t(entity.playlist_other)"
},
"queryEditor": {
"input_optionMatchAll": "alles matchen",
"input_optionMatchAny": "elke match"
},
"lyricSearch": {
"input_name": "$t(common.name)",
"input_artist": "$t(entity.artist_one)",
"title": "tekst zoeken"
},
"editPlaylist": {
"title": "$t(entity.playlist_one) aanpassen"
},
"updateServer": {
"title": "update server",
"success": "server succesvol geüpdatet"
}
}
}
+33 -205
View File
@@ -16,12 +16,7 @@
"createPlaylist": "utwórz $t(entity.playlist_one)",
"deletePlaylist": "usuń $t(entity.playlist_one)",
"moveToBottom": "przesuń na dół",
"setRating": "oceń",
"openIn": {
"lastfm": "Otwórz w Last.fm",
"musicbrainz": "Otwórz w MusicBrainz"
},
"moveToNext": "przesuń na następne"
"setRating": "oceń"
},
"common": {
"increase": "zwiększ",
@@ -104,24 +99,7 @@
"decrease": "obniż",
"path": "ścieżka",
"center": "środkowy",
"note": "notatka",
"albumPeak": "spadek albumu",
"albumGain": "wzrost albumu",
"mbid": "ID MusicBrainz",
"reload": "przeładuj",
"share": "udostępnij",
"trackGain": "gain utworu",
"trackPeak": "peak utworu",
"codec": "kodek",
"preview": "podgląd",
"close": "zamknij",
"translation": "tłumaczenie",
"additionalParticipants": "dodatkowi uczestnicy",
"newVersion": "nowa wersja została zaintalowana ({{version}})",
"viewReleaseNotes": "zobacz notatki dotyczące wydania",
"bitDepth": "głębia bitowa",
"sampleRate": "częstotliwość próbkowania",
"tags": "tagi"
"note": "notatka"
},
"entity": {
"genre_one": "gatunek",
@@ -169,13 +147,7 @@
"genreWithCount_many": "{{count}} gatunków",
"trackWithCount_one": "{{count}} utwór",
"trackWithCount_few": "{{count}} utwory",
"trackWithCount_many": "{{count}} utworów",
"play_one": "{{count}} odtworzenie",
"play_few": "{{count}} odtworzenia",
"play_many": "{{count}} odtworzeń",
"song_one": "piosenka",
"song_few": "piosenki",
"song_many": "piosenek"
"trackWithCount_many": "{{count}} utworów"
},
"error": {
"remotePortWarning": "uruchom ponownie serwer aby używać nowego portu",
@@ -196,11 +168,7 @@
"mpvRequired": "wymagane MPV",
"audioDeviceFetchError": "wystąpił błąd podczas próby znalezienia urządzeń dźwiękowych",
"invalidServer": "nieprawidłowy serwer",
"loginRateError": "zbyt dużo prób logowania, poczekaj chwilę i spróbuj ponownie",
"badAlbum": "ta strona jest wyświetlana, ponieważ ten utwór nie jest częścią albumu. najprawdopodobniej ten problem występuje, jeśli utwór znajduje się w nadrzędnym folderze plików z muzyką. jellyfin grupuje utwory tylko wtedy, gdy znajdują się one w folderze.",
"networkError": "wystąpił błąd sieciowy",
"openError": "nie można otworzyć pliku",
"badValue": "niewłaściwa opcja \"{{value}}\". ta wartość już nie istnieje"
"loginRateError": "zbyt dużo prób logowania, poczekaj chwilę i spróbuj ponownie"
},
"filter": {
"mostPlayed": "najczęściej odtwarzane",
@@ -274,7 +242,7 @@
"error_savePassword": "wystąpił błąd podczas próby zapisania hasła"
},
"addToPlaylist": {
"success": "dodano $t(entity.trackWithCount, {\"count\": {{message}} }) do $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "dodano {{message}} $t(entity.song_other) do {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "dodano do $t(entity.playlist_one)",
"input_skipDuplicates": "pomiń duplikaty",
"input_playlists": "$t(entity.playlist_other)"
@@ -285,8 +253,7 @@
},
"queryEditor": {
"input_optionMatchAll": "dopasuj wszystkie",
"input_optionMatchAny": "dopasuj dowolne",
"title": "edytor zapytań"
"input_optionMatchAny": "dopasuj dowolne"
},
"lyricSearch": {
"input_name": "$t(common.name)",
@@ -294,17 +261,7 @@
"title": "wyszukiwanie tekstów"
},
"editPlaylist": {
"title": "edytuj $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) zaktualizowana pomyślnie",
"publicJellyfinNote": "Z jakiegoś powodu Jellyfin nie udostępnia informacji na temat publiczności playlisty. Jeżeli chcesz, aby ta pozostała publiczna, mniej wybraną poniższą opcję"
},
"shareItem": {
"allowDownloading": "zezwól na pobieranie",
"description": "opis",
"setExpiration": "ustaw czas wygaśnięcia",
"success": "link do udostępniania skopiowany do schowka (lub kliknij tutaj, aby otworzyć)",
"createFailed": "nie udało się utworzyć linku do udostępniania (czy udostępnianie jest włączone?)",
"expireInvalid": "ustawiony czas wygaśnięcia musi być w przyszłości"
"title": "edytuj $t(entity.playlist_one)"
}
},
"page": {
@@ -320,16 +277,11 @@
"unsynchronized": "niezsynchronizowane",
"lyricAlignment": "wyrównaj tekst",
"useImageAspectRatio": "użyj współczynnika proporcji obrazu",
"lyricGap": "odstępy tekstu",
"dynamicImageBlur": "rozmiar rozmycia obrazu",
"dynamicIsImage": "włącz obraz w tle",
"lyricOffset": "opóźnienie tekstów (ms)"
"lyricGap": "odstępy tekstu"
},
"upNext": "następny",
"lyrics": "tekst",
"related": "powiązane",
"visualizer": "wizualizer",
"noLyrics": "nie znaleziono tekstu"
"related": "powiązane"
},
"appMenu": {
"selectServer": "wybierz serwer",
@@ -359,31 +311,20 @@
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "zaznaczono {{count}}",
"removeFromQueue": "$t(action.removeFromQueue)",
"shareItem": "udostępnij pozycję",
"showDetails": "zobacz informacje",
"download": "pobierz",
"playShuffled": "$t(player.shuffle)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"moveToNext": "$t(action.moveToNext)"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"albumDetail": {
"moreFromArtist": "więcej od $t(entity.artist_one)",
"moreFromGeneric": "więcej od {{item}}",
"released": "wydany"
"moreFromGeneric": "więcej od {{item}}"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "pokaż $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "pokaż $t(entity.genre_one) $t(entity.track_other)"
"title": "$t(entity.genre_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "albumy artysty {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
"title": "$t(entity.album_other)"
},
"sidebar": {
"nowPlaying": "teraz odtwarzane",
@@ -396,9 +337,7 @@
"settings": "$t(common.setting_other)",
"home": "$t(common.home)",
"artists": "$t(entity.artist_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"shared": "udostępnione $t(entity.playlist_other)",
"myLibrary": "Moja biblioteka"
"albumArtists": "$t(entity.albumArtist_other)"
},
"home": {
"mostPlayed": "najczęściej odtwarzane",
@@ -411,13 +350,10 @@
"playbackTab": "odtworzenia",
"generalTab": "ogólne",
"hotkeysTab": "skróty klawiszowe",
"windowTab": "okno",
"advanced": "zaawansowane"
"windowTab": "okno"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "utwory przez {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"commands": {
@@ -429,33 +365,6 @@
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"albumArtistDetail": {
"topSongs": "popularne utwory",
"topSongsFrom": "popularne utwory z {{title}}",
"about": "O {{artist}}",
"recentReleases": "ostatnie wydania",
"viewAll": "zobacz wszystko",
"viewDiscography": "przeglądaj dyskografię",
"relatedArtists": "powiązane z $t(entity.artist_other)",
"appearsOn": "pojawia się na",
"viewAllTracks": "zobacz wszystko $t(entity.track_other)"
},
"itemDetail": {
"copyPath": "kopiuj ścieżkę do schowka",
"copiedPath": "ścieżka została skopiowana pomyślnie",
"openFile": "pokaż utwór w menedżerze plików"
},
"manageServers": {
"title": "zarządzaj serwerami",
"url": "URL",
"username": "nazwa użytkownika",
"removeServer": "usuń serwer",
"serverDetails": "szczegóły serwera",
"editServerDetailsTooltip": "edytuj szczegóły serwera"
},
"playlist": {
"reorder": "zmiana kolejności jest możliwa tylko podczas sortowania według id"
}
},
"player": {
@@ -463,14 +372,14 @@
"stop": "stop",
"repeat": "powtarzaj jeden",
"queue_remove": "usuń zaznaczone",
"playRandom": "odtwarzaj losowo",
"playRandom": "odtwarzaj losowe",
"skip": "pomiń",
"previous": "poprzedni",
"toggleFullscreenPlayer": "przełącz odtwarzacz pełnoekranowy",
"skip_back": "przeskocz do tyłu",
"favorite": "ulubione",
"next": "następny",
"shuffle": "odtwarzaj losowo",
"shuffle": "losowa kolejność",
"playbackFetchNoResults": "nie znaleziono utworów",
"playbackFetchInProgress": "wczytywanie utworów…",
"addNext": "dodaj następny",
@@ -487,9 +396,7 @@
"shuffle_off": "losowa kolejność wyłączona",
"addLast": "dodaj na końcu",
"mute": "wycisz",
"skip_forward": "przeskocz do przodu",
"viewQueue": "zobacz kolejkę",
"playSimilarSongs": "odtwarzaj podobne"
"skip_forward": "przeskocz do przodu"
},
"setting": {
"crossfadeStyle_description": "wybierz styl przenikania, który ma być używany do odtwarzania dźwięku",
@@ -506,13 +413,13 @@
"hotkey_zoomIn": "przybliż",
"hotkey_browserForward": "przeglądarka w przód",
"audioExclusiveMode_description": "włącz wyłączny tryb wyjścia. W tym trybie, system zwykle jest zablokowany i może odtwarzać tylko poprzez mpv",
"discordUpdateInterval": "{{discord}} interwał aktualizacji rich presence",
"discordUpdateInterval": "{{discord}} interwał aktualizacji obszernej obecności",
"fontType_optionBuiltIn": "wbudowana czcionka",
"hotkey_playbackPlayPause": "odtwarzaj / wstrzymaj",
"hotkey_rate1": "oceń na 1 gwiazdkę",
"hotkey_skipForward": "przeskocz do przodu",
"disableLibraryUpdateOnStartup": "wyłącz wyszukiwanie aktualizacji podczas uruchamiania aplikacji",
"discordApplicationId_description": "id dla aplikacji {{discord}} rich presence (domyślnie {{defaultId}})",
"discordApplicationId_description": "id dla aplikacji {{discord}} obszernie obecne (domyślnie {{defaultId}})",
"gaplessAudio": "dźwięk bez przerw",
"hotkey_playbackPlay": "odtwarzaj",
"hotkey_togglePreviousSongFavorite": "dodaj $t(common.previousSong) do ulubionych",
@@ -542,7 +449,7 @@
"crossfadeDuration_description": "ustaw czas trwania efektu przenikania",
"language": "język",
"hotkey_toggleShuffle": "przełącz kolejność losową",
"discordRichPresence_description": "włącz status odtwarzania w {{discord}} (rich presence). Dzięki temu będą wyświetlane informacje takie jak: {{icon}}, {{playing}} i {{paused}}",
"discordRichPresence_description": "włącz status odtwarzania w {{discord}} obszernie obecny. Klucze obrazów to {{icon}}, {{playing}} i {{paused}}. ",
"audioDevice": "urządzenia dźwiękowe",
"hotkey_rate2": "oceń na 2 gwiazdki",
"exitToTray": "zamknij do zasobnika",
@@ -563,12 +470,12 @@
"customFontPath": "niestandardowa ścieżka czcionki",
"followLyric": "podążaj za tekstem",
"crossfadeDuration": "czas trwania przenikania",
"discordIdleStatus": "pokaż status w stanie bezczynności",
"discordIdleStatus": "pokaż obszerne informacje w stanie bezczynności",
"audioPlayer": "odtwarzacz dźwięku",
"hotkey_zoomOut": "oddal",
"hotkey_unfavoriteCurrentSong": "usuń $t(common.currentSong) z ulubionych",
"hotkey_rate0": "wyczyść oceny",
"discordApplicationId": "ID aplikacji {{discord}}",
"discordApplicationId": "id aplikacji {{discord}}",
"applicationHotkeys_description": "ustaw skróty klawiszowe aplikacji. przełącz pole wyboru aby ustawić skrót globalny (tylko komputery)",
"floatingQueueArea_description": "wyświetl ikonę najechania kursorem po prawej stronie ekranu, aby wyświetlić kolejkę odtwarzania",
"hotkey_volumeMute": "wycisz",
@@ -578,11 +485,12 @@
"customFontPath_description": "ustaw ścieżkę dla niestandardowych czcionek dla aplikacji",
"gaplessAudio_optionWeak": "słabe (rekomendowane)",
"hotkey_playbackStop": "zatrzymaj",
"discordRichPresence": "Status {{discord}} (rich presence)",
"discordRichPresence": "{{discord}} obszernie obecny",
"font_description": "ustaw czcionkę dla aplikacji",
"mpvExecutablePath_help": "jedna na linnię",
"playButtonBehavior_optionPlay": "$t(player.play)",
"minimumScrobblePercentage": "minimalny czas trwania scrobble (procentowy)",
"mpvExecutablePath_description": "ustaw ścieżkę dla plików wykonywalnych mpv. gdy puste, zostanie użyta domyślna ścieżka",
"mpvExecutablePath_description": "ustaw ścieżkę dla plików wykonywalnych mpv",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"minimizeToTray_description": "zminimalizuj aplikację do zasobnika systemowego",
"remotePassword": "hasło dla serwera zdalnej kontroli",
@@ -611,10 +519,10 @@
"sampleRate": "częstotliwość próbkowania",
"sidePlayQueueStyle_optionAttached": "przyłączony",
"sidebarConfiguration": "konfiguracja paska bocznego",
"sampleRate_description": "wybierz wyjściową częstotliwość próbkowania, która ma być używana, jeśli wybrana częstotliwość próbkowania różni się od częstotliwości bieżącego utworu. wartość mniejsza niż 8000 spowoduje użycie częstotliwości domyślnej",
"sampleRate_description": "wybierz wyjściową częstotliwość próbkowania, która ma być używana, jeśli wybrana częstotliwość próbkowania różni się od częstotliwości bieżącego utworu",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainClipping": "wzmocnienie {{ReplayGain}}",
"scrobble_description": "przekazywanie informacji o odtwarzaniu (scrobbling) do twojego serwera multimediów",
"scrobble_description": "odtwarzanie scrobble na serwerze multimediów",
"sidePlayQueueStyle": "boczny styl kolejki odtwarzania",
"remoteUsername_description": "ustaw nazwę użytkownika dla serwera zdalnej kontroli. Jeśli nazwa użytkownika i hasło są puste, autoryzacja będzie wyłączona",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
@@ -651,80 +559,7 @@
"skipPlaylistPage": "pomiń stronę list odtwarzania",
"themeDark": "motyw (ciemny)",
"windowBarStyle_description": "wybierz styl paska okna",
"useSystemTheme": "użyj motywu systemowego",
"buttonSize": "Rozmiar przycisku paska odtwarzacza",
"clearQueryCache": "wyczyść pamięć podręczną feishin",
"clearCache_description": "\"twarde wyczyszczenie\" feishin. oprócz wyczyszczenia pamięci podręcznej feishin, opróżnij pamięć podręczną przeglądarki (zapisane obrazy i inne zasoby). dane i ustawienia serwera zostaną zachowane",
"clearQueryCache_description": "\"miękkie wyczyszczenie\" feishin. spowoduje to odświeżenie list odtwarzania, metadanych utworów i zresetowanie zapisanych tekstów. ustawienia, dane uwierzytelniające serwera i obrazy w pamięci podręcznej zostaną zachowane",
"buttonSize_description": "rozmiar przycisków paska odtwarzacza",
"clearCache": "wyczyść pamięć podręczną przeglądarki",
"playerAlbumArtResolution": "rozdzielczość okładki albumu odtwarzacza",
"externalLinks": "pokaż zewnętrzne linki",
"genreBehavior_description": "określa, czy kliknięcie gatunku domyślnie otwiera listę utworów czy albumów",
"mpvExtraParameters_help": "po jednym na linię",
"passwordStore": "hasła",
"passwordStore_description": "jakie hasło ma być używane. zmień to, jeśli masz problemy z przechowywaniem haseł.",
"playerAlbumArtResolution_description": "rozdzielczość podglądu okładki albumu w dużym odtwarzaczu. większa sprawia, że wygląda bardziej wyraziście, ale może spowolnić ładowanie. domyślnie 0, czyli auto",
"startMinimized": "uruchom zminimalizowany",
"startMinimized_description": "uruchom aplikację w zasobniku systemowym",
"clearCacheSuccess": "pamięć podręczna została wyczyszczona pomyślnie",
"genreBehavior": "domyślne zachowanie strony gatunek",
"externalLinks_description": "umożliwia wyświetlanie linków zewnętrznych (Last.fm, MusicBrainz) na stronach artystów/albumów",
"homeConfiguration": "konfiguracja strony głównej",
"homeConfiguration_description": "konfiguracja elementów wyświetlanych na stronie głównej i ich kolejności",
"albumBackground_description": "dodaje obraz tła dla stron albumu zawierających grafikę albumu",
"albumBackgroundBlur": "rozmiar rozmycia obrazu tła albumu",
"albumBackgroundBlur_description": "dostosowywuje ilość rozmycia nakladanego na obraz tła albumu",
"albumBackground": "obraz tła albumu",
"artistConfiguration_description": "skonfiguruj jakie elementy są pokazywane, i w jakiej kolejności, na stronie albumu wykonawcy",
"discordListening_description": "pokazuje status jako słucha zamiast w grze",
"transcodeNote": "przynosi efekt po 1 (web) - 2 (mpv) piosenkach",
"transcode_description": "włącza transkodowanie na inne formaty",
"transcodeBitrate": "bitrate do transkodowania",
"transcode": "włącz transkodowanie",
"translationApiProvider": "usługodawca do api tłumaczeń",
"translationApiProvider_description": "wybór usługodawcy do api tłumaczeń",
"translationApiKey": "klucz api do tłumaczeń",
"transcodeFormat_description": "wybiera format do transkodowania. zostaw pusty aby serwer wybrał format",
"translationApiKey_description": "klucz api do tłumaczenia (Obsługuje tylko globalny endpoint)",
"homeFeature": "karuzela polecanych na stronie głównej",
"customCssEnable": "włącz niestandardowy css",
"customCssEnable_description": "pozwalaj na pisanie niestandardowego css.",
"customCssNotice": "Ostrzeżenie: chociaż istnieje pewne filtrowanie (uniemożliwia używanie url() i content:), używanie niestandardowego CSS-a może stwarzać ryzyko przez zmiany w interfejsie.",
"customCss_description": "zawartość niestandardowego css. Uwaga: content i zdalne url są niedozwolonymi właściwościami. Podgląd twojej zawartości jest pokazana poniżej. Dodatkowe pola których nie ustawiłeś, są obecne z powodu sanityzacji.",
"customCss": "niestandardowy css",
"doubleClickBehavior": "zakolejkuj wszystkie wyszukane utwory gdy podwójnie kliknięto",
"trayEnabled_description": "pokaż/ukryj ikonę/menu w zasobniku. jeżeli wyłączone, wyłącza też minimalizowanie.wyjście do zasobnika",
"webAudio_description": "używaj web audio. włącza to zaawansowane funkcje takie jak replaygain. wyłącz jeżeli nie działa poprawnie",
"artistConfiguration": "konfiguracja strony albumu wykonawcy",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerbarOpenDrawer_description": "pozwala przełączyć na odtwarzacz pełnoekranowy po kliknięciu paska odtwarzania",
"playerbarOpenDrawer": "przełącznik pełnego ekranu na pasku odtwarzania",
"imageAspectRatio": "używaj natywnych proporcji okładki",
"volumeWidth": "szerokość paska głośności",
"discordListening": "pokazuj status jako słucha",
"imageAspectRatio_description": "jeżeli włączone, okładka będzie pokazywana z użyciem jej natywnych proporcji. dla okładek które nie mają proporcji 1:1, pozostałe miejsce będzie puste",
"volumeWidth_description": "szerokość paska głośności",
"contextMenu_description": "pozwala ci na ukrycie elementów które są pokazywane w menu po kliknięciu prawym przyciskiem myszy na element. elementy które zostały odznaczone będą ukryte",
"contextMenu": "konfiguracja menu kontekstowego (pod prawym przyciskiem myszy)",
"transcodeBitrate_description": "wybiera bitrate do transkodowania. 0 pozwala wybrać to serwerowi",
"transcodeFormat": "format do transkodowania",
"translationTargetLanguage_description": "język do którego będzie tłumaczona treść",
"trayEnabled": "pokazuj w zasobniku",
"webAudio": "używaj web audio",
"homeFeature_description": "ustawienie powoduje to czy wyświetlana jest karuzela z polecanymi utworami na stronie głównej",
"doubleClickBehavior_description": "jeżeli włączone, wszystkie pasujące utwory w wyszukiwaniu zostaną zakolejkowane. w przeciwnym wypadku, tylko kliknięty będzie zakolejkowany",
"lastfmApiKey": "klucz API {{lastfm}}",
"lastfmApiKey_description": "klucz API dla {{lastfm}}. wymagany dla okładek",
"translationTargetLanguage": "docelowy język tłumaczenia",
"discordPausedStatus_description": "jeżeli włączone, status będzie pokazywany kiedy odtwarzanie jest wstrzymane",
"preferLocalLyrics": "preferuj lokalne teksty",
"preferLocalLyrics_description": "jeśli to możliwe, preferuj lokalne teksty zamiast tekstów zdalnych",
"lastfm": "pokazuj linki do last.fm",
"lastfm_description": "pokazuj linki do last.fm na stronach artystów/albumów",
"notify": "włącz powiadomienia o piosenkach",
"musicbrainz": "pokazuj linki do musicbrainz",
"musicbrainz_description": "pokazuj linki do musicbrainz na stronach artystów/albumów, gdzie istnieje mbid"
"useSystemTheme": "użyj motywu systemowego"
},
"table": {
"config": {
@@ -738,10 +573,7 @@
"gap": "$t(common.gap)",
"tableColumns": "kolumny tabeli",
"autoFitColumns": "automatyczne dopasowanie kolumn",
"size": "$t(common.size)",
"itemSize": "rozmiar elementu (px)",
"itemGap": "odstęp między elementami (px)",
"followCurrentSong": "śledź aktualną piosenkę"
"size": "$t(common.size)"
},
"label": {
"releaseDate": "data premiery",
@@ -769,9 +601,7 @@
"discNumber": "numer płyty",
"favorite": "$t(common.favorite)",
"year": "$t(common.year)",
"albumArtist": "$t(entity.albumArtist_one)",
"codec": "$t(common.codec)",
"songCount": "$t(entity.track_other)"
"albumArtist": "$t(entity.albumArtist_one)"
}
},
"column": {
@@ -796,9 +626,7 @@
"albumArtist": "artysta albumu",
"path": "ścieżka",
"discNumber": "płyta",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)",
"codec": "$t(common.codec)"
"channels": "$t(common.channel_other)"
}
}
}
+25 -325
View File
@@ -1,6 +1,6 @@
{
"common": {
"backward": "para trás",
"backward": "voltar",
"areYouSure": "tem certeza?",
"add": "adicionar",
"ascending": "ascendente",
@@ -27,7 +27,7 @@
"title": "titulo",
"create": "criar",
"confirm": "confirmar",
"home": "início",
"home": "inicio",
"comingSoon": "em breve…",
"channel_one": "canal",
"channel_many": "canais",
@@ -56,9 +56,9 @@
"path": "caminho",
"no": "não",
"owner": "dono",
"forward": "para frente",
"forward": "avançar",
"forceRestartRequired": "reinicie para aplicar as alterações… feche a notificação para reiniciar",
"setting": "configuração",
"setting": "contexto",
"version": "versão",
"filter_one": "filtro",
"filter_many": "filtros",
@@ -74,28 +74,13 @@
"restartRequired": "é necessário reiniciar",
"previousSong": "anterior $t(entity.track_one)",
"noResultsFromQuery": "a consulta não retornou resultados",
"quit": "sair",
"quit": "abandonar",
"search": "procurar",
"saveAs": "salvar como",
"yes": "sim",
"random": "aleatório",
"size": "tamanho",
"note": "observação",
"mbid": "ID no MusicBrainz",
"reload": "recarregar",
"codec": "codec",
"preview": "pré-visualizar",
"share": "compartilhar",
"close": "fechar",
"translation": "tradução",
"albumGain": "ganho do álbum",
"trackPeak": "pico da faixa",
"albumPeak": "pico do álbum",
"trackGain": "ganho da faixa",
"additionalParticipants": "participantes adicionais",
"tags": "tags",
"newVersion": "uma nova versão foi instalada ({{version}})",
"viewReleaseNotes": "ver notas de lançamento"
"note": "observação"
},
"action": {
"goToPage": "vá para página",
@@ -113,114 +98,36 @@
"removeFromPlaylist": "remover da $t(entity.playlist_one)",
"deletePlaylist": "deletar $t(entity.playlist_one)",
"deselectAll": "desmarcar todos",
"removeFromFavorites": "remover de $t(entity.favorite_other)",
"openIn": {
"lastfm": "Abrir em Last.fm",
"musicbrainz": "Abrir em MusicBrainz"
},
"toggleSmartPlaylistEditor": "alternar editor $t(entity.smartPlaylist)",
"moveToNext": "mover para o próximo"
"removeFromFavorites": "remover de $t(entity.favorite_other)"
},
"form": {
"deletePlaylist": {
"title": "deletar $t(entity.playlist_one)",
"input_confirm": "escreva o nome da $t(entity.playlist_one) para confirmar",
"success": "$t(entity.playlist_one) deletada com sucesso"
"title": "deletar $t(entity.playlist_one)"
},
"addServer": {
"title": "adicionar servidor",
"input_password": "senha",
"input_legacyAuthentication": "habilitar autenticação legada",
"error_savePassword": "um erro ocorreu ao tentar salvar a senha",
"ignoreSsl": "ignorar ssl ($t(common.restartRequired))",
"input_savePassword": "salvar senha",
"input_url": "url",
"success": "servidor adicionado com sucesso",
"input_name": "nome do servidor",
"input_username": "nome de usuário",
"ignoreCors": "ignorar CORS ($t(common.restartRequired))"
"title": "adicionar servidor"
},
"createPlaylist": {
"title": "criar $t(entity.playlist_one)",
"input_public": "público",
"input_description": "$t(common.description)",
"success": "$t(entity.playlist_one) criada com sucesso",
"input_owner": "$t(common.owner)",
"input_name": "$t(common.name)"
"title": "criar $t(entity.playlist_one)"
},
"updateServer": {
"title": "atualizar servidor",
"success": "servidor atualizado com sucesso"
"title": "atualizar servidor"
},
"editPlaylist": {
"title": "editar $t(entity.playlist_one)",
"publicJellyfinNote": "O Jellyfin por algum motivo não expõe se uma playlist é pública ou não. Se você deseja que ela permaneça pública, por favor selecione a seguinte entrada",
"success": "$t(entity.playlist_one) atualizada com sucesso"
"title": "editar $t(entity.playlist_one)"
},
"addToPlaylist": {
"title": "adicionar à $t(entity.playlist_one)",
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "pular duplicadas",
"success": "adicionado $t(entity.trackWithCount, {\"count\": {{message}} }) para $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })"
"title": "adicionar à $t(entity.playlist_one)"
},
"lyricSearch": {
"title": "pesquisa de letras",
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)"
},
"shareItem": {
"createFailed": "falha ao criar compartilhamento (o compartilhamento está ativado?)",
"setExpiration": "definir expiração",
"success": "link de compartilhamento copiado para a área de transferência (ou clique aqui para abrir)",
"allowDownloading": "permitir downloads",
"description": "descrição",
"expireInvalid": "a expiração deve ser uma data futura"
},
"queryEditor": {
"input_optionMatchAny": "corresponder qualquer um",
"input_optionMatchAll": "corresponder todos"
"title": "pesquisa de letras"
}
},
"setting": {
"discordIdleStatus_description": "quando ativado, atualiza o status enquanto o player está ocioso",
"discordUpdateInterval_description": "o tempo em segundos entre cada atualização (mínimo 15 segundos)",
"playButtonBehavior_description": "define o comportamento padrão do botão play ao adicionar músicas à fila",
"discordApplicationId": "{{discord}} ID do aplicativo",
"audioPlayer": "player de áudio",
"applicationHotkeys": "teclas de atalho da aplicação",
"applicationHotkeys_description": "configure as teclas de atalho da aplicação. clique na caixa de seleção para definir como tecla de atalho global (somente desktop)",
"contextMenu": "configuração do menu de contexto (clique do botão direito do mouse)",
"clearQueryCache": "limpar cache do feishin",
"clearCache": "limpar cache do navegador",
"clearQueryCache_description": "uma 'limpeza leve' do feishin. isso irá renovar playlists, metadados de faixas, e resetar letras salvas. as configurações, as credenciais de servidor e o cache de imagens serão mantidos",
"audioPlayer_description": "selecione o player de áudio usado para reprodução",
"audioExclusiveMode": "modo de áudio exclusivo",
"buttonSize": "tamanho do botão da barra de reprodução",
"albumBackground_description": "adiciona uma imagem de fundo contendo a arte do álbum para a página de álbum",
"clearCache_description": "uma 'limpeza geral' do feishin. em adição a limpar o cache do feishin, limpa o cache do navegador (imagens salvas e outros recursos). as credenciais de servidor e as configurações serão mantidas",
"clearCacheSuccess": "cache limpo com sucesso",
"audioDevice": "dispositivo de áudio",
"audioDevice_description": "selecione o dispositivo de áudio usado para reprodução (somente player web)",
"audioExclusiveMode_description": "ativar modo de saída exclusiva. Neste modo, o sistema é geralmente bloqueado, e apenas mpv terá saída de áudio",
"accentColor": "cor de realce",
"accentColor_description": "define a cor de realce para a aplicação",
"artistConfiguration": "configuração da página de artista de álbum",
"artistConfiguration_description": "configure quais itens serão mostrados, e em qual ordem, na página de artista de álbum",
"buttonSize_description": "o tamanho dos botões da barra de reprodução",
"albumBackgroundBlur": "tamanho de desfoque da imagem de fundo do álbum",
"albumBackgroundBlur_description": "ajusta a quantidade de desfoque aplicada para a imagem de fundo do álbum",
"albumBackground": "imagem de fundo do álbum",
"contextMenu_description": "permite esconder itens exibidos no menu quando você clica em um item com o botão direito. itens não selecionados serão escondidos",
"customCssEnable": "habilitar css customizado",
"customCssEnable_description": "permite escrever css customizado.",
"crossfadeDuration": "duraçao de crossfade",
"customCss": "css customizado",
"crossfadeDuration_description": "define a duração do efeito crossfade",
"customCssNotice": "Aviso: apesar de existir alguma higienização (url() e content: não são permitidas), o uso de CSS personalizado ainda pode representar riscos ao alterar a interface.",
"crossfadeStyle": "estilo do crossfade",
"crossfadeStyle_description": "seleciona qual estilo de crossfade usado no player de áudio",
"disableAutomaticUpdates": "desabilitar atualizações automáticas",
"disableLibraryUpdateOnStartup": "desabilitar a verificação de novas versões na inicialização"
"discordApplicationId": "{{discord}} ID do aplicativo"
},
"table": {
"config": {
@@ -232,8 +139,7 @@
},
"column": {
"title": "titulo",
"discNumber": "disco",
"size": "$t(common.size)"
"discNumber": "disco"
}
},
"page": {
@@ -248,221 +154,32 @@
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showTracks": "mostrar $t(entity.genre_one) $t(entity.track_other)",
"showAlbums": "mostrar $t(entity.genre_one) $t(entity.album_other)"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"artistTracks": "faixas de {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"title": "comandos",
"commands": {
"serverCommands": "comandos do servidor",
"goToPage": "ir para a página",
"searchFor": "buscar por {{query}}"
}
"title": "comandos"
},
"sidebar": {
"home": "$t(common.home)",
"tracks": "$t(entity.track_other)",
"shared": "$t(entity.playlist_other) compartilhada",
"albums": "$t(entity.album_other)",
"genres": "$t(entity.genre_other)",
"folders": "$t(entity.folder_other)",
"albumArtists": "$t(entity.albumArtist_other)",
"artists": "$t(entity.artist_other)",
"nowPlaying": "tocando agora",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"myLibrary": "minha biblioteca"
"home": "$t(common.home)"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "álbuns de {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"appMenu": {
"openBrowserDevtools": "abrir ferramentas do desenvolvedor",
"quit": "$t(common.quit)",
"selectServer": "selecionar servidor",
"collapseSidebar": "recolher barra lateral",
"expandSidebar": "expandir barra lateral",
"goBack": "voltar",
"goForward": "avançar",
"version": "versão {{version}}",
"manageServers": "gerenciar servidores",
"settings": "$t(common.setting_other)"
},
"contextMenu": {
"moveToTop": "$t(action.moveToTop)",
"moveToBottom": "$t(action.moveToBottom)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"numberSelected": "{{count}} selecionado",
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromQueue": "$t(action.removeFromQueue)",
"play": "$t(player.play)",
"playShuffled": "$t(player.shuffle)",
"createPlaylist": "$t(action.createPlaylist)",
"download": "baixar",
"shareItem": "compartilhar item",
"showDetails": "obter informações",
"addToPlaylist": "$t(action.addToPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"moveToNext": "$t(action.moveToNext)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"setRating": "$t(action.setRating)"
},
"albumArtistDetail": {
"viewAllTracks": "ver todas as $t(entity.track_other)",
"appearsOn": "aparece em",
"recentReleases": "lançamentos recentes",
"viewDiscography": "ver discografia",
"relatedArtists": "$t(entity.artist_other) relacionados",
"viewAll": "ver tudo",
"topSongsFrom": "músicas mais tocadas de {{title}}",
"topSongs": "músicas mais tocadas",
"about": "Sobre {{artist}}"
},
"fullscreenPlayer": {
"config": {
"unsynchronized": "não sincronizado",
"dynamicIsImage": "habilitar imagem de fundo",
"dynamicImageBlur": "tamanho do desfoque da imagem",
"lyricAlignment": "alinhamento da letra",
"showLyricMatch": "exibir correspondência da letra",
"showLyricProvider": "exibir origem da letra",
"synchronized": "sincronizado",
"lyricOffset": "deslocamento da letra (ms)",
"followCurrentLyric": "acompanhar letra",
"useImageAspectRatio": "usar proporção da imagem",
"lyricGap": "espaçamento da letra",
"lyricSize": "tamanho da letra",
"dynamicBackground": "fundo dinâmico",
"opacity": "opacidade"
},
"related": "relacionado",
"visualizer": "visualizador",
"upNext": "a seguir",
"lyrics": "letra",
"noLyrics": "nenhuma letra encontrada"
},
"albumDetail": {
"moreFromArtist": "mais deste $t(entity.artist_one)",
"moreFromGeneric": "mais de {{item}}",
"released": "lançado"
},
"itemDetail": {
"copyPath": "copiar caminho para a área de transferência",
"copiedPath": "caminho copiado com sucesso",
"openFile": "mostrar faixa no gerenciador de arquivos"
},
"manageServers": {
"serverDetails": "detalhes do servidor",
"url": "URL",
"username": "nome de usuário",
"editServerDetailsTooltip": "editar detalhes do servidor",
"removeServer": "remover servidor",
"title": "gerenciar servidores"
},
"setting": {
"generalTab": "geral",
"hotkeysTab": "teclas de atalho",
"windowTab": "janela",
"advanced": "avançado",
"playbackTab": "reprodução"
},
"playlist": {
"reorder": "reordenar apenas disponível quando ordenado pelo id"
"title": "$t(entity.album_other)"
}
},
"filter": {
"title": "titulo",
"disc": "disco",
"mostPlayed": "mais tocado",
"album": "$t(entity.album_one)",
"name": "nome",
"biography": "bibliografia",
"duration": "duração",
"favorited": "favoritado",
"fromYear": "a partir do ano",
"songCount": "contador de músicas",
"toYear": "até o ano",
"random": "aleatório",
"search": "buscar",
"lastPlayed": "última tocada",
"isCompilation": "é compilação",
"trackNumber": "faixa",
"communityRating": "Nota da comunidade",
"isPublic": "é público",
"playCount": "contador de execuções",
"recentlyUpdated": "atualizado recentemente",
"dateAdded": "data de adição",
"isRecentlyPlayed": "foi tocado recentemente",
"albumArtist": "$t(entity.albumArtist_one)",
"recentlyAdded": "adicionado recentemente",
"releaseDate": "data de lançamento",
"recentlyPlayed": "tocado recentemente",
"criticRating": "avaliação da crítica",
"isFavorited": "é favoritado",
"releaseYear": "ano de lançamento",
"rating": "avaliação",
"artist": "$t(entity.artist_one)",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"comment": "comentário",
"owner": "$t(common.owner)",
"path": "caminho",
"id": "id",
"bitrate": "bitrate",
"isRated": "possui avaliação",
"note": "nota",
"albumCount": "número de $t(entity.album_other)",
"genre": "$t(entity.genre_one)"
"mostPlayed": "mais tocado"
},
"player": {
"playbackFetchNoResults": "nenhuma música encontrada",
"playbackFetchInProgress": "carregando músicas…",
"skip_forward": "avançar",
"mute": "mudo",
"playSimilarSongs": "tocar músicas similares",
"skip": "pular",
"stop": "parar",
"addNext": "adicionar a seguir",
"muted": "mudo",
"queue_clear": "limpar fila",
"toggleFullscreenPlayer": "alternar player de tela cheia",
"addLast": "adicionar no final",
"next": "próximo",
"play": "tocar",
"playRandom": "tocar aleatório",
"shuffle_off": "aleatório desativado",
"queue_moveToBottom": "mover selecionados para o topo",
"queue_moveToTop": "mover selecionados para o fim",
"skip_back": "retroceder",
"unfavorite": "remover favorito",
"playbackSpeed": "velocidade de reprodução",
"previous": "anterior",
"favorite": "favorito",
"playbackFetchCancel": "isso está demorando um pouco... feche a notificação para cancelar",
"queue_remove": "remover selecionados",
"repeat": "repetir",
"repeat_all": "repetir tudo",
"repeat_off": "repetição desativada",
"shuffle": "tocar aleatório",
"pause": "pausar",
"viewQueue": "ver fila"
"playbackFetchInProgress": "carregando músicas…"
},
"entity": {
"albumArtist_one": "artista do álbum",
@@ -503,20 +220,7 @@
"folderWithCount_other": "{{count}} pastas",
"genreWithCount_one": "{{count}} gênero",
"genreWithCount_many": "{{count}} gêneros",
"genreWithCount_other": "{{count}} gêneros",
"trackWithCount_one": "{{count}} faixa",
"trackWithCount_many": "{{count}} faixas",
"trackWithCount_other": "{{count}} faixas",
"track_one": "faixa",
"track_many": "faixas",
"track_other": "faixas",
"smartPlaylist": "$t(entity.playlist_one) inteligente",
"song_one": "música",
"song_many": "músicas",
"song_other": "músicas",
"play_one": "{{count}} reprodução",
"play_many": "{{count}} reproduções",
"play_other": "{{count}} reproduções"
"genreWithCount_other": "{{count}} gêneros"
},
"error": {
"remotePortWarning": "reinicie o servidor para aplicar a nova porta",
@@ -537,10 +241,6 @@
"mpvRequired": "MPV necessário",
"audioDeviceFetchError": "ocorreu um erro ao tentar obter dispositivos de áudio",
"invalidServer": "servidor inválido",
"loginRateError": "muitas tentativas de login, tente novamente em alguns segundos",
"badAlbum": "você está vendo este erro por que está música não é parte de algum album. um motivo comum para você estar vendo este erro é se a sua música estiver na raiz da sua pasta de músicas. o jellyfin apenas agrupa as músicas se elas estiveram na mesma pasta.",
"networkError": "ocorreu um erro na internet",
"openError": "não foi possível abrir o arquivo",
"badValue": "opção inválida \"{{value}}\". este valor não existe no momento"
"loginRateError": "muitas tentativas de login, tente novamente em alguns segundos"
}
}
-545
View File
@@ -1,545 +0,0 @@
{
"action": {
"addToFavorites": "adicionar a $t(entity.favorite_other)",
"addToPlaylist": "adicionar a $t(entity.playlist_one)",
"clearQueue": "limpar fila",
"createPlaylist": "criar $t(entity.playlist_one)",
"deletePlaylist": "apagar $t(entity.playlist_one)",
"deselectAll": "desmarcar todos",
"editPlaylist": "editar $t(entity.playlist_one)",
"goToPage": "vá para página",
"moveToNext": "mover para o próximo",
"moveToBottom": "mover para baixo",
"moveToTop": "mover para o topo",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "remover de $t(entity.favorite_other)",
"removeFromPlaylist": "remover da $t(entity.playlist_one)",
"removeFromQueue": "remover da fila",
"setRating": "definir classificação",
"toggleSmartPlaylistEditor": "alternar editor $t(entity.smartPlaylist)",
"viewPlaylists": "ver $t(entity.playlist_other)",
"openIn": {
"lastfm": "Abrir em Last.fm",
"musicbrainz": "Abrir em MusicBrainz"
}
},
"common": {
"action_one": "ação",
"action_many": "ações",
"action_other": "ações",
"add": "adicionar",
"additionalParticipants": "participantes adicionais",
"newVersion": "uma nova versão foi instalada ({{version}})",
"viewReleaseNotes": "ver notas de lançamento",
"albumGain": "ganho do álbum",
"albumPeak": "pico do álbum",
"areYouSure": "tem certeza?",
"ascending": "ascendente",
"backward": "para trás",
"biography": "biografia",
"bitrate": "taxa de bits",
"bpm": "bpm",
"cancel": "cancelar",
"center": "centro",
"channel_one": "canal",
"channel_many": "canais",
"channel_other": "canais",
"clear": "limpar",
"close": "fechar",
"codec": "codec",
"collapse": "minimizar",
"comingSoon": "em breve…",
"configure": "configurar",
"confirm": "confirmar",
"create": "criar",
"currentSong": "$t(entity.track_one) atual",
"decrease": "diminuir",
"delete": "apagar",
"descending": "abaixar",
"description": "descrição",
"disable": "desativar",
"disc": "disco",
"dismiss": "liberar",
"duration": "duração",
"edit": "editar",
"enable": "ativar",
"expand": "expandir",
"favorite": "favorito",
"filter_one": "filtro",
"filter_many": "filtros",
"filter_other": "filtros",
"filters": "filtros",
"forceRestartRequired": "reinicie para aplicar as alterações… feche a notificação para reiniciar",
"forward": "para frente",
"gap": "intervalo",
"home": "início",
"increase": "incrementar",
"left": "esquerda",
"limit": "limite",
"manage": "gerir",
"maximize": "maximizar",
"menu": "menu",
"minimize": "minimizar",
"modified": "modificado",
"mbid": "ID no MusicBrainz",
"name": "nome",
"no": "não",
"none": "nenhum",
"noResultsFromQuery": "a consulta não retornou resultados",
"note": "observação",
"ok": "ok",
"owner": "dono",
"path": "caminho",
"playerMustBePaused": "o player deve estar pausado",
"preview": "pré-visualizar",
"previousSong": "anterior $t(entity.track_one)",
"quit": "sair",
"random": "aleatório",
"rating": "classificação",
"refresh": "atualizar",
"reload": "recarregar",
"reset": "reiniciar",
"resetToDefault": "restaurar ao padrão",
"restartRequired": "é necessário reiniciar",
"right": "direita",
"save": "gravar",
"saveAndReplace": "gravar e substituir",
"saveAs": "gravar como",
"search": "procurar",
"setting": "configuração",
"share": "partilhar",
"size": "tamanho",
"sortOrder": "ordem",
"tags": "tags",
"title": "titulo",
"trackNumber": "faixa",
"trackGain": "ganho da faixa",
"trackPeak": "pico da faixa",
"translation": "tradução",
"unknown": "desconhecido",
"version": "versão",
"year": "ano",
"yes": "sim"
},
"entity": {
"album_one": "álbum",
"album_many": "álbuns",
"album_other": "álbuns",
"albumArtist_one": "artista do álbum",
"albumArtist_many": "artistas do álbum",
"albumArtist_other": "artistas do álbum",
"albumArtistCount_one": "{{count}} artista do álbum",
"albumArtistCount_many": "{{count}} artistas do álbum",
"albumArtistCount_other": "{{count}} artistas do álbum",
"albumWithCount_one": "{{count}} álbum",
"albumWithCount_many": "{{count}} álbuns",
"albumWithCount_other": "{{count}} álbuns",
"artist_one": "artista",
"artist_many": "artistas",
"artist_other": "artistas",
"artistWithCount_one": "{{count}} artista",
"artistWithCount_many": "{{count}} artistas",
"artistWithCount_other": "{{count}} artistas",
"favorite_one": "favorito",
"favorite_many": "favoritos",
"favorite_other": "favoritos",
"folder_one": "pasta",
"folder_many": "pastas",
"folder_other": "pastas",
"folderWithCount_one": "{{count}} pasta",
"folderWithCount_many": "{{count}} pastas",
"folderWithCount_other": "{{count}} pastas",
"genre_one": "gênero",
"genre_many": "gêneros",
"genre_other": "gêneros",
"genreWithCount_one": "{{count}} gênero",
"genreWithCount_many": "{{count}} gêneros",
"genreWithCount_other": "{{count}} gêneros",
"playlist_one": "playlist",
"playlist_many": "playlists",
"playlist_other": "playlists",
"play_one": "{{count}} reprodução",
"play_many": "{{count}} reproduções",
"play_other": "{{count}} reproduções",
"playlistWithCount_one": "{{count}} playlist",
"playlistWithCount_many": "{{count}} playlists",
"playlistWithCount_other": "{{count}} playlists",
"smartPlaylist": "$t(entity.playlist_one) inteligente",
"track_one": "faixa",
"track_many": "faixas",
"track_other": "faixas",
"song_one": "música",
"song_many": "músicas",
"song_other": "músicas",
"trackWithCount_one": "{{count}} faixa",
"trackWithCount_many": "{{count}} faixas",
"trackWithCount_other": "{{count}} faixas"
},
"error": {
"apiRouteError": "não é possível encaminhar a solicitação",
"audioDeviceFetchError": "ocorreu um erro ao tentar obter dispositivos de áudio",
"authenticationFailed": "falha na autenticação",
"badAlbum": "está a ver este erro por que está música não é parte de algum album. um motivo comum para si estar a ver este erro é se a sua música estiver na raiz da sua pasta de músicas. o jellyfin apenas agrupa as músicas se elas estiveram na mesma pasta.",
"badValue": "opção inválida \"{{value}}\". este valor não existe no momento",
"credentialsRequired": "credenciais necessárias",
"endpointNotImplementedError": "endpoint {{endpoint}} não está implementado para {{serverType}}",
"genericError": "um erro ocorreu",
"invalidServer": "servidor inválido",
"localFontAccessDenied": "acesso a fontes locais rejeitado",
"loginRateError": "muitas tentativas de login, tente novamente em alguns segundos",
"mpvRequired": "MPV necessário",
"networkError": "ocorreu um erro na internet",
"openError": "não foi possível abrir o ficheiro",
"playbackError": "ocorreu um erro ao tentar reproduzir a média",
"remoteDisableError": "ocorreu um erro ao tentar $t(common.disable) o servidor remoto",
"remoteEnableError": "ocorreu um erro ao tentar $t(common.enable) o servidor remoto",
"remotePortError": "ocorreu um erro ao tentar definir a porta do servidor remoto",
"remotePortWarning": "reinicie o servidor para aplicar a nova porta",
"serverNotSelectedError": "nenhum servidor selecionado",
"serverRequired": "servidor necessário",
"sessionExpiredError": "a sua sessão expirou",
"systemFontError": "ocorreu um erro ao tentar obter fontes do sistema"
},
"filter": {
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"albumCount": "número de $t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"biography": "bibliografia",
"bitrate": "bitrate",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"comment": "comentário",
"communityRating": "Nota da comunidade",
"criticRating": "avaliação da crítica",
"dateAdded": "data de adição",
"disc": "disco",
"duration": "duração",
"favorited": "favoritado",
"fromYear": "a partir do ano",
"genre": "$t(entity.genre_one)",
"id": "id",
"isCompilation": "é compilação",
"isFavorited": "é favoritado",
"isPublic": "é público",
"isRated": "possui avaliação",
"isRecentlyPlayed": "foi tocado recentemente",
"lastPlayed": "última tocada",
"mostPlayed": "mais tocado",
"name": "nome",
"note": "nota",
"owner": "$t(common.owner)",
"path": "caminho",
"playCount": "contador de reproduções",
"random": "aleatório",
"rating": "avaliação",
"recentlyAdded": "adicionado recentemente",
"recentlyPlayed": "tocado recentemente",
"recentlyUpdated": "atualizado recentemente",
"releaseDate": "data de lançamento",
"releaseYear": "ano de lançamento",
"search": "buscar",
"songCount": "contador de músicas",
"title": "titulo",
"toYear": "até o ano",
"trackNumber": "faixa"
},
"form": {
"addServer": {
"error_savePassword": "um erro ocorreu ao tentar gravar a palavra-passe",
"ignoreCors": "ignorar CORS ($t(common.restartRequired))",
"ignoreSsl": "ignorar ssl ($t(common.restartRequired))",
"input_legacyAuthentication": "ativar autenticação legada",
"input_name": "nome do servidor",
"input_password": "palavra-passe",
"input_savePassword": "gravar palavra-passe",
"input_url": "url",
"input_username": "nome de utilizador",
"success": "servidor adicionado com sucesso",
"title": "adicionar servidor"
},
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "pular duplicadas",
"success": "adicionado $t(entity.trackWithCount, {\"count\": {{message}} }) para $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "adicionar à $t(entity.playlist_one)"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"input_public": "público",
"success": "$t(entity.playlist_one) criada com sucesso",
"title": "criar $t(entity.playlist_one)"
},
"deletePlaylist": {
"input_confirm": "escreva o nome da $t(entity.playlist_one) para confirmar",
"success": "$t(entity.playlist_one) apagada com sucesso",
"title": "apagar $t(entity.playlist_one)"
},
"editPlaylist": {
"publicJellyfinNote": "O Jellyfin por algum motivo não expõe se uma playlist é pública ou não. Se deseja que ela permaneça pública, por favor selecione a seguinte entrada",
"success": "$t(entity.playlist_one) atualizada com sucesso",
"title": "editar $t(entity.playlist_one)"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "pesquisa de letras"
},
"queryEditor": {
"input_optionMatchAll": "corresponder todos",
"input_optionMatchAny": "corresponder qualquer um"
},
"shareItem": {
"allowDownloading": "permitir descargas",
"description": "descrição",
"setExpiration": "definir expiração",
"success": "ligação de compartilhamento copiado para a área de transferência (ou clique aqui para abrir)",
"expireInvalid": "a expiração deve ser uma data futura",
"createFailed": "falha ao criar compartilhamento (o compartilhamento está ativado?)"
},
"updateServer": {
"success": "servidor atualizado com sucesso",
"title": "atualizar servidor"
}
},
"page": {
"albumArtistDetail": {
"about": "Sobre {{artist}}",
"appearsOn": "aparece em",
"recentReleases": "lançamentos recentes",
"viewDiscography": "ver discografia",
"relatedArtists": "$t(entity.artist_other) relacionados",
"topSongs": "músicas mais tocadas",
"topSongsFrom": "músicas mais tocadas de {{title}}",
"viewAll": "ver tudo",
"viewAllTracks": "ver todas as $t(entity.track_other)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "mais deste $t(entity.artist_one)",
"moreFromGeneric": "mais que {{elemento}}",
"released": "lançado"
},
"albumList": {
"artistAlbums": "álbuns de {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
"collapseSidebar": "recolher barra lateral",
"expandSidebar": "expandir barra lateral",
"goBack": "voltar",
"goForward": "avançar",
"manageServers": "gerir servidores",
"openBrowserDevtools": "abrir ferramentas do programador",
"quit": "$t(common.quit)",
"selectServer": "selecionar servidor",
"settings": "$t(common.setting_other)",
"version": "versão {{version}}"
},
"manageServers": {
"title": "gerir servidores",
"serverDetails": "pormenores do servidor",
"url": "URL",
"username": "nome de utilizador",
"editServerDetailsTooltip": "editar pormenores do servidor",
"removeServer": "remover servidor"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"download": "descarregar",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"numberSelected": "{{count}} selecionado",
"play": "$t(player.play)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "partilhar elemento",
"showDetails": "obter informações"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "fundo dinâmico",
"dynamicImageBlur": "tamanho do desfoque da imagem",
"dynamicIsImage": "ativar imagem de fundo",
"followCurrentLyric": "acompanhar letra",
"lyricAlignment": "alinhamento da letra",
"lyricOffset": "deslocamento da letra (ms)",
"lyricGap": "espaçamento da letra",
"lyricSize": "tamanho da letra",
"opacity": "opacidade",
"showLyricMatch": "exibir correspondência da letra",
"showLyricProvider": "exibir origem da letra",
"synchronized": "sincronizado",
"unsynchronized": "não sincronizado",
"useImageAspectRatio": "usar proporção da imagem"
},
"lyrics": "letra",
"related": "relacionado",
"upNext": "a seguir",
"visualizer": "visualizador",
"noLyrics": "nenhuma letra encontrada"
},
"genreList": {
"showAlbums": "mostrar $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "mostrar $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
"commands": {
"goToPage": "ir à página",
"searchFor": "procurar {{query}}",
"serverCommands": "comandos do servidor"
},
"title": "comandos"
},
"home": {
"explore": "explore a sua biblioteca",
"mostPlayed": "mais tocado",
"newlyAdded": "lançamentos recém-adicionados",
"recentlyPlayed": "tocado recentemente",
"title": "$t(common.home)"
},
"itemDetail": {
"copyPath": "copiar caminho para a área de transferência",
"copiedPath": "caminho copiado com sucesso",
"openFile": "mostrar faixa no gestor de ficheiros"
},
"playlist": {
"reorder": "reordenar apenas disponível quando ordenado pelo id"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"setting": {
"advanced": "avançado",
"generalTab": "geral",
"hotkeysTab": "teclas de atalho",
"playbackTab": "reprodução",
"windowTab": "janela"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"myLibrary": "a minha biblioteca",
"nowPlaying": "agora a tocar",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "$t(entity.playlist_other) partilhada",
"tracks": "$t(entity.track_other)"
},
"trackList": {
"artistTracks": "faixas de {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
"player": {
"addLast": "adicionar no final",
"addNext": "adicionar a seguir",
"favorite": "favorito",
"mute": "mudo",
"muted": "mudo",
"next": "próximo",
"play": "tocar",
"playbackFetchCancel": "isto demora um pouco... feche a notificação para cancelar",
"playbackFetchInProgress": "a carregar músicas…",
"playbackFetchNoResults": "nenhuma música encontrada",
"playbackSpeed": "velocidade de reprodução",
"playRandom": "tocar aleatório",
"playSimilarSongs": "tocar músicas similares",
"previous": "anterior",
"queue_clear": "limpar fila",
"queue_moveToBottom": "mover selecionados para o topo",
"queue_moveToTop": "mover selecionados para o fim",
"queue_remove": "remover selecionados",
"repeat": "repetir",
"repeat_all": "repetir tudo",
"repeat_off": "repetição desativada",
"shuffle": "tocar aleatório",
"shuffle_off": "aleatório desativado",
"skip": "pular",
"skip_back": "retroceder",
"skip_forward": "avançar",
"stop": "parar",
"toggleFullscreenPlayer": "alternar player de ecrã cheio",
"unfavorite": "remover favorito",
"pause": "pausar",
"viewQueue": "ver fila"
},
"setting": {
"accentColor": "cor de realce",
"accentColor_description": "define a cor de realce para a aplicação",
"albumBackground": "imagem de fundo do álbum",
"albumBackground_description": "adiciona uma imagem de fundo contendo a arte do álbum para a página de álbum",
"albumBackgroundBlur": "tamanho de desfoque da imagem de fundo do álbum",
"albumBackgroundBlur_description": "ajusta a quantidade de desfoque aplicada para a imagem de fundo do álbum",
"applicationHotkeys": "teclas de atalho da aplicação",
"applicationHotkeys_description": "configure as teclas de atalho da aplicação. clique na caixa de seleção para definir como tecla de atalho global (somente desktop)",
"artistConfiguration": "configuração da página de artista de álbum",
"artistConfiguration_description": "configure quais elementos serão mostrados, e em qual ordem, na página de artista de álbum",
"audioDevice": "dispositivo de áudio",
"audioDevice_description": "selecione o dispositivo de áudio usado para reprodução (somente player web)",
"audioExclusiveMode": "modo de áudio exclusivo",
"audioExclusiveMode_description": "ativar modo de saída exclusiva. Neste modo, o sistema é geralmente bloqueado, e apenas mpv terá saída de áudio",
"audioPlayer": "player de áudio",
"audioPlayer_description": "selecione o player de áudio usado para reprodução",
"buttonSize": "tamanho do botão da barra de reprodução",
"buttonSize_description": "o tamanho dos botões da barra de reprodução",
"clearCache": "limpar cache do navegador",
"clearCache_description": "uma 'limpeza geral' do feishin. em adição a limpar o cache do feishin, limpa o cache do navegador (imagens gravadas e outros recursos). as credenciais de servidor e as configurações serão mantidas",
"clearQueryCache": "limpar cache do feishin",
"clearQueryCache_description": "uma 'limpeza leve' do feishin. isto irá renovar playlists, metadados de faixas, e resetar letras gravadas. as configurações, as credenciais de servidor e o cache de imagens serão mantidos",
"clearCacheSuccess": "cache limpo com sucesso",
"contextMenu": "configuração do menu de contexto (clique do botão direito do rato)",
"contextMenu_description": "permite esconder elementos exibidos no menu quando clica num elemento com o botão direito. elementos não selecionados serão escondidos",
"crossfadeDuration": "duraçao de crossfade",
"crossfadeDuration_description": "define a duração do efeito crossfade",
"crossfadeStyle": "estilo do crossfade",
"crossfadeStyle_description": "seleciona qual estilo de crossfade usado no player de áudio",
"customCssEnable": "ativar css customizado",
"customCssEnable_description": "permite escrever css customizado.",
"customCssNotice": "Aviso: apesar de existir alguma higienização (url() e content: não são permitidas), o uso de CSS personalizado ainda pode representar riscos ao alterar a interface.",
"customCss": "css customizado",
"disableAutomaticUpdates": "desativar atualizações automáticas",
"disableLibraryUpdateOnStartup": "desativar a verificação de novas versões na inicialização",
"discordApplicationId": "{{discord}} ID da aplicação",
"discordIdleStatus_description": "quando ativado, atualiza o estado enquanto o player está ocioso",
"discordUpdateInterval_description": "o tempo em segundos entre cada atualização (mínimo 15 segundos)",
"playButtonBehavior_description": "define o comportamento padrão do botão play ao adicionar músicas à fila"
},
"table": {
"column": {
"discNumber": "disco",
"size": "$t(common.size)",
"title": "titulo"
},
"config": {
"label": {
"discNumber": "numero do disco",
"titleCombined": "$t(common.title) (combinado)"
}
}
}
}
+122 -399
View File
@@ -7,27 +7,22 @@
"addToFavorites": "добавить в $t(entity.favorite_other)",
"addToPlaylist": "добавить в $t(entity.playlist_one)",
"createPlaylist": "создать $t(entity.playlist_one)",
"removeFromPlaylist": "удалить из $t(entity.playlist_few)",
"viewPlaylists": "показать $t(entity.playlist_other)",
"removeFromPlaylist": "удалить из $t(entity.playlist_one)",
"viewPlaylists": "просмотреть $t(entity.playlist_other)",
"refresh": "$t(common.refresh)",
"deletePlaylist": "удалить $t(entity.playlist_one)",
"removeFromQueue": "удалить из очереди",
"deselectAll": "снять выделение",
"moveToBottom": "вниз",
"setRating": "оценить",
"toggleSmartPlaylistEditor": "вкл./откл. редактор $t(entity.smartPlaylist)",
"removeFromFavorites": "удалить из $t(entity.favorite_few)",
"openIn": {
"lastfm": "открыть на Last.fm",
"musicbrainz": "открыть на MusicBrainz"
},
"moveToNext": "следующий"
"toggleSmartPlaylistEditor": "вкл/выкл $t(entity.smartPlaylist) редактор",
"removeFromFavorites": "удалить из $t(entity.favorite_other)"
},
"common": {
"backward": "назад",
"increase": "увеличить",
"rating": "рейтинг",
"bpm": "уд./мин.",
"bpm": "ударов в мин.",
"refresh": "обновить",
"unknown": "неизвестно",
"areYouSure": "вы уверены?",
@@ -39,19 +34,19 @@
"currentSong": "текущий $t(entity.track_one)",
"collapse": "закрыть",
"trackNumber": "трек",
"descending": "по убыванию",
"descending": "убывающий",
"add": "добавить",
"gap": "промежуток",
"ascending": "по возрастанию",
"ascending": "возрастающий",
"dismiss": "отклонить",
"year": "год",
"manage": "управление",
"limit": "ограничение",
"minimize": "свернуть",
"manage": "управлять",
"limit": "лимит",
"minimize": "минимизировать",
"modified": "изменено",
"duration": "длительность",
"duration": "продолжительность",
"name": "имя",
"maximize": "развернуть",
"maximize": "максимизировать",
"decrease": "уменьшить",
"ok": "ок",
"description": "описание",
@@ -65,11 +60,8 @@
"forward": "вперёд",
"delete": "удалить",
"cancel": "отменить",
"forceRestartRequired": "перезапустите приложение, чтобы применить изменения... закройте уведомление для перезапуска",
"forceRestartRequired": "перезапустите приложение, чтобы применить изменения... закройте уведомление, чтобы перезапустить приложение",
"setting": "настройка",
"setting_one": "настройка",
"setting_few": "",
"setting_many": "",
"version": "версия",
"title": "название",
"filter_one": "фильтр",
@@ -82,43 +74,32 @@
"action_one": "действие",
"action_few": "действия",
"action_many": "действий",
"playerMustBePaused": "необходимо остановить воспроизведение",
"playerMustBePaused": "воспроизведение должно быть остановлено",
"confirm": "подтвердить",
"resetToDefault": "сбросить настройки",
"home": "главная",
"comingSoon": "скоро…",
"resetToDefault": "сбросить к настройкам по умолчанию",
"home": "Главная страница",
"comingSoon": "скоро будет…",
"reset": "сбросить",
"channel_one": "канал",
"channel_few": "канала",
"channel_many": "каналов",
"disable": "отключить",
"disable": "выключить",
"sortOrder": "порядок",
"menu": "меню",
"restartRequired": "необходим перезапуск приложения",
"previousSong": "предыдущий $t(entity.track_one)",
"noResultsFromQuery": ичего не найдено",
"noResultsFromQuery": ет результатов",
"quit": "выйти",
"expand": "раскрыть",
"search": "поиск",
"expand": "расширить",
"search": "Поиск",
"saveAs": "сохранить как",
"disc": "диск",
"yes": "да",
"random": "случайно",
"random": "случайный",
"size": "размер",
"biography": "биография",
"note": "заметка",
"none": "нет",
"mbid": "MusicBrainz ID",
"reload": "перезагрузить",
"preview": "просмотр",
"codec": "кодек",
"share": "поделиться",
"close": "закрыть",
"albumGain": "альбом усиление",
"trackGain": "усиление трека",
"translation": "перевод",
"albumPeak": "пик альбома",
"trackPeak": "пик трека"
"none": "нет"
},
"entity": {
"album_one": "альбом",
@@ -133,25 +114,18 @@
"playlist_one": "плейлист",
"playlist_few": "плейлиста",
"playlist_many": "плейлистов",
"play": "{{count}} прослушиваний",
"play_one": "{{count}} прослушивание",
"play_few": "",
"play_many": "",
"artist_one": "автор",
"artist_few": "автора",
"artist_many": "исполнителей",
"artist_many": "авторов",
"folderWithCount_one": "{{count}} папка",
"folderWithCount_few": "{{count}} папки",
"folderWithCount_many": "{{count}} папок",
"albumArtist_one": "исполнитель альбома",
"albumArtist_few": "исполнители альбома",
"albumArtist_many": "исполнителей альбома",
"albumArtist_one": "автор альбома",
"albumArtist_few": "автора альбома",
"albumArtist_many": "авторов альбома",
"track_one": "трек",
"track_few": "трека",
"track_many": "треков",
"song_one": "песня",
"song_few": "{{count}} песни",
"song_many": "{{count}} песен",
"albumArtistCount_one": "{{count}} автор альбома",
"albumArtistCount_few": "{{count}} автора альбома",
"albumArtistCount_many": "{{count}} авторов альбома",
@@ -178,7 +152,7 @@
"table": {
"config": {
"view": {
"card": "карточки",
"card": "карта",
"table": "таблица",
"poster": "постер"
},
@@ -187,10 +161,7 @@
"gap": "$t(common.gap)",
"tableColumns": "столбцы таблицы",
"autoFitColumns": "автоматически расставить столбцы",
"followCurrentSong": "следовать за исполняемым треком",
"size": "$t(common.size)",
"itemSize": "размер элементов (px)",
"itemGap": "отступ между элементами (px)"
"size": "$t(common.size)"
},
"label": {
"releaseDate": "дата выхода",
@@ -202,7 +173,7 @@
"bpm": "$t(common.bpm)",
"lastPlayed": "последний",
"trackNumber": "номер трека",
"rowIndex": "номер строки",
"rowIndex": "индекс ряда",
"rating": "$t(common.rating)",
"artist": "$t(entity.artist_one)",
"album": "$t(entity.album_one)",
@@ -218,9 +189,7 @@
"discNumber": "номер диска",
"favorite": "$t(common.favorite)",
"year": "$t(common.year)",
"albumArtist": "$t(entity.albumArtist_one)",
"codec": "$t(common.codec)",
"songCount": "$t(entity.track_other)"
"albumArtist": "$t(entity.albumArtist_one)"
}
},
"column": {
@@ -235,44 +204,29 @@
"trackNumber": "трек",
"genre": "$t(entity.genre_one)",
"path": "путь",
"discNumber": "диск",
"size": "$t(common.size)",
"dateAdded": "дата добавления",
"album": "альбом",
"albumArtist": "исполнитель альбома",
"biography": "биография",
"codec": "$t(common.codec)",
"comment": "комментарий",
"albumCount": "$t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"bitrate": "битрейт",
"channels": "$t(common.channel_other)",
"bpm": "bpm"
"discNumber": "диск"
}
},
"error": {
"remotePortWarning": "необходимо перезапустить сервер для применения нового порта",
"remotePortWarning": "перезапустить сервер для применения нового порта",
"systemFontError": "произошла ошибка при попытке получить системные шрифты",
"playbackError": "произошла ошибка при попытке проигрывания медиа",
"endpointNotImplementedError": "запрос {{endpoint}} не реализован для {{serverType}}",
"playbackError": "произошла ошибка при попытке проиграть медиа",
"endpointNotImplementedError": "запрос {{endpoint}} is not implemented for {{serverType}}",
"remotePortError": "произошла ошибка при попытке установить порт удаленного сервера",
"serverRequired": "сервер не выбран",
"authenticationFailed": "не удалось авторизироваться",
"serverRequired": "необходим сервер",
"authenticationFailed": "аутентификация завершилась с ошибкой",
"apiRouteError": "невозможно выполнить запрос",
"genericError": "произошла ошибка",
"credentialsRequired": "введите данные для входа",
"sessionExpiredError": "ваш сеанс истёк",
"remoteEnableError": "произошла ошибка при попытке $t(common.enable) удалённый сервер",
"credentialsRequired": "необходимы учётные данные",
"sessionExpiredError": "ваш сеанс истек",
"remoteEnableError": "ошибка произошла при попытке $t(common.enable) удаленного сервера",
"localFontAccessDenied": "не получилось получить доступ к шрифтам",
"serverNotSelectedError": "не выбран сервер",
"remoteDisableError": "произошла ошибка при попытке $t(common.disable) удалённый сервер",
"mpvRequired": "необходим MPV",
"remoteDisableError": "ошибка произошла при попытке $t(common.disable) удаленного сервера",
"mpvRequired": "Необходим MPV",
"audioDeviceFetchError": "произошла ошибка с аудиоустройством",
"invalidServer": "недействительный сервер",
"loginRateError": "превышено максимальное количество попыток входа, пожалуйста, попробуйте ещё раз через несколько секунд",
"openError": "не удалось открыть файл",
"badAlbum": "вы видите эту страницу из-за того, что эта песня не входит в альбом. скорее всего, вы видите эту ошибку, так как песня находится в корневой директории папки с музыкой. jellyfin группирует треки только по папкам.",
"networkError": "возникла ошибка сети"
"loginRateError": "слишком много попыток входа, пожалуйста, попробуйте еще раз через несколько секунд"
},
"filter": {
"isCompilation": "сборник",
@@ -282,78 +236,76 @@
"communityRating": "рейтинг сообщества",
"favorited": "любимый",
"albumArtist": "$t(entity.albumArtist_one)",
"isFavorited": "любимые",
"bpm": "уд./мин.",
"isFavorited": "любимый",
"bpm": "ударов в мин.",
"disc": "диск",
"biography": "биография",
"artist": "$t(entity.artist_one)",
"duration": "длительность",
"fromYear": "год",
"duration": "продолжительность",
"fromYear": "из года",
"criticRating": "рейтинг критиков",
"mostPlayed": "слушают чаще всего",
"mostPlayed": "наибольшое кол-во воспроизведений",
"comment": "комментировать",
"playCount": "количество воспроизведений",
"recentlyUpdated": "обновленные недавно",
"playCount": "кол-во воспроизведений",
"recentlyUpdated": "недавно обновлено",
"channels": "$t(common.channel_other)",
"recentlyPlayed": "проигрывались недавно",
"recentlyPlayed": "недавно проиграно",
"owner": "$t(common.owner)",
"title": "название",
"rating": "рейтинг",
"search": "поиск",
"search": "Поиск",
"genre": "$t(entity.genre_one)",
"recentlyAdded": "недавно добавленные",
"recentlyAdded": "недавно добавлено",
"note": "заметка",
"name": "название",
"releaseDate": "дата выхода",
"albumCount": "количество $t(entity.album_many)",
"albumCount": "$t(entity.album_other) кол-во",
"path": "путь",
"isRecentlyPlayed": "недавно проигрывался",
"isRecentlyPlayed": "недавно проигрывалась",
"releaseYear": "год выхода",
"id": "",
"songCount": "количество песен",
"id": "#",
"songCount": "кол-во песен",
"isPublic": "публичный",
"random": "случайно",
"random": "случайный",
"lastPlayed": "последний раз проигрывалась",
"toYear": "до года",
"album": "$t(entity.album_one)",
"trackNumber": "трек"
},
"player": {
"repeat_all": "повторять все",
"repeat_all": "повтор всех",
"stop": "остановить",
"repeat": "повторять текущий",
"queue_remove": "удалить выбранное",
"playRandom": "играть случайные песни",
"playSimilarSongs": "играть похожие песни",
"repeat": "повтор",
"queue_remove": "удалить выделенные",
"playRandom": "случайные песни",
"skip": "пропустить",
"previous": "предыдущий",
"toggleFullscreenPlayer": "включить полноэкранный режим",
"skip_back": "назад",
"favorite": "любимый",
"next": "следующий",
"next": "следующее",
"shuffle": "перемешать",
"playbackFetchNoResults": "песни не найдены",
"playbackFetchInProgress": "загрузка песен",
"addNext": "воспроизвести следующим",
"playbackFetchNoResults": "нет песен",
"playbackFetchInProgress": "загрузка песен..",
"addNext": "добавить следующий",
"playbackSpeed": "скорость воспроизведения",
"playbackFetchCancel": "пожалуйста, подождите немного... закройте уведомление для отмены",
"play": "играть",
"playbackFetchCancel": "это занимает некоторое время... закрыть уведомление для отмены",
"play": "прослушать",
"repeat_off": "повтор выключен",
"pause": "пауза",
"queue_clear": "очистить очередь",
"muted": "звук отключён",
"unfavorite": "убрать из любимых",
"queue_moveToTop": "переместить выделенное вниз",
"queue_moveToBottom": "переместить выделенное вверх",
"queue_moveToTop": "переместить выделение вниз",
"queue_moveToBottom": "переместить выделение вверх",
"shuffle_off": "перемешивание выключено",
"addLast": "воспроизвести после всех",
"addLast": "добавить последний",
"mute": "отключить звук",
"skip_forward": "вперёд",
"viewQueue": "показать очередь"
"skip_forward": "вперёд"
},
"page": {
"sidebar": {
"nowPlaying": "сейчас играет",
"nowPlaying": "Cейчас проигрывается",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"tracks": "$t(entity.track_other)",
@@ -373,41 +325,28 @@
"followCurrentLyric": "следовать за текущими словами песни",
"opacity": "непрозрачность",
"lyricSize": "размер слов",
"showLyricProvider": "показать источник слов",
"unsynchronized": "не синхронизировано",
"showLyricProvider": "показать провайдера слов",
"unsynchronized": "несинхронизировано",
"lyricAlignment": "выравнивание слов песни",
"lyricOffset": "задержка слов (мсек)",
"useImageAspectRatio": "использовать соотношение сторон изображения",
"lyricGap": "пробел между словами",
"dynamicIsImage": "включить фоновое изображение",
"dynamicImageBlur": "сила размытия изображения"
"lyricGap": "пробел между словами"
},
"upNext": "играет",
"lyrics": "слова",
"related": "похожие",
"visualizer": "визуализатор",
"noLyrics": "слова для песни не найдены"
"upNext": "следующее",
"lyrics": "слова песни",
"related": "схожие"
},
"appMenu": {
"selectServer": "список серверов",
"selectServer": "выбрать сервер",
"version": "версия {{version}}",
"settings": "$t(common.setting_other)",
"manageServers": "редактировать список серверов",
"expandSidebar": "развернуть боковую панель",
"manageServers": "настроить список серверов",
"expandSidebar": "развернуть",
"collapseSidebar": "Скрыть боковую панель",
"openBrowserDevtools": "открыть инструменты разработчика",
"quit": "$t(common.quit)",
"goBack": "назад",
"goForward": "вперёд"
},
"manageServers": {
"title": "сервера",
"serverDetails": "информация о сервере",
"url": "адрес",
"username": "пользователь",
"editServerDetailsTooltip": "изменить настройки сервера",
"removeServer": "удалить сервер"
},
"contextMenu": {
"addToPlaylist": "$t(action.addToPlaylist)",
"addToFavorites": "$t(action.addToFavorites)",
@@ -420,45 +359,37 @@
"removeFromFavorites": "$t(action.removeFromFavorites)",
"addNext": "$t(player.addNext)",
"deselectAll": "$t(action.deselectAll)",
"download": "скачать",
"addLast": "$t(player.addLast)",
"addFavorite": "$t(action.addToFavorites)",
"play": "$t(player.play)",
"numberSelected": "{{count}} выбрано",
"removeFromQueue": "$t(action.removeFromQueue)",
"showDetails": "получить информацию",
"shareItem": "поделиться"
"removeFromQueue": "$t(action.removeFromQueue)"
},
"home": {
"mostPlayed": "слушают чаще всего",
"mostPlayed": "наибольшее кол-во воспроизведений",
"newlyAdded": "недавно добавленные релизы",
"title": "$t(common.home)",
"explore": "откройте новое",
"recentlyPlayed": "игралось недавно"
"explore": "изучите вашу медиатеку",
"recentlyPlayed": "недавно прослушано"
},
"albumDetail": {
"moreFromArtist": "больше от $t(entity.artist_one)",
"moreFromGeneric": "больше из {{item}}",
"released": "выпущен"
"moreFromArtist": "больше из жанра $t(entity.genre_one)",
"moreFromGeneric": "больше из {{item}}"
},
"setting": {
"playbackTab": "воспроизведение",
"generalTab": "общее",
"hotkeysTab": "горячие клавиши",
"windowTab": "окно",
"advanced": "расширенные"
"windowTab": "окно"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"genreList": {
"title": "$t(entity.genre_other)",
"showAlbums": "показать $t(entity.genre_one) $t(entity.album_many)",
"showTracks": "показать $t(entity.genre_one) $t(entity.track_many)"
"title": "$t(entity.genre_other)"
},
"trackList": {
"title": "$t(entity.track_other)",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)"
"title": "$t(entity.track_other)"
},
"globalSearch": {
"commands": {
@@ -468,39 +399,18 @@
},
"title": "комманды"
},
"playlist": {
"reorder": "сортировка доступна только по ID"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"albumList": {
"title": "$t(entity.album_other)",
"artistAlbums": "альбомы {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)"
},
"albumArtistDetail": {
"topSongs": "популярные треки",
"viewAll": "посмотреть всё",
"appearsOn": "появляется в",
"viewDiscography": "посмотреть дискографию",
"relatedArtists": "похож на $t(entity.artist_many)",
"viewAllTracks": "посмотреть все $t(entity.track_other)",
"recentReleases": "недавние релизы",
"about": "О {{artist}}",
"topSongsFrom": "популярные треки из {{title}}"
},
"itemDetail": {
"copyPath": "скопировать путь в буфер обмена",
"openFile": "открыть трек в менеджере файлов",
"copiedPath": "путь успешно скопирован"
"title": "$t(entity.album_other)"
}
},
"form": {
"deletePlaylist": {
"title": "удалить $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) успешно удалён",
"input_confirm": "напишите название $t(entity.playlist_few) для подтверждения"
"input_confirm": "напишите название $t(entity.playlist_one), чтобы подтвердить действие"
},
"createPlaylist": {
"input_description": "$t(common.description)",
@@ -513,24 +423,24 @@
"addServer": {
"title": "добавить сервер",
"input_username": "пользователь",
"input_url": "адрес",
"input_url": "url",
"input_password": "пароль",
"input_legacyAuthentication": "включить старую авторизацию",
"input_legacyAuthentication": "включить старую аутентификацию",
"input_name": "название сервера",
"success": "сервер успешно добавлен",
"success": "сервер добавлен успешно",
"input_savePassword": "сохранить пароль",
"ignoreSsl": "игнорировать ssl ($t(common.restartRequired))",
"ignoreCors": "игнорировать CORS ($t(common.restartRequired))",
"error_savePassword": "произошла ошибка при сохранении пароля"
"ignoreSsl": "ignore ssl $t(common.restartRequired)",
"ignoreCors": "$t(common.restartRequired)",
"error_savePassword": "произошла ошибка во время попытки сохранения пароля"
},
"addToPlaylist": {
"success": "добавлено: $t(entity.trackWithCount, {\"count\": {{message}} }) в $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"success": "добавлено(а) {{message}} $t(entity.song_other) в {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "добавить в $t(entity.playlist_one)",
"input_skipDuplicates": "не добавлять дубликаты",
"input_skipDuplicates": "пропустить дубликаты",
"input_playlists": "$t(entity.playlist_other)"
},
"updateServer": {
"title": "обновление сервера",
"title": "обновить сервер",
"success": "сервер успешно обновлён"
},
"queryEditor": {
@@ -543,223 +453,36 @@
"title": "поиск слов песни"
},
"editPlaylist": {
"title": "редактировать $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) обновлён успешно"
},
"shareItem": {
"success": "ссылка скопирована в буфер обмена (нажмите здесь, чтобы открыть)",
"expireInvalid": "время истечения срока действия должно быть в будущем",
"createFailed": "не удалось создать ссылку для общего доступа (проверьте, включен ли общий доступ?)",
"allowDownloading": "разрешить скачивание",
"setExpiration": "установить срок действия",
"description": "описание"
"title": "редактировать $t(entity.playlist_one)"
}
},
"setting": {
"accentColor": "цвет акцента",
"accentColor_description": "устанавливает цвет акцента для приложения",
"albumBackground": "фоновое изображение альбомов",
"albumBackground_description": "добавляет фоновое изображение для страниц альбомов, содержащих обложку",
"albumBackgroundBlur": "размытие фонового изображения альбома",
"albumBackgroundBlur_description": "определяет степень размытия фонового изображения на странице альбомов",
"applicationHotkeys": "горячие клавиши приложения",
"crossfadeStyle_description": "выберите вид эффекта crossfade для аудиоплеера",
"customCssEnable": "использовать кастомные css",
"customCssEnable_description": "разрешить использование кастомных css.",
"enableRemote_description": "включает сервер удалённого управления для управления воспроизведением с помощью других устройств",
"fontType_optionSystem": "системный",
"mpvExecutablePath_description": "укажите папку, в которой находится исполняющий файл аудиоплеера MPV. если оставить пустым, будет использоваться путь по умолчанию",
"crossfadeStyle": "вид эффекта crossfade",
"fontType_optionBuiltIn": "встроенный",
"disableLibraryUpdateOnStartup": "отключить проверку новых версий при запуске приложения",
"minimizeToTray_description": "сворачивать приложение в панель уведомлений",
"audioPlayer_description": "укажите, какой аудиоплеер использовать для воспроизведения",
"disableAutomaticUpdates": "отключить проверку обновлений",
"crossfadeStyle_description": "Выберите вид эффекта crossfade для аудиоплеера",
"enableRemote_description": "Включает сервер удалённого управления для управления воспроизведением с помощью других устройств",
"fontType_optionSystem": "Системный шрифт",
"mpvExecutablePath_description": "Укажите папку, в которой находится исполняющий файл аудиоплеера MPV",
"crossfadeStyle": "Вид эффекта crossfade",
"fontType_optionBuiltIn": "Встроенный в приложение",
"disableLibraryUpdateOnStartup": "Отключить проверку новых версий при запуске приложения",
"minimizeToTray_description": "Сворачивать приложение в панель уведомлений",
"audioPlayer_description": "Укажите - какой аудиоплеер использовать для воспроизведения",
"disableAutomaticUpdates": "Отключить проверку обновлений",
"exitToTray_description": "При закрытии приложения - оно останется в панели уведомлений",
"fontType_optionCustom": "пользовательский",
"remotePassword": "пароль к серверу удалённого управления",
"fontType_optionCustom": "Пользовательский шрифт",
"remotePassword": "Пароль к серверу удалённого управления",
"font": "Шрифт",
"crossfadeDuration_description": "Укажите длительность эффекта crossfade",
"mpvExecutablePath": "папка с аудиоплеером MPV",
"exitToTray": "сворачивать в панель уведомлений при закрытии",
"enableRemote": "включить сервер удалённого управления",
"fontType": "тип шрифта",
"mpvExecutablePath": "Папка с аудиоплеером MPV",
"exitToTray": "Сворачивать в панель уведомлений при закрытии",
"enableRemote": "Включить сервер удалённого управления",
"fontType": "Источник шрифта",
"crossfadeDuration": "Длительность эффекта crossfade",
"audioPlayer": "Аудиоплеер",
"minimizeToTray": "сворачивать в панель уведомлений",
"font_description": "Выберите, какой шрифт использовать в приложении",
"remoteUsername": "имя пользователя для доступа к серверу удалённого управления",
"buttonSize_description": "размер кнопок в панели управления воспроизведением",
"clearCache": "очистить кэш браузера",
"clearQueryCache": "очистить кэш feishin",
"audioDevice": "устройство воспроизведения",
"audioDevice_description": "выберите устройство воспроизведения (только в режиме аудиоплеера web)",
"buttonSize": "размер кнопок панели управления воспроизведением",
"hotkey_volumeDown": "уменьшить громкость",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"theme_description": "устанавливает тему, которая будет использоваться в приложении",
"passwordStore": "хранилище паролей/секретов",
"sidebarPlaylistList": "список плейлистов в боковой панели",
"windowBarStyle_description": "выберите стиль заголовка окна",
"followLyric": "следовать за текстом трека",
"volumeWheelStep": "шаг регулировки громкости колёсиком мыши",
"windowBarStyle": "стиль заголовка окна",
"hotkey_zoomOut": "уменьшить масштаб",
"playbackStyle_optionCrossFade": "затухание",
"replayGainMode": "режим {{ReplayGain}}",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"clearQueryCache_description": "так называемая \"мягкая очистка\" feishin: обновляются плейлисты, метаданные треков, но сохранённые тексты треков сбрасываются. настройки, учётные данные и кэшированные изображения сохраняются",
"hotkey_favoriteCurrentSong": "добавить $t(common.currentSong) в избранное",
"genreBehavior": "поведения страницы жанров",
"globalMediaHotkeys": "глобальные мультимедийные горячие клавиши",
"hotkey_browserForward": "кнопка браузера \"вперёд\"",
"hotkey_favoritePreviousSong": "добавить $t(common.previousSong) в избранное",
"hotkey_globalSearch": "глобальный поиск",
"hotkey_playbackNext": "следующий трек",
"hotkey_playbackPause": "пауза",
"hotkey_playbackPlay": "играть",
"hotkey_playbackPlayPause": "играть / пауза",
"hotkey_playbackPrevious": "предыдущий трек",
"hotkey_playbackStop": "остановить",
"hotkey_rate0": "убрать оценку",
"hotkey_rate1": "оценить в 1 звезду",
"hotkey_rate2": "оценить в 2 звезды",
"hotkey_rate3": "оценить в 3 звезды",
"hotkey_rate4": "оценить в 4 звезды",
"hotkey_rate5": "оценить в 5 звёзд",
"hotkey_skipForward": "перемотать вперёд",
"hotkey_toggleCurrentSongFavorite": "добавить/удалить $t(common.currentSong) в избранное",
"hotkey_toggleFullScreenPlayer": "включение/выключение полноэкранного плеера",
"hotkey_togglePreviousSongFavorite": "добавить/удалить $t(common.previousSong) в избранное",
"hotkey_toggleRepeat": "переключить режим повтора",
"hotkey_toggleShuffle": "переключить перемешивание",
"hotkey_unfavoriteCurrentSong": "удалить $t(common.currentSong) из избранного",
"hotkey_unfavoritePreviousSong": "удалить $t(common.previousSong) из избранного",
"hotkey_volumeUp": "увеличить громкость",
"hotkey_zoomIn": "увеличить масштаб",
"language": "язык",
"lyricFetchProvider_description": "выберите источники для получения текстов песен. порядок источников соответствует очередности их запросов",
"minimumScrobblePercentage_description": "минимальный процент прослушивания трека, прежде чем он будет засчитан как прослушанный",
"minimumScrobbleSeconds_description": "минимальное время прослушивания трека в секундах, прежде чем он будет засчитан как прослушанный",
"playbackStyle_optionNormal": "нормальный",
"mpvExtraParameters": "параметры mpv",
"mpvExtraParameters_help": "по одному на строчку",
"playbackStyle_description": "выберите стиль воспроизведения, который будет использоваться аудиоплеером",
"playButtonBehavior_description": "устанавливает поведение кнопки воспроизведения при добавлении треков в очередь",
"playButtonBehavior": "поведение кнопки воспроизведения",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"playButtonBehavior_optionPlay": "$t(player.play)",
"playerAlbumArtResolution_description": "разрешение большой версии обложки альбома в проигрывателе. при большем разрешении она выглядит более четкой, но может замедлить загрузку. по умолчанию равно 0 - устанавливает разрешение автоматически",
"playerbarOpenDrawer": "полноэкранный переключатель по панели проигрывателя",
"playerbarOpenDrawer_description": "позволяет перейти в полноэкранный режим воспроизведения нажатием на панель проигрывателя",
"remotePort": "порт сервера удалённого управления",
"remotePort_description": "устанавливает порт для сервера удалённого управления",
"replayGainClipping": "{{ReplayGain}} клиппинг",
"replayGainFallback": "{{ReplayGain}} по умолчанию",
"sampleRate_description": "выберите выходную частоту дискретизации, которая будет использоваться, если выбранная частота дискретизации отличается от частоты дискретизации текущего трека. при значении меньше 8000 будет использоваться частота по умолчанию",
"savePlayQueue_description": "сохранять очередь воспроизведения при закрытии приложения и восстанавливать при запуске приложения",
"showSkipButton_description": "показывать или скрывать кнопки перемотки на панели управления воспроизведением",
"sidebarConfiguration": "конфигурация боковой панели",
"sidebarConfiguration_description": "выбрать элементы и порядок их отображения на боковой панели",
"sidebarCollapsedNavigation": "кнопки навигации в боковой панели (в свёрнутом режиме)",
"showSkipButtons": "показывать кнопки перемотки",
"showSkipButtons_description": "показывать или скрывать кнопки перемотки на панели управления воспроизведением",
"sidebarPlaylistList_description": "показать или скрыть список плейлистов на боковой панели",
"sidePlayQueueStyle": "вид отображения боковой очереди",
"sidePlayQueueStyle_description": "определяет вид отображения боковой очереди",
"sidePlayQueueStyle_optionAttached": "закрепленная",
"sidePlayQueueStyle_optionDetached": "плавающая",
"skipDuration": "время перемотки",
"skipDuration_description": "задает время перемотки при использовании кнопок перемотки на панели проигрывателя",
"useSystemTheme": "использовать тему системы",
"themeLight": "тема (светлая)",
"themeLight_description": "устанавливает светлую тему приложения",
"transcodeNote": "эффект применяется после 1 (для веб) - 2 (для mpv) песни",
"transcode": "включить транскодинг",
"transcode_description": "активирует транскодинг в другие форматы",
"transcodeBitrate": "битрейт транскодинга",
"transcodeBitrate_description": "выберите битрейт транскодинга. 0 - автоматическое определение сервером",
"transcodeFormat": "формат транкодинга",
"useSystemTheme_description": "использует тему, заданную в системе (светлую/тёмную)",
"zoom": "процент масштабирования",
"zoom_description": "устанавливает процент масштабирования приложения",
"floatingQueueArea": "показать область наведения для всплывающей очереди",
"genreBehavior_description": "определяет, что отобразится при открытии на жанр — список треков или альбомов",
"globalMediaHotkeys_description": "включить или отключить использование системных мультимедийных горячих клавиш для управления воспроизведением",
"homeConfiguration_description": "позволяет настроить видимость и порядок элементов на домашней странице",
"homeFeature": "улучшенная карусель на главной",
"homeFeature_description": "определяет, показывать ли улучшенную карусель на главной странице",
"hotkey_toggleQueue": "показать/скрыть очередь воспроизведения",
"imageAspectRatio": "использовать оригинальное соотношение сторон обложки",
"imageAspectRatio_description": "если эта опция включена, обложки будут отображаться в соответствии с их собственным соотношением сторон. для обложек не 1:1 оставшееся пространство будет пустым",
"minimumScrobblePercentage": "минимальное время для скробблинга (в процентах)",
"playbackStyle": "стиль воспроизведения",
"playerAlbumArtResolution": "разрешение обложки альбома",
"remotePassword_description": "задает пароль для сервера удалённого управления. По умолчанию эти учетные данные передаются небезопасным способом, поэтому следует использовать уникальный пароль, который вам неважен",
"replayGainClipping_description": "Предотвращение клиппинга, вызванного {{ReplayGain}}, путём автоматического снижения усиления",
"replayGainFallback_description": "усиление в db для применения, если у файла нет тегов {{ReplayGain}}",
"replayGainMode_description": "регулировать усиление громкости в соответствии со значениями {{ReplayGain}}, хранящимися в метаданных файла",
"savePlayQueue": "сохранять очередь воспроизведения",
"showSkipButton": "показывать кнопки перемотки",
"theme": "тема",
"themeDark": "тема (тёмная)",
"externalLinks": "показывать ссылки на внешние ресурсы",
"gaplessAudio": "бесшовное воспроизведение",
"gaplessAudio_optionWeak": "слабое (рекомендуется)",
"gaplessAudio_description": "устанавливает настройку mpv для бесшовного воспроизведение",
"hotkey_browserBack": "кнопка браузера \"назад\"",
"hotkey_localSearch": "поиск на странице",
"hotkey_skipBackward": "перемотать назад",
"startMinimized": "запуск в свёрнутом режиме",
"themeDark_description": "устанавливает тёмную тему приложения",
"hotkey_volumeMute": "отключить звук",
"clearCache_description": "\"жесткая очистка\" feishin: кроме очистки кэша feishin, также очищает кэш браузера (сохранённые картинки и другие ресурсы). учётные данные и настройки сохраняются",
"clearCacheSuccess": "кэш успешно удалён",
"contextMenu": "конфигурация контекстного меню (нажатие правой кнопкой мыши)",
"contextMenu_description": "позволяет скрыть элементы, отображаемые в меню, появляющемся при нажатии правой кнопки мыши на элемент. все, что не отмечено, будет скрыто",
"customFontPath": "путь к пользовательскому шрифту",
"customFontPath_description": "укажите путь к пользовательскому шрифту, который будет использоваться в приложении",
"externalLinks_description": "включает отображение внешних ссылок (Last.fm, MusicBrainz) на страницах альбомов и артистов",
"floatingQueueArea_description": "включить отображение иконки наведения на правой части экрана, чтобы показать очередь воспроизведения",
"followLyric_description": "прокручивать текст трека до текущей позиции воспроизведения",
"language_description": "устанавливает язык приложения ($t(common.restartRequired))",
"lyricFetch_description": "получать тексты треков из различных интернет-источников",
"lyricFetchProvider": "источник текстов треков",
"minimumScrobbleSeconds": "минимальное время для скробблинга (в секундах)",
"replayGainPreamp": "предусиление {{ReplayGain}} (дБ)",
"sidebarCollapsedNavigation_description": "показать или скрыть кнопки навигации в свёрнутой боковой панели",
"homeConfiguration": "конфигурация домашней страницы",
"remoteUsername_description": "задает имя пользователя для сервера удалённого управления. если имя пользователя и пароль пусты, аутентификация будет отключена",
"scrobble": "скробблинг",
"replayGainPreamp_description": "настройка усиления предусилителя, применяемого к значениям {{ReplayGain}}",
"passwordStore_description": "какое хранилище паролей/секретов использовать. измените это значение, если у вас есть проблемы с хранением паролей.",
"lyricFetch": "получать тексты треков из интернета",
"sampleRate": "частота дискретизации",
"scrobble_description": "скробблинг треков на вашем медиасервере",
"startMinimized_description": "запуск приложения в области уведомлений",
"volumeWheelStep_description": "количество громкости, изменяемое при прокрутке колёсика мыши над ползунком громкости",
"volumeWidth": "ширина слайдера звука",
"volumeWidth_description": "ширина слайдера звука (в px)",
"webAudio": "использовать веб аудио",
"webAudio_description": "использование веб аудио. включение активирует продвинутые возможности (например, replaygain). отключите, если вам это не нужно",
"discordRichPresence": "состояние профиля {{discord}}",
"discordApplicationId": "{{discord}} application id",
"discordApplicationId_description": "application id приложения {{discord}} которое будет отображаться в статусе профиля (по умолчанию {{defaultId}})",
"discordIdleStatus": "показывать состояние простоя",
"discordIdleStatus_description": "если включено, то обновляет статус, когда пользователь бездействует",
"discordUpdateInterval": "интервал обновления статуса профиля {{discord}}",
"discordUpdateInterval_description": "время в секундах между каждым обновлением (минимум 15 секунд)",
"doubleClickBehavior": "добавить в очередь все найденные треки при двойном клике",
"doubleClickBehavior_description": "есть включено: все найденные в поиске треки будут добавлены в очередь при двойном клике (иначе - только выбранный)",
"lyricOffset_description": "Смещение появления текста треков на указанное количество миллисекунд",
"skipPlaylistPage": "пропускать страницу плейлиста",
"applicationHotkeys_description": "настройка горячих клавиш приложения. поставьте галочку, чтобы сделать горячую клавишу глобальной (только для ПК)",
"artistConfiguration": "конфигурация страницы альбомов исполнителей",
"artistConfiguration_description": "позволяет настроить видимость и порядок элементов на странице альбомов исполнителей",
"fontType_description": "встроенный позволяет выбрать один из шрифтов, предоставляемых Feishin. системный позволяет выбрать любой шрифт, предоставляемый вашей операционной системой. пользовательский позволяет выбрать свой собственный шрифт",
"discordRichPresence_description": "включить статус воспроизведения в статус профиля в {{discord}}. Ключи изображений: {{icon}}, {{playing}} и {{paused}}",
"lyricOffset": "синхронизация текста треков (мс)"
"minimizeToTray": "Сворачивать в панель уведомлений",
"font_description": "Выберите - какой шрифт использовать в приложении",
"remoteUsername": "Имя пользователя для доступа к серверу удалённого управления"
}
}
-831
View File
@@ -1,831 +0,0 @@
{
"action": {
"addToFavorites": "pridať do $t(entity.favorite_other)",
"addToPlaylist": "pridať do $t(entity.playlist_one)",
"clearQueue": "vymazať frontu",
"createPlaylist": "vytvoriť $t(entity.playlist_one)",
"deletePlaylist": "odstrániť $t(entity.playlist_one)",
"deselectAll": "odznačiť všetko",
"editPlaylist": "upraviť $t(entity.playlist_one)",
"goToPage": "ísť na stránku",
"moveToNext": "prejsť na ďalší",
"moveToBottom": "presunúť sa na spodok",
"moveToTop": "presunúť sa navrch",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "odstrániť z $t(entity.favorite_other)",
"removeFromPlaylist": "odstrániť z $t(entity.playlist_one)",
"removeFromQueue": "odstrániť z fronty",
"setRating": "ohodnotiť",
"toggleSmartPlaylistEditor": "prepnúť $t(entity.smartPlaylist) editor",
"viewPlaylists": "zobraziť $t(entity.playlist_other)",
"openIn": {
"lastfm": "Otvoriť v Last.fm",
"musicbrainz": "Otvoriť v MusicBrainz"
}
},
"common": {
"action_one": "akcia",
"action_few": "akcie",
"action_other": "akcií",
"add": "pridať",
"additionalParticipants": "ďalší účastníci",
"newVersion": "bola nainštalovaná nová verzia ({{version}})",
"viewReleaseNotes": "zobraziť poznámky k vydaniu",
"albumGain": "hranosť albumu",
"albumPeak": "vrchol albumu",
"areYouSure": "ste si istý?",
"ascending": "vzostupne",
"backward": "dozadu",
"biography": "životopis",
"bitDepth": "bitová hĺbka",
"bitrate": "bitrate",
"bpm": "bpm",
"cancel": "zrušiť",
"center": "uprostred",
"channel_one": "kanál",
"channel_few": "kanály",
"channel_other": "kanálov",
"clear": "vyčistiť",
"close": "zavrieť",
"codec": "kodek",
"collapse": "zbaliť",
"comingSoon": "čoskoro…",
"configure": "nastaviť",
"confirm": "potvrdiť",
"create": "vytvoriť",
"currentSong": "aktuálne $t(entity.track_one)",
"decrease": "znížiť",
"delete": "zmazať",
"descending": "zostupne",
"description": "popis",
"disable": "zakázať",
"disc": "disk",
"dismiss": "zamietnuť",
"duration": "dĺžka",
"edit": "zmeniť",
"enable": "povoliť",
"expand": "rozbaliť",
"favorite": "obľúbené",
"filter_one": "filter",
"filter_few": "filtre",
"filter_other": "filtrov",
"filters": "filtre",
"forceRestartRequired": "zmeny vyžadujú reštart... zavretím upozornenia sa aplikácia reštartuje",
"forward": "dopredu",
"gap": "medzera",
"home": "domov",
"increase": "zvýšiť",
"left": "vľavo",
"limit": "limit",
"manage": "spravovať",
"maximize": "maximalizovať",
"menu": "ponuka",
"minimize": "minimalizovať",
"modified": "zmenené",
"mbid": "MusicBrainz ID",
"name": "meno",
"no": "nie",
"none": "žiadny",
"noResultsFromQuery": "dopyt nevrátil žiadne výsledky",
"note": "poznámka",
"ok": "ok",
"owner": "majiteľ",
"path": "cesta",
"playerMustBePaused": "prehrávač musí byť pozastavený",
"preview": "náhľad",
"previousSong": "predchádzajúca $t(entity.track_one)",
"quit": "ukončiť",
"random": "náhodne",
"rating": "hodnotenie",
"refresh": "obnoviť",
"reload": "znovu načítať",
"reset": "resetovať",
"resetToDefault": "resetovať na predvolené",
"restartRequired": "vyžaduje sa reštart",
"right": "vpravo",
"sampleRate": "vzorkovacia frekvencia",
"save": "uložiť",
"saveAndReplace": "uložiť a nahradiť",
"saveAs": "uložiť ako",
"search": "vyhľadať",
"setting": "nastavenie",
"share": "zdieľať",
"size": "veľkosť",
"sortOrder": "poradie",
"tags": "štítky",
"title": "názov",
"trackNumber": "skladba",
"trackGain": "hranosť skladby",
"trackPeak": "vrchol skladby",
"translation": "preklad",
"unknown": "neznámy",
"version": "verzia",
"year": "rok",
"yes": "áno"
},
"filter": {
"name": "meno",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"albumCount": "$t(entity.album_other) počet",
"artist": "$t(entity.artist_one)",
"biography": "životopis",
"bitrate": "bitrate",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"comment": "komentár",
"communityRating": "hodnotenie komunity",
"criticRating": "hodnotenie kritiky",
"dateAdded": "dátum pridania",
"disc": "disk",
"duration": "dĺžka",
"favorited": "obľúbené",
"fromYear": "od roku",
"genre": "$t(entity.genre_one)",
"id": "id",
"isCompilation": "je kompilácia",
"isFavorited": "je obľúbený",
"isPublic": "je verejný",
"isRated": "je hodnotený",
"isRecentlyPlayed": "je nedávno hraný",
"lastPlayed": "posledne hraný",
"mostPlayed": "najhranejší",
"note": "poznámka",
"owner": "$t(common.owner)",
"path": "cesta",
"playCount": "počet prehraní",
"random": "náhodne",
"rating": "hodnotenie",
"recentlyAdded": "nedávno pridané",
"recentlyPlayed": "nedávno hrané",
"recentlyUpdated": "nedávno aktualizované",
"releaseDate": "dátum vydania",
"releaseYear": "rok vydania",
"search": "vyhľadať",
"songCount": "počet skladieb",
"title": "názov",
"toYear": "do roku",
"trackNumber": "stopa"
},
"form": {
"addServer": {
"input_name": "názov servera",
"input_username": "užívateľské meno",
"error_savePassword": "pri pokuse o uloženie hesla sa vyskytla chyba",
"ignoreCors": "ignorovať cors ($t(common.restartRequired)",
"ignoreSsl": "ignorovať ssl ($t(common.restartRequired))",
"input_legacyAuthentication": "povoliť zastarané overenie",
"input_password": "heslo",
"input_savePassword": "uložiť heslo",
"input_url": "url",
"success": "server úspešne pridaný",
"title": "pridať server"
},
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "preskočiť duplicity",
"success": "$t(entity.trackWithCount, {\"count\": {{message}} }) pridané do $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "pridať do $t(entity.playlist_one)"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"input_public": "verejný",
"success": "$t(entity.playlist_one) úspešne vytvorený",
"title": "vytvoriť $t(entity.playlist_one)"
},
"deletePlaylist": {
"input_confirm": "pre potvrdenie zadajte názov $t(entity.playlist_one)",
"success": "$t(entity.playlist_one) bol úspešne odstránený",
"title": "odstrániť $t(entity.playlist_one)"
},
"editPlaylist": {
"publicJellyfinNote": "Jellyfin z nejakého dôvodu neinformuje, či je playlist verejný alebo nie. Ak si ho želáte ponechať ako verejný, ponechajte nasledujúci vstup ako povolený",
"success": "$t(entity.playlist_one) úspešne aktualizovaný",
"title": "upraviť $t(entity.playlist_one)"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "vyhľadať text skladby"
},
"queryEditor": {
"title": "editor dopytov",
"input_optionMatchAll": "zhoda na všetkých",
"input_optionMatchAny": "zhoda na ľubovoľnom"
},
"shareItem": {
"allowDownloading": "povoliť sťahovanie",
"description": "popis",
"setExpiration": "nastaviť vypršanie platnosti",
"success": "zdieľať link skopírovaný do schránky (alebo klinutím otvoriť tu)",
"expireInvalid": "vypršanie platnosti musí byť v budúcnosti",
"createFailed": "nepodarilo sa nazdielať (je zdieľanie povolené)"
},
"updateServer": {
"success": "server bol úspešne aktualizovaný",
"title": "aktualizovať server"
},
"privateMode": {
"enabled": "je zapnutý súkromný režim, status prehrávania je pre vonkajšie integrácie skrytý",
"disabled": "súkromný režim je vypnutý, status prehrávania je teraz pre vonkajšie integrácie povolený",
"title": "súkromný režim"
}
},
"entity": {
"album_one": "album",
"album_few": "albumy",
"album_other": "albumov",
"albumArtist_one": "interpret albumu",
"albumArtist_few": "interpreti albumu",
"albumArtist_other": "interpretov albumu",
"albumArtistCount_one": "{{count}} interpret albumu",
"albumArtistCount_few": "{{count}} interpreti albumu",
"albumArtistCount_other": "{{count}} interpretov albumu",
"albumWithCount_one": "{{count}} album",
"albumWithCount_few": "{{count}} albumy",
"albumWithCount_other": "{{count}} albumov",
"artist_one": "interpret",
"artist_few": "interpreti",
"artist_other": "interpretov",
"artistWithCount_one": "{{count}} interpret",
"artistWithCount_few": "{{count}} interpreti",
"artistWithCount_other": "{{count}} interpretov",
"favorite_one": "obľúbený",
"favorite_few": "obľúbení",
"favorite_other": "obľúbených",
"folder_one": "priečinok",
"folder_few": "priečinky",
"folder_other": "priečinkov",
"folderWithCount_one": "{{count}} priečinok",
"folderWithCount_few": "{{count}} priečinky",
"folderWithCount_other": "{{count}} priečinkov",
"genre_one": "žáner",
"genre_few": "žánre",
"genre_other": "žánrov",
"genreWithCount_one": "{{count}} žáner",
"genreWithCount_few": "{{count}} žánre",
"genreWithCount_other": "{{count}} žánrov",
"playlist_one": "playlist",
"playlist_few": "playlisty",
"playlist_other": "playlistov",
"play_one": "{{count}} prehranie",
"play_few": "{{count}} prehrania",
"play_other": "{{count}} prehraní",
"playlistWithCount_one": "{{count}} playlist",
"playlistWithCount_few": "{{count}} playlisty",
"playlistWithCount_other": "{{count}} playlistov",
"smartPlaylist": "smart $t(entity.playlist_one)",
"track_one": "stopa",
"track_few": "stopy",
"track_other": "stôp",
"song_one": "skladba",
"song_few": "skladby",
"song_other": "skladieb",
"trackWithCount_one": "{{count}} stopa",
"trackWithCount_few": "{{count}} stopy",
"trackWithCount_other": "{{count}} stôp"
},
"error": {
"apiRouteError": "nie je možné zaslať požiadavku",
"audioDeviceFetchError": "pri vyhľadávaní zvukových zariadení sa vyskytla chyba",
"authenticationFailed": "overenie zlyhalo",
"badAlbum": "túto stránku vidíte, pretože táto skladba nie je súčasťou albumu. najčastejšou príčinou tohto problému býva umiestnenie skladby priamo v priečinku hudobnej knižnice. jellyfin navzájom prepája iba skladby, ktoré sú spolu v jednom priečinku.",
"badValue": "neplatná možnosť \"{{value}}\". táto hodnota už neexistuje",
"credentialsRequired": "vyžadujú sa prihlasovacie údaje",
"endpointNotImplementedError": "koncový bod {{endpoint}} nie je implementovaný v {{serverType}}",
"genericError": "vyskyla sa chyba",
"invalidServer": "neplatný server",
"localFontAccessDenied": "prístup k lokálnym fontom bol odmietnutý",
"loginRateError": "príliš veľa pokusov o prihlásenie, skúste to znova o pár sekúnd",
"mpvRequired": "vyžaduje sa MPV",
"networkError": "vyskytla sa chyba siete",
"notificationDenied": "povolenia na oznámenia boli odmietnuté. toto nastavenie nemá žiadny účinok",
"openError": "súbor nebolo možné otvoriť",
"playbackError": "pri prehrávaní média sa vyskytla chyba",
"remoteDisableError": "pri pokuse o $t(common.disable) vzdialeného severa sa vyskytla chyba",
"remoteEnableError": "pri pokuse o $t(common.enable) vzdialeného servera sa vyskytla chyba",
"remotePortError": "pri nastavovaní portu vzdialeného servera sa vyskytla chyba",
"remotePortWarning": "pre použitie nového portu reštartujte server",
"serverNotSelectedError": "nebol vybraný žiadny server",
"serverRequired": "vyžaduje sa server",
"sessionExpiredError": "vaša relácia vypršala",
"systemFontError": "pri pokuse o získanie systémových fontov sa vyskytla chyba"
},
"page": {
"albumArtistDetail": {
"about": "O {{artist}}",
"appearsOn": "vyskytuje sa na",
"recentReleases": "posledné vydania",
"viewDiscography": "zobraziť diskografiu",
"relatedArtists": "súvisiaci s $t(entity.artist_other)",
"topSongs": "top skladby",
"topSongsFrom": "top skladby z {{title}}",
"viewAll": "zobraziť všetko",
"viewAllTracks": "zobraziť všetky $t(entity.track_other)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "viac od $t(entity.artist_one)",
"moreFromGeneric": "viac z {{item}}",
"released": "vydané"
},
"albumList": {
"artistAlbums": "albumy {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
"collapseSidebar": "zbaliť bočnú lištu",
"expandSidebar": "rozbaliť bočnú lištu",
"goBack": "ísť naspäť",
"goForward": "ísť dopredu",
"manageServers": "spravovať servery",
"privateModeOff": "vypnúť súkromný režim",
"privateModeOn": "zapnúť súkromný režim",
"openBrowserDevtools": "otvoriť vývojárske nástroje prehliadača",
"quit": "$t(common.quit)",
"selectServer": "vybrať server",
"settings": "$t(common.setting_other)",
"version": "verzia {{version}}"
},
"manageServers": {
"title": "spravovať servery",
"serverDetails": "podrobnosti servera",
"url": "URL",
"username": "užívateľské meno",
"editServerDetailsTooltip": "zmeniť podrobnosti servera",
"removeServer": "odstrániť server"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"download": "stiahnuť",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"numberSelected": "{{count}} vybrané",
"play": "$t(player.play)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "zdieľať položku",
"showDetails": "získať informácie",
"goToAlbum": "choď na $t(entity.album_one)",
"goToAlbumArtist": "choď na $t(entity.albumArtist_one)"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "dynamické pozadie",
"dynamicImageBlur": "veľkosť rozostrenia obrázku",
"dynamicIsImage": "povoliť obrázok pozadia",
"followCurrentLyric": "nasleduj aktuálny text skladby",
"lyricAlignment": "zarovnanie textov skladieb",
"lyricOffset": "posunutie textov skladieb (ms)",
"lyricGap": "medzera textov skladieb",
"lyricSize": "veľkosť textov skladieb",
"opacity": "opacita",
"showLyricMatch": "zobraziť zhodu textu skladby",
"showLyricProvider": "zobraziť poskytovateľa textov skladieb",
"synchronized": "synchronizované",
"unsynchronized": "nesynchronizované",
"useImageAspectRatio": "použiť pomer strán obrázka"
},
"lyrics": "texty skladieb",
"related": "súvisiace",
"upNext": "ďalšia nahor",
"visualizer": "vizualizátor",
"noLyrics": "nenašli sa žiadne texty"
},
"genreList": {
"showAlbums": "zobraziť $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "zobraziť $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
"commands": {
"goToPage": "ísť na stránku",
"searchFor": "hľadať {{query}}",
"serverCommands": "príkazy servera"
},
"title": "príkazy"
},
"home": {
"explore": "preskúmať tvoju knižnicu",
"mostPlayed": "najhranejší",
"newlyAdded": "novopridané vydania",
"recentlyPlayed": "nedávno hrané",
"title": "$t(common.home)"
},
"itemDetail": {
"copyPath": "skopírovať cestu do schránky",
"copiedPath": "cesta úspešne skopírovaná",
"openFile": "zobraziť stopu v správcovi súborov"
},
"playlist": {
"reorder": "zmena poradia povolená len pri zoradení podľa id"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"setting": {
"advanced": "pokročilé",
"generalTab": "všeobecné",
"hotkeysTab": "klávesové skratky",
"playbackTab": "prehrávanie",
"windowTab": "okno"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"myLibrary": "moja knižnica",
"nowPlaying": "teraz hrá",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "zdieľaný $t(entity.playlist_other)",
"tracks": "$t(entity.track_other)"
},
"trackList": {
"artistTracks": "skladby {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
"player": {
"addLast": "pridať posledné",
"addNext": "pridať nasledujúce",
"favorite": "obľúbené",
"mute": "stíšiť",
"muted": "stíšené",
"next": "nasledujúci",
"play": "prehrať",
"playbackFetchCancel": "toto chvíľu trvá... ak to chcete zrušiť, zavrite notifikáciu",
"playbackFetchInProgress": "načítanie skladieb…",
"playbackFetchNoResults": "neboli nájdené žiadne skladby",
"playbackSpeed": "rýchlosť prehrávania",
"playRandom": "prehrávať náhodne",
"playSimilarSongs": "prehrávať podobné skladby",
"previous": "predchádzajúce",
"queue_clear": "vymazať frontu",
"queue_moveToBottom": "presunúť vybrané navrch",
"queue_moveToTop": "presunúť vybrané naspodok",
"queue_remove": "odstrániť vybrané",
"repeat": "opakovať",
"repeat_all": "opakovať všetky",
"repeat_off": "opakovanie vypnuté",
"shuffle": "prehrávať náhodne",
"shuffle_off": "náhodné prehrávanie vypnuté",
"skip": "preskočiť",
"skip_back": "preskočiť dozadu",
"skip_forward": "preskočiť dopredu",
"stop": "zastaviť",
"toggleFullscreenPlayer": "prepnúť prehrávač na celú obrazovku",
"unfavorite": "odstrániť z obľúbených",
"pause": "pozastaviť",
"viewQueue": "zobraziť frontu"
},
"setting": {
"accentColor": "odtieň farby",
"accentColor_description": "nastaviť odtieň farby aplikácie",
"albumBackground": "obrázok pozadia albumu",
"albumBackground_description": "pridáva obrázky albumov na pozadia na jednotlivých stránok albumov",
"albumBackgroundBlur": "veľkosť rozmazania obrázku pozadia albumu",
"albumBackgroundBlur_description": "upravuje mieru rozmazania obrázku pozadia albumu",
"applicationHotkeys": "klávesové skratky aplikácie",
"applicationHotkeys_description": "nastaviť klávesové skratky aplukácie. zaškrtni políčko, ak chceš nastaviť skratku ako globálnu (len desktop)",
"artistConfiguration": "nastavenie stránky interpreta albumu",
"artistConfiguration_description": "konfigurovať aké položky sa zobrazujú, a v akom poradí, na stránke interpreta albumu",
"audioDevice": "zvukové zariadenie",
"audioDevice_description": "vybrať zvukové zariadenie na prehrávanie (len webový prehrávač)",
"audioExclusiveMode": "exkluzívny zvukový režim",
"audioExclusiveMode_description": "povoliť exkluzívny režim výstupu. V tomto režime je systém zvyčajne zamknutý a len mpv je schopný poskytovať zvukový výstup",
"audioPlayer": "audioprehrávač",
"audioPlayer_description": "vybrať zvukové zariadenie, ktoré bude použité na prehrávanie",
"buttonSize": "veľkosť tlačidiel na paneli prehrávania",
"buttonSize_description": "veľkosť tlačidiel na paneli prehrávania",
"clearCache": "vyčistiť dočasnú pamäť prehliadača",
"imageAspectRatio_description": "ak je povolené, obrázok albumu sa zobrazí s originálnym pomerom strán. pre obrázky s pomerom iným ako 1:1 zostane nevyplnený priestor prázdny",
"clearCache_description": "'hard' vyčistenie feishin-u. okrem vyrovnávacej pamäte feishin-u sa vymaže aj vyrovnávacia pamäť prehliadača (uložené obrázky a iné súbory). prihlasovacie údaje k serveru a iné nastavenia zostávajú zachované",
"clearQueryCache": "vymazať vyrovnávaciu pamäť feishin-u",
"clearQueryCache_description": "'soft' vyčistenie feishin-u. obnovia sa playlisty, metadáta skladieb a resetujú sa uložené texty skladieb. nastavenia, prihlasovacie údaje k serveru a obrázky vo vyrovnávacej pamäti zostávajú zachované",
"clearCacheSuccess": "vyrovnávacia pamäť úspešne vymazaná",
"contextMenu": "konfigurácia kontextovej ponuky (pravé tlačítko myši)",
"contextMenu_description": "umožňuje vám skryť položky nachádzajúce v menu, ktoré sa zobrazí po kliknutí pravým tlačítkom myši. nezakliknuté položky budú skryté",
"crossfadeDuration": "dĺžka crossfade",
"crossfadeDuration_description": "nastavuje dĺžku trvania crossfade efektu",
"crossfadeStyle": "štýl crossfade",
"crossfadeStyle_description": "vybrať štýl crossfade efektu pre prehrávač",
"customCssEnable": "povoliť vlastné css",
"customCssEnable_description": "umožňuje písať vlastné css.",
"customCssNotice": "Varovanie: hoci sa využíva istá miera sanitizaácie (deaktivácia url() a obsahu:), používanie vlastných CSS pri zmene rozhrania stále predstavuje riziko.",
"customCss": "vlastné css",
"customCss_description": "vlastný css obsah. Poznámka: obsah a vzdialené url linky sú defaultne deaktivované.Náhľad vášho obsahu je zobrazený nižšie. Pridané polia, ktoré ste nenastavovali boli pridané pri sanitizácii.",
"customFontPath": "cesta k vlastným fontom",
"customFontPath_description": "Nastaví cestu k vlastným fontom na použitie aplikáciou",
"disableAutomaticUpdates": "vypnúť automatické aktualizácie",
"disableLibraryUpdateOnStartup": "vypnúť kontrolu nových verzií pri štarte",
"discordApplicationId": "id aplikácie {{discord}}",
"discordApplicationId_description": "aplikačné id pre plnohodnotné prepojenie s {{discord}} (predvolená hodnota {{defaultId}})",
"discordPausedStatus": "pri pozastavení prehrávania zobrazuje 'rich presence'",
"discordPausedStatus_description": "pri povolení bude status zobrazovaný aj pri pozastavenom prehrávaní",
"discordIdleStatus": "zobraziť 'rich presence idle status'",
"discordIdleStatus_description": "pri povolení bude 'rich presense' status zobrazený aj pri nečinnosti",
"discordListening": "zobraziť status počúvanie",
"discordListening_description": "zobraziť status počúvanie namiesto prehrávanie",
"discordRichPresence": "{{discord}} rich resence",
"discordRichPresence_description": "povoliť status prehrávania v {{discord}} rich presence. Obrázky kláves sú: {{icon}}, {{playing}} a {{paused}}",
"discordServeImage": "poskytuje {{discord}} obrázky zo servera",
"discordServeImage_description": "zdieľať obrázok albumu na {{discord}} rich presence priamo zo servera, dostupné iba pre jellyfin a navidrome",
"discordUpdateInterval": "interval aktualizácií {{discord}} rich presence",
"discordUpdateInterval_description": "čas v sekundách medzi dvomi nasledujúcimi aktualizáciami (minimálne 15 sekúnd)",
"discordDisplayType": "typ zobrazenia {{discord}} presence",
"discordDisplayType_description": "mení vo vašom statuse info, čo počúvate",
"discordDisplayType_songname": "názov skladby",
"discordDisplayType_artistname": "názov interpreta(-ov)",
"doubleClickBehavior": "po dvojkliku zaradí do fronty všetky vyhľadané skladby",
"doubleClickBehavior_description": "ak je povolené, všetky nájdené skladby budú zaradené do fronty. inak budú skladby zaradené iba po kliknutí",
"enableRemote": "povoliť vzdialené ovládanie servera",
"enableRemote_description": "pomocou vzdialeného servera umožňuje ovládanie aplikácie prostredníctvom iných zariadení",
"externalLinks": "zobraziť externé odkazy",
"externalLinks_description": "umožňuje zobrazovať externé odkazy (Last.fm, MusicBrainz) na stránkach umelca/albumu",
"exitToTray": "ukončiť do lišty",
"exitToTray_description": "po zavretí sa aplikácia minimalizuje do lišty a beží ďalej",
"floatingQueueArea": "zobraziť ikonu výsuvnej fronty prehrávania",
"floatingQueueArea_description": "zobraziť ikonu výsuvnej fronty prehrávania na pravej strane obrazovky",
"followLyric": "nasleduj aktuálny text skladby",
"followLyric_description": "posunúť sa v texte skladby na aktuálne prehrávanú pozíciu",
"preferLocalLyrics": "uprednostniť lokálne texty skladieb",
"preferLocalLyrics_description": "uprednostniť miestne skladby textov, ak sú dostupné, pred vzdialenými",
"font": "font",
"font_description": "nastaví font písma pre aplikáciu",
"fontType": "typ písma",
"fontType_description": "vstavané písmo vyberie jeden z fontov poskytovaných Feishin-om. systémové písmo umožňuje vybrať ľubovoľný font poskytovaný vaším operačným systémom. vlastné umožňuje poskytnúť váš vlastný font",
"fontType_optionBuiltIn": "vstavané písmo",
"fontType_optionCustom": "vlastné písmo",
"fontType_optionSystem": "systémové písmo",
"gaplessAudio": "prehrávanie bez prerušení",
"gaplessAudio_description": "nastaví prehrávanie bez prerušení pre mpv",
"gaplessAudio_optionWeak": "slabo (odporúčané)",
"genreBehavior": "predvolené správanie stránky žánru",
"genreBehavior_description": "určuje, či kliknutie na žáner otvorí zoznam skladieb alebo zoznam albumov",
"globalMediaHotkeys": "globálne klávesové skratky médií",
"globalMediaHotkeys_description": "povoliť alebo zakázať použitie vašich klávesových skratiek médií na ovládanie prehrávania",
"homeConfiguration": "konfigurácia domovskej stránky",
"homeConfiguration_description": "konfigurovať, aké položky sú zobrazené a v akom poradí na domovskej stránke",
"homeFeature": "carousel odporúčania na domovskej stránke",
"homeFeature_description": "povoľuje zobrazenie veľkoformátového odporúčaného carouselu na domovskej stránke",
"hotkey_browserBack": "naspäť v prehliadači",
"hotkey_browserForward": "dopredu v prehliadači",
"hotkey_favoriteCurrentSong": "obľúbené $t(common.currentSong)",
"hotkey_favoritePreviousSong": "obľúbené $t(common.previousSong)",
"hotkey_globalSearch": "globálne vyhľadávanie",
"hotkey_localSearch": "vyhľadávanie na stránke",
"hotkey_navigateHome": "navigovať domov",
"hotkey_playbackNext": "nasledujúca skladba",
"hotkey_playbackPause": "pozastaviť",
"hotkey_playbackPlay": "prehrať",
"hotkey_playbackPlayPause": "hrať / pozastaviť",
"hotkey_playbackPrevious": "predchádzajúca skladba",
"hotkey_playbackStop": "zastaviť",
"hotkey_rate0": "bez hodnotenia",
"hotkey_rate1": "hodnotené 1 hviezdou",
"hotkey_rate2": "hodnotené 2 hviezdami",
"hotkey_rate3": "hodnotené 3 hviezdami",
"hotkey_rate4": "hodotené 4 hviezdami",
"hotkey_rate5": "hodnotené 5 hviezdami",
"hotkey_skipBackward": "preskočiť dozadu",
"hotkey_skipForward": "preskočiť dopredu",
"hotkey_toggleCurrentSongFavorite": "prepnúť $t(common.currentSong) obľúbené",
"hotkey_toggleFullScreenPlayer": "prepnúť prehrávač na celú obrazovku",
"hotkey_togglePreviousSongFavorite": "prepnúť $t(common.previousSong) obľúbené",
"hotkey_toggleQueue": "prepnúť frontu",
"hotkey_toggleRepeat": "prepnúť opakovanie",
"hotkey_toggleShuffle": "prepnúť náhodné prehrávanie",
"hotkey_unfavoriteCurrentSong": "odobrať z obľúbených $t(common.currentSong)",
"hotkey_unfavoritePreviousSong": "odobrať z obľúbených $t(common.previousSong)",
"hotkey_volumeDown": "znížiť hlasitosť",
"hotkey_volumeMute": "stíšiť hlasitosť",
"hotkey_volumeUp": "zvýšiť hlasitosť",
"hotkey_zoomIn": "priblížiť",
"hotkey_zoomOut": "vzdialiť",
"imageAspectRatio": "použiť pôvodný pomer strán obalu albumu",
"language": "jazyk",
"language_description": "nastaví jazyk aplikácie ($t(common.restartRequired))",
"lastfm": "zobraziť last.fm odkazy",
"lastfm_description": "zobraziť last.fm odkazy na stránky interpreta/albumu",
"lastfmApiKey": "{{lastfm}} API kľúč",
"lastfmApiKey_description": "API kľúč pre {{lastfm}}. vyžaduje sa obálky albumov",
"lyricFetch": "stiahnuť texty skladieb z internetu",
"lyricFetch_description": "stiahnuť texty skladieb z rôznych internetových zdrojov",
"lyricFetchProvider": "poskytovatelia pre sťahovanie textov skladieb",
"lyricFetchProvider_description": "vybrať poskytovateľov pre sťahovanie textov skladieb. poradie poskytovateľov určuje poradie, v ktorom sa budú používať",
"lyricOffset": "posunutie textu skladieb (ms)",
"lyricOffset_description": "posunutie textu voči skladbe vyjadrené v milisekundách",
"notify": "povoliť notifikácie o skladbách",
"notify_description": "zobraziť notifikácie pri zmene aktuálnej skladby",
"minimizeToTray": "minimalizovať do lišty",
"minimizeToTray_description": "minimalizovať aplikáciu do systémovej lišty",
"minimumScrobblePercentage": "minimálna dĺžka pre skroblovanie (percentá)",
"minimumScrobblePercentage_description": "minimálna časť skladby v percentách, ktorá musí byť prehraná pred tým, než je skroblovaná",
"minimumScrobbleSeconds": "minimálna dĺžka skroblovania (sekundy)",
"minimumScrobbleSeconds_description": "minimálna dĺžka časti skladby, ktorá musí byť prehraná pred tým, než je skladba skroblovaná",
"mpvExecutablePath": "cesta k spustiteľnému súboru mpv",
"mpvExecutablePath_description": "nastavuje cestu k spustiteľnému súboru mpv. ak je prázdna, použije sa predvolená cesta",
"mpvExtraParameters": "parametre mpv",
"mpvExtraParameters_help": "jeden na riadok",
"musicbrainz": "zobraziť linky na musicbrainz",
"musicbrainz_description": "zobrazí linky na stránky interpreta/albumu na musicbrainz, ak je vyplnené mbid",
"neteaseTranslation": "Povoliť NetEasy preklady",
"neteaseTranslation_description": "Ak sú povolené, aplikácia stiahne a zobrazí preložené texty skladieb z NetEasy, ak sú dostupné.",
"passwordStore": "ukladanie hesiel/utajených údajov",
"passwordStore_description": "aký spôsob ukladania hesiel/utajených údajov použiť. ak máte problém s ukladaním hesiel, skúste zmeniť nastavenie.",
"playbackStyle": "štýl prehrávania",
"playbackStyle_description": "vyberte štýl prehrávania pre prehrávač skladieb",
"playbackStyle_optionCrossFade": "crossfade",
"playbackStyle_optionNormal": "normálny",
"playButtonBehavior": "správanie sa tlačidla prehrávania",
"playButtonBehavior_description": "nastaví predvolené správanie sa tlačidla prehrávania pri pridávaní skladieb do fronty",
"playButtonBehavior_optionAddLast": "$t(player.addLast)",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"playButtonBehavior_optionPlay": "$t(player.play)",
"playButtonBehavior_optionPlayShuffled": "$t(player.shuffle)",
"playerAlbumArtResolution": "rozlíšenie obrázka albumu",
"playerAlbumArtResolution_description": "rozlíšenie zobrazenia náhľadu veľkých obrázkov albumov. pri väčšom rozlíšení budú krajšie, ale môže sa spomaliť ich načítavanie. predvolené je 0, čo znamená automatické",
"playerbarOpenDrawer": "zobrazenie na celú obrazovku panelom prehrávača",
"playerbarOpenDrawer_description": "umožní kliknutím na panel prehrávača prepnúť zobrazenie prehrávača na celú obrazovku",
"remotePassword": "heslo servera vzdialeného ovládania",
"remotePassword_description": "nastaví heslo pre server diaľkového ovládania. Jeho obsah je odosielaný bez zabezpečenia, preto by ste si mali zvoliť jedinečné heslo, ktoré pre vás nie je dôležité",
"remotePort": "port servera diaľkového ovládania",
"remotePort_description": "nastaví port servera diaľkového ovládania",
"remoteUsername": "používateľské meno servera diaľkového ovládania",
"remoteUsername_description": "nasstaví používateľské meno servera diaľkového ovládania. v prípade, ak sú používateľské meno aj heslo prázdne, je overovanie pri prihlásení vypnuté",
"replayGainClipping": "clipping {{ReplayGain}}",
"replayGainClipping_description": "Zabraňuje clipping-u spôsobenému {{ReplayGain}} automatickým znížením zosilenia",
"replayGainFallback": "fallback {{ReplayGain}}",
"replayGainFallback_description": "zosilenie v db, ktoré sa aplikuje, ak súbor nemá {{ReplayGain}} štítky",
"replayGainMode": "{{ReplayGain}} režim",
"replayGainMode_description": "pozmení zosilenie hlasitosti podľa hodnôt {{ReplayGain}} uložených v metadátach súboru",
"replayGainMode_optionAlbum": "$t(entity.album_one)",
"replayGainMode_optionNone": "$t(common.none)",
"replayGainMode_optionTrack": "$t(entity.track_one)",
"replayGainPreamp": "predzosilenie {{ReplayGain}} dB",
"replayGainPreamp_description": "pozmení predzosilenie použité na hodnoty {{ReplayGain}}",
"sampleRate": "vzorkovacia frekvencia",
"sidePlayQueueStyle_optionAttached": "pripojené",
"sidePlayQueueStyle_optionDetached": "odpojené",
"skipDuration": "dĺžka preskočenia",
"skipDuration_description": "určuje časovú dĺžku posunu pri stlačení tlačidla preskočiť na lište prehrávača",
"skipPlaylistPage": "preskočiť stránku playlistu",
"skipPlaylistPage_description": "pri navigácii v playliste, idete na výber stránky playlistu namiesto predvolenej stránky",
"startMinimized": "spistiť mnimalizované",
"startMinimized_description": "spustí aplikáciu minimalizovanú do systémovej lišty",
"preventSleepOnPlayback": "zabrániť spánku pri prehrávaní",
"preventSleepOnPlayback_description": "pri prehávaní hudby zabráni obrazovke v prechode do spánku",
"theme": "téma",
"theme_description": "nastaví tému aplikácie",
"themeDark": "téma (tmavá)",
"themeDark_description": "nastaví tmavú tému aplikácie",
"themeLight": "téma (svetlá)",
"themeLight_description": "nastaví svetlú tému aplikácie",
"transcodeNote": "zmena sa prejaví po 1 (web) - 2 (mpv) skladbách",
"transcode": "povoliť prekódovanie",
"transcode_description": "umožňuje prekódovanie do rôznych formátov",
"transcodeBitrate": "bitová frekvencia prekódovania",
"transcodeBitrate_description": "určuje bitovú frekvenciu, pri ktorej sa použije prekódovanie. 0 znamená ponechať rozhodnutie na server",
"transcodeFormat": "formát prekódovania",
"transcodeFormat_description": "učuje výstupný formát prekódovania. ak chcete ponechať rozhodnutie na server, nechajte políčko prázdne",
"translationApiProvider": "api poskytovateľa prekladu",
"translationApiProvider_description": "api poskytovateľa prekladu",
"translationApiKey": "api kľúč prekladu",
"translationApiKey_description": "api kľúč pre preklad (Podporuje iba koncové body globálnych služieb)",
"translationTargetLanguage": "cieľový jazyk prekladu",
"translationTargetLanguage_description": "cieľový jazyk, do ktorého sa prekladá",
"trayEnabled": "zobraziť lištu",
"trayEnabled_description": "zobraziť/skryť ikonu/ponuku lišty. ak nie je povolené, taktiež vypne minimalizovanie/zavretie do lišty",
"useSystemTheme": "použiť systémovú tému",
"useSystemTheme_description": "prispôsobiť výber svetlej, či tmavej témy aktuálnej systémovej téme",
"volumeWheelStep": "krok zmeny hlasitosti",
"volumeWheelStep_description": "veľkosť zmeny hlasitosti pri otočení kolieskom myši o jeden krok na ovládači hlasitosti",
"volumeWidth": "šírka posuvného ovládača hlasitosti",
"volumeWidth_description": "šírka ovládača hlasitosti",
"webAudio": "používať webový výstup",
"webAudio_description": "bude sa používať webový výstup, čím povolíte pokročilé funkcie ako replaygain. v prípade problémov voľbu vypnite",
"preservePitch": "zachovať výšku",
"preservePitch_description": "pri zmene rýchlosti prehrávania zostane výška zachovaná",
"windowBarStyle": "štýl okna",
"windowBarStyle_description": "vyberte štýl okna",
"zoom": "percento priblíženia",
"zoom_description": "nastaví percento priblíženia pre aplikáciu",
"sampleRate_description": "vyberte výstupnú vzorkovaciu frekvenciu, ktorá sa použije v prípade, ak je vybraná vzorkovacia frekvencia iná ako je u aktuálnej skladby. pri hodnote menšej ako 8000 sa použije predvolená frekvencia",
"savePlayQueue": "uložiť frontu prehrávania",
"savePlayQueue_description": "uloží frontu prehrávania pri ukončení aplikácie a obnoví ju opäť po jej otvorení",
"scrobble": "skroblovať",
"scrobble_description": "scroblovať vaše prehrávanie na medálny server",
"showSkipButton": "zobraziť tlačítka preskočenia",
"showSkipButton_description": "zobrazí alebo skryje tlačítka preskočenia na lište prehrávača",
"showSkipButtons": "zobraziť tlačítka preskočenia",
"showSkipButtons_description": "zobraziť alebo skryť tlačítka preskočenia na lište prehrávača",
"sidebarCollapsedNavigation": "navigácia bočnej lišty (zasunutá)",
"sidebarCollapsedNavigation_description": "zobraziť alebo skryť navigovanie na zasunutej bočnej lište",
"sidebarConfiguration": "nastavenie bočnej lišty",
"sidebarConfiguration_description": "zvoľte položky a ich poradie, v akom sa zabrazia na bočnej lište",
"sidebarPlaylistList": "playlist bočnej lišty",
"sidebarPlaylistList_description": "zobraziť alebo skryť playlist na bočnej lište",
"sidePlayQueueStyle": "štýl bočnej fronty prehrávania",
"sidePlayQueueStyle_description": "nastaví štýl bočnej fronty prehrávania"
},
"table": {
"column": {
"album": "album",
"albumArtist": "interpret albumu",
"albumCount": "$t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"biography": "životopis",
"bitrate": "bitrate",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"comment": "komentár",
"dateAdded": "dátum pridania",
"discNumber": "disk",
"favorite": "obľúbené",
"genre": "$t(entity.genre_one)",
"lastPlayed": "posledne hraný",
"path": "cesta",
"playCount": "prehratí",
"rating": "hodnotenie",
"releaseDate": "dátum vydania",
"releaseYear": "rok",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "názov",
"trackNumber": "skladba"
},
"config": {
"general": {
"autoFitColumns": "automatická šírka stĺpcov",
"followCurrentSong": "nasledovať aktuálnu skladbu",
"displayType": "typ zobrazenia",
"gap": "$t(common.gap)",
"itemGap": "medzera položky (px)",
"itemSize": "veľkosť položky (px)",
"size": "$t(common.size)",
"tableColumns": "stĺpce tabuľky"
},
"label": {
"actions": "$t(common.action_other)",
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"artist": "$t(entity.artist_one)",
"biography": "$t(common.biography)",
"bitrate": "$t(common.bitrate)",
"bpm": "$t(common.bpm)",
"channels": "$t(common.channel_other)",
"codec": "$t(common.codec)",
"dateAdded": "dátum pridania",
"discNumber": "číslo disku",
"duration": "$t(common.duration)",
"favorite": "$t(common.favorite)",
"genre": "$t(entity.genre_one)",
"lastPlayed": "posledne prehraté",
"note": "$t(common.note)",
"owner": "$t(common.owner)",
"path": "$t(common.path)",
"playCount": "počet prehraní",
"rating": "$t(common.rating)",
"releaseDate": "dátum vydania",
"rowIndex": "číslo riadku",
"size": "$t(common.size)",
"songCount": "$t(entity.track_other)",
"title": "$t(common.title)",
"titleCombined": "$t(common.title) (kombinovaný)",
"trackNumber": "číslo skladby",
"year": "$t(common.year)"
},
"view": {
"card": "karta",
"grid": "mriežka",
"list": "zoznam",
"poster": "plagát",
"table": "tabuľka"
}
}
}
}
-647
View File
@@ -1,647 +0,0 @@
{
"action": {
"addToFavorites": "dodaj na $t(entity.favorite_other)",
"addToPlaylist": "dodaj na $t(entity.playlist_one)",
"clearQueue": "počisti čakalno vrsto",
"createPlaylist": "ustvari $t(entity.playlist_one)",
"deletePlaylist": "izbriši $t(entity.playlist_one)",
"deselectAll": "odizberi vse",
"editPlaylist": "uredi $t(entity.playlist_one)",
"goToPage": "pojdi na stran",
"moveToNext": "pojdi na naslednjo",
"moveToBottom": "pojdi na dno",
"moveToTop": "pojdi na vrh",
"refresh": "$t(common.refresh)",
"removeFromFavorites": "odstrani iz $t(entity.favorite_other)",
"removeFromPlaylist": "odstrani iz seznama predvajanja",
"removeFromQueue": "odstrani iz čakalne vrste",
"setRating": "nastavi oceno",
"toggleSmartPlaylistEditor": "preklopi urejevalnik $t(entity.smartPlaylist)",
"viewPlaylists": "poglej $t(entity.playlist_other)",
"openIn": {
"lastfm": "Odpri v Last.fm",
"musicbrainz": "Odpri v MusicBrainz"
}
},
"common": {
"action_one": "dejanje",
"action_two": "dejanji",
"action_few": "dejanja",
"action_other": "dejanj",
"add": "dodaj",
"additionalParticipants": "dodatni udeleženci",
"newVersion": "nova verzija je bila nameščena ({{version}})",
"viewReleaseNotes": "poglej zapiske o različici",
"albumGain": "ojačitev albuma",
"albumPeak": "vrh albuma",
"areYouSure": "ali si prepričan?",
"ascending": "naraščajoče",
"backward": "nazaj",
"biography": "biografija",
"bitrate": "bitna hitrost",
"bpm": "unm",
"cancel": "prekliči",
"center": "center",
"channel_one": "kanal",
"channel_two": "kanala",
"channel_few": "kanali",
"channel_other": "kanalov",
"clear": "počisti",
"close": "zapri",
"codec": "kodek",
"collapse": "strni",
"comingSoon": "prihaja kmalu …",
"configure": "prilagodi",
"confirm": "potrdi",
"create": "ustvari",
"currentSong": "trenutna $t(entity.track_one)",
"decrease": "zmanjšaj",
"delete": "izbriši",
"descending": "padajoče",
"description": "opis",
"disable": "onemogoči",
"disc": "disk",
"dismiss": "spreglej",
"duration": "trajanje",
"edit": "uredi",
"enable": "omogoči",
"expand": "razširi",
"favorite": "najljubša",
"filter_one": "filter",
"filter_two": "filtra",
"filter_few": "filtri",
"filter_other": "filtrov",
"filters": "filtri",
"forceRestartRequired": "znova zaženi, da potrdiš spremembe ... zapri obvestilo, da znova zaženeš",
"forward": "naprej",
"gap": "reža",
"home": "domov",
"increase": "povišaj",
"limit": "omeji",
"manage": "upravljaj",
"maximize": "maksimiziraj",
"menu": "meni",
"minimize": "pomanjšaj",
"modified": "spremenjeno",
"mbid": "MusicBrainz identifikator (ID)",
"left": "levo",
"no": "ne",
"none": "noben",
"noResultsFromQuery": "poizvedba ni vrnila rezultatov",
"note": "opomba",
"ok": "ok",
"owner": "lastnik",
"path": "pot",
"playerMustBePaused": "predvajalnik mora biti ustavljen",
"preview": "predogled",
"previousSong": "prejšnja $t(entity.track_one)",
"quit": "izhod",
"random": "naključno",
"rating": "ocena",
"refresh": "osveži",
"reload": "ponovno naloži",
"reset": "ponastavi",
"resetToDefault": "ponastavi na privzeto",
"restartRequired": "zahtevan je ponovni zagon",
"right": "desno",
"save": "shrani",
"saveAndReplace": "shrani in zamenjaj",
"saveAs": "shrani kot",
"search": "išči",
"setting": "nastavitev",
"share": "deli",
"size": "velikost",
"sortOrder": "vrstni red",
"tags": "oznake",
"title": "naslov",
"trackNumber": "skladba",
"trackGain": "glasnost skladbe",
"trackPeak": "vrhunec skladbe",
"translation": "prevod",
"unknown": "neznan",
"version": "verzija",
"year": "leto",
"yes": "da",
"name": "ime"
},
"entity": {
"album_one": "album",
"album_two": "albuma",
"album_few": "albumi",
"album_other": "albumov",
"albumArtist_one": "izvajalec albuma",
"albumArtist_two": "izvajalec albumov",
"albumArtist_few": "izvajalec albumov",
"albumArtist_other": "izvajalec albumov",
"albumArtistCount_one": "{{count}} izvajalec albuma",
"albumArtistCount_two": "{{count}} izvajalca albuma",
"albumArtistCount_few": "{{count}} izvajalci albuma",
"albumArtistCount_other": "{{count}} izvajalcev albuma",
"albumWithCount_one": "{{count}} album",
"albumWithCount_two": "{{count}} albuma",
"albumWithCount_few": "{{count}} albumi",
"albumWithCount_other": "{{count}} albumov",
"artist_one": "izvajalec",
"artist_two": "izvajalca",
"artist_few": "izvajalci",
"artist_other": "izvajalcev",
"artistWithCount_one": "{{count}} izvajalec",
"artistWithCount_two": "{{count}} izvajalca",
"artistWithCount_few": "{{count}} izvajalci",
"artistWithCount_other": "{{count}} izvajalcev",
"favorite_one": "priljubljen",
"favorite_two": "priljubljena",
"favorite_few": "priljubljeni",
"favorite_other": "priljubljenih",
"folder_one": "mapa",
"folder_two": "mapi",
"folder_few": "mape",
"folder_other": "map",
"folderWithCount_one": "{{count}} mapa",
"folderWithCount_two": "{{count}} mapi",
"folderWithCount_few": "{{count}} mape",
"folderWithCount_other": "{{count}} map",
"genre_one": "zvrst",
"genre_two": "zvrsti",
"genre_few": "zvrsti",
"genre_other": "zvrsti",
"genreWithCount_one": "{{count}} zvrst",
"genreWithCount_two": "{{count}} zvrsti",
"genreWithCount_few": "{{count}} zvrsti",
"genreWithCount_other": "{{count}} zvrsti",
"playlist_one": "seznam predvajanja",
"playlist_two": "seznama predvajanja",
"playlist_few": "seznami predvajanja",
"playlist_other": "seznamov predvajanja",
"play_one": "{{count}} predvajanje",
"play_two": "{{count}} predvajanji",
"play_few": "{{count}} predvajanja",
"play_other": "{{count}} predvajanj",
"playlistWithCount_one": "{{count}} seznam predvajanja",
"playlistWithCount_two": "{{count}} seznama predvajanja",
"playlistWithCount_few": "{{count}} seznami predvajanja",
"playlistWithCount_other": "{{count}} seznamov predvajanja",
"smartPlaylist": "pametni $t(entity.playlist_one)",
"track_one": "skladba",
"track_two": "skladbi",
"track_few": "skladbe",
"track_other": "skladb",
"song_one": "pesem",
"song_two": "pesmi",
"song_few": "pesmi",
"song_other": "pesmi",
"trackWithCount_one": "{{count}} skladba",
"trackWithCount_two": "{{count}} skladbi",
"trackWithCount_few": "{{count}} skladbe",
"trackWithCount_other": "{{count}} skladb"
},
"error": {
"apiRouteError": "preusmeritev zahteve ni bila mogoča",
"audioDeviceFetchError": "napaka pri poskusu pridobivanja avdio naprav",
"authenticationFailed": "napaka pri avtentikaciji",
"badAlbum": "ta stran je prikazana ker skladba ne pripada nobenemu albumu. skladba se verjetno nahaja na vrhu datotečne strukture direktorija z glasbo. jellyfin razporedi skladbe v skupine samo v primeru, ko se nahajajo v direktoriju.",
"badValue": "neveljavna možnost \"{{value}}\". ta vrednost ne obstaja več",
"credentialsRequired": "zahtevana prijava",
"endpointNotImplementedError": "{{serverType}} ne implementira končne točke {{endpoint}}",
"genericError": "prišlo je do napake",
"invalidServer": "neveljaven strežnik",
"localFontAccessDenied": "dostop do lokalnih pisav je bil zavrnjen",
"loginRateError": "preveč poskusov prijave, prosimo, poskusite čez nekaj sekund",
"mpvRequired": "obvezen MPV",
"networkError": "prišlo je do mrežne napake",
"openError": "datoteke ni mogoče odpreti",
"playbackError": "prišlo je do napake pri poskusu predvajanja skladbe",
"remoteDisableError": "oddaljenega strežnika ni bilo mogoče $t(common.disable)ti",
"remoteEnableError": "oddaljenega strežnika ni bilo mogoče $t(common.enable)ti",
"remotePortError": "pri nastavljanju vrat oddaljenega strežnika je prišlo do napake",
"remotePortWarning": "ponovno zaženite strežnik da aplicirate spremembo strežniških vrat",
"serverNotSelectedError": "izbran ni bil noben strežnik",
"serverRequired": "strežnik zahtevan",
"sessionExpiredError": "vaša seja se je iztekla",
"systemFontError": "napaka pri pridobivanju sistemskih pisav"
},
"filter": {
"album": "$t(entity.album_one)",
"albumArtist": "$t(entity.albumArtist_one)",
"albumCount": "število $t(entity.album_other)",
"artist": "$t(entity.artist_one)",
"biography": "biografija",
"bitrate": "bitna hitrost",
"bpm": "bpm",
"channels": "$t(common.channel_other)",
"comment": "komentar",
"communityRating": "ocena skupnosti",
"criticRating": "ocena kritikov",
"dateAdded": "dodano",
"disc": "disk",
"duration": "trajanje",
"favorited": "priljubljeno",
"fromYear": "od leta",
"genre": "$t(entity.genre_one)",
"id": "identifikator",
"isCompilation": "je kompilacija",
"isFavorited": "je dodan med priljubljene",
"isPublic": "je javno",
"isRated": "je ocenjen",
"isRecentlyPlayed": "je bil nedavno predvajan",
"lastPlayed": "zadnje predvajano",
"mostPlayed": "najpogosteje predvajano",
"name": "ime",
"note": "opomba",
"owner": "$t(common.owner)",
"path": "pot",
"playCount": "število predvajanj",
"random": "naključno",
"rating": "ocena",
"recentlyAdded": "nedavno dodano",
"recentlyPlayed": "nedavno predvajano",
"recentlyUpdated": "nedavno posodobljeno",
"releaseDate": "datum izida",
"releaseYear": "leto izida",
"search": "išči",
"songCount": "število pesmi",
"title": "naslov",
"toYear": "do leta",
"trackNumber": "skladba"
},
"form": {
"addServer": {
"error_savePassword": "pri shranjevanju gesla je prišlo do napake",
"ignoreCors": "ignoriraj cors $t(common.restartRequired)",
"ignoreSsl": "ignoriraj ssl $t(common.restartRequired)",
"input_legacyAuthentication": "omogoči legacy avtentikacijo",
"input_name": "ime strežnika",
"input_password": "geslo",
"input_savePassword": "shrani geslo",
"input_url": "url",
"input_username": "uporabniško ime",
"success": "dodajanje strežnika uspešno",
"title": "dodaj strežnik"
},
"addToPlaylist": {
"input_playlists": "$t(entity.playlist_other)",
"input_skipDuplicates": "preskoči duplikate",
"success": "$t(entity.trackWithCount, {\"count\": {{message}} }) dodan v $t(entity.playlistWithCount, {\"count\": {{numOfPlaylists}} })",
"title": "dodaj v $t(entity.playlist_one)"
},
"createPlaylist": {
"input_description": "$t(common.description)",
"input_name": "$t(common.name)",
"input_owner": "$t(common.owner)",
"input_public": "javno",
"success": "$t(entity.playlist_one) je bil uspešno ustvarjen",
"title": "ustvari $t(entity.playlist_one)"
},
"deletePlaylist": {
"input_confirm": "vpišite ime $t(entity.playlist_one) za potrditev",
"success": "$t(entity.playlist_one) uspešno izbrisan",
"title": "izbriši $t(entity.playlist_one)"
},
"editPlaylist": {
"publicJellyfinNote": "Jellyfin ne poda informacij o tem, ali gre za javni ali zasebni seznam predvajanja. Če želite, da seznam predvajanja ostane javen, izberite naslednji vnos",
"success": "$t(entity.playlist_one) uspešno posodobljen",
"title": "uredi $t(entity.playlist_one)"
},
"lyricSearch": {
"input_artist": "$t(entity.artist_one)",
"input_name": "$t(common.name)",
"title": "iskanje po besedilu"
},
"queryEditor": {
"title": "urejevalnik poizvedb",
"input_optionMatchAll": "ujemanje vseh",
"input_optionMatchAny": "ujemanje z najmanj enim"
},
"shareItem": {
"allowDownloading": "dovoli prenašanje",
"description": "opis",
"setExpiration": "nastavi datum poteka veljavnosti",
"success": "deli povezavo v odložišču (ali klikni tukaj za odpiranje)",
"expireInvalid": "datum poteka veljavnosti mora biti v prihodnosti",
"createFailed": "deljenje ni uspelo (je deljenje omogočeno?)"
},
"updateServer": {
"success": "strežnik uspešno posodobljen",
"title": "posodobi strežnik"
}
},
"page": {
"albumArtistDetail": {
"about": "O izvajalcu",
"appearsOn": "se pojavi na",
"recentReleases": "zadnje izdaje",
"viewDiscography": "poglej diskografijo",
"relatedArtists": "sorodni $t(entity.artist_other)",
"topSongs": "najboljše skladbe",
"topSongsFrom": "najboljše skladbe iz {{title}}",
"viewAll": "poglej vse",
"viewAllTracks": "poglej vse $t(entity.track_other)"
},
"albumArtistList": {
"title": "$t(entity.albumArtist_other)"
},
"albumDetail": {
"moreFromArtist": "več od $t(entity.artist_one)",
"moreFromGeneric": "več iz {{item}}",
"released": "izdano"
},
"albumList": {
"artistAlbums": "albumi izvajalca {{artist}}",
"genreAlbums": "\"{{genre}}\" $t(entity.album_other)",
"title": "$t(entity.album_other)"
},
"appMenu": {
"collapseSidebar": "skrij stransko vrstico",
"expandSidebar": "razširi stransko vrstico",
"goBack": "nazaj",
"goForward": "naprej",
"manageServers": "urejanje strežnikov",
"openBrowserDevtools": "odpri orodja za razvijalce brskalnika",
"quit": "$t(common.quit)",
"selectServer": "izberi strežnik",
"settings": "$t(common.setting_other)",
"version": "verzija {{version}}"
},
"manageServers": {
"title": "urejanje strežnikov",
"serverDetails": "podrobosti o strežniku",
"url": "URL",
"username": "uporabniško ime",
"editServerDetailsTooltip": "urejanje podrobnosti strežnika",
"removeServer": "odstrani strežnik"
},
"contextMenu": {
"addFavorite": "$t(action.addToFavorites)",
"addLast": "$t(player.addLast)",
"addNext": "$t(player.addNext)",
"addToFavorites": "$t(action.addToFavorites)",
"addToPlaylist": "$t(action.addToPlaylist)",
"createPlaylist": "$t(action.createPlaylist)",
"deletePlaylist": "$t(action.deletePlaylist)",
"deselectAll": "$t(action.deselectAll)",
"download": "prenesi",
"moveToNext": "$t(action.moveToNext)",
"moveToBottom": "$t(action.moveToBottom)",
"moveToTop": "$t(action.moveToTop)",
"numberSelected": "{{count}} izbranih",
"play": "$t(player.play)",
"playSimilarSongs": "$t(player.playSimilarSongs)",
"removeFromFavorites": "$t(action.removeFromFavorites)",
"removeFromPlaylist": "$t(action.removeFromPlaylist)",
"removeFromQueue": "$t(action.removeFromQueue)",
"setRating": "$t(action.setRating)",
"playShuffled": "$t(player.shuffle)",
"shareItem": "deli",
"showDetails": "pridobi informacije"
},
"fullscreenPlayer": {
"config": {
"dynamicBackground": "dinamično ozadje",
"dynamicImageBlur": "velikost zameglitve slike",
"dynamicIsImage": "omogoči sliko v ozadju",
"followCurrentLyric": "sledi besedilu",
"lyricAlignment": "poravnava besedila",
"lyricOffset": "zamik besedila (ms)",
"lyricGap": "razmik besedila",
"lyricSize": "velikost besedila",
"opacity": "prosojnost",
"showLyricMatch": "prikaži ujemanje besedila",
"showLyricProvider": "pokaži ponudnika besedila",
"synchronized": "sinhronizirano",
"unsynchronized": "nesinhronizirano",
"useImageAspectRatio": "uporabi razmerje stranic slike"
},
"lyrics": "besedilo",
"related": "sorodno",
"upNext": "sledi",
"visualizer": "vizualizator",
"noLyrics": "ni bilo najdenih besedil"
},
"genreList": {
"showAlbums": "prikaži $t(entity.genre_one) $t(entity.album_other)",
"showTracks": "prikaži $t(entity.genre_one) $t(entity.track_other)",
"title": "$t(entity.genre_other)"
},
"globalSearch": {
"commands": {
"goToPage": "pojdi na stran",
"searchFor": "išči {{query}}",
"serverCommands": "strežniški ukazi"
},
"title": "ukazi"
},
"home": {
"explore": "razišči knjižnico",
"mostPlayed": "najpogosteje predvajano",
"newlyAdded": "zadnje dodane izdaje",
"recentlyPlayed": "nedavno predvajano",
"title": "$t(common.home)"
},
"itemDetail": {
"copyPath": "kopiraj v odložišče",
"copiedPath": "kopiranje poti uspešno",
"openFile": "prikaži skladbo v upravitelju datotek"
},
"playlist": {
"reorder": "preurejanje je omogočeno samo pri razvrščanju po identifikatorju"
},
"playlistList": {
"title": "$t(entity.playlist_other)"
},
"setting": {
"advanced": "napredno",
"generalTab": "splošno",
"hotkeysTab": "blžnjice",
"playbackTab": "predvajanje",
"windowTab": "okno"
},
"sidebar": {
"albumArtists": "$t(entity.albumArtist_other)",
"albums": "$t(entity.album_other)",
"artists": "$t(entity.artist_other)",
"folders": "$t(entity.folder_other)",
"genres": "$t(entity.genre_other)",
"home": "$t(common.home)",
"myLibrary": "moja knjižnica",
"nowPlaying": "trenutno se predvaja",
"playlists": "$t(entity.playlist_other)",
"search": "$t(common.search)",
"settings": "$t(common.setting_other)",
"shared": "deljen $t(entity.playlist_other)",
"tracks": "$t(entity.track_other)"
},
"trackList": {
"artistTracks": "skladbe po {{artist}}",
"genreTracks": "\"{{genre}}\" $t(entity.track_other)",
"title": "$t(entity.track_other)"
}
},
"player": {
"addLast": "dodaj zadnje",
"addNext": "dodaj naslednje",
"favorite": "dodaj med priljubljene",
"mute": "utišaj",
"muted": "utišano",
"next": "naslednje",
"play": "predvajaj",
"playbackFetchCancel": "akcija traja dlje časa... zaprite obvestilo za preklic",
"playbackFetchInProgress": "nalaganje pesmi…",
"playbackFetchNoResults": "nobena pesem ni bila najdena",
"playbackSpeed": "hitrost predvajanja",
"playRandom": "predvajaj naključno",
"playSimilarSongs": "predvajaj sorodne pesmi",
"previous": "prejšnje",
"queue_clear": "počisti čakalno vrsto",
"queue_moveToBottom": "premakni izbrano na vrh",
"queue_moveToTop": "premakni izbrano na dno",
"queue_remove": "odstrani izbrano",
"repeat": "ponovi",
"repeat_all": "ponovi vse",
"repeat_off": "ne ponavljaj",
"shuffle": "predvajaj v naključnem vrstnem redu",
"shuffle_off": "prevajanje v naključnem vrstnem redu izključeno",
"skip": "preskoči",
"skip_back": "preskoči nazaj",
"skip_forward": "preskoči naprej",
"stop": "ustavi",
"toggleFullscreenPlayer": "preklopi predvajalnik v celozaslonski način",
"unfavorite": "odstrani iz priljubljenih",
"pause": "premor",
"viewQueue": "poglej čakalno vrsto"
},
"setting": {
"accentColor": "barva poudarka",
"accentColor_description": "nastavi barva poudarka aplikacije",
"albumBackground": "slika ozadja albuma",
"albumBackground_description": "doda sliko ozadja za strani albuma",
"albumBackgroundBlur": "velikost zameglitve slike ozadja albuma",
"albumBackgroundBlur_description": "spremeni moč zameglitve slike ozadja albuma",
"applicationHotkeys": "bližnjične tipke aplikacije",
"applicationHotkeys_description": "konfigurira bližnjične tipke aplikacije. obkljukajte da nastavite globalne bližnjico na tipkovnici (samo na namizju)",
"artistConfiguration": "konfiguracija strani izvajalca albuma",
"artistConfiguration_description": "konfiguriranje vsebine in vrstnega reda prikaza na strani izvajalca albuma",
"audioDevice": "avdio naprava",
"audioDevice_description": "izberite avdio napravo za predvajanje (samo v spletnem predvajalniku)",
"audioExclusiveMode": "avdio način",
"audioExclusiveMode_description": "omogoči način ekskluzivnega predvajanja. V tem načinu je sistem običajno zaklenjen in samo mpv lahko oddaja zvok",
"audioPlayer": "avdio predvajalnik",
"audioPlayer_description": "izberite avdio predvajalnik za predvajanje",
"buttonSize": "velikost gumbov vrstice predvajalnika",
"buttonSize_description": "velikost gumbov v vrstici predvajalnika",
"clearCache": "izbriši začasni pomnilnik",
"clearCache_description": "poleg brisanja feishinovega začasnega pomnilnika bo izbrisan tudi začasni pomnilnik brskalnika. nastavitve in prijavni podatki strežnikov se ohranijo",
"clearQueryCache": "počisti feishinov začasni pomnilnik",
"clearQueryCache_description": "osveži sezname predvajanja, metapodatke in ponastavi shranjena besedila. nastavitve, prijavni podatki za strežnike in slike se ohranijo",
"clearCacheSuccess": "začasni pomnilnik uspešno izbrisan",
"contextMenu": "konfiguracija kontekstnega menija (desni klik)",
"contextMenu_description": "omogoči skrivanje vrstic v meniju, prikazanem ob desnem kliku. odznačeni predmeti bodo skriti",
"crossfadeDuration": "trajanje prehoda",
"crossfadeDuration_description": "nastavi čas trajanja prehoda med pesmimi",
"crossfadeStyle": "tip prehoda",
"crossfadeStyle_description": "izbira tipa efekta prehoda",
"customCssEnable": "omogoči css po meri",
"customCssEnable_description": "omogoča urejanje css-ja po meri.",
"customCssNotice": "Opozorilo: kljub določenim varnostnim ukrepom (prepoved url() in content:) lahko uporaba CSS po meri s spreminjanjem vmesnika še vedno predstavlja tveganje.",
"customCss": "css po meri",
"customCss_description": "vsebina css po meri. Opomba: vsebina in oddaljeni url-ji so prepovedane lastnosti. Spodaj je prikazan predogled vaše vsebine. Dodatna polja, ki jih niste nastavili, so prisotna zaradi prečiščevanja.",
"customFontPath": "pot za pisavo po meri",
"customFontPath_description": "nastavi pot do pisave po meri",
"disableAutomaticUpdates": "onemogoči samodejne posodobitve",
"disableLibraryUpdateOnStartup": "onemogoči prevejranje novih verzij ob zagonu",
"discordApplicationId": "{{discord}} identifikator aplikacije",
"discordApplicationId_description": "identifikator aplikacije za {{discord}} bogato prezenco (privzeto {{defaultId}})",
"discordPausedStatus": "prikaži bogato prezenco med ustavljenim predvajanjem",
"discordPausedStatus_description": "ko je nastavitev omogočena, se bo status prikazal tudi ko je predvajanje začasno zaustavljeno",
"discordIdleStatus": "prikaže stanje mirovanja v bogati prezenci",
"discordIdleStatus_description": "ko je nastavitev omogočena, se bo status posodabljal ko predvajalnik miruje",
"discordListening": "prikaži status poslušanja",
"discordListening_description": "prikaži status poslušanja namesto predvajanja",
"discordRichPresence": "{{discord}} bogata prezenca",
"discordRichPresence_description": "omogoči prikaz statusa predvajanja v {{discord}} bogati prezenci. Oznake slike so: {{icon}}, {{playing}} in {{paused}}",
"discordServeImage": "pošiljaj {{discord}} u slike iz strežnika",
"discordServeImage_description": "deli naslovne slike za {{discord}} bogato prisotnost iz samega strežnika, na voljo samo za jellyfin in navidrome",
"discordUpdateInterval": "interval posodabljanja {{discord}} bogate prezence",
"discordUpdateInterval_description": "čas v sekundah med posameznimi posodobitvami (najmanj 15 sekund)",
"doubleClickBehavior": "dvojni klik doda vse iskane skladbe v čakalno vrsto",
"doubleClickBehavior_description": "če je nastavitev vklopljena se bodo v čakalno vrsto dodale vse skladbe, ki ustrezajo iskanju. v nasprotnem primeru se v čakalno vrsto doda samo izbrana skladba",
"enableRemote": "omogoči oddaljeno upravljanje strežnika",
"enableRemote_description": "omogoči oddaljeno nadzorovanje strežnika in s tem dovoli drugim napravam da upravljajo aplikacijo",
"externalLinks": "prikaži zunanje povezave",
"externalLinks_description": "omogoči prikaz zunanjih povezav (Last.fm, MusicBrainz) na straneh albumov,izvajalcev",
"exitToTray": "minimiziraj",
"exitToTray_description": "ob izhodu se aplikacija minimizira v opravilno vrstico",
"floatingQueueArea": "prikaži območje plavajoče čakalne vrste",
"floatingQueueArea_description": "na desni strani zaslona prikažite ikono za ogled čakalne vrste predvajanja",
"followLyric": "sledenje besedilu",
"followLyric_description": "pomaknite besedilo pesmi do trenutnega položaja predvajanja",
"preferLocalLyrics": "prioritiziraj lokalna besedila",
"preferLocalLyrics_description": "prioritiziraj lokalna besedila pred oddaljenimi, kadar so na voljo",
"font": "pisava",
"font_description": "nastavi pisavo, ki jo bo aplikacija uporabljala",
"fontType": "tip pisave",
"fontType_description": "vgrajena pisava izbere eno od pisav, ki jih ponuja Feishin. sistemska pisava vam omogoča, da izberete katero koli pisavo, ki jo ponuja vaš operacijski sistem. po meri lahko izberete svojo pisavo",
"fontType_optionBuiltIn": "vgrajena pisava",
"fontType_optionCustom": "pisava po meri",
"fontType_optionSystem": "sistemska pisava",
"gaplessAudio": "neprekinjen avdio",
"gaplessAudio_description": "nastavi neprekinjen avdio za mpv",
"gaplessAudio_optionWeak": "šibko (priporočeno)",
"genreBehavior": "privzeto vedenje strani z zvrstmi",
"genreBehavior_description": "določa, ali se ob kliku na zvrst privzeto odpre seznam skladb ali albumov",
"globalMediaHotkeys": "globalne bližnjične tipke za vsebino",
"globalMediaHotkeys_description": "omogočite ali onemogočite uporabo bližnjic za sistemske medije za nadzor predvajanja",
"homeConfiguration": "konfiguracija domače strani",
"homeConfiguration_description": "konfigurirajte, kateri elementi so prikazani na domači strani in v kakšnem vrstnem redu",
"homeFeature": "tekoči trak na domači strani",
"homeFeature_description": "nadzoruje, ali naj se na domači strani prikaže velik tekoči trak",
"hotkey_browserBack": "nazaj (brskalnik)",
"hotkey_browserForward": "naprej (brskalnik)",
"hotkey_favoriteCurrentSong": "dodaj $t(common.currentSong) med priljubljene",
"hotkey_favoritePreviousSong": "dodaj $t(common.previousSong) med priljubljene",
"hotkey_globalSearch": "globalno iskanje",
"hotkey_localSearch": "iskanje na strani",
"hotkey_playbackNext": "naslednja skladba",
"hotkey_playbackPause": "pavza",
"hotkey_playbackPlay": "predvajaj",
"hotkey_playbackPlayPause": "predvajaj / pavza",
"hotkey_playbackPrevious": "prejšnja skladba",
"hotkey_playbackStop": "ustavi",
"hotkey_rate0": "počisti oceno",
"hotkey_rate1": "oceni z 1 zvezdico",
"hotkey_rate2": "oceni z 2 zvezdicama",
"hotkey_rate3": "oceni s 3 zvezdicami",
"hotkey_rate4": "oceni s 4 zvezdicami",
"hotkey_rate5": "oceni s 5 zvezdicami",
"hotkey_skipBackward": "preskoči nazaj",
"hotkey_skipForward": "preskoči naprej",
"hotkey_toggleCurrentSongFavorite": "dodaj/odstrani $t(common.currentSong) iz seznama priljubljenih",
"hotkey_toggleFullScreenPlayer": "preklopi predvajalnik na celozaslonski način",
"hotkey_togglePreviousSongFavorite": "dodaj/odstrani $t(common.previousSong) iz seznama priljubljenih",
"hotkey_toggleQueue": "preklopi čakalno vrsto",
"hotkey_toggleRepeat": "preklopi ponovitve",
"hotkey_toggleShuffle": "preklopi naključni vrstni red predvajanja",
"hotkey_unfavoriteCurrentSong": "odstrani $t(common.currentSong) iz seznama priljubljenih",
"hotkey_unfavoritePreviousSong": "odstrani $t(common.previousSong) iz seznama priljubljenih",
"hotkey_volumeDown": "znižaj glasnost",
"hotkey_volumeMute": "utišaj",
"hotkey_volumeUp": "povišaj glasnost",
"hotkey_zoomIn": "povečaj",
"hotkey_zoomOut": "pomanjšaj",
"imageAspectRatio": "uporabi razmerje stranic izvorne naslovnice",
"imageAspectRatio_description": "če je omogočeno, bo naslovnica prikazana z izvornim razmerjem stranic. za slike, ki niso 1:1, bo preostali prostor prazen",
"language": "jezik",
"language_description": "nastavi jezik aplikacije ($t(common.restartRequired))",
"lastfm": "prikaži last.fm povezave",
"lastfm_description": "prikaži povezave do last.fm na straneh izvajalcev/albumov",
"lastfmApiKey": "API ključ {{lastfm}}",
"lastfmApiKey_description": "API ključ za {{lastfm}}. potreben za naslovnico albuma",
"lyricFetch": "pridobi besedila iz interneta",
"lyricFetch_description": "pridobivanje besedil iz različnih internetnih virov",
"lyricFetchProvider": "ponudniki za pridobivanje besedil",
"lyricFetchProvider_description": "izberite ponudnike, od katerih želite pridobiti besedila. vrstni red ponudnikov je vrstni red, v katerem bodo poizvedovani",
"lyricOffset": "zamik besedila (ms)",
"lyricOffset_description": "zamakni besedilo za določeno število milisekund",
"minimizeToTray": "minimiziraj v sistemsko vrstico",
"minimizeToTray_description": "minimizirajte aplikacijo v sistemsko vrstico"
}
}
+7 -11
View File
@@ -41,6 +41,7 @@
"hotkey_playbackPause": "pauza",
"replayGainFallback": "{{ReplayGain}} alternativa",
"sidebarCollapsedNavigation_description": "prikaži ili sakrij navigaciju u sklopljenoj bočnoj traci",
"mpvExecutablePath_help": "po jedna po liniji",
"hotkey_volumeUp": "pojačaj glasnoću",
"skipDuration": "dužina preskakanja",
"discordIdleStatus_description": "kada je omogućeno, ažurira status dok je plejer u mirovanju",
@@ -112,7 +113,7 @@
"hotkey_localSearch": "pretraživanje na stranici",
"hotkey_toggleQueue": "promeni listu za reprodukciju",
"zoom_description": "postavlja stepen zumiranja za aplikaciju",
"remotePassword_description": "postavlja lozinku za daljinsku kontrolu servera. Ove informacije se prenose nezaštićeno, pa biste trebali koristiti jedinstvenu lozinku koja vam nije važna",
"remotePassword_description": "postavlja lozinku za daljinsku kontrolu servera. Ove informacije se prenose nezaštićeno, pa biste trebali koristiti jedinstvenu lozinku koja vam nije važna.",
"hotkey_rate5": "oceni sa 5 zvezdica",
"hotkey_playbackPrevious": "prethodna pesma",
"showSkipButtons_description": "prikaži ili sakrij dugmad za preskakanje na traci za reprodukciju",
@@ -122,7 +123,7 @@
"hotkey_toggleShuffle": "promeni slučajan redosled",
"theme": "tema",
"playbackStyle_description": "izaberite stil reprodukcije za audio plejer",
"discordRichPresence_description": "omogućava status reprodukcije u {{discord}} bogatom prikazu. Ključevi slika su: {{icon}}, {{playing}}, i {{paused}}",
"discordRichPresence_description": "omogućava status reprodukcije u {{discord}} bogatom prikazu. Ključevi slika su: {{icon}}, {{playing}}, i {{paused}} ",
"mpvExecutablePath": "putanja do mpv izvršne datoteke",
"audioDevice": "audio uređaj",
"hotkey_rate2": "oceni sa 2 zvezdice",
@@ -158,7 +159,7 @@
"useSystemTheme_description": "prati sistemski određene postavke za svetlu ili tamnu temu",
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
"lyricFetch_description": "preuzimanje tekstova sa različitih izvora na internetu",
"lyricFetchProvider_description": "izaberite pružatelje tekstova za preuzimanje. Redosled pružatelja je redosled upita",
"lyricFetchProvider_description": "izaberite pružatelje tekstova za preuzimanje. Redosled pružatelja je redosled upita.",
"globalMediaHotkeys_description": "omogućava ili onemogućava korišćenje medijskih tastera sistema za kontrolu reprodukcije",
"customFontPath": "prilagođena putanja fonta",
"followLyric": "prati trenutni tekst pesme",
@@ -209,11 +210,7 @@
"moveToBottom": "idi na dno",
"setRating": "oceni",
"toggleSmartPlaylistEditor": "pokreni $t(entity.smartPlaylist) editor",
"removeFromFavorites": "ukloni iz $t(entity.favorite_other)",
"openIn": {
"lastfm": "Otvori u Last.fm",
"musicbrainz": "Otvori u MusicBrainz"
}
"removeFromFavorites": "ukloni iz $t(entity.favorite_other)"
},
"common": {
"backward": "nazad",
@@ -363,8 +360,7 @@
"albumArtist": "album artist",
"path": "putanja",
"discNumber": "disk",
"channels": "$t(common.channel_other)",
"size": "$t(common.size)"
"channels": "$t(common.channel_other)"
}
},
"error": {
@@ -563,7 +559,7 @@
"error_savePassword": "došlo je do greške prilikom pokušaja čuvanja lozinke"
},
"addToPlaylist": {
"success": "dodato {{message}} $t(entity.track_other) u {{numOfPlaylists}} $t(entity.playlist_other)",
"success": "dodato {{message}} $t(entity.song_other) u {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "dodaj u $t(entity.playlist_one)",
"input_skipDuplicates": "preskoči duplikate",
"input_playlists": "$t(entity.playlist_other)"
+1 -1
View File
@@ -190,7 +190,7 @@
"error_savePassword": "ett fel uppstod när lösenordet skulle sparas"
},
"addToPlaylist": {
"success": "tillade {{message}} $t(entity.track_other) til {{numOfPlaylists}} $t(entity.playlist_other)",
"success": "tillade {{message}} $t(entity.song_other) til {{numOfPlaylists}} $t(entity.playlist_other)",
"title": "lägg till i $t(entity.playlist_one)",
"input_skipDuplicates": "hoppa över dubbletter",
"input_playlists": "$t(entity.playlist_other)"

Some files were not shown because too many files have changed in this diff Show More