3 Commits

Author SHA1 Message Date
Zakaria 9eb6b5237c redesign app phase 3
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
2026-05-19 16:41:18 -04:00
Zakaria c36fc55102 redesign app phase 2
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
2026-05-18 16:17:32 -04:00
Zakaria d0ca84d8d2 redesign app phase 1
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
2026-05-18 14:34:41 -04:00
177 changed files with 29120 additions and 749 deletions
+32
View File
@@ -0,0 +1,32 @@
name: Build
on:
pull_request:
push:
jobs:
build-android:
name: Build for Android
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter pub get
- run: flutter build apk --debug
build-ios:
name: Build for iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
architecture: x64
- run: flutter pub get
- run: flutter build ios --release --no-codesign
+37 -2
View File
@@ -4,7 +4,42 @@
# This file should be version controlled and should not be manually edited.
version:
revision: 916c3ac648aa0498a70f32b5fc4f6c51447628e3
channel: beta
revision: "559ffa3f75e7402d65a8def9c28389a9b2e6fe42"
channel: "stable"
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: android
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: ios
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: linux
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: macos
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: web
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
- platform: windows
create_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
base_revision: 559ffa3f75e7402d65a8def9c28389a9b2e6fe42
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

+13 -2
View File
@@ -29,19 +29,30 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 34
namespace "com.unicornsonlsd.finamp"
compileSdkVersion 36
ndkVersion "28.2.13676358"
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "com.unicornsonlsd.finamp"
minSdkVersion 21
minSdkVersion flutter.minSdkVersion
targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
+45
View File
@@ -0,0 +1,45 @@
plugins {
id("com.android.application")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
android {
namespace = "com.unicornsonlsd.finamp"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.unicornsonlsd.finamp"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("debug")
}
}
}
kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}
flutter {
source = "../.."
}
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
+2 -2
View File
@@ -14,8 +14,8 @@ subprojects {
if (project.plugins.hasPlugin("com.android.application") ||
project.plugins.hasPlugin("com.android.library")) {
project.android {
compileSdkVersion 34
buildToolsVersion "34.0.0"
compileSdkVersion 36
buildToolsVersion "36.1.0"
}
}
}
+24
View File
@@ -0,0 +1,24 @@
allprojects {
repositories {
google()
mavenCentral()
}
}
val newBuildDir: Directory =
rootProject.layout.buildDirectory
.dir("../../build")
.get()
rootProject.layout.buildDirectory.value(newBuildDir)
subprojects {
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
project.layout.buildDirectory.value(newSubprojectBuildDir)
}
subprojects {
project.evaluationDependsOn(":app")
}
tasks.register<Delete>("clean") {
delete(rootProject.layout.buildDirectory)
}
+5 -1
View File
@@ -1,4 +1,8 @@
org.gradle.jvmargs=-Xmx1536M
org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=1024M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
# This builtInKotlin flag was added automatically by Flutter migrator
android.builtInKotlin=false
# This newDsl flag was added automatically by Flutter migrator
android.newDsl=false
+1 -1
View File
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
+2 -2
View File
@@ -19,8 +19,8 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.4.0" apply false
id "org.jetbrains.kotlin.android" version "1.9.10" apply false
id "com.android.application" version "8.11.1" apply false
id "org.jetbrains.kotlin.android" version "2.0.20" apply false
}
include ":app"
+26
View File
@@ -0,0 +1,26 @@
pluginManagement {
val flutterSdkPath =
run {
val properties = java.util.Properties()
file("local.properties").inputStream().use { properties.load(it) }
val flutterSdkPath = properties.getProperty("flutter.sdk")
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
flutterSdkPath
}
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
id("com.android.application") version "9.0.1" apply false
id("org.jetbrains.kotlin.android") version "2.3.20" apply false
}
include(":app")
+3
View File
@@ -0,0 +1,3 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>
+70
View File
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Finamp</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>finamp</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneClassName</key>
<string>UIWindowScene</string>
<key>UISceneConfigurationName</key>
<string>flutter</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>Main</string>
</dict>
</array>
</dict>
</dict>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
+6
View File
@@ -0,0 +1,6 @@
import Flutter
import UIKit
class SceneDelegate: FlutterSceneDelegate {
}
+12
View File
@@ -0,0 +1,12 @@
import Flutter
import UIKit
import XCTest
class RunnerTests: XCTestCase {
func testExample() {
// If you add code to the Runner application, consider adding tests here.
// See https://developer.apple.com/documentation/xctest for more information about using XCTest.
}
}
+22 -22
View File
@@ -46,39 +46,39 @@ const lightColorScheme = ColorScheme(
const darkColorScheme = ColorScheme(
brightness: Brightness.dark,
// Primary
primary: jellyfinBlueColor,
onPrimary: Color(0xFF001E2C),
primaryContainer: Color(0xFF004C68),
onPrimaryContainer: Color(0xFFC3E7FF),
primary: Color(0xFF25D4FF),
onPrimary: Color(0xFF02111F),
primaryContainer: Color(0xFF0B4268),
onPrimaryContainer: Color(0xFFD6F3FF),
// Secondary
secondary: Color(0xFF60B4DD),
onSecondary: Color(0xFF112732),
secondaryContainer: Color(0xFF206B8C),
onSecondaryContainer: Color(0xFFCEEEFF),
secondary: Color(0xFF7E8CFF),
onSecondary: Color(0xFF080B2E),
secondaryContainer: Color(0xFF262B72),
onSecondaryContainer: Color(0xFFE0E3FF),
// Tertiary
tertiary: Color(0xFFC979E2),
onTertiary: Color(0xFF3D0050),
tertiaryContainer: Color(0xFF762A90),
onTertiaryContainer: Color(0xFFFAD7FF),
tertiary: Color(0xFFFF5FC8),
onTertiary: Color(0xFF370027),
tertiaryContainer: Color(0xFF6B0B55),
onTertiaryContainer: Color(0xFFFFD7F0),
// Error
error: Color(0xFFFFB4AB),
errorContainer: Color(0xFF93000A),
onError: Color(0xFF690005),
onErrorContainer: Color(0xFFFFDAD6),
// Background & Surface
background: Color(0xFF101315),
onBackground: Color(0xFFE1E2E5),
surface: Color(0xFF101315),
onSurface: Color(0xFFE1E2E5),
surfaceVariant: Color(0xFF333A3E),
onSurfaceVariant: Color(0xFFC0C7CD),
background: Color(0xFF030916),
onBackground: Color(0xFFE8F2FF),
surface: Color(0xFF061426),
onSurface: Color(0xFFE8F2FF),
surfaceVariant: Color(0xFF10233D),
onSurfaceVariant: Color(0xFFA8B8D2),
// Other colors
outline: Color(0xFF80878C),
outline: Color(0xFF61708D),
onInverseSurface: Color(0xFF191C1E),
inverseSurface: Color(0xFFE1E2E5),
inversePrimary: Color(0xFF00668A),
shadow: Color(0xFF000000),
surfaceTint: Color(0xFF7BD0FF),
outlineVariant: Color(0xFF41484D),
surfaceTint: Color(0xFF25D4FF),
outlineVariant: Color(0xFF233753),
scrim: Color(0xFF000000),
);
);
@@ -2,7 +2,7 @@ import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:provider/provider.dart';
import '../../models/finamp_models.dart';
@@ -1,6 +1,6 @@
import 'package:finamp/models/jellyfin_models.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/finamp_user_helper.dart';
@@ -2,7 +2,7 @@ import 'package:finamp/components/AlbumScreen/sync_album_or_playlist_button.dart
import 'package:finamp/services/downloads_helper.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:flutter_sticky_header/flutter_sticky_header.dart';
import 'package:get_it/get_it.dart';
@@ -2,7 +2,7 @@ import 'dart:io';
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/jellyfin_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:hive/hive.dart';
@@ -1,7 +1,7 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:logging/logging.dart';
+1 -1
View File
@@ -1,6 +1,6 @@
import 'package:finamp/components/artists_text_spans.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../models/jellyfin_models.dart';
import '../print_duration.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../models/jellyfin_models.dart';
import 'playlist_name_edit_dialog.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/jellyfin_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:mini_music_visualizer/mini_music_visualizer.dart';
@@ -4,7 +4,7 @@ import 'package:finamp/services/sync_helper.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:logging/logging.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
class SyncAlbumOrPlaylistButton extends StatefulWidget {
const SyncAlbumOrPlaylistButton({
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:hive/hive.dart';
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:hive/hive.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../models/jellyfin_models.dart';
@@ -3,7 +3,7 @@ import 'dart:math';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:hive/hive.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../models/jellyfin_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/downloads_helper.dart';
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/finamp_models.dart';
@@ -7,6 +7,7 @@ import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:get_it/get_it.dart';
import '../../models/finamp_models.dart';
import '../../services/download_support.dart';
import '../error_snackbar.dart';
import '../album_image.dart';
@@ -25,6 +26,10 @@ class _CurrentDownloadsListState extends State<CurrentDownloadsList> {
void initState() {
super.initState();
if (!isDownloaderSupported) {
return;
}
IsolateNameServer.registerPortWithName(
_port.sendPort, 'downloader_send_port');
_port.listen((dynamic data) {
@@ -36,7 +41,9 @@ class _CurrentDownloadsListState extends State<CurrentDownloadsList> {
@override
void dispose() {
IsolateNameServer.removePortNameMapping('downloader_send_port');
if (isDownloaderSupported) {
IsolateNameServer.removePortNameMapping('downloader_send_port');
}
super.dispose();
}
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../screens/downloads_error_screen.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/downloads_helper.dart';
@@ -1,5 +1,5 @@
import 'package:finamp/services/jellyfin_api_helper.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
@@ -2,10 +2,11 @@ import 'package:auto_size_text/auto_size_text.dart';
import 'package:finamp/services/downloads_helper.dart';
import 'package:flutter/material.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/download_update_stream.dart';
import '../../services/download_support.dart';
import '../error_snackbar.dart';
const double downloadsOverviewCardLoadingHeight = 120;
@@ -39,7 +40,9 @@ class _DownloadsOverviewState extends State<DownloadsOverview> {
@override
void initState() {
super.initState();
_downloadsOverviewFuture = FlutterDownloader.loadTasks();
_downloadsOverviewFuture = isDownloaderSupported
? FlutterDownloader.loadTasks()
: Future.value([]);
// Like in DownloadedIndicator, we use our own listener instead of a
// StreamBuilder to ensure that we capture all events.
@@ -4,7 +4,7 @@ import 'package:finamp/services/downloads_helper.dart';
import 'package:finamp/services/jellyfin_api_helper.dart';
import 'package:finamp/services/sync_helper.dart';
import 'package:flutter_downloader/flutter_downloader.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:logging/logging.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/finamp_settings_helper.dart';
@@ -2,7 +2,7 @@ import 'dart:collection';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:locale_names/locale_names.dart';
import '../../services/locale_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/finamp_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/theme_mode_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/finamp_logs_helper.dart';
+1 -1
View File
@@ -2,7 +2,7 @@ import 'package:clipboard/clipboard.dart';
import 'package:finamp/services/censored_log.dart';
import 'package:finamp/services/contains_login.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:logging/logging.dart';
import '../error_snackbar.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/finamp_logs_helper.dart';
+1 -1
View File
@@ -2,7 +2,7 @@ import 'package:finamp/components/MusicScreen/album_item_list_tile.dart';
import 'package:finamp/services/downloads_helper.dart';
import 'package:finamp/services/finamp_settings_helper.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/jellyfin_models.dart';
+40 -15
View File
@@ -25,14 +25,34 @@ class AlbumItemCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Card(
// In AlbumItem, the OpenContainer handles padding.
margin: EdgeInsets.zero,
final colorScheme = Theme.of(context).colorScheme;
return DecoratedBox(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(26),
boxShadow: [
BoxShadow(
color: colorScheme.shadow.withOpacity(0.32),
blurRadius: 22,
offset: const Offset(0, 12),
),
],
),
child: ClipRRect(
borderRadius: AlbumImage.borderRadius,
borderRadius: BorderRadius.circular(26),
child: Stack(
children: [
AlbumImage(item: item),
Positioned.fill(child: AlbumImage(item: item)),
Positioned.fill(
child: DecoratedBox(
decoration: BoxDecoration(
border: Border.all(
color: Colors.white.withOpacity(0.10),
),
borderRadius: BorderRadius.circular(26),
),
),
),
addSettingsListener
? // We need this ValueListenableBuilder to react to changes to
// showTextOnGridView. When shown in a MusicScreen, this widget
@@ -88,19 +108,21 @@ class _AlbumItemCardText extends StatelessWidget {
return Align(
alignment: Alignment.bottomCenter,
child: Container(
width: double.infinity,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.bottomCenter,
end: Alignment.topCenter,
colors: [
// We fade from half transparent black to transparent so that text is visible on bright images
Colors.black.withOpacity(0.5),
Colors.black.withOpacity(0.86),
Colors.black.withOpacity(0.24),
Colors.transparent,
],
stops: const [0.0, 0.58, 1.0],
),
),
child: Padding(
padding: const EdgeInsets.all(8.0),
padding: const EdgeInsets.fromLTRB(14, 46, 14, 14),
child: Align(
alignment: Alignment.bottomLeft,
child: Column(
@@ -110,19 +132,22 @@ class _AlbumItemCardText extends StatelessWidget {
Text(
item.name ?? "Unknown Name",
overflow: TextOverflow.ellipsis,
maxLines: 3,
style: Theme.of(context)
.textTheme
.titleLarge!
.copyWith(color: Colors.white),
maxLines: 2,
style: Theme.of(context).textTheme.titleMedium!.copyWith(
color: Colors.white,
fontWeight: FontWeight.w800,
height: 1.05,
),
),
if (subtitle != null)
Text(
subtitle,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context)
.textTheme
.bodySmall!
.copyWith(color: Colors.white.withOpacity(0.7)),
.copyWith(color: Colors.white.withOpacity(0.72)),
)
],
),
@@ -131,4 +156,4 @@ class _AlbumItemCardText extends StatelessWidget {
),
);
}
}
}
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/jellyfin_models.dart';
@@ -25,24 +25,61 @@ class AlbumItemListTile extends StatelessWidget {
Widget build(BuildContext context) {
final jellyfinApiHelper = GetIt.instance<JellyfinApiHelper>();
final subtitle = generateSubtitle(item, parentType, context);
final colorScheme = Theme.of(context).colorScheme;
return ListTile(
// This widget is used on the add to playlist screen, so we allow a custom
// onTap to be passed as an argument.
onTap: onTap,
leading: AlbumImage(item: item),
title: Text(
item.name ?? AppLocalizations.of(context)!.unknownName,
overflow: TextOverflow.ellipsis,
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 5),
child: Material(
color: colorScheme.surfaceVariant.withOpacity(0.42),
borderRadius: BorderRadius.circular(22),
clipBehavior: Clip.antiAlias,
child: DecoratedBox(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(22),
border: Border.all(
color: colorScheme.outlineVariant.withOpacity(0.24),
),
),
child: ListTile(
// This widget is used on the add to playlist screen, so we allow a
// custom onTap to be passed as an argument.
onTap: onTap,
contentPadding: const EdgeInsets.symmetric(
horizontal: 12,
vertical: 8,
),
leading: SizedBox.square(
dimension: 62,
child: ClipRRect(
borderRadius: BorderRadius.circular(18),
child: AlbumImage(item: item),
),
),
title: Text(
item.name ?? AppLocalizations.of(context)!.unknownName,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.w800,
color: colorScheme.onSurface,
),
),
subtitle: subtitle == null
? null
: Text(
subtitle,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(color: colorScheme.onSurfaceVariant),
),
trailing: jellyfinApiHelper.selectedMixAlbumIds.contains(item.id)
? Icon(Icons.explore_rounded, color: colorScheme.primary)
: Icon(
Icons.chevron_right_rounded,
color: colorScheme.onSurfaceVariant,
),
),
),
),
subtitle: subtitle == null ? null : Text(
subtitle,
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
trailing: jellyfinApiHelper.selectedMixAlbumIds.contains(item.id)
? const Icon(Icons.explore)
: null,
);
}
}
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,6 +1,6 @@
import 'package:finamp/models/finamp_models.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../models/jellyfin_models.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../models/jellyfin_models.dart';
@@ -1,6 +1,6 @@
import 'package:audio_service/audio_service.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../models/jellyfin_models.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:audio_service/audio_service.dart';
import 'package:get_it/get_it.dart';
+48 -37
View File
@@ -1,7 +1,7 @@
import 'package:audio_service/audio_service.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import '../../services/music_player_background_task.dart';
@@ -15,6 +15,8 @@ class PlayerButtons extends StatelessWidget {
stream: audioHandler.playbackState,
builder: (context, snapshot) {
final PlaybackState? playbackState = snapshot.data;
final colorScheme = Theme.of(context).colorScheme;
return Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@@ -28,41 +30,39 @@ class PlayerButtons extends StatelessWidget {
playbackState == null
? AudioServiceShuffleMode.none
: playbackState.shuffleMode,
Theme.of(context).colorScheme.secondary,
colorScheme.primary,
),
onPressed: playbackState != null
? () async {
if (playbackState.shuffleMode ==
AudioServiceShuffleMode.all) {
await audioHandler
.setShuffleMode(AudioServiceShuffleMode.none);
await audioHandler.setShuffleMode(
AudioServiceShuffleMode.none,
);
} else {
await audioHandler
.setShuffleMode(AudioServiceShuffleMode.all);
await audioHandler.setShuffleMode(
AudioServiceShuffleMode.all,
);
}
}
: null,
iconSize: 20,
iconSize: 22,
),
IconButton(
tooltip: AppLocalizations.of(context)!.skipToPrevious,
icon: const Icon(Icons.skip_previous),
icon: const Icon(Icons.skip_previous_rounded),
onPressed: playbackState != null
? () async => await audioHandler.skipToPrevious()
: null,
iconSize: 36,
iconSize: 38,
style: IconButton.styleFrom(
backgroundColor: colorScheme.surfaceVariant.withOpacity(0.44),
),
),
SizedBox(
height: 56,
width: 56,
child: FloatingActionButton(
SizedBox.square(
dimension: 68,
child: IconButton.filled(
tooltip: AppLocalizations.of(context)!.togglePlayback,
// We set a heroTag because otherwise the play button on AlbumScreenContent will do hero widget stuff
heroTag: "PlayerScreenFAB",
backgroundColor: Theme.of(context).colorScheme.primary,
foregroundColor: Theme.of(context).colorScheme.onPrimary,
splashColor:
Theme.of(context).colorScheme.onPrimary.withOpacity(0.24),
onPressed: playbackState != null
? () async {
if (playbackState.playing) {
@@ -72,21 +72,25 @@ class PlayerButtons extends StatelessWidget {
}
}
: null,
child: Icon(
icon: Icon(
playbackState == null || playbackState.playing
? Icons.pause
: Icons.play_arrow,
size: 36,
size: 42,
),
),
),
IconButton(
tooltip: AppLocalizations.of(context)!.skipToNext,
icon: const Icon(Icons.skip_next),
onPressed: playbackState != null
? () async => audioHandler.skipToNext()
: null,
iconSize: 36),
tooltip: AppLocalizations.of(context)!.skipToNext,
icon: const Icon(Icons.skip_next_rounded),
onPressed: playbackState != null
? () async => audioHandler.skipToNext()
: null,
iconSize: 38,
style: IconButton.styleFrom(
backgroundColor: colorScheme.surfaceVariant.withOpacity(0.44),
),
),
IconButton(
tooltip: playbackState?.repeatMode == AudioServiceRepeatMode.all
? AppLocalizations.of(context)!.loopModeAllTooltip
@@ -97,26 +101,29 @@ class PlayerButtons extends StatelessWidget {
playbackState == null
? AudioServiceRepeatMode.none
: playbackState.repeatMode,
Theme.of(context).colorScheme.secondary,
colorScheme.primary,
),
onPressed: playbackState != null
? () async {
// Cyles from none -> all -> one
if (playbackState.repeatMode ==
AudioServiceRepeatMode.none) {
await audioHandler
.setRepeatMode(AudioServiceRepeatMode.all);
await audioHandler.setRepeatMode(
AudioServiceRepeatMode.all,
);
} else if (playbackState.repeatMode ==
AudioServiceRepeatMode.all) {
await audioHandler
.setRepeatMode(AudioServiceRepeatMode.one);
await audioHandler.setRepeatMode(
AudioServiceRepeatMode.one,
);
} else {
await audioHandler
.setRepeatMode(AudioServiceRepeatMode.none);
await audioHandler.setRepeatMode(
AudioServiceRepeatMode.none,
);
}
}
: null,
iconSize: 20,
iconSize: 22,
),
],
);
@@ -125,7 +132,9 @@ class PlayerButtons extends StatelessWidget {
}
Widget _getRepeatingIcon(
AudioServiceRepeatMode repeatMode, Color iconColour) {
AudioServiceRepeatMode repeatMode,
Color iconColour,
) {
if (repeatMode == AudioServiceRepeatMode.all) {
return Icon(Icons.repeat, color: iconColour);
} else if (repeatMode == AudioServiceRepeatMode.one) {
@@ -136,7 +145,9 @@ class PlayerButtons extends StatelessWidget {
}
Icon _getShufflingIcon(
AudioServiceShuffleMode shuffleMode, Color iconColour) {
AudioServiceShuffleMode shuffleMode,
Color iconColour,
) {
if (shuffleMode == AudioServiceShuffleMode.all) {
return Icon(Icons.shuffle, color: iconColour);
} else {
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'queue_list.dart';
class QueueButton extends StatelessWidget {
+1 -1
View File
@@ -1,6 +1,6 @@
import 'package:audio_service/audio_service.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/music_player_background_task.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/music_player_background_task.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/music_player_background_task.dart';
+1 -1
View File
@@ -4,7 +4,7 @@ import 'package:finamp/screens/artist_screen.dart';
import 'package:finamp/services/finamp_settings_helper.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../screens/album_screen.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../screens/splash_screen.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:hive/hive.dart';
import '../../services/finamp_settings_helper.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../screens/logs_screen.dart';
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
class NoMusicLibrariesMessage extends StatelessWidget {
const NoMusicLibrariesMessage({
+27 -21
View File
@@ -1,31 +1,37 @@
import 'package:chopper/chopper.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
/// Snackbar with error icon for displaying errors
ScaffoldFeatureController<SnackBar, SnackBarClosedReason> errorSnackbar(
dynamic error, BuildContext context) {
return ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(AppLocalizations.of(context)!.anErrorHasOccured),
action: SnackBarAction(
label: MaterialLocalizations.of(context).moreButtonTooltip,
onPressed: () => showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text(AppLocalizations.of(context)!.error),
content: Text(_errorText(error, context)),
actions: [
TextButton(
onPressed: () => Navigator.of(context).pop(),
child: Text(MaterialLocalizations.of(context).closeButtonLabel),
)
],
void errorSnackbar(dynamic error, BuildContext context) {
WidgetsBinding.instance.addPostFrameCallback((_) {
if (!context.mounted) {
return;
}
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(AppLocalizations.of(context)!.anErrorHasOccured),
action: SnackBarAction(
label: MaterialLocalizations.of(context).moreButtonTooltip,
onPressed: () => showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text(AppLocalizations.of(context)!.error),
content: Text(_errorText(error, context)),
actions: [
TextButton(
onPressed: () => Navigator.of(context).pop(),
child:
Text(MaterialLocalizations.of(context).closeButtonLabel),
)
],
),
),
),
),
),
);
);
});
}
String _errorText(dynamic error, BuildContext context) {
+1 -1
View File
@@ -3,7 +3,7 @@ import 'package:finamp/models/jellyfin_models.dart';
import 'package:finamp/services/jellyfin_api_helper.dart';
import 'package:finamp/services/music_player_background_task.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:finamp/l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
class FavoriteButton extends StatefulWidget {
+143 -97
View File
@@ -13,15 +13,16 @@ import '../screens/player_screen.dart';
import 'PlayerScreen/progress_slider.dart';
class NowPlayingBar extends StatelessWidget {
const NowPlayingBar({
Key? key,
}) : super(key: key);
const NowPlayingBar({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// BottomNavBar's default elevation is 8 (https://api.flutter.dev/flutter/material/BottomNavigationBar/elevation.html)
const elevation = 8.0;
final color = Theme.of(context).bottomNavigationBarTheme.backgroundColor;
final theme = Theme.of(context);
final colorScheme = theme.colorScheme;
final barColor = Color.alphaBlend(
colorScheme.primary.withOpacity(0.08),
colorScheme.surface,
);
final audioHandler = GetIt.instance<MusicPlayerBackgroundTask>();
@@ -41,106 +42,151 @@ class NowPlayingBar extends StatelessWidget {
// the now playing bar.
if (snapshot.data!.mediaItem != null) {
final item = BaseItemDto.fromJson(
snapshot.data!.mediaItem!.extras!["itemJson"]);
snapshot.data!.mediaItem!.extras!["itemJson"],
);
return Material(
color: color,
elevation: elevation,
child: SafeArea(
child: SizedBox(
width: MediaQuery.of(context).size.width,
child: Stack(
children: [
const ProgressSlider(
allowSeeking: false,
showBuffer: false,
showDuration: false,
showPlaceholder: false,
),
Dismissible(
key: const Key("NowPlayingBar"),
direction: FinampSettingsHelper.finampSettings.disableGesture ? DismissDirection.none : DismissDirection.horizontal,
confirmDismiss: (direction) async {
if (direction == DismissDirection.endToStart) {
audioHandler.skipToNext();
} else {
audioHandler.skipToPrevious();
}
return false;
},
background: const Padding(
padding: EdgeInsets.symmetric(horizontal: 16.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
AspectRatio(
aspectRatio: 1,
child: FittedBox(
fit: BoxFit.fitHeight,
child: Padding(
padding:
EdgeInsets.symmetric(vertical: 8.0),
child: Icon(Icons.skip_previous),
return SafeArea(
minimum: const EdgeInsets.fromLTRB(12, 0, 12, 8),
child: DecoratedBox(
decoration: BoxDecoration(
color: barColor,
borderRadius: BorderRadius.circular(28),
border: Border.all(
color: colorScheme.outlineVariant.withOpacity(0.45),
),
boxShadow: [
BoxShadow(
color: colorScheme.shadow.withOpacity(0.16),
blurRadius: 24,
offset: const Offset(0, 10),
),
],
),
child: ClipRRect(
borderRadius: BorderRadius.circular(28),
child: Material(
color: Colors.transparent,
child: SizedBox(
width: MediaQuery.of(context).size.width,
height: 78,
child: Stack(
children: [
Align(
alignment: Alignment.topCenter,
child: Opacity(
opacity: 0.9,
child: const ProgressSlider(
allowSeeking: false,
showBuffer: false,
showDuration: false,
showPlaceholder: false,
),
),
),
Dismissible(
key: const Key("NowPlayingBar"),
direction:
FinampSettingsHelper
.finampSettings
.disableGesture
? DismissDirection.none
: DismissDirection.horizontal,
confirmDismiss: (direction) async {
if (direction == DismissDirection.endToStart) {
audioHandler.skipToNext();
} else {
audioHandler.skipToPrevious();
}
return false;
},
background: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.skip_previous,
color: colorScheme.primary,
),
Icon(
Icons.skip_next,
color: colorScheme.primary,
),
],
),
),
child: ListTile(
contentPadding: const EdgeInsets.fromLTRB(
12,
8,
8,
8,
),
minLeadingWidth: 0,
onTap: () => Navigator.of(
context,
).pushNamed(PlayerScreen.routeName),
leading: SizedBox(
height: 54,
width: 54,
child: ClipRRect(
borderRadius: BorderRadius.circular(16),
child: AlbumImage(item: item),
),
),
AspectRatio(
aspectRatio: 1,
child: FittedBox(
fit: BoxFit.fitHeight,
child: Padding(
padding:
EdgeInsets.symmetric(vertical: 8.0),
child: Icon(Icons.skip_next),
),
title: Text(
snapshot.data!.mediaItem!.title,
softWrap: false,
maxLines: 1,
overflow: TextOverflow.fade,
style: theme.textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.w700,
),
),
],
),
),
child: ListTile(
onTap: () => Navigator.of(context)
.pushNamed(PlayerScreen.routeName),
leading: AlbumImage(item: item),
title: Text(
snapshot.data!.mediaItem!.title,
softWrap: false,
maxLines: 1,
overflow: TextOverflow.fade,
),
subtitle: Text(
processArtist(
snapshot.data!.mediaItem!.artist, context),
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
if (snapshot
.data!.playbackState.processingState !=
AudioProcessingState.idle)
IconButton(
// We have a key here because otherwise the
// InkWell moves over to the play/pause button
key: const ValueKey("StopButton"),
icon: const Icon(Icons.stop),
onPressed: () => audioHandler.stop(),
subtitle: Text(
processArtist(
snapshot.data!.mediaItem!.artist,
context,
),
playing
? IconButton(
icon: const Icon(Icons.pause),
onPressed: () => audioHandler.pause(),
)
: IconButton(
icon: const Icon(Icons.play_arrow),
onPressed: () => audioHandler.play(),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: theme.textTheme.bodySmall?.copyWith(
color: colorScheme.onSurfaceVariant,
),
),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
if (snapshot
.data!
.playbackState
.processingState !=
AudioProcessingState.idle)
IconButton(
key: const ValueKey("StopButton"),
icon: const Icon(Icons.stop_rounded),
onPressed: () => audioHandler.stop(),
),
],
IconButton.filled(
icon: Icon(
playing
? Icons.pause_rounded
: Icons.play_arrow_rounded,
),
onPressed: playing
? () => audioHandler.pause()
: () => audioHandler.play(),
),
],
),
),
),
),
],
),
],
),
),
),
),
@@ -155,4 +201,4 @@ class NowPlayingBar extends StatelessWidget {
),
);
}
}
}
File diff suppressed because it is too large Load Diff
+735
View File
@@ -0,0 +1,735 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Arabic (`ar`).
class AppLocalizationsAr extends AppLocalizations {
AppLocalizationsAr([String locale = 'ar']) : super(locale);
@override
String startupError(String error) {
return '‐شيء خطأ حصل اثناء تفتيح التطبيك! الخطأ هو:$error\n\nاقتح تعليقةعلى <GitHub> في الموقع <github.com/UnicornsOnLSD/finamp> مع لقتة شاشة من هذا الصفحة. إذا هذا الخطأ يستمر, إمسح تخزين التطبيق.';
}
@override
String get serverUrl => 'عنوان الخادم';
@override
String get internalExternalIpExplanation =>
'إذا تريد ان توصل خدامة \"جلي فين\" من بعيد, يجيب ان تستعمل آي بي(IP) الخارجي.\n\nإذا خادمك يستعمل منافذ الويب(80 أو 443), لا يجب ان تحدد منفذ. هذه محتمل جدا إذا خادمك بستعمل\"Reverse proxy\".';
@override
String get emptyServerUrl => 'لا يمكن عنوان الخادم يكون فارغ';
@override
String get urlStartWithHttps =>
'العنوان يجب ان يبدأ مع \"//:http\" أو \"//:https\"';
@override
String get urlTrailingSlash => 'العنوان لا يمكن ان ينهي مع \"/\"';
@override
String get username => 'اسم المستعمل';
@override
String get password => 'كلمة السرية';
@override
String get logs => 'السجلات';
@override
String get next => 'التالي';
@override
String get selectMusicLibraries => 'إختار مكاتب الأغاني';
@override
String get couldNotFindLibraries => 'لا يوجد أي مكتب.';
@override
String get unknownName => 'إسم غير معروف';
@override
String get songs => 'الأغاني';
@override
String get albums => 'ألبومات';
@override
String get artists => 'الفنانين';
@override
String get genres => 'التصنيفات';
@override
String get playlists => 'قوائم الأغاني';
@override
String get startMix => 'خلط فوري';
@override
String get startMixNoSongsArtist =>
'إكبس طويل على البوم لتضيف أو تزيل هم من بناء الخلطة قبل ان تبدأ الخلطة';
@override
String get startMixNoSongsAlbum =>
'إكبس طويل على البوم لتضيف أو تزيل ها من بناء الخلطة قبل ان تبدأ الخلطة';
@override
String get music => 'موسيقى';
@override
String get clear => 'إمسح';
@override
String get favourites => 'مفضلات';
@override
String get shuffleAll => 'استماع عشوائي للكل';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'التنزيلات';
@override
String get settings => 'الإعدادات';
@override
String get offlineMode => 'موضع غير الإتصال';
@override
String get sortOrder => 'ترتيب الفرز';
@override
String get sortBy => 'فرز';
@override
String get album => 'ألبوم';
@override
String get albumArtist => 'فنان الألبوم';
@override
String get artist => 'الفنان';
@override
String get budget => 'ميزنية';
@override
String get communityRating => 'تقييم الجمهور';
@override
String get criticRating => 'تقييم النقاد';
@override
String get dateAdded => 'تاريخ الإضافة';
@override
String get datePlayed => 'تاريخ استماع';
@override
String get playCount => 'عدد الاستمعات';
@override
String get premiereDate => 'تاريخ عرض الأول';
@override
String get productionYear => 'سنة الإنتاج';
@override
String get name => 'إسم';
@override
String get random => 'عشوائي';
@override
String get revenue => 'إيرادات';
@override
String get runtime => 'وقت تشغيل';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'نزل صور المفقودة';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: ' تم تنزيل $count صور المفقودة',
one: 'تم تنزيل $count صورة مفقودة',
zero: 'لا يوجد صور مفقودة',
);
return '$_temp0';
}
@override
String get downloadErrors => 'اخطأ التنزيل';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count تنزيلات',
one: '$count تنزيل',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count بنود',
one: '$count بند',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count صور',
one: '$count صورة',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count متكمل';
}
@override
String dlFailed(int count) {
return '$count فشل';
}
@override
String dlEnqueued(int count) {
return '$count ينتضر النزيل';
}
@override
String dlRunning(int count) {
return '$count يتم تنزيل الآن';
}
@override
String get downloadErrorsTitle => 'اخطأ التنزيل';
@override
String get noErrors => 'لا يوجد اخطأ!';
@override
String get errorScreenError =>
'حدث خطأ اثناء حصول على قائمة الأخطأ! في هذه المرحلة ربما يجب عليك ان تفتح تعليقة على <‎GitHub> و تمسح تخزين التطبيق';
@override
String get failedToGetSongFromDownloadId =>
'فشل ان يجد الاغنية من رقم التنزيل';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'خطأ';
@override
String discNumber(int number) {
return 'القرس $number';
}
@override
String get playButtonLabel => 'استمع';
@override
String get shuffleButtonLabel => 'استمع عشوائياً';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count أغاني',
one: '$count أغتية',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'غير اسم قائمة الأغاني';
@override
String get editPlaylistNameTitle => 'غير اسم قائمة الأغاني';
@override
String get required => 'ملزوم';
@override
String get updateButtonLabel => 'تحديث';
@override
String get playlistNameUpdated => 'تم تحديث إسم قائمة الأغاني.';
@override
String get favourite => 'المفضل';
@override
String get downloadsDeleted => 'تم إزالة التنزيلات';
@override
String get addDownloads => 'إضافة تنزيلات';
@override
String get location => 'موقع';
@override
String get downloadsAdded => 'تم اضافة التنزيلات';
@override
String get addButtonLabel => 'إضافة';
@override
String get shareLogs => 'شارك السجلات';
@override
String get logsCopied => 'تم نسخ السجلات.';
@override
String get message => 'رسالة';
@override
String get stackTrace => 'إشارة تراكمية';
@override
String get applicationLegalese =>
'مرخص مع رخصة موزيلا العمومية <Mozilla Public License 2.0>. الشريفة توجد على:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'تحويل';
@override
String get downloadLocations => 'مواقع التنزيل';
@override
String get audioService => 'خدمة الصوت';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'تخطيط و ظاهرة';
@override
String get notAvailableInOfflineMode => 'عير متوفر في وضع غير الإتصال';
@override
String get logOut => 'تسجيل الخروج';
@override
String get downloadedSongsWillNotBeDeleted => 'لن تزيل لأغني التي تم تنزيله';
@override
String get areYouSure => 'هل انت متأكد؟';
@override
String get jellyfinUsesAACForTranscoding =>
'\"جلي فين\" يستعمل مشفر <AAC> للتحويل';
@override
String get enableTranscoding => 'تمكين التحويل';
@override
String get enableTranscodingSubtitle =>
'إذا ممكن, بث الموسيقى سايتحول من الخادم';
@override
String get bitrate => 'معدل البتات';
@override
String get bitrateSubtitle =>
'معدل بتات اعلى يعطي جودة صوت أحسن واكن يستعمل اكثر بيانات.';
@override
String get customLocation => 'موقع مخصص';
@override
String get appDirectory => 'مجلّد التطبيق';
@override
String get addDownloadLocation => 'إضافة مكان التنزيل';
@override
String get selectDirectory => 'إختار المجلد';
@override
String get unknownError => 'خطأ غير معروف';
@override
String get pathReturnSlashErrorMessage =>
'مسارات التي ترجع \"/\" لا يمكن ان تستعمل';
@override
String get directoryMustBeEmpty => 'المجلد يجب ان يكون فارغ';
@override
String get customLocationsBuggy =>
'المواقع المخصصة عرضة للأخطأ لأن يوجد مشاكل مع الأذونات. أنا أحوال إصلاحه, و لكن لا أنصح ان تستغدمه.';
@override
String get enterLowPriorityStateOnPause =>
'تشغيل وضع <low-priority state> عندما توقف استماع مؤقتاً';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'إذا ممكن، يمكن ان تمسح الإعلام عنمدا توقف مؤقتاً للاستماع. و يمكن \"اندرويد\" ان يقتل الخدمة.';
@override
String get shuffleAllSongCount => 'استماع عشوائي لعدد الأغاني';
@override
String get shuffleAllSongCountSubtitle =>
'عدد الأغاني التي تحمل عندما تستعمل كبسة \"استماع عشوائ لكل الأغاني\".';
@override
String get viewType => 'نوع العرض';
@override
String get viewTypeSubtitle => 'نوع عرض لصفة الموسيقى';
@override
String get list => 'قائمة';
@override
String get grid => 'شبكة';
@override
String get portrait => 'عمودي';
@override
String get landscape => 'اقفي';
@override
String gridCrossAxisCount(String value) {
return 'عدد محور معامد في عرض $value';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'كم مربعات تستعمل لكل صف عندما الشاشة تكون $value.';
}
@override
String get showTextOnGridView => 'أظهر كلمات على عرض الشبك';
@override
String get showTextOnGridViewSubtitle =>
'سواء ان تظهر كلمات [الإسم، الفنان، أو الباقي] على صفحة الموسيقى التي تستعمل عرض الشبكي.';
@override
String get showCoverAsPlayerBackground =>
'أظهر مخلاف البوم غائم على مشغل الموسيقى';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'سواء ان تستعمل مخلاف البوم غائم على مشغل الموسيقى.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'إخفاء أسماء فنانين اﻷغنية إذا هن نفس أسماء فنانين الأابوم';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'سواء ان تخفي فنانين الأغنية من صفحة الألبوم إذا يختلف من فنانين الألبوم.';
@override
String get disableGesture => 'Disable gestures';
@override
String get disableGestureSubtitle => 'Whether to disables gestures.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'الألوان التطبيق';
@override
String get system => 'نظام';
@override
String get light => 'ابيض';
@override
String get dark => 'غامق';
@override
String get tabs => 'التبويبات';
@override
String get cancelSleepTimer => 'هل تريد ان تلغي مؤقت النوم؟';
@override
String get yesButtonLabel => 'نعم';
@override
String get noButtonLabel => '';
@override
String get setSleepTimer => 'حدد مؤقت النوم';
@override
String get minutes => 'دقائق';
@override
String get invalidNumber => 'رقم خاطىء';
@override
String get sleepTimerTooltip => 'مؤقت النوم';
@override
String get addToPlaylistTooltip => 'إضافة إلى قائمة اغاني';
@override
String get addToPlaylistTitle => 'إضافة إلى قائمة اغاني';
@override
String get removeFromPlaylistTooltip => 'إزالة من قائمة الأغاني';
@override
String get removeFromPlaylistTitle => 'إزالة من قائمة الأغاني';
@override
String get newPlaylist => 'قائمة اغاني جديد';
@override
String get createButtonLabel => 'إنشاء';
@override
String get playlistCreated => 'تم إنشاء قائمة الأغاني.';
@override
String get noAlbum => 'بدون البوم';
@override
String get noItem => 'لا يوجد بند';
@override
String get noArtist => 'بدون فنان';
@override
String get unknownArtist => 'فنان غير معروف';
@override
String get streaming => 'بث';
@override
String get downloaded => 'نزلت';
@override
String get transcode => 'تحويل';
@override
String get direct => 'مباشر';
@override
String get statusError => 'خطأ حالة';
@override
String get queue => 'قائمة الإنتظار';
@override
String get addToQueue => 'إضافة إلى قائمة الانتظار';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'تبديل قائمة الإنتظار';
@override
String get instantMix => 'خلط فوري';
@override
String get goToAlbum => 'إذهب إلى الألبوم';
@override
String get removeFavourite => 'إزالة من المفضلات';
@override
String get addFavourite => 'إضافة إلى المفضلات';
@override
String get addedToQueue => 'تم إضافة إالى قائمة الانتظار';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'تم تبديل قائمة الإنتظار.';
@override
String get removedFromPlaylist => 'تمت الإزالة من قائمة الأغاني.';
@override
String get startingInstantMix => 'ابتداء خلط فوري.';
@override
String get anErrorHasOccured => 'حدث خطأ.';
@override
String responseError(String error, int statusCode) {
return '$error رمز الخطأ $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error رمز الخطأ $statusCode. ربما يعني ان استخدمت الإسم أو الكامة السرية الخاطئة, أو عميلك لا يعد موثوق.';
}
@override
String get removeFromMix => 'إزالة من الخلطة';
@override
String get addToMix => 'إضافة إالى الخلطة';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redownloaded $count items',
one: 'Redownloaded $count item',
zero: 'No redownloads needed.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer Duration';
@override
String get bufferDurationSubtitle =>
'How much the player should buffer, in seconds. Requires a restart.';
@override
String get language => 'اللغة';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+740
View File
@@ -0,0 +1,740 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Bulgarian (`bg`).
class AppLocalizationsBg extends AppLocalizations {
AppLocalizationsBg([String locale = 'bg']) : super(locale);
@override
String startupError(String error) {
return 'Нещо се обърка по време на стартиране на приложението. Грешката беше:$error\n\nДокладвайте проблема, с екранна снимка, на github.com/UnicornsOnLSD/finamp, Ако проблемът продължава, изчистете кеша или преинсталирайте приложението.';
}
@override
String get serverUrl => 'URL на сървъра';
@override
String get internalExternalIpExplanation =>
'В случай, че искате да имате достъп до вашия Jellyfin сървър дистанционно, трябва да използвате външния си IP адрес.\n\nВ случай, че сървърът ви работи на HTTP порт (80/443), не е нужно да посочвате такъв. Например ако използвате обратно прокси.';
@override
String get emptyServerUrl => 'URL адресът на сървъра не може да бъде празен';
@override
String get urlStartWithHttps =>
'URL адресът трябва да започва с http:// или https://';
@override
String get urlTrailingSlash =>
'URL адресът не трябва да включва наклонена черта';
@override
String get username => 'Потребителско име';
@override
String get password => 'Парола';
@override
String get logs => 'Логове';
@override
String get next => 'Следващ';
@override
String get selectMusicLibraries => 'Изберете музикални библиотеки';
@override
String get couldNotFindLibraries => 'Не могат да бъдат открити библиотеки.';
@override
String get unknownName => 'Неизвестно Име';
@override
String get songs => 'Песни';
@override
String get albums => 'Албуми';
@override
String get artists => 'Изпълнители';
@override
String get genres => 'Жанрове';
@override
String get playlists => 'Плейлисти';
@override
String get startMix => 'Стартирайте разбъркано възпроизвеждане';
@override
String get startMixNoSongsArtist =>
'Натиснете и задръжте върху изпълнител, за да го добавите или премахнете, от разбъркано възпроизвеждане';
@override
String get startMixNoSongsAlbum =>
'Натиснете и задръжте върху албум, за да го добавите или премахнете от разбъркано възпроизвеждане';
@override
String get music => 'Музика';
@override
String get clear => 'Изчисти';
@override
String get favourites => 'Любими';
@override
String get shuffleAll => 'Възпроизвеждане в случаен ред';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Изтегляния';
@override
String get settings => 'Настройки';
@override
String get offlineMode => 'Офлайн режим';
@override
String get sortOrder => 'Подредба';
@override
String get sortBy => 'Подредба по';
@override
String get album => 'Албум';
@override
String get albumArtist => 'Изпълнител на албума';
@override
String get artist => 'Изпълнител';
@override
String get budget => 'Бюджет';
@override
String get communityRating => 'Обществен рейтинг';
@override
String get criticRating => 'Рейтинг на професионалната общност';
@override
String get dateAdded => 'Дата на добавяне';
@override
String get datePlayed => 'Дата на последно изпълнение';
@override
String get playCount => 'Брой изпълнения';
@override
String get premiereDate => 'Премиерна дата';
@override
String get productionYear => 'Година на издаване';
@override
String get name => 'Име';
@override
String get random => 'Произволно';
@override
String get revenue => 'Приходи';
@override
String get runtime => 'Продължителност';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Изтегляне на липсващите изображения';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Изтегляне $count липсващи изображения',
one: 'Изтегляне $count липсващи изображения',
zero: 'Не са открити липсващи изображения',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Грешки при изтеглянето';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count изтегляне',
one: '$count изтегляне',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count елементи',
one: '$count елемент',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count изображения',
one: '$count изображение',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count завършено';
}
@override
String dlFailed(int count) {
return '$count грешка';
}
@override
String dlEnqueued(int count) {
return '$count опашка';
}
@override
String dlRunning(int count) {
return '$count изпълнява се';
}
@override
String get downloadErrorsTitle => 'Грешки при изтегляне';
@override
String get noErrors => 'Без грешки!';
@override
String get errorScreenError =>
'Възникна грешка при получаване на списъка с грешки! Преинсталирайте приложението и съобщете за проблема на GitHub';
@override
String get failedToGetSongFromDownloadId =>
'Неуспех при получаване на песен, посредством ID на изтегляне';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Грешка';
@override
String discNumber(int number) {
return 'Диск $number';
}
@override
String get playButtonLabel => 'ПУСНИ';
@override
String get shuffleButtonLabel => 'РАЗБЪРКАНО';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Песни',
one: '$count Песен',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip =>
'Редактирай името на списъка за изпълнение';
@override
String get editPlaylistNameTitle =>
'Редактирай името на списъка за изпълнение';
@override
String get required => 'Задължително';
@override
String get updateButtonLabel => 'АКТУАЛИЗАЦИЯ';
@override
String get playlistNameUpdated =>
'Името на списъка за изпълнение е обновено.';
@override
String get favourite => 'Любими';
@override
String get downloadsDeleted => 'Изтеглянията са изтрити.';
@override
String get addDownloads => 'Добави за изтегляне';
@override
String get location => 'Местоположение';
@override
String get downloadsAdded => 'Добавено в изтегляния.';
@override
String get addButtonLabel => 'ДОБАВИ';
@override
String get shareLogs => 'Споделете логовете';
@override
String get logsCopied => 'Логове копирани.';
@override
String get message => 'Съобщение';
@override
String get stackTrace => 'Проследяване на стека';
@override
String get applicationLegalese =>
'Лиценз Mozilla Public License 2.0. Програмният код е достъпен на:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Транскодиране';
@override
String get downloadLocations => 'Местоположение на изтеглянията';
@override
String get audioService => 'Аудио услуга';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Оформление и тема';
@override
String get notAvailableInOfflineMode => 'Недостъпно в офлайн режим';
@override
String get logOut => 'Излезте от профила си';
@override
String get downloadedSongsWillNotBeDeleted =>
'Изтеглените песни няма да бъдат изтрити';
@override
String get areYouSure => 'Сигурни ли сте?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin използва AAC за транскодиране';
@override
String get enableTranscoding => 'Активиране на транскодирането';
@override
String get enableTranscodingSubtitle =>
'Транскодирането на музикалните потоци се осъществява от страна на сървъра.';
@override
String get bitrate => 'Битрейт';
@override
String get bitrateSubtitle =>
'По-високият битрейт гарантира висококачествено аудио за сметка на завишен мрежови трафик.';
@override
String get customLocation => 'Персонализирано местоположение';
@override
String get appDirectory => 'Директория на приложението';
@override
String get addDownloadLocation => 'Добавете местоположение за изтегляне';
@override
String get selectDirectory => 'Изберете директория';
@override
String get unknownError => 'Неизвестна грешка';
@override
String get pathReturnSlashErrorMessage =>
'Невъзможно е указването на път, използващ \"/\"';
@override
String get directoryMustBeEmpty => 'Директорията трябва да е празна';
@override
String get customLocationsBuggy =>
'Персонализираните местоположения са изключително нестабилни, поради проблеми с правата. Обмислям варианти са справяне с проблема, но за сега непрепоръчвам тяхното използване.';
@override
String get enterLowPriorityStateOnPause =>
'При пауза, използвай режим на нисък приоритет';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Известията да бъдат отхвърлени при пауза. Също така позволи на Android да прекрати услугата при пауза.';
@override
String get shuffleAllSongCount => 'Разбъркайте всички песни';
@override
String get shuffleAllSongCountSubtitle =>
'Брой песни за зареждане при използване на бутона за разбъркване на всички песни.';
@override
String get viewType => 'Вид преглед';
@override
String get viewTypeSubtitle => 'Вид преглед на плейъра';
@override
String get list => 'Списък';
@override
String get grid => 'Решетка';
@override
String get portrait => 'Портретен';
@override
String get landscape => 'Пейзажен';
@override
String gridCrossAxisCount(String value) {
return '$value Брой елементи в решетката';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Броят на показваните елементи на ред, когато $value.';
}
@override
String get showTextOnGridView => 'Показване на текст в решетъчен изглед';
@override
String get showTextOnGridViewSubtitle =>
'Дали да се показва или не текст (името на песента, изпълнителя и т.н.), в решетъчен режим.';
@override
String get showCoverAsPlayerBackground =>
'Показване на замъглена обложка като фон на плейъра';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Дали да се показва или не, замъглена обложка на албума като фон на плейъра.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Скриване изпълнителя на песента, ако е същият като изпълнителя на албума';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Дали да се покаже изпълнителят на песента на екрана, ако не се различава от изпълнителя на албума.';
@override
String get disableGesture => 'Disable gestures';
@override
String get disableGestureSubtitle => 'Whether to disables gestures.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Тема';
@override
String get system => 'Система';
@override
String get light => 'Светла';
@override
String get dark => 'Тъмна';
@override
String get tabs => 'Раздели';
@override
String get cancelSleepTimer => 'Отмяна на таймера?';
@override
String get yesButtonLabel => 'Да';
@override
String get noButtonLabel => 'Не';
@override
String get setSleepTimer => 'Задаване на таймер';
@override
String get minutes => 'Минути';
@override
String get invalidNumber => 'Невалидно число';
@override
String get sleepTimerTooltip => 'Таймер';
@override
String get addToPlaylistTooltip => 'Добавяне към списъка за изпълнение';
@override
String get addToPlaylistTitle => 'Добавяне към списъка за изпълнение';
@override
String get removeFromPlaylistTooltip => 'Remove from playlist';
@override
String get removeFromPlaylistTitle => 'Remove from Playlist';
@override
String get newPlaylist => 'Нов списък за изпълнение';
@override
String get createButtonLabel => 'Създаване';
@override
String get playlistCreated => 'Списъкът за изпълнение е създаден.';
@override
String get noAlbum => 'Липсващ албум';
@override
String get noItem => 'Липсващ файл';
@override
String get noArtist => 'Липсващ изпълнител';
@override
String get unknownArtist => 'Неизвестен изпълнител';
@override
String get streaming => 'Стрийминг';
@override
String get downloaded => 'Изтегляне';
@override
String get transcode => 'Транскодиране';
@override
String get direct => 'Непосредствен';
@override
String get statusError => 'Грешка в състоянието';
@override
String get queue => 'Опашка';
@override
String get addToQueue => 'Добавяне към опашката';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Заменете опашката';
@override
String get instantMix => 'Незабавен микс';
@override
String get goToAlbum => 'Отидете в албума';
@override
String get removeFavourite => 'Премахнете любими';
@override
String get addFavourite => 'Добавете в любими';
@override
String get addedToQueue => 'Добавено към опашката.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Опашката е заменена.';
@override
String get removedFromPlaylist => 'Removed from playlist.';
@override
String get startingInstantMix => 'Стартиране на незабавен микс.';
@override
String get anErrorHasOccured => 'Появи се грешка.';
@override
String responseError(String error, int statusCode) {
return '$error Код на грешката $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Код на грешката $statusCode. Това вероятно означава, че сте използвали грешно потребителско име/парола, или вашият клиент вече не е удостоверен.';
}
@override
String get removeFromMix => 'Премахни от микса';
@override
String get addToMix => 'Добави към микса';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Повторно изтегляне $count елементи',
one: 'Повторно изтегляне $count елемент',
zero: 'Не е необходимо повторно изтегляне.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer Duration';
@override
String get bufferDurationSubtitle =>
'How much the player should buffer, in seconds. Requires a restart.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+736
View File
@@ -0,0 +1,736 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Catalan Valencian (`ca`).
class AppLocalizationsCa extends AppLocalizations {
AppLocalizationsCa([String locale = 'ca']) : super(locale);
@override
String startupError(String error) {
return 'S\'ha produït un error durant l\'inici de l\'aplicació. L\'error va ser: $error\n\nCreeu un problema a github.com/UnicornsOnLSD/finamp amb una captura de pantalla d\'aquesta pàgina. Si aquest problema persisteix, podeu esborrar les dades de l\'aplicació per restablir-la.';
}
@override
String get serverUrl => 'URL del servidor';
@override
String get internalExternalIpExplanation =>
'Si voleu poder accedir al vostre servidor Jellyfin de forma remota, heu d\'utilitzar la vostra IP externa.\n\nSi el vostre servidor està en un port HTTP (80/443), no cal que especifiqueu cap port. És probable que aquest sigui el cas si el vostre servidor està darrere d\'un servidor intermediari invers.';
@override
String get emptyServerUrl => 'Server URL cannot be empty';
@override
String get urlStartWithHttps => 'URL must start with http:// or https://';
@override
String get urlTrailingSlash => 'URL must not include a trailing slash';
@override
String get username => 'Username';
@override
String get password => 'Password';
@override
String get logs => 'Logs';
@override
String get next => 'Next';
@override
String get selectMusicLibraries => 'Select Music Libraries';
@override
String get couldNotFindLibraries => 'Could not find any libraries.';
@override
String get unknownName => 'Unknown Name';
@override
String get songs => 'Songs';
@override
String get albums => 'Albums';
@override
String get artists => 'Artists';
@override
String get genres => 'Genres';
@override
String get playlists => 'Playlists';
@override
String get startMix => 'Start Mix';
@override
String get startMixNoSongsArtist =>
'Long-press an artist to add or remove it from the mix builder before starting a mix';
@override
String get startMixNoSongsAlbum =>
'Long-press an album to add or remove it from the mix builder before starting a mix';
@override
String get music => 'Music';
@override
String get clear => 'Clear';
@override
String get favourites => 'Favourites';
@override
String get shuffleAll => 'Shuffle all';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Downloads';
@override
String get settings => 'Settings';
@override
String get offlineMode => 'Offline Mode';
@override
String get sortOrder => 'Sort order';
@override
String get sortBy => 'Sort by';
@override
String get album => 'Album';
@override
String get albumArtist => 'Album Artist';
@override
String get artist => 'Artist';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Community Rating';
@override
String get criticRating => 'Critic Rating';
@override
String get dateAdded => 'Date Added';
@override
String get datePlayed => 'Date Played';
@override
String get playCount => 'Play Count';
@override
String get premiereDate => 'Premiere Date';
@override
String get productionYear => 'Production Year';
@override
String get name => 'Name';
@override
String get random => 'Random';
@override
String get revenue => 'Revenue';
@override
String get runtime => 'Runtime';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Download missing images';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Downloaded $count missing images',
one: 'Downloaded $count missing image',
zero: 'No missing images found',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Download errors';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count downloads',
one: '$count download',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count items',
one: '$count item',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count images',
one: '$count image',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count complete';
}
@override
String dlFailed(int count) {
return '$count failed';
}
@override
String dlEnqueued(int count) {
return '$count enqueued';
}
@override
String dlRunning(int count) {
return '$count running';
}
@override
String get downloadErrorsTitle => 'Download Errors';
@override
String get noErrors => 'No errors!';
@override
String get errorScreenError =>
'An error occurred while getting the list of errors! At this point, you should probably just create an issue on GitHub and delete app data';
@override
String get failedToGetSongFromDownloadId =>
'Failed to get song from download ID';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Error';
@override
String discNumber(int number) {
return 'Disc $number';
}
@override
String get playButtonLabel => 'PLAY';
@override
String get shuffleButtonLabel => 'SHUFFLE';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Songs',
one: '$count Song',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Edit playlist name';
@override
String get editPlaylistNameTitle => 'Edit Playlist Name';
@override
String get required => 'Required';
@override
String get updateButtonLabel => 'UPDATE';
@override
String get playlistNameUpdated => 'Playlist name updated.';
@override
String get favourite => 'Favourite';
@override
String get downloadsDeleted => 'Downloads deleted.';
@override
String get addDownloads => 'Add Downloads';
@override
String get location => 'Location';
@override
String get downloadsAdded => 'Downloads added.';
@override
String get addButtonLabel => 'ADD';
@override
String get shareLogs => 'Share logs';
@override
String get logsCopied => 'Logs copied.';
@override
String get message => 'Message';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Licensed with the Mozilla Public License 2.0. Source code available at:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transcoding';
@override
String get downloadLocations => 'Download Locations';
@override
String get audioService => 'Audio Service';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Layout & Theme';
@override
String get notAvailableInOfflineMode => 'Not available in offline mode';
@override
String get logOut => 'Log Out';
@override
String get downloadedSongsWillNotBeDeleted =>
'Downloaded songs will not be deleted';
@override
String get areYouSure => 'Are you sure?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin uses AAC for transcoding';
@override
String get enableTranscoding => 'Enable Transcoding';
@override
String get enableTranscodingSubtitle =>
'Transcodes music streams on the server side.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'A higher bitrate gives higher quality audio at the cost of higher bandwidth.';
@override
String get customLocation => 'Custom Location';
@override
String get appDirectory => 'App Directory';
@override
String get addDownloadLocation => 'Add Download Location';
@override
String get selectDirectory => 'Select Directory';
@override
String get unknownError => 'Unknown Error';
@override
String get pathReturnSlashErrorMessage =>
'Paths that return \"/\" can\'t be used';
@override
String get directoryMustBeEmpty => 'Directory must be empty';
@override
String get customLocationsBuggy =>
'Custom locations are extremely buggy due to issues with permissions. I\'m thinking of ways to fix this, but for now I wouldn\'t recommend using them.';
@override
String get enterLowPriorityStateOnPause =>
'Enter Low-Priority State on Pause';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Lets the notification be swiped away when paused. Also allows Android to kill the service when paused.';
@override
String get shuffleAllSongCount => 'Shuffle All Song Count';
@override
String get shuffleAllSongCountSubtitle =>
'Amount of songs to load when using the shuffle all songs button.';
@override
String get viewType => 'View Type';
@override
String get viewTypeSubtitle => 'View type for the music screen';
@override
String get list => 'List';
@override
String get grid => 'Grid';
@override
String get portrait => 'Portrait';
@override
String get landscape => 'Landscape';
@override
String gridCrossAxisCount(String value) {
return '$value Grid Cross-Axis Count';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Amount of grid tiles to use per-row when $value.';
}
@override
String get showTextOnGridView => 'Show text in grid view';
@override
String get showTextOnGridViewSubtitle =>
'Whether or not to show the text (title, artist etc) on the grid music screen.';
@override
String get showCoverAsPlayerBackground =>
'Show blurred cover as player background';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Whether or not to use blurred cover art as background on player screen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Hide song artists if same as album artists';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Whether to show song artists on the album screen if not differing from album artists.';
@override
String get disableGesture => 'Disable gestures';
@override
String get disableGestureSubtitle => 'Whether to disables gestures.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Theme';
@override
String get system => 'System';
@override
String get light => 'Light';
@override
String get dark => 'Dark';
@override
String get tabs => 'Tabs';
@override
String get cancelSleepTimer => 'Cancel Sleep Timer?';
@override
String get yesButtonLabel => 'YES';
@override
String get noButtonLabel => 'NO';
@override
String get setSleepTimer => 'Set Sleep Timer';
@override
String get minutes => 'Minutes';
@override
String get invalidNumber => 'Invalid Number';
@override
String get sleepTimerTooltip => 'Sleep timer';
@override
String get addToPlaylistTooltip => 'Add to playlist';
@override
String get addToPlaylistTitle => 'Add to Playlist';
@override
String get removeFromPlaylistTooltip => 'Remove from playlist';
@override
String get removeFromPlaylistTitle => 'Remove from Playlist';
@override
String get newPlaylist => 'New Playlist';
@override
String get createButtonLabel => 'CREATE';
@override
String get playlistCreated => 'Playlist created.';
@override
String get noAlbum => 'No Album';
@override
String get noItem => 'No Item';
@override
String get noArtist => 'No Artist';
@override
String get unknownArtist => 'Unknown Artist';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'DESCARREGAT';
@override
String get transcode => 'TRANSCODIFICACIÓ';
@override
String get direct => 'DIRECTE';
@override
String get statusError => 'ERROR D\'ESTAT';
@override
String get queue => 'Cua';
@override
String get addToQueue => 'Afegir a la cua';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Substitueix la cua';
@override
String get instantMix => 'Barreja instantània';
@override
String get goToAlbum => 'Vés a l\'àlbum';
@override
String get removeFavourite => 'Suprimeix el favorit';
@override
String get addFavourite => 'Afegeix favorit';
@override
String get addedToQueue => 'S\'ha afegit a la cua.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'S\'ha substituït la cua.';
@override
String get removedFromPlaylist =>
'S\'ha suprimit de la llista de reproducció.';
@override
String get startingInstantMix => 'Inici de la barreja instantània.';
@override
String get anErrorHasOccured => 'S\'ha produït un error.';
@override
String responseError(String error, int statusCode) {
return '$error Codi d\'estat $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Codi d\'estat $statusCode. Això probablement vol dir que heu utilitzat un nom d\'usuari/contrasenya incorrecte o que el vostre client ha tancat la sessió.';
}
@override
String get removeFromMix => 'Eliminar de la barreja';
@override
String get addToMix => 'Afegir a la barreja';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redownloaded $count items',
one: 'Redownloaded $count item',
zero: 'No redownloads needed.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer Duration';
@override
String get bufferDurationSubtitle =>
'How much the player should buffer, in seconds. Requires a restart.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+744
View File
@@ -0,0 +1,744 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Czech (`cs`).
class AppLocalizationsCs extends AppLocalizations {
AppLocalizationsCs([String locale = 'cs']) : super(locale);
@override
String startupError(String error) {
return 'Při spouštění aplikace se něco pokazilo. Chyba: $error\n\nNahlaste prosím problém na stránce github.com/UnicornsOnLSD/finamp společně se snímkem obrazovky této stránky. Pokud tento problém přetrvává, můžete vymazat data aplikace pro její obnovení.';
}
@override
String get serverUrl => 'Adresa URL serveru';
@override
String get internalExternalIpExplanation =>
'Pokud budete chtít vzdáleně přistupovat k vašemu serveru Jellyfin, budete muset použít vaši externí IP.\n\nPokud je váš server na portu HTTP (80/443), nemusíte specifikovat port. Toto bývá obvyklé, když máte server za reverzní proxy.';
@override
String get emptyServerUrl => 'Adresa URL serveru nemůže být prázdná';
@override
String get urlStartWithHttps =>
'Adresa URL musí začínat s http:// nebo https://';
@override
String get urlTrailingSlash => 'Adresa URL nesmí obsahovat koncové lomítko';
@override
String get username => 'Uživatelské jméno';
@override
String get password => 'Heslo';
@override
String get logs => 'Protokoly';
@override
String get next => 'Další';
@override
String get selectMusicLibraries => 'Vyberte hudební knihovny';
@override
String get couldNotFindLibraries => 'Nebyly nalezeny žádné knihovny.';
@override
String get unknownName => 'Neznámý název';
@override
String get songs => 'Skladby';
@override
String get albums => 'Alba';
@override
String get artists => 'Umělci';
@override
String get genres => 'Žánry';
@override
String get playlists => 'Seznamy skladeb';
@override
String get startMix => 'Spustit mix';
@override
String get startMixNoSongsArtist =>
'Dlouze podržte prst na umělci pro jeho přidání nebo odebrání z tvorby mixu před jeho spuštěním';
@override
String get startMixNoSongsAlbum =>
'Dlouze podržte prst na albu pro jeho přidání nebo odebrání z tvorby mixu před jeho spuštěním';
@override
String get music => 'Hudba';
@override
String get clear => 'Vymazat';
@override
String get favourites => 'Oblíbené';
@override
String get shuffleAll => 'Vše náhodně';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Stažené';
@override
String get settings => 'Nastavení';
@override
String get offlineMode => 'Režim offline';
@override
String get sortOrder => 'Pořadí řazení';
@override
String get sortBy => 'Řadit podle';
@override
String get album => 'Album';
@override
String get albumArtist => 'Umělec alba';
@override
String get artist => 'Umělec';
@override
String get budget => 'Rozpočet';
@override
String get communityRating => 'Komunitní hodnocení';
@override
String get criticRating => 'Hodnocení kritiků';
@override
String get dateAdded => 'Datum přidání';
@override
String get datePlayed => 'Datum přehrání';
@override
String get playCount => 'Počet přehrání';
@override
String get premiereDate => 'Datum premiéry';
@override
String get productionYear => 'Rok produkce';
@override
String get name => 'Název';
@override
String get random => 'Náhodně';
@override
String get revenue => 'Výnos';
@override
String get runtime => 'Doba běhu';
@override
String get syncDownloadedPlaylists =>
'Synchronizovat stažené seznamy skladeb';
@override
String get downloadMissingImages => 'Stáhnout chybějící obrázky';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Staženo $count chybějících obrázků',
few: 'Staženy $count chybějící obrázky',
one: 'Stažen $count chybějící obrázek',
zero: 'Nenalezeny žádné chybějící obrázky',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Chyby stahování';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count stahování',
one: '$count stahování',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count položek',
few: '$count položky',
one: '$count položka',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count obrázků',
few: '$count obrázky',
one: '$count obrázek',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count dokončeno';
}
@override
String dlFailed(int count) {
return '$count selhalo';
}
@override
String dlEnqueued(int count) {
return '$count ve frontě';
}
@override
String dlRunning(int count) {
return '$count běží';
}
@override
String get downloadErrorsTitle => 'Chyby stahování';
@override
String get noErrors => 'Žádné chyby!';
@override
String get errorScreenError =>
'Při načítání seznamu chyb došlo k chybě! Vytvořte prosím problém na GitHubu a vymažte data aplikace';
@override
String get failedToGetSongFromDownloadId =>
'Error nelze sehnat skladbu s ID pro stažení';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'seznam skladeb',
'artist': 'umělce',
'genre': 'žánr',
'track': 'skladbu',
'other': '',
},
);
return 'Opravdu chcete odstranit $_temp0 \'$itemName\' z tohoto zařízení?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Odstranit';
@override
String get deleteDownloadsAbortButtonText => 'Zrušit';
@override
String get error => 'Chyba';
@override
String discNumber(int number) {
return 'Disk $number';
}
@override
String get playButtonLabel => 'PŘEHRÁT';
@override
String get shuffleButtonLabel => 'NÁHODNĚ';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count skladeb',
few: '$count skladby',
one: '$count skladba',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Upravit název seznamu skladeb';
@override
String get editPlaylistNameTitle => 'Upravit název seznamu skladeb';
@override
String get required => 'Vyžadováno';
@override
String get updateButtonLabel => 'UPRAVIT';
@override
String get playlistNameUpdated => 'Název seznamu skladeb upraven.';
@override
String get favourite => 'Oblíbené';
@override
String get downloadsDeleted => 'Stahování odstraněna.';
@override
String get addDownloads => 'Přidat stahování';
@override
String get location => 'Umístění';
@override
String get downloadsAdded => 'Stahování přidána.';
@override
String get addButtonLabel => 'PŘIDAT';
@override
String get shareLogs => 'Sdílet protokoly';
@override
String get logsCopied => 'Protokoly zkopírovány.';
@override
String get message => 'Zpráva';
@override
String get stackTrace => 'Trasování';
@override
String get applicationLegalese =>
'Licence Mozilla Public License 2.0. Zdrojový kód je dostupný na stránce:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Překódování';
@override
String get downloadLocations => 'Umístění stažených';
@override
String get audioService => 'Služba zvuku';
@override
String get interactions => 'Interakce';
@override
String get layoutAndTheme => 'Rozložení a motiv';
@override
String get notAvailableInOfflineMode => 'Není dostupné v režimu offline';
@override
String get logOut => 'Odhlásit se';
@override
String get downloadedSongsWillNotBeDeleted =>
'Stažené skladby nebudou odstraněny';
@override
String get areYouSure => 'Opravdu?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin používá pro překódování formát AAC';
@override
String get enableTranscoding => 'Zapnout překódování';
@override
String get enableTranscodingSubtitle =>
'Překóduje hudební streamy na straně serveru.';
@override
String get bitrate => 'Datový tok';
@override
String get bitrateSubtitle =>
'Vyšší datový tok poskytuje vyšší kvalitu zvuku, ale zvýší využití internetu.';
@override
String get customLocation => 'Vlastní umístění';
@override
String get appDirectory => 'Adresář aplikací';
@override
String get addDownloadLocation => 'Přidat umístění stažených';
@override
String get selectDirectory => 'Vybrat adresář';
@override
String get unknownError => 'Neznámá chyba';
@override
String get pathReturnSlashErrorMessage =>
'Cesty, které vracejí „/“, nelze použít';
@override
String get directoryMustBeEmpty => 'Adresář musí být prázdný';
@override
String get customLocationsBuggy =>
'Vlastní umístění bývají kvůli problémům s oprávněními extrémně chybové. Snažíme se tento problém opravit, do té doby ale nedoporučujeme jejich používání.';
@override
String get enterLowPriorityStateOnPause =>
'Po pozastavení vstoupit do stavu nízké priority';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Umožní odstranění notifikace při pozastavení. Také umožní systému ukončit službu.';
@override
String get shuffleAllSongCount =>
'Počet skladeb pro náhodné přehrávání všeho';
@override
String get shuffleAllSongCountSubtitle =>
'Počet skladeb, které se mají načíst při použití tlačítka náhodného přehrávání všech skladeb.';
@override
String get viewType => 'Typ zobrazení';
@override
String get viewTypeSubtitle => 'Typ zobrazení pro hudební obrazovku';
@override
String get list => 'Seznam';
@override
String get grid => 'Mřížka';
@override
String get portrait => 'Na výšku';
@override
String get landscape => 'Na šířku';
@override
String gridCrossAxisCount(String value) {
return 'Počet položek mřížky $value';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Počet položek mřížky na řádek $value.';
}
@override
String get showTextOnGridView => 'Zobrazit text v zobrazení v mřížce';
@override
String get showTextOnGridViewSubtitle =>
'Zda zobrazit text (název, umělce atd.) v mřížkovém zobrazení hudební obrazovky.';
@override
String get showCoverAsPlayerBackground =>
'Zobrazit rozmazaný obal jako pozadí přehrávače';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Zda použít rozmazaný obal alba jako pozadí na obrazovce přehrávače.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Nezobrazovat umělce, pokud je totožný s umělcem alba';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Zda zobrazit umělce skladby na obrazovce alba, pokud se neliší od umělců alba.';
@override
String get disableGesture => 'Zakázat gesta';
@override
String get disableGestureSubtitle => 'Zda zakázat gesta.';
@override
String get showFastScroller => 'Zobrazit rychlý posuvník';
@override
String get theme => 'Motiv';
@override
String get system => 'Systémový';
@override
String get light => 'Světlý';
@override
String get dark => 'Tmavý';
@override
String get tabs => 'Karty';
@override
String get cancelSleepTimer => 'Zrušit časovač spánku?';
@override
String get yesButtonLabel => 'ANO';
@override
String get noButtonLabel => 'NE';
@override
String get setSleepTimer => 'Nastavit časovač spánku';
@override
String get minutes => 'Minuty';
@override
String get invalidNumber => 'Neplatné číslo';
@override
String get sleepTimerTooltip => 'Časovač spánku';
@override
String get addToPlaylistTooltip => 'Přidat do seznamu skladeb';
@override
String get addToPlaylistTitle => 'Přidat do seznamu skladeb';
@override
String get removeFromPlaylistTooltip => 'Odebrat ze seznamu skladeb';
@override
String get removeFromPlaylistTitle => 'Odebrat ze seznamu skladeb';
@override
String get newPlaylist => 'Nový seznam skladeb';
@override
String get createButtonLabel => 'VYTVOŘIT';
@override
String get playlistCreated => 'Seznam skladeb vytvořen.';
@override
String get noAlbum => 'Žádné album';
@override
String get noItem => 'Žádná položka';
@override
String get noArtist => 'Žádný umělec';
@override
String get unknownArtist => 'Neznámý umělec';
@override
String get streaming => 'STREAMOVÁNÍ';
@override
String get downloaded => 'STAŽENO';
@override
String get transcode => 'PŘEKÓDOVÁNÍ';
@override
String get direct => 'PŘÍMÝ';
@override
String get statusError => 'CHYBA STAVU';
@override
String get queue => 'Fronta';
@override
String get addToQueue => 'Přidat do fronty';
@override
String get playNext => 'Přehrát další';
@override
String get replaceQueue => 'Nahradit frontu';
@override
String get instantMix => 'Okamžitý mix';
@override
String get goToAlbum => 'Přejít na album';
@override
String get removeFavourite => 'Odebrat z oblíbených';
@override
String get addFavourite => 'Přidat do oblíbených';
@override
String get addedToQueue => 'Přidáno do fronty.';
@override
String get insertedIntoQueue => 'Vloženo do fronty.';
@override
String get queueReplaced => 'Fronta nahrazena.';
@override
String get removedFromPlaylist => 'Odebráno ze seznamu skladeb.';
@override
String get startingInstantMix => 'Spouštění okamžitého mixu.';
@override
String get anErrorHasOccured => 'Vyskytla se chyba.';
@override
String responseError(String error, int statusCode) {
return '$error Stavový kód $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Stavový kód $statusCode. Toto nejspíše znamená, že jste použili nesprávné uživatelské jméno / heslo, nebo váš klient již není přihlášen.';
}
@override
String get removeFromMix => 'Odebrat z mixu';
@override
String get addToMix => 'Přidat do mixu';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Znovu staženo $count položek',
few: 'Znovu staženy$count položky',
one: 'Znovu stažena$count položka',
zero: 'Nejsou potřeba žádná opětovná stažení.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Trvání vyrovnávací paměti';
@override
String get bufferDurationSubtitle =>
'Kolik sekund dopředu by měl přehrávač uložit do vyrovnávací paměti. Vyžaduje restart aplikace.';
@override
String get language => 'Jazyk';
@override
String get confirm => 'Potvrdit';
@override
String get showUncensoredLogMessage =>
'Tento protokol zobrazuje vaše přihlašovací informace. Chcete jej zobrazit?';
@override
String get resetTabs => 'Obnovit karty';
@override
String get noMusicLibrariesTitle => 'Žádné hudební knihovny';
@override
String get noMusicLibrariesBody =>
'Finamp nenalezl žádné hudební knihovny. Ujistěte se prosím, že váš server Jellyfin obsahuje alespoň jednu knihovnu s typem obsahu nastaveným na „Hudba“.';
@override
String get refresh => 'OBNOVIT';
@override
String get swipeInsertQueueNext => 'Přehrát posunutou skladbu jako další';
@override
String get swipeInsertQueueNextSubtitle =>
'Zapněte pro vložení skladby jako další položku do fronty po posunutí prstem na skladbě v seznamu skladeb, místo jejího přiřazení na konec.';
@override
String get redesignBeta => 'Vyzkoušejte beta verzi';
@override
String get playbackOrderShuffledTooltip => 'Náhodně. Klepnutím přepnete.';
@override
String get playbackOrderLinearTooltip =>
'Přehrávání v pořadí. Klepnutím přepnete.';
@override
String get loopModeAllTooltip => 'Opakování všeho. Klepnutím přepnete.';
@override
String get loopModeOneTooltip => 'Opakování jedné. Klepnutím přepnete.';
@override
String get loopModeNoneTooltip => 'Bez opakování. Klepnutím přepnete.';
@override
String get skipToPrevious => 'Přeskočit na předchozí skladbu';
@override
String get skipToNext => 'Přeskočit na další skladbu';
@override
String get togglePlayback => 'Přepnout přehrávání';
@override
String playArtist(String artist) {
return 'Přehrát všechna alba umělce $artist';
}
@override
String shuffleArtist(String artist) {
return 'Přehrát náhodně všechna alba umělce $artist';
}
@override
String downloadArtist(String artist) {
return 'Stáhnout všechna alba umělce $artist';
}
@override
String get deleteFromDevice => 'Smazat ze zařízení';
@override
String get download => 'Stáhnout';
@override
String get sync => 'Synchronizovat se serverem';
@override
String get about => 'O aplikaci Finamp';
}
+736
View File
@@ -0,0 +1,736 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Danish (`da`).
class AppLocalizationsDa extends AppLocalizations {
AppLocalizationsDa([String locale = 'da']) : super(locale);
@override
String startupError(String error) {
return 'Noget gik galt under app opstarten. Fejlen er $error\n\nVenligst opret en sag på github.com/UnicornsOnLSD/finamp med et skærmbillede af denne side. Hvis dette problem forbliver, så kan du fjerne dine app data for at nulstille appen.';
}
@override
String get serverUrl => 'Server URL';
@override
String get internalExternalIpExplanation =>
'Hvis du vil være i stand til at tilgå din Jellyfin server udefra, skal du bruge din eksterne IP.\n\nHvis din server er på HTTP porten (80/443), behøver du ikke angive en port. Dette er som regel tilfældet, hvis din server er bag en reverse proxy.';
@override
String get emptyServerUrl => 'Server URL kan ikke være tom';
@override
String get urlStartWithHttps => 'URL skal starte med http:// eller https://';
@override
String get urlTrailingSlash =>
'URL må ikke indeholde en efterfølgnede stråstreg';
@override
String get username => 'Brugernavn';
@override
String get password => 'Adgangskode';
@override
String get logs => 'Log';
@override
String get next => 'Næste';
@override
String get selectMusicLibraries => 'Vælg musik biblioteker';
@override
String get couldNotFindLibraries => 'Kunne ikke finde nogle biblioteker.';
@override
String get unknownName => 'Ukendt navn';
@override
String get songs => 'Sange';
@override
String get albums => 'Albummer';
@override
String get artists => 'Kunstnere';
@override
String get genres => 'Genre';
@override
String get playlists => 'Afspilningslister';
@override
String get startMix => 'Start blanding';
@override
String get startMixNoSongsArtist =>
'Tryk (lang tid) på en kunstner for at tilføje eller fjerne den fra blandingen før du starter en blanding';
@override
String get startMixNoSongsAlbum =>
'Tryk (lang tid) på et album for at tilføje eller fjerne det fra blandingen for du starter en blanding';
@override
String get music => 'Musik';
@override
String get clear => 'Ryd';
@override
String get favourites => 'Favoritter';
@override
String get shuffleAll => 'Bland alle';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Overførelser';
@override
String get settings => 'Indstillinger';
@override
String get offlineMode => 'Offline tilstand';
@override
String get sortOrder => 'Sorter efter';
@override
String get sortBy => 'Sortér efter';
@override
String get album => 'Album';
@override
String get albumArtist => 'Album kunstner';
@override
String get artist => 'Kunstner';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Fællesskab bedømmelse';
@override
String get criticRating => 'Kritiker bedømmelse';
@override
String get dateAdded => 'Dato tilføjet';
@override
String get datePlayed => 'Afspillet den';
@override
String get playCount => 'Antal afspilninger';
@override
String get premiereDate => 'Udgivelsesdato';
@override
String get productionYear => 'Produktionsår';
@override
String get name => 'Navn';
@override
String get random => 'Tilfældig';
@override
String get revenue => 'Omsætning';
@override
String get runtime => 'Spilletid';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Overførelse mangler billeder';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Overførte $count manglende billeder',
one: 'Overførte $count manglende billeder',
zero: 'Ingen manglende billeder blev fundet',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Overførelsesfejl';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count overførelser',
one: '$count overført',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count emner',
one: '$count emne',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count billeder',
one: '$count billede',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count færdige';
}
@override
String dlFailed(int count) {
return '$count fejlede';
}
@override
String dlEnqueued(int count) {
return '$count i kø';
}
@override
String dlRunning(int count) {
return '$count er igang';
}
@override
String get downloadErrorsTitle => 'Overførelsesfejl';
@override
String get noErrors => 'Ingen fejl!';
@override
String get errorScreenError =>
'Der opstod en fejl under hentningen af listen med fejl! På dette tidspunkt, bedes du oprette en fejl på Github og slette appens data';
@override
String get failedToGetSongFromDownloadId =>
'Fejlede under hentning af sang fra overførelse ID';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Fejl';
@override
String discNumber(int number) {
return 'Disk $number';
}
@override
String get playButtonLabel => 'AFSPIL';
@override
String get shuffleButtonLabel => 'BLAND';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Sange',
one: '$count Sang',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Rediger afspilningslistens navn';
@override
String get editPlaylistNameTitle => 'Rediger afspilningslistens navn';
@override
String get required => 'Påkrævet';
@override
String get updateButtonLabel => 'OPDATÉR';
@override
String get playlistNameUpdated => 'Afspilningslistens navn er opdateret.';
@override
String get favourite => 'Favorit';
@override
String get downloadsDeleted => 'Overførelser slettet.';
@override
String get addDownloads => 'Tilføj overførelser';
@override
String get location => 'Placering';
@override
String get downloadsAdded => 'Overførelse tilføjet.';
@override
String get addButtonLabel => 'TILFØJ';
@override
String get shareLogs => 'Del log';
@override
String get logsCopied => 'Log kopieret.';
@override
String get message => 'Besked';
@override
String get stackTrace => 'Bunke spor';
@override
String get applicationLegalese =>
'Licenseret med Mozilla Public License 2.0. Kildeteksten er tilgængelig på:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Omkoder';
@override
String get downloadLocations => 'Overførelse placering';
@override
String get audioService => 'Lyd tjeneste';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Udseende & tema';
@override
String get notAvailableInOfflineMode => 'Ikke tilgængelig i offline tilstand';
@override
String get logOut => 'Log af';
@override
String get downloadedSongsWillNotBeDeleted =>
'Overførte sange vil ikke blive slettet';
@override
String get areYouSure => 'Er du sikker?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin bruger AAC ved omkodning';
@override
String get enableTranscoding => 'Aktivér omkodning';
@override
String get enableTranscodingSubtitle =>
'Omkoder musik under afspilning på serveren.';
@override
String get bitrate => 'Bithastighed';
@override
String get bitrateSubtitle =>
'En højere bithastighed giver højere lydkvalitet men bruger mere båndbredde.';
@override
String get customLocation => 'Vælg placering';
@override
String get appDirectory => 'App katalog';
@override
String get addDownloadLocation => 'Tilføj overførelse placering';
@override
String get selectDirectory => 'Vælg katalog';
@override
String get unknownError => 'Ukendt fejl';
@override
String get pathReturnSlashErrorMessage =>
'Stier, der returnerer \"/\", kan ikke anvendes';
@override
String get directoryMustBeEmpty => 'Katalog skal være tomt';
@override
String get customLocationsBuggy =>
'Valgfrie placeringer er ekstremt fejlramte grundet manglende rettigheder. Jeg prøver at finde måder at løse dette, men for nu anbefaler jeg ikke, at de anvendes.';
@override
String get enterLowPriorityStateOnPause =>
'Gå i lav prioritet tilstand når musik afspilning er på pause';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Tillader notifikationer bliver strøget væk, når afspilning er sat på pause. Dette tillader også Android, at afbryde servicen når den er på pause.';
@override
String get shuffleAllSongCount => 'Bland alle sange antal';
@override
String get shuffleAllSongCountSubtitle =>
'Mængde af sange der skal indlæses, når bland alle sange knappen bruges.';
@override
String get viewType => 'Visning tilstand';
@override
String get viewTypeSubtitle => 'Visningstype for musik skærmen';
@override
String get list => 'Liste';
@override
String get grid => 'Gitter';
@override
String get portrait => 'Portræt';
@override
String get landscape => 'Landskab';
@override
String gridCrossAxisCount(String value) {
return '$value Gitter tværakse antal';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Antal gitrebrikker som bruges per række $value.';
}
@override
String get showTextOnGridView => 'Vis tekst i gitter visning';
@override
String get showTextOnGridViewSubtitle =>
'Vælg om tekst skal vises (titel, kunstner osv.) på gitteret musik skærm.';
@override
String get showCoverAsPlayerBackground =>
'Vis sløret cover som afspiller baggrund';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Vælg om der skal bruges sløret omslagskunst som vises som baggrund på afspiller skærmen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Skjul sang kunstner, hvis det er den samme som albummets kunstner';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Vælg om sangens kunstner skal vises på albummet, hvis den ikke er forskellig fra albummets kunstner.';
@override
String get disableGesture => 'Deaktivér bevægelser';
@override
String get disableGestureSubtitle => 'Vælg om bevægelser skal deaktiveres.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Tema';
@override
String get system => 'System';
@override
String get light => 'Lys';
@override
String get dark => 'Mørk';
@override
String get tabs => 'Faner';
@override
String get cancelSleepTimer => 'Vil du annullere sove timeren?';
@override
String get yesButtonLabel => 'JA';
@override
String get noButtonLabel => 'NEJ';
@override
String get setSleepTimer => 'Indtil sove timer';
@override
String get minutes => 'Minutter';
@override
String get invalidNumber => 'Ugyldig nummer';
@override
String get sleepTimerTooltip => 'Sove timer';
@override
String get addToPlaylistTooltip => 'Tilføj til afspilningsliste';
@override
String get addToPlaylistTitle => 'Tilføj til afspilningsliste';
@override
String get removeFromPlaylistTooltip => 'Fjern fra afspilningsliste';
@override
String get removeFromPlaylistTitle => 'Fjern fra afspilningsliste';
@override
String get newPlaylist => 'Ny afspilningsliste';
@override
String get createButtonLabel => 'OPRET';
@override
String get playlistCreated => 'Afspilningsliste er oprettet.';
@override
String get noAlbum => 'Intet album';
@override
String get noItem => 'Intet objekt';
@override
String get noArtist => 'Ingen kunstner';
@override
String get unknownArtist => 'Ukendt kunstner';
@override
String get streaming => 'STREAMER';
@override
String get downloaded => 'OVERFØRELSER';
@override
String get transcode => 'OMKOD';
@override
String get direct => 'DIREKTE';
@override
String get statusError => 'Status fejl';
@override
String get queue => '';
@override
String get addToQueue => 'Tilføj til kø';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Udskift køen';
@override
String get instantMix => 'Hurtig blanding';
@override
String get goToAlbum => 'Gå til album';
@override
String get removeFavourite => 'Fjern favorit';
@override
String get addFavourite => 'Tilføj favorit';
@override
String get addedToQueue => 'Tilføjet til kø.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Køen er udskiftet.';
@override
String get removedFromPlaylist => 'Fjernet fra afspilningslisten.';
@override
String get startingInstantMix => 'Starter hurtig blanding.';
@override
String get anErrorHasOccured => 'Der opstod en fejl.';
@override
String responseError(String error, int statusCode) {
return '$error Status kode $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Status kode $statusCode. Dette betyder, at du har anvendt et forkert brugernavn/adgangskode eller at din klient ikke længere er logget på.';
}
@override
String get removeFromMix => 'Fjern fra blanding';
@override
String get addToMix => 'Tilføj til blanding';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Genoverfører $count objekter',
one: 'Genoverførte $count objekt',
zero: 'Ingen genoverførsel er nødvendig.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer varighed';
@override
String get bufferDurationSubtitle =>
'Hvor meget afspilleren skal forudindlæse i sekunder. En genstart er nødvendig.';
@override
String get language => 'Sprog';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+738
View File
@@ -0,0 +1,738 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for German (`de`).
class AppLocalizationsDe extends AppLocalizations {
AppLocalizationsDe([String locale = 'de']) : super(locale);
@override
String startupError(String error) {
return 'Während dem Starten der App ist etwas schief gelaufen. Der Fehler war: $error\n\nBitte öffne ein Issue auf github.com/UnicornsOnLSD/finamp mit einem Bildschirmfoto von dieser Seite. Wenn dieses Problem weiterhin besteht, kannst du deine App-Daten löschen, um die App zurückzusetzen.';
}
@override
String get serverUrl => 'Server-URL';
@override
String get internalExternalIpExplanation =>
'Wenn du deinen Jellyfin Server aus der Ferne erreichen möchtest, benötigst du eine externe IP.\n\nWenn dein Server einen HTTP Port (80/443) benutzt, musst du keinen Port festlegen. Dies ist vermutlich der Fall wenn dein Server sich hinter einer Reverse Proxy befindet.';
@override
String get emptyServerUrl => 'Server-URL darf nicht leer sein';
@override
String get urlStartWithHttps => 'URL muss mit http:// oder https:// beginnen';
@override
String get urlTrailingSlash =>
'URL darf keinen Schrägstrich am Ende enthalten';
@override
String get username => 'Benutzername';
@override
String get password => 'Passwort';
@override
String get logs => 'Protokolle';
@override
String get next => 'Weiter';
@override
String get selectMusicLibraries => 'Musikbibliotheken auswählen';
@override
String get couldNotFindLibraries => 'Konnte keine Bibliotheken finden.';
@override
String get unknownName => 'Unbekannter Name';
@override
String get songs => 'Lieder';
@override
String get albums => 'Alben';
@override
String get artists => 'Künstler';
@override
String get genres => 'Genres';
@override
String get playlists => 'Playlists';
@override
String get startMix => 'Starte Mix';
@override
String get startMixNoSongsArtist =>
'Vor dem Starten eines Mixes lange auf einen Künstler gedrückt halten, um ihn zum Mixzusammensteller hinzuzufügen oder zu entfernen';
@override
String get startMixNoSongsAlbum =>
'Vor dem Starten eines Mixes lange auf ein Album gedrückt halten, um es zum Mixzusammensteller hinzuzufügen oder zu entfernen';
@override
String get music => 'Musik';
@override
String get clear => 'Entfernen';
@override
String get favourites => 'Favoriten';
@override
String get shuffleAll => 'Alle mischen';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Downloads';
@override
String get settings => 'Einstellungen';
@override
String get offlineMode => 'Offline-Modus';
@override
String get sortOrder => 'Sortierreihenfolge';
@override
String get sortBy => 'Sortieren nach';
@override
String get album => 'Album';
@override
String get albumArtist => 'Albumkünstler';
@override
String get artist => 'Künstler';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Community-Bewertung';
@override
String get criticRating => 'Kritikerbewertung';
@override
String get dateAdded => 'Datum hinzugefügt';
@override
String get datePlayed => 'Datum gespielt';
@override
String get playCount => 'Anzahl abgespielt';
@override
String get premiereDate => 'Erscheinungsdatum';
@override
String get productionYear => 'Produktionsjahr';
@override
String get name => 'Name';
@override
String get random => 'Zufällig';
@override
String get revenue => 'Einspielergebnis';
@override
String get runtime => 'Dauer';
@override
String get syncDownloadedPlaylists =>
'Heruntergeladene Playlisten synchronisieren';
@override
String get downloadMissingImages => 'Fehlende Bilder herunterladen';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count fehlende Bilder heruntergeladen',
one: '$count fehlendes Bild heruntergeladen',
zero: 'Keine fehlenden Bilder gefunden',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Download-Fehler';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Downloads',
one: '$count Download',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Elemente',
one: '$count Element',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Bilder',
one: '$count Bild',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count fertiggestellt';
}
@override
String dlFailed(int count) {
return '$count fehlgeschlagen';
}
@override
String dlEnqueued(int count) {
return '$count in der Warteschlange';
}
@override
String dlRunning(int count) {
return '$count laufend';
}
@override
String get downloadErrorsTitle => 'Download-Fehler';
@override
String get noErrors => 'Keine Fehler!';
@override
String get errorScreenError =>
'Beim Erstellen der Fehlerliste kam es zu einem Fehler! An dieser Stelle solltest du ein Fehlerticket auf GitHub erstellen und die App-Daten löschen';
@override
String get failedToGetSongFromDownloadId =>
'Song konnte nicht über die Download-ID abgerufen werden';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Bist du sicher, dass du $_temp0 \'$itemName\' von diesem Gerät löschen willst?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Löschen';
@override
String get deleteDownloadsAbortButtonText => 'Abbrechen';
@override
String get error => 'Fehler';
@override
String discNumber(int number) {
return 'CD $number';
}
@override
String get playButtonLabel => 'ABSPIELEN';
@override
String get shuffleButtonLabel => 'MISCHEN';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Titel',
one: '$count Titel',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Wiedergabeliste-Name editieren';
@override
String get editPlaylistNameTitle => 'Wiedergabeliste-Name editieren';
@override
String get required => 'Erforderlich';
@override
String get updateButtonLabel => 'AKTUALISIERUNG';
@override
String get playlistNameUpdated => 'Wiedergabeliste-Name aktualisiert.';
@override
String get favourite => 'Favorit';
@override
String get downloadsDeleted => 'Downloads gelöscht.';
@override
String get addDownloads => 'Downloads hinzufügen';
@override
String get location => 'Ort';
@override
String get downloadsAdded => 'Downloads hinzugefügt.';
@override
String get addButtonLabel => 'Hinzufügen';
@override
String get shareLogs => 'Protokolle teilen';
@override
String get logsCopied => 'Protokolle kopiert.';
@override
String get message => 'Nachricht';
@override
String get stackTrace => 'Stacktrace';
@override
String get applicationLegalese =>
'Lizensiert mit der Mozilla Public License 2.0. Quellcode verfügbar unter:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transkodierung';
@override
String get downloadLocations => 'Download Orte';
@override
String get audioService => 'Audio Service';
@override
String get interactions => 'Interaktionen';
@override
String get layoutAndTheme => 'Aufbau & Thema';
@override
String get notAvailableInOfflineMode => 'Im Offline-Modus nicht verfügbar';
@override
String get logOut => 'Abmelden';
@override
String get downloadedSongsWillNotBeDeleted =>
'Heruntergeladene Lieder werden nicht gelöscht';
@override
String get areYouSure => 'Bist du sicher?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin verwendet AAC zur Transkodierung';
@override
String get enableTranscoding => 'Transkodierung aktivieren';
@override
String get enableTranscodingSubtitle =>
'Transkodiert Musikstreams serverseitig.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'Eine höhere Bitrate verbessert die Audioqualität auf Kosten der benötigten Bandbreite.';
@override
String get customLocation => 'Benutzerdefinierter Ort';
@override
String get appDirectory => 'App-Verzeichnis';
@override
String get addDownloadLocation => 'Download-Ort hinzufügen';
@override
String get selectDirectory => 'Verzeichnis auswählen';
@override
String get unknownError => 'Unbekannter Fehler';
@override
String get pathReturnSlashErrorMessage =>
'Pfade die mit \"/\" antworten können nicht genutzt werden';
@override
String get directoryMustBeEmpty => 'Verzeichnis muss leer sein';
@override
String get customLocationsBuggy =>
'Benutzerdefinierte Orte sind extrem fehlerbehaftet aufgrund von Problemen mit Berechtigungen. Ich denke über Möglichkeiten nach, um dies zu beheben, aber im Moment würde ich davon abraten, diese zu nutzen.';
@override
String get enterLowPriorityStateOnPause =>
'Niedrige Priorität-Modus beim Pausieren aktivieren';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Ermöglicht, dass die Benachrichtigung im pausierten Zustand weggewischt werden kann. Dies erlaubt es Android ebenfalls, den Prozess im pausierten Zustand zu terminieren.';
@override
String get shuffleAllSongCount => 'Mische-Alle Titelanzahl';
@override
String get shuffleAllSongCountSubtitle =>
'Die Anzahl der zu ladenden Titel wenn der Mische-Alle Knopf betätigt wird.';
@override
String get viewType => 'Ansichtsart';
@override
String get viewTypeSubtitle => 'Ansichtsart für den Musik-Bildschirm';
@override
String get list => 'Liste';
@override
String get grid => 'Raster';
@override
String get portrait => 'Portrait';
@override
String get landscape => 'Landschaft';
@override
String gridCrossAxisCount(String value) {
return '$value Raster Querachsen-Anzahl';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Menge der zu benutzenden Rasterkacheln wenn $value.';
}
@override
String get showTextOnGridView => 'Text in Rasteransicht anzeigen';
@override
String get showTextOnGridViewSubtitle =>
'Ob oder nicht Text (Titel, Künstler etc.) auf dem Raster des Musikbildschirms angezeigt werden soll.';
@override
String get showCoverAsPlayerBackground =>
'Zeige verschwommene Cover als Player-Hintergrund';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Ob oder nicht verschwommene Cover als Hintergrund im Player-Bildschirm benutzt werden sollen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Verstecke Titel-Künstler falls derselbe wie Album-Künstler';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Ob Titel-Künstler in der Albenansicht angezeigt werden sollen, falls sie sich nicht von den Album-Künstlern unterscheiden.';
@override
String get disableGesture => 'Gesten deaktivieren';
@override
String get disableGestureSubtitle => 'Ob Gesten deaktiviert werden sollen.';
@override
String get showFastScroller => 'Schnellen Scroller anzeigen';
@override
String get theme => 'Thema';
@override
String get system => 'System';
@override
String get light => 'Hell';
@override
String get dark => 'Dunkel';
@override
String get tabs => 'Tabs';
@override
String get cancelSleepTimer => 'Schlaf-Timer abbrechen?';
@override
String get yesButtonLabel => 'JA';
@override
String get noButtonLabel => 'NEIN';
@override
String get setSleepTimer => 'Schlaf-Timer einstellen';
@override
String get minutes => 'Minuten';
@override
String get invalidNumber => 'Ungültige Zahl';
@override
String get sleepTimerTooltip => 'Schlaf-Timer';
@override
String get addToPlaylistTooltip => 'Zur Wiedergabeliste hinzufügen';
@override
String get addToPlaylistTitle => 'Zur Wiedergabeliste hinzufügen';
@override
String get removeFromPlaylistTooltip => 'Aus Wiedergabeliste entfernen';
@override
String get removeFromPlaylistTitle => 'Aus Wiedergabeliste entfernen';
@override
String get newPlaylist => 'Neue Wiedergabeliste';
@override
String get createButtonLabel => 'ERSTELLEN';
@override
String get playlistCreated => 'Wiedergabeliste erstellt.';
@override
String get noAlbum => 'Kein Album';
@override
String get noItem => 'Kein Element';
@override
String get noArtist => 'Kein Künstler';
@override
String get unknownArtist => 'Unbekannter Künstler';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'HERUNTERGELADEN';
@override
String get transcode => 'TRANSKODIERUNG';
@override
String get direct => 'DIREKT';
@override
String get statusError => 'STATUS FEHLER';
@override
String get queue => 'Warteschlange';
@override
String get addToQueue => 'Zur Warteschlange hinzufügen';
@override
String get playNext => 'Als Nächstes wiedergeben';
@override
String get replaceQueue => 'Warteschlange austauschen';
@override
String get instantMix => 'Sofort Mix';
@override
String get goToAlbum => 'Gehe zu Album';
@override
String get removeFavourite => 'Favorit entfernen';
@override
String get addFavourite => 'Favorit hinzufügen';
@override
String get addedToQueue => 'Zur Warteschlange hinzugefügt.';
@override
String get insertedIntoQueue => 'Zur Warteschlange hinzufügen.';
@override
String get queueReplaced => 'Warteschlange ausgetauscht.';
@override
String get removedFromPlaylist => 'Aus der Wiedergabeliste entfernt.';
@override
String get startingInstantMix => 'Starte Sofort-Mix.';
@override
String get anErrorHasOccured => 'Ein Fehler ist aufgetreten.';
@override
String responseError(String error, int statusCode) {
return '$error Status Code $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Status Code $statusCode. Dies bedeutet vermutlich, dass du den falschen Benutzernamen oder Passwort benutzt hast oder dass dein Client nicht länger authentifiziert ist.';
}
@override
String get removeFromMix => 'Aus Mix entfernen';
@override
String get addToMix => 'Zu Mix hinzufügen';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Elemente erneut heruntergeladen',
one: '$count Element erneut heruntergeladen',
zero: 'Keine erneuten Downloads notwendig.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Pufferdauer';
@override
String get bufferDurationSubtitle =>
'Wie viel gepuffert werden soll, in Sekunden. Neustart erforderlich.';
@override
String get language => 'Sprache';
@override
String get confirm => 'Bestätigen';
@override
String get showUncensoredLogMessage =>
'Dieses Protokoll enthält deine Anmeldedaten. Anzeigen?';
@override
String get resetTabs => 'Tabs zurücksetzen';
@override
String get noMusicLibrariesTitle => 'Keine Musik-Bibliotheken';
@override
String get noMusicLibrariesBody =>
'Finamp konnte keine Musikbibliotheken finden. Bitte stelle sicher, dass dein Jellyfin-Server mindestens eine Bibliothek mit dem Medientyp \"Musik\" enthält.';
@override
String get refresh => 'AKTUALISIEREN';
@override
String get swipeInsertQueueNext => 'Gewischtes Lied als Nächstes abspielen';
@override
String get swipeInsertQueueNextSubtitle =>
'Aktivieren, um das in der Liste nach links/rechts gewischte Lied als Nächstes abzuspielen, statt es am Ende der Warteschlange einzufügen.';
@override
String get redesignBeta => 'Teste die Beta';
@override
String get playbackOrderShuffledTooltip => 'Mischen. Zum Umschalten tippen.';
@override
String get playbackOrderLinearTooltip =>
'Abspielen in Reihenfolge. Zum umschalten tippen.';
@override
String get loopModeAllTooltip => 'Wiederhole alle. Zum umschalten tippen.';
@override
String get loopModeOneTooltip => 'Wiederhole einen. Zum umschalten tippen.';
@override
String get loopModeNoneTooltip => 'Wiederholt nicht. Zum umschalten tippen.';
@override
String get skipToPrevious => 'Springe zum vorherigen Lied';
@override
String get skipToNext => 'Springe zum nächsten Lied';
@override
String get togglePlayback => 'Wiedergabe umschalten';
@override
String playArtist(String artist) {
return 'Spiele alle Alben von $artist';
}
@override
String shuffleArtist(String artist) {
return 'Spiele alle Alben von $artist in zufälliger Reihenfolge';
}
@override
String downloadArtist(String artist) {
return 'Lade alle Alben von $artist herunter';
}
@override
String get deleteFromDevice => 'Vom Gerät Löschen';
@override
String get download => 'Herunterladen';
@override
String get sync => 'Mit Server synchronisieren';
@override
String get about => 'Über Finamp';
}
+740
View File
@@ -0,0 +1,740 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Modern Greek (`el`).
class AppLocalizationsEl extends AppLocalizations {
AppLocalizationsEl([String locale = 'el']) : super(locale);
@override
String startupError(String error) {
return 'Ωχ, κάτι δεν πήγε καλά κατά την έναρξη της εφαρμογής. Ο αριθμός σφάλματος είναι:$error\nΔημιούργησε ένα issue στο\ngithub.com/UnicornsOnLSD/finamp μαζί με ένα στιγμιότυπο οθόνης από αυτήν την σελίδα. Εάν το πρόβλημα παραμένει μπορείς να διαγράψεις τα δεδομένα της εφαρμογής με σκοπό την επαναφορά της.';
}
@override
String get serverUrl => 'Διεύθυνση διακομιστή';
@override
String get internalExternalIpExplanation =>
'Αν θέλεις να έχεις πρόσβαση στον jellyfin διακομιστή σου εξ-αποστασεως, πρέπει να χρησιμοποιήσεις την εξωτερική Διεύθυνση IP.\n\nΑν ο διακομιστής βρίσκεται σε πύλη HTTP(80/443), δεν είναι απαραίτητος ο ορισμός πύλης. Αυτό είναι πιθανόν εφόσον ο διακομιστής σου βρίσκεται πίσω από reverse proxy.';
@override
String get emptyServerUrl =>
'Η διεύθυνση διακομιστή δεν μπορεί να είναι κενή';
@override
String get urlStartWithHttps =>
'Η διεύθυνση πρέπει να ξεκινά με http:// ή https://';
@override
String get urlTrailingSlash =>
'Η διεύθυνση δεν πρέπει να περιέχει ακολουθούμενη κάθετο';
@override
String get username => 'Όνομα χρήστη';
@override
String get password => 'Συνθηματικό χρήστη';
@override
String get logs => 'Αρχείο καταγραφών';
@override
String get next => 'Επόμενο';
@override
String get selectMusicLibraries => 'Επέλεξε τις βιβλιοθήκες μουσικής σου';
@override
String get couldNotFindLibraries => 'Δεν βρέθηκαν συλλογές.';
@override
String get unknownName => 'Άγνωστη όνομα';
@override
String get songs => 'Τραγούδια';
@override
String get albums => 'Άλμπουμ';
@override
String get artists => 'Καλλιτέχνες';
@override
String get genres => 'Είδη';
@override
String get playlists => 'Λίστες αναπαραγωγής';
@override
String get startMix => 'Έναρξη μίξης';
@override
String get startMixNoSongsArtist =>
'Κράτησε πατημένο έναν καλλιτέχνη, προκειμένου να προστεθεί ή να αφαιρεθεί από τον κατασκευαστή μίξεων, προ-εκκινήσεως μίξης';
@override
String get startMixNoSongsAlbum =>
'Κράτησε πατημένο ένα άλμπουμ, προκειμένου να προστεθεί ή να αφαιρεθεί από τον κατασκευαστή μίξεων, προ-εκκινήσεως μίξης';
@override
String get music => 'Μουσική';
@override
String get clear => 'Εκκαθάριση';
@override
String get favourites => 'Αγαπημένα';
@override
String get shuffleAll => 'Τυχαία αναπαραγωγή';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Λήψεις';
@override
String get settings => 'Ρυθμίσεις';
@override
String get offlineMode => 'Λειτουργία εκτός σύνδεσης';
@override
String get sortOrder => 'Σειρά ταξινόμησης';
@override
String get sortBy => 'Ταξινόμηση κατά';
@override
String get album => 'Άλμπουμ';
@override
String get albumArtist => 'Καλλιτέχνης άλμπουμ';
@override
String get artist => 'Καλλιτέχνης';
@override
String get budget => 'Προϋπολογισμός';
@override
String get communityRating => 'Βαθμολογία κοινότητας';
@override
String get criticRating => 'Βαθμολογία κριτών';
@override
String get dateAdded => 'Ημερομηνία προσθήκης';
@override
String get datePlayed => 'Ημερομηνία αναπαραγωγής';
@override
String get playCount => 'Πλήθος αναπαραγωγών';
@override
String get premiereDate => 'Ημερομηνία πρεμιέρας';
@override
String get productionYear => 'Χρονολογία παραγωγής';
@override
String get name => 'Όνομα';
@override
String get random => 'Τυχαίο';
@override
String get revenue => 'Έσοδα';
@override
String get runtime => 'Διάρκεια';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Λήψη ελλείποντων εικόνων';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'ελήφθησαν $count ελλειπής εικόνες',
one: 'ελήφθησαν $count ελλειπής εικόνες',
zero: 'δεν βρέθηκαν ελλειπείς εικόνες',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Σφάλμα στην λήψη';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count λήψεις',
one: '$count λήψη',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count αντικείμενα',
one: '$count αντικείμενο',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count εικόνες',
one: '$count εικόνα',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count ολοκληρώθηκαν';
}
@override
String dlFailed(int count) {
return '$count απέτυχαν';
}
@override
String dlEnqueued(int count) {
return '$count στην σειρά';
}
@override
String dlRunning(int count) {
return '$count τρέχοντα';
}
@override
String get downloadErrorsTitle => 'Σφάλματα λήψης';
@override
String get noErrors => 'Κανένα σφάλμα!';
@override
String get errorScreenError =>
'Προέκυψε σφάλμα κατά την λήψη λίστας σφαλμάτων! Σε αυτό το σημείο, καλό είναι να δημιουργήσεις issue στο GitHub και να διαγράψεις τα δεδομένα της εφαρμογής';
@override
String get failedToGetSongFromDownloadId =>
'Απέτυχε η λήψη τραγουδιού από το download ID';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Σφάλμα';
@override
String discNumber(int number) {
return 'Δίσκος $number';
}
@override
String get playButtonLabel => 'Αναπαραγωγή';
@override
String get shuffleButtonLabel => 'Τυχαία αναπαραγωγή';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count τίτλοι',
one: '$count τίτλος',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Τροποποίηση λίστας αναπαραγωγής';
@override
String get editPlaylistNameTitle => 'Τροποποίηση ονόματος λίστας';
@override
String get required => 'Απαραίτητο';
@override
String get updateButtonLabel => 'Ανανέωση';
@override
String get playlistNameUpdated => 'Ανανεώθηκε το όνομα λίστας αναπαραγωγής.';
@override
String get favourite => 'Αγαπημένο';
@override
String get downloadsDeleted => 'Διαγράφτηκαν οι λήψεις.';
@override
String get addDownloads => 'Προσθήκη λήψεων';
@override
String get location => 'Τοποθεσία';
@override
String get downloadsAdded => 'Προστέθηκαν λήψεις.';
@override
String get addButtonLabel => 'Προσθήκη';
@override
String get shareLogs => 'Μοιραστείτε τις καταγραφές';
@override
String get logsCopied => 'Αντιγράφηκαν οι καταγραφές.';
@override
String get message => 'Μύνημα';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Αδειοδοτηθηκε με την Άδεια Δημόσιας Χρήσης της Mozilla Public License2.0. Ο κώδικας πηγής διαθέσιμος στο:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Μετακωδικοποίηση';
@override
String get downloadLocations => 'Τοποθεσίες λήψεων';
@override
String get audioService => 'Audio Service';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Διάταξη καί εμφάνιση';
@override
String get notAvailableInOfflineMode =>
'Μη διαθέσιμο σε λειτουργία εκτός σύνδεσης';
@override
String get logOut => 'Έξοδος';
@override
String get downloadedSongsWillNotBeDeleted =>
'Κατεβασμένα τραγούδια δεν θα διαγραφούν';
@override
String get areYouSure => 'Είσαι σίγουρος?';
@override
String get jellyfinUsesAACForTranscoding =>
'Το Jellyfin χρησιμοποιεί AAC για την μετακωδικοποίηση';
@override
String get enableTranscoding => 'Ενεργοποίηση μετακωδικοποίησης';
@override
String get enableTranscodingSubtitle =>
'μετακωδικοποιει την ροή μουσικής από την πλευρά του διακομιστή.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'Ο ψηλότερος bitrate προσφέρει υψηλότερης ποιότητας ήχο σε βάρος εύρους ζώνης.';
@override
String get customLocation => 'Εξατομικευμένη τοποθεσία';
@override
String get appDirectory => 'Κατάλογος εφαρμογής';
@override
String get addDownloadLocation => 'Προσθήκη τοποθεσίας λήψεως';
@override
String get selectDirectory => 'Επέλεξε κατάλογο';
@override
String get unknownError => 'Άγνωστο σφάλμα';
@override
String get pathReturnSlashErrorMessage =>
'Μονοπάτια που επιστρέφουν \"/\" δεν μπορούν να χρησιμοποιηθούν';
@override
String get directoryMustBeEmpty => 'Ο κατάλογος πρέπει να είναι άδειος';
@override
String get customLocationsBuggy =>
'Οι εξατομικευμένες τοποθεσίες έχουν αρκετά bugs λόγω θεμάτων αδειών.\nΣκέφτομαι τρόπους να φτιάξω τα προβλήμματα, όμως για τώρα δεν προτείνω την χρήση τους.';
@override
String get enterLowPriorityStateOnPause =>
'Ενεργοποίηση χαμηλής-προτεραιοτητας κατάσταση κατά την παύση';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Επιτρέπει την απόσβεση της ειδοποίησης κατά την παύση. Επίσης επιτρέπει στο σύστημα να \"σκοτώνει\" την υπηρεσία κατά την παύση.';
@override
String get shuffleAllSongCount =>
'Τυχαία αναπαραγωγή όλων των Πλήθων τραγουδιών';
@override
String get shuffleAllSongCountSubtitle =>
'Πλήθος τραγουδιών να φορτώσουν όταν χρησιμοποιείται το κουμπί τυχαίας αναπαραγωγής όλων.';
@override
String get viewType => 'Τύπος προβολής';
@override
String get viewTypeSubtitle => 'Τρόπος προβολής για την οθόνη μουσικής';
@override
String get list => 'Λίστα';
@override
String get grid => 'Πλέγμα';
@override
String get portrait => 'Κάθετο';
@override
String get landscape => 'Οριζόντιο';
@override
String gridCrossAxisCount(String value) {
return '$value πλήθος τεμνοντων αξόνων πλέγματος';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Πλήθος τετραγώνων πλέγματος ανά Πλειάδες$value.';
}
@override
String get showTextOnGridView => 'Εμφάνιση αναγραφων στην προβολή πλέγματος';
@override
String get showTextOnGridViewSubtitle =>
'Whether or not to show the text (title, artist etc) on the grid music screen.';
@override
String get showCoverAsPlayerBackground =>
'Show blurred cover as player background';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Whether or not to use blurred cover art as background on player screen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Hide song artists if same as album artists';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Whether to show song artists on the album screen if not differing from album artists.';
@override
String get disableGesture => 'Disable gestures';
@override
String get disableGestureSubtitle => 'Whether to disables gestures.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Θέμα';
@override
String get system => 'Σύστημα';
@override
String get light => 'Φωτεινό';
@override
String get dark => 'Σκοτεινό';
@override
String get tabs => 'Καρτέλες';
@override
String get cancelSleepTimer => 'Ακύρωση χρονοδιακόπτη ύπνου;';
@override
String get yesButtonLabel => 'ΝΑΙ';
@override
String get noButtonLabel => 'ΟΧΙ';
@override
String get setSleepTimer => 'Ρύθμιση Χρονοδιακόπτη Ύπνου';
@override
String get minutes => 'Λεπτά';
@override
String get invalidNumber => 'Μη Έγκυρος Αριθμός';
@override
String get sleepTimerTooltip => 'Χρονοδιακόπτης Ύπνου';
@override
String get addToPlaylistTooltip => 'Προσθήκη στην λίστα αναπαραγωγής';
@override
String get addToPlaylistTitle => 'Προσθήκη στην Λίστα Αναπαραγωγής';
@override
String get removeFromPlaylistTooltip => 'Αφαίρεση από την λίστα αναπαραγωγής';
@override
String get removeFromPlaylistTitle => 'Αφαίρεση από την Λίστα Αναπαραγωγής';
@override
String get newPlaylist => 'Νέα Λίστα Αναπαραγωγής';
@override
String get createButtonLabel => 'ΔΗΜΙΟΥΡΓΙΑ';
@override
String get playlistCreated => 'Η Λίστα Αναπαραγωγής δημιουργήθηκε.';
@override
String get noAlbum => 'No Album';
@override
String get noItem => 'No Item';
@override
String get noArtist => 'No Artist';
@override
String get unknownArtist => 'Unknown Artist';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'DOWNLOADED';
@override
String get transcode => 'TRANSCODE';
@override
String get direct => 'DIRECT';
@override
String get statusError => 'STATUS ERROR';
@override
String get queue => 'Queue';
@override
String get addToQueue => 'Add to Queue';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Replace Queue';
@override
String get instantMix => 'Instant Mix';
@override
String get goToAlbum => 'Go to Album';
@override
String get removeFavourite => 'Remove Favourite';
@override
String get addFavourite => 'Add Favourite';
@override
String get addedToQueue => 'Added to queue.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Queue replaced.';
@override
String get removedFromPlaylist => 'Removed from playlist.';
@override
String get startingInstantMix => 'Starting instant mix.';
@override
String get anErrorHasOccured => 'An error has occured.';
@override
String responseError(String error, int statusCode) {
return '$error Status code $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Status code $statusCode. This probably means you used the wrong username/password, or your client is no longer logged in.';
}
@override
String get removeFromMix => 'Remove From Mix';
@override
String get addToMix => 'Add To Mix';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redownloaded $count items',
one: 'Redownloaded $count item',
zero: 'No redownloads needed.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer Duration';
@override
String get bufferDurationSubtitle =>
'How much the player should buffer, in seconds. Requires a restart.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+735
View File
@@ -0,0 +1,735 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String startupError(String error) {
return 'Something went wrong during app startup. The error was: $error\n\nPlease create an issue on github.com/UnicornsOnLSD/finamp with a screenshot of this page. If this problem persists you can clear your app data to reset the app.';
}
@override
String get serverUrl => 'Server URL';
@override
String get internalExternalIpExplanation =>
'If you want to be able to access your Jellyfin server remotely, you need to use your external IP.\n\nIf your server is on a HTTP port (80/443), you don\'t have to specify a port. This will likely be the case if your server is behind a reverse proxy.';
@override
String get emptyServerUrl => 'Server URL cannot be empty';
@override
String get urlStartWithHttps => 'URL must start with http:// or https://';
@override
String get urlTrailingSlash => 'URL must not include a trailing slash';
@override
String get username => 'Username';
@override
String get password => 'Password';
@override
String get logs => 'Logs';
@override
String get next => 'Next';
@override
String get selectMusicLibraries => 'Select Music Libraries';
@override
String get couldNotFindLibraries => 'Could not find any libraries.';
@override
String get unknownName => 'Unknown Name';
@override
String get songs => 'Songs';
@override
String get albums => 'Albums';
@override
String get artists => 'Artists';
@override
String get genres => 'Genres';
@override
String get playlists => 'Playlists';
@override
String get startMix => 'Start Mix';
@override
String get startMixNoSongsArtist =>
'Long-press an artist to add or remove it from the mix builder before starting a mix';
@override
String get startMixNoSongsAlbum =>
'Long-press an album to add or remove it from the mix builder before starting a mix';
@override
String get music => 'Music';
@override
String get clear => 'Clear';
@override
String get favourites => 'Favourites';
@override
String get shuffleAll => 'Shuffle all';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Downloads';
@override
String get settings => 'Settings';
@override
String get offlineMode => 'Offline Mode';
@override
String get sortOrder => 'Sort order';
@override
String get sortBy => 'Sort by';
@override
String get album => 'Album';
@override
String get albumArtist => 'Album Artist';
@override
String get artist => 'Artist';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Community Rating';
@override
String get criticRating => 'Critic Rating';
@override
String get dateAdded => 'Date Added';
@override
String get datePlayed => 'Date Played';
@override
String get playCount => 'Play Count';
@override
String get premiereDate => 'Premiere Date';
@override
String get productionYear => 'Production Year';
@override
String get name => 'Name';
@override
String get random => 'Random';
@override
String get revenue => 'Revenue';
@override
String get runtime => 'Runtime';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Download missing images';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Downloaded $count missing images',
one: 'Downloaded $count missing image',
zero: 'No missing images found',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Download errors';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count downloads',
one: '$count download',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count items',
one: '$count item',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count images',
one: '$count image',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count complete';
}
@override
String dlFailed(int count) {
return '$count failed';
}
@override
String dlEnqueued(int count) {
return '$count enqueued';
}
@override
String dlRunning(int count) {
return '$count running';
}
@override
String get downloadErrorsTitle => 'Download Errors';
@override
String get noErrors => 'No errors!';
@override
String get errorScreenError =>
'An error occurred while getting the list of errors! At this point, you should probably just create an issue on GitHub and delete app data';
@override
String get failedToGetSongFromDownloadId =>
'Failed to get song from download ID';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Error';
@override
String discNumber(int number) {
return 'Disc $number';
}
@override
String get playButtonLabel => 'PLAY';
@override
String get shuffleButtonLabel => 'SHUFFLE';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Songs',
one: '$count Song',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Edit playlist name';
@override
String get editPlaylistNameTitle => 'Edit Playlist Name';
@override
String get required => 'Required';
@override
String get updateButtonLabel => 'UPDATE';
@override
String get playlistNameUpdated => 'Playlist name updated.';
@override
String get favourite => 'Favourite';
@override
String get downloadsDeleted => 'Downloads deleted.';
@override
String get addDownloads => 'Add Downloads';
@override
String get location => 'Location';
@override
String get downloadsAdded => 'Downloads added.';
@override
String get addButtonLabel => 'ADD';
@override
String get shareLogs => 'Share logs';
@override
String get logsCopied => 'Logs copied.';
@override
String get message => 'Message';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Licensed with the Mozilla Public License 2.0. Source code available at:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transcoding';
@override
String get downloadLocations => 'Download Locations';
@override
String get audioService => 'Audio Service';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Layout & Theme';
@override
String get notAvailableInOfflineMode => 'Not available in offline mode';
@override
String get logOut => 'Log Out';
@override
String get downloadedSongsWillNotBeDeleted =>
'Downloaded songs will not be deleted';
@override
String get areYouSure => 'Are you sure?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin uses AAC for transcoding';
@override
String get enableTranscoding => 'Enable Transcoding';
@override
String get enableTranscodingSubtitle =>
'Transcodes music streams on the server side.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'A higher bitrate gives higher quality audio at the cost of higher bandwidth.';
@override
String get customLocation => 'Custom Location';
@override
String get appDirectory => 'App Directory';
@override
String get addDownloadLocation => 'Add Download Location';
@override
String get selectDirectory => 'Select Directory';
@override
String get unknownError => 'Unknown Error';
@override
String get pathReturnSlashErrorMessage =>
'Paths that return \"/\" can\'t be used';
@override
String get directoryMustBeEmpty => 'Directory must be empty';
@override
String get customLocationsBuggy =>
'Custom locations are extremely buggy due to issues with permissions. I\'m thinking of ways to fix this, but for now I wouldn\'t recommend using them.';
@override
String get enterLowPriorityStateOnPause =>
'Enter Low-Priority State on Pause';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Lets the notification be swiped away when paused. Also allows Android to kill the service when paused.';
@override
String get shuffleAllSongCount => 'Shuffle All Song Count';
@override
String get shuffleAllSongCountSubtitle =>
'Amount of songs to load when using the shuffle all songs button.';
@override
String get viewType => 'View Type';
@override
String get viewTypeSubtitle => 'View type for the music screen';
@override
String get list => 'List';
@override
String get grid => 'Grid';
@override
String get portrait => 'Portrait';
@override
String get landscape => 'Landscape';
@override
String gridCrossAxisCount(String value) {
return '$value Grid Cross-Axis Count';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Amount of grid tiles to use per-row when $value.';
}
@override
String get showTextOnGridView => 'Show text in grid view';
@override
String get showTextOnGridViewSubtitle =>
'Whether or not to show the text (title, artist etc) on the grid music screen.';
@override
String get showCoverAsPlayerBackground =>
'Show blurred cover as player background';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Whether or not to use blurred cover art as background on player screen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Hide song artists if same as album artists';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Whether to show song artists on the album screen if not differing from album artists.';
@override
String get disableGesture => 'Disable gestures';
@override
String get disableGestureSubtitle => 'Whether to disables gestures.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Theme';
@override
String get system => 'System';
@override
String get light => 'Light';
@override
String get dark => 'Dark';
@override
String get tabs => 'Tabs';
@override
String get cancelSleepTimer => 'Cancel Sleep Timer?';
@override
String get yesButtonLabel => 'YES';
@override
String get noButtonLabel => 'NO';
@override
String get setSleepTimer => 'Set Sleep Timer';
@override
String get minutes => 'Minutes';
@override
String get invalidNumber => 'Invalid Number';
@override
String get sleepTimerTooltip => 'Sleep timer';
@override
String get addToPlaylistTooltip => 'Add to playlist';
@override
String get addToPlaylistTitle => 'Add to Playlist';
@override
String get removeFromPlaylistTooltip => 'Remove from playlist';
@override
String get removeFromPlaylistTitle => 'Remove from Playlist';
@override
String get newPlaylist => 'New Playlist';
@override
String get createButtonLabel => 'CREATE';
@override
String get playlistCreated => 'Playlist created.';
@override
String get noAlbum => 'No Album';
@override
String get noItem => 'No Item';
@override
String get noArtist => 'No Artist';
@override
String get unknownArtist => 'Unknown Artist';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'DOWNLOADED';
@override
String get transcode => 'TRANSCODE';
@override
String get direct => 'DIRECT';
@override
String get statusError => 'STATUS ERROR';
@override
String get queue => 'Queue';
@override
String get addToQueue => 'Add to Queue';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Replace Queue';
@override
String get instantMix => 'Instant Mix';
@override
String get goToAlbum => 'Go to Album';
@override
String get removeFavourite => 'Remove Favourite';
@override
String get addFavourite => 'Add Favourite';
@override
String get addedToQueue => 'Added to queue.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Queue replaced.';
@override
String get removedFromPlaylist => 'Removed from playlist.';
@override
String get startingInstantMix => 'Starting instant mix.';
@override
String get anErrorHasOccured => 'An error has occured.';
@override
String responseError(String error, int statusCode) {
return '$error Status code $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Status code $statusCode. This probably means you used the wrong username/password, or your client is no longer logged in.';
}
@override
String get removeFromMix => 'Remove From Mix';
@override
String get addToMix => 'Add To Mix';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redownloaded $count items',
one: 'Redownloaded $count item',
zero: 'No redownloads needed.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Buffer Duration';
@override
String get bufferDurationSubtitle =>
'How much the player should buffer, in seconds. Requires a restart.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+745
View File
@@ -0,0 +1,745 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Spanish Castilian (`es`).
class AppLocalizationsEs extends AppLocalizations {
AppLocalizationsEs([String locale = 'es']) : super(locale);
@override
String startupError(String error) {
return '¡Algo ha salido mal en el arranque de la aplicación! El error es: $error\n\nPor favor crea una incidencia en github.com/UnicornsOnLSD/finamp con una captura de pantalla de esta página. Si el problema persiste, borra los datos de la aplicación para resetearla.';
}
@override
String get serverUrl => 'URL del servidor';
@override
String get internalExternalIpExplanation =>
'Si quieres acceder a tu servidor Jellyfin remotamente, tendrás que usar tu dirección IP externa.\n\nSi tu servidor está en un puerto HTTP (80/443), no tendrás que especificar el puerto. Este probablemente sea tu caso si tu servidor está detrás de un proxy inverso.';
@override
String get emptyServerUrl => 'La URL del servidor no puede estar vacia';
@override
String get urlStartWithHttps => 'La URL debe empezar por http:// o https://';
@override
String get urlTrailingSlash => 'La URL no debe incluir una barra al final';
@override
String get username => 'Nombre de usuario';
@override
String get password => 'Contraseña';
@override
String get logs => 'Registros';
@override
String get next => 'Siguiente';
@override
String get selectMusicLibraries => 'Seleccionar las bibliotecas de música';
@override
String get couldNotFindLibraries =>
'No se pudo encontrar ninguna biblioteca.';
@override
String get unknownName => 'Nombre desconocido';
@override
String get songs => 'Canciones';
@override
String get albums => 'Álbumes';
@override
String get artists => 'Artistas';
@override
String get genres => 'Géneros';
@override
String get playlists => 'Listas';
@override
String get startMix => 'Empezar mezcla';
@override
String get startMixNoSongsArtist =>
'Mantén pulsado un artista para añadirlo o eliminarlo del creador de mezclas antes de empezar una mezcla';
@override
String get startMixNoSongsAlbum =>
'Mantén pulsado un álbum para añadirlo o eliminarlo del creador de mezclas antes de empezar una mezcla';
@override
String get music => 'Música';
@override
String get clear => 'Limpiar';
@override
String get favourites => 'Favoritos';
@override
String get shuffleAll => 'Reproducir aleatoriamente todas las canciones';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Descargas';
@override
String get settings => 'Ajustes';
@override
String get offlineMode => 'Modo sin conexión';
@override
String get sortOrder => 'Ordenar';
@override
String get sortBy => 'Ordenar por';
@override
String get album => 'Álbum';
@override
String get albumArtist => 'Artista del álbum';
@override
String get artist => 'Artista';
@override
String get budget => 'Presupuesto';
@override
String get communityRating => 'Valoración de la comunidad';
@override
String get criticRating => 'Valoración de los críticos';
@override
String get dateAdded => 'Fecha de añadido';
@override
String get datePlayed => 'Fecha de reproducción';
@override
String get playCount => 'Reproducciones';
@override
String get premiereDate => 'Fecha de lanzamiento';
@override
String get productionYear => 'Año de producción';
@override
String get name => 'Nombre';
@override
String get random => 'Aleatorio';
@override
String get revenue => 'Ingresos';
@override
String get runtime => 'Duración';
@override
String get syncDownloadedPlaylists =>
'Sincroniza las listas de reproducción descargadas';
@override
String get downloadMissingImages => 'Descargar las imágenes que faltan';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Descargadas $count que faltaban',
one: 'Descargada $count imagen que faltaba',
zero: 'No se han encontrado imágenes que faltan',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Errores en la descarga';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count descargas',
one: '$count descarga',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count elementos',
one: '$count elemento',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count imágenes',
one: '$count imagen',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count completadas';
}
@override
String dlFailed(int count) {
return '$count han fallado';
}
@override
String dlEnqueued(int count) {
return '$count en cola';
}
@override
String dlRunning(int count) {
return '$count en progreso';
}
@override
String get downloadErrorsTitle => 'Error al descargar';
@override
String get noErrors => '¡Sin errores!';
@override
String get errorScreenError =>
'¡Se ha producido un error al obtener la lista de errores! Llegados a este punto, probablemente deberías crear una incidencia en GitHub y eliminar los datos de la aplicación';
@override
String get failedToGetSongFromDownloadId =>
'No se ha podido obtener la canción desde el identificador de descarga';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'género',
'track': 'song',
'other': '',
},
);
return '¿Estás seguro de que quieres eliminar la $_temp0 \'$itemName\' de este dispositivo?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Borrar';
@override
String get deleteDownloadsAbortButtonText => 'Cancelar';
@override
String get error => 'Error';
@override
String discNumber(int number) {
return 'Disco $number';
}
@override
String get playButtonLabel => 'REPRODUCIR';
@override
String get shuffleButtonLabel => 'ALEATORIO';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Canciones',
one: '$count Canción',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip =>
'Editar el nombre de la lista de reproducción';
@override
String get editPlaylistNameTitle =>
'Modificar el nombre de la lista de reproducción';
@override
String get required => 'Requerido';
@override
String get updateButtonLabel => 'ACTUALIZAR';
@override
String get playlistNameUpdated => 'Se actualizó el nombre de la lista.';
@override
String get favourite => 'Favorito';
@override
String get downloadsDeleted => 'Se borraron las descargas.';
@override
String get addDownloads => 'Añadir descargas';
@override
String get location => 'Ubicación';
@override
String get downloadsAdded => 'Se añadieron las descargas.';
@override
String get addButtonLabel => 'AÑADIR';
@override
String get shareLogs => 'Compartir registros';
@override
String get logsCopied => 'Se copiaron los registros.';
@override
String get message => 'Mensaje';
@override
String get stackTrace => 'Trazado de pila';
@override
String get applicationLegalese =>
'Licenciado con la Mozilla Public License 2.0. El código fuente disponible en:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transcodificar';
@override
String get downloadLocations => 'Ubicaciones de descarga';
@override
String get audioService => 'Servicio de audio';
@override
String get interactions => 'Interacciones';
@override
String get layoutAndTheme => 'Diseño y tema';
@override
String get notAvailableInOfflineMode =>
'No está disponible en el modo sin conexión';
@override
String get logOut => 'Cerrar sesión';
@override
String get downloadedSongsWillNotBeDeleted =>
'Las canciones descargadas no serán eliminadas';
@override
String get areYouSure => '¿Estás seguro?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin usa AAC para transcodificar';
@override
String get enableTranscoding => 'Habilitar transcodificación';
@override
String get enableTranscodingSubtitle =>
'Transcodifica los streams de música en el servidor.';
@override
String get bitrate => 'Tasa de bits';
@override
String get bitrateSubtitle =>
'Una tasa de bits más alta da una mayor calidad de audio a costa de un mayor ancho de banda.';
@override
String get customLocation => 'Ubicación personalizada';
@override
String get appDirectory => 'Directorio de la aplicación';
@override
String get addDownloadLocation => 'Añadir ubicación de descarga';
@override
String get selectDirectory => 'Seleccionar directorio';
@override
String get unknownError => 'Error desconocido';
@override
String get pathReturnSlashErrorMessage =>
'No se pueden utilizar ubicaciones que contengan \"/\"';
@override
String get directoryMustBeEmpty => 'El directorio debe estar vacío';
@override
String get customLocationsBuggy =>
'Las ubicaciones personalizadas son extremadamente problemáticas por problemas con los permisos. Estoy pensando en maneras de arreglarlo, pero por ahora no recomiendo usarlas.';
@override
String get enterLowPriorityStateOnPause =>
'Entrar en estado de baja prioridad al pausar';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Permite que la notificación se pueda deslizar cuando la música esté pausada. También permite a Android matar el servicio cuando la música esté pausada.';
@override
String get shuffleAllSongCount =>
'Cantidad de canciones al reproducir aleatoriamente';
@override
String get shuffleAllSongCountSubtitle =>
'Cantidad de canciones a cargar cuando se use el botón de reproducir todo aleatoriamente.';
@override
String get viewType => 'Tipo de vista';
@override
String get viewTypeSubtitle => 'Tipo de vista para la pantalla de música';
@override
String get list => 'Lista';
@override
String get grid => 'Cuadrícula';
@override
String get portrait => 'Vertical';
@override
String get landscape => 'Horizontal';
@override
String gridCrossAxisCount(String value) {
return 'Columnas en vista de cuadrícula en $value';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Cantidad de columnas al usar por fila al estar el dispositivo en $value.';
}
@override
String get showTextOnGridView => 'Mostrar texto en vista de cuadrícula';
@override
String get showTextOnGridViewSubtitle =>
'Muestra el texto (título, artista, etc) en la pantalla de música al usar la vista de cuadrícula.';
@override
String get showCoverAsPlayerBackground =>
'Mostrar la carátula con desenfoque como fondo del reproductor';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Usa la carátula del álbum desenfocada como fondo del reproductor.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Ocultar los artistas de canciones si son los mismos que los artistas del álbum';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Oculta a los artistas de las canciones en la pantalla del álbum si no son diferentes de los artistas del álbum.';
@override
String get disableGesture => 'Deshabilitar los gestos';
@override
String get disableGestureSubtitle => 'Si desea desactivar los gestos.';
@override
String get showFastScroller => 'Mostrar desplazamiento rápido';
@override
String get theme => 'Tema';
@override
String get system => 'Sistema';
@override
String get light => 'Claro';
@override
String get dark => 'Oscuro';
@override
String get tabs => 'Pestañas';
@override
String get cancelSleepTimer => '¿Cancelar el temporizador de sueño?';
@override
String get yesButtonLabel => '';
@override
String get noButtonLabel => 'NO';
@override
String get setSleepTimer => 'Ajustar temporizador de sueño';
@override
String get minutes => 'Minutos';
@override
String get invalidNumber => 'Número inválido';
@override
String get sleepTimerTooltip => 'Temporizador de sueño';
@override
String get addToPlaylistTooltip => 'Añadir a lista de reproducción';
@override
String get addToPlaylistTitle => 'Agregar a lista de reproducción';
@override
String get removeFromPlaylistTooltip =>
'Eliminar de la lista de reproducción';
@override
String get removeFromPlaylistTitle => 'Borrar de la lista de reproducción';
@override
String get newPlaylist => 'Nueva lista';
@override
String get createButtonLabel => 'CREAR';
@override
String get playlistCreated => 'Se creó la lista.';
@override
String get noAlbum => 'Sin álbum';
@override
String get noItem => 'Ningún elemento';
@override
String get noArtist => 'Sin artista';
@override
String get unknownArtist => 'Artista desconocido';
@override
String get streaming => 'TRANSMITIENDO';
@override
String get downloaded => 'DESCARGADO';
@override
String get transcode => 'TRANSCODIFICADO';
@override
String get direct => 'DIRECTO';
@override
String get statusError => 'ERROR DE ESTADO';
@override
String get queue => 'Cola';
@override
String get addToQueue => 'Añadir a la cola';
@override
String get playNext => 'Reproducir la siguiente';
@override
String get replaceQueue => 'Reemplazar la cola';
@override
String get instantMix => 'Mezcla instantánea';
@override
String get goToAlbum => 'Ir al álbum';
@override
String get removeFavourite => 'Eliminar favorito';
@override
String get addFavourite => 'Añadir favorito';
@override
String get addedToQueue => 'Añadido a la cola.';
@override
String get insertedIntoQueue => 'Insertado en la cola.';
@override
String get queueReplaced => 'Se reemplazó la cola.';
@override
String get removedFromPlaylist => 'Eliminado de la lista de reproducción.';
@override
String get startingInstantMix => 'Empezando mezcla instantánea.';
@override
String get anErrorHasOccured => 'Ha ocurrido un error.';
@override
String responseError(String error, int statusCode) {
return '$error Código de estado $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Código de estado $statusCode. Esto posiblemente significa que has usado el nombre de usuario o la contraseña incorrecta, o que tu cliente ya no está autenticado.';
}
@override
String get removeFromMix => 'Eliminar de la mezcla';
@override
String get addToMix => 'Añadir a la mezcla';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redescargados $count elementos',
one: 'Redescargado $count elemento',
zero: 'No hace falta volver a descargar nada.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Duración del búfer';
@override
String get bufferDurationSubtitle =>
'Cuánto debe almacenar en el búfer el reproductor, en segundos. Requiere un reinicio.';
@override
String get language => 'Idioma';
@override
String get confirm => 'Confirmar';
@override
String get showUncensoredLogMessage =>
'Este registro contiene tu información de acceso. ¿Mostrar?';
@override
String get resetTabs => 'Restablecer las pestañas';
@override
String get noMusicLibrariesTitle => 'Sin bibliotecas de música';
@override
String get noMusicLibrariesBody =>
'Finamp no ha podido encontrar ninguna biblioteca de música. Asegúrate de que tu servidor Jellyfin contiene al menos una biblioteca con el tipo de \"Música\".';
@override
String get refresh => 'REFRESCAR';
@override
String get swipeInsertQueueNext =>
'Reproducir la siguiente canción al deslizarla';
@override
String get swipeInsertQueueNextSubtitle =>
'Permite insertar una canción como siguiente elemento en la cola cuando se desliza en la lista de reproducción en lugar de añadirla al final.';
@override
String get redesignBeta => 'Prueba la versión Beta';
@override
String get playbackOrderShuffledTooltip => 'Mezclando. Toca para alternar.';
@override
String get playbackOrderLinearTooltip =>
'Reproducción en orden. Toca para alternar.';
@override
String get loopModeAllTooltip => 'Repitiendo todo. Toca para alternar.';
@override
String get loopModeOneTooltip => 'En bucle. Toca para alternar.';
@override
String get loopModeNoneTooltip =>
'No se reproduce en bucle. Toca para alternar.';
@override
String get skipToPrevious => 'Saltar a la canción anterior';
@override
String get skipToNext => 'Saltar a la siguiente canción';
@override
String get togglePlayback => 'Alternar reproducción';
@override
String playArtist(String artist) {
return 'Reproducir todos los álbumes de $artist';
}
@override
String shuffleArtist(String artist) {
return 'Reproducir aleatoriamente todos los álbumes de $artist';
}
@override
String downloadArtist(String artist) {
return 'Descargar todos los álbumes de $artist';
}
@override
String get deleteFromDevice => 'Eliminar del dispositivo';
@override
String get download => 'Descargar';
@override
String get sync => 'Sincronizar con el servidor';
@override
String get about => 'Acerca de Finamp';
}
+736
View File
@@ -0,0 +1,736 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Estonian (`et`).
class AppLocalizationsEt extends AppLocalizations {
AppLocalizationsEt([String locale = 'et']) : super(locale);
@override
String startupError(String error) {
return 'Rakenduse käivitamisel läks midagi valesti. Viga oli: $error\n\nPalun loo probleem github.com/UnicornsOnLSD/finamp koos ekraanipildiga sellest leheküljest. Kui see probleem püsib, võiks rakenduse lähtestamiseks kustutada rakenduse andmed.';
}
@override
String get serverUrl => 'Serveri URL';
@override
String get internalExternalIpExplanation =>
'Kui soovid oma Jellyfini serverile kaugjuurdepääsu saada, pead kasutama oma välist IP-d.\n\nKui server kasutab HTTP-porti (80/443), ei pea porti määrama. See on tõenäoliselt nii, kui server on pöördpuhverserveri taga.';
@override
String get emptyServerUrl => 'Serveri URL ei tohi olla tühi';
@override
String get urlStartWithHttps => 'URL alguses peab olema http:// või https://';
@override
String get urlTrailingSlash => 'URL ei tohi lõppeda kaldkriipsuga';
@override
String get username => 'Kasutajanimi';
@override
String get password => 'Parool';
@override
String get logs => 'Logid';
@override
String get next => 'Järgmine';
@override
String get selectMusicLibraries => 'Vali muusikakogu';
@override
String get couldNotFindLibraries => 'Ühtki muusikakogu ei leitud.';
@override
String get unknownName => 'Tundmatu nimi';
@override
String get songs => 'Lood';
@override
String get albums => 'Albumid';
@override
String get artists => 'Esitajad';
@override
String get genres => 'Žanrid';
@override
String get playlists => 'Esitusloendid';
@override
String get startMix => 'Käivita miks';
@override
String get startMixNoSongsArtist =>
'Vajuta pikalt esitajale, et lisada või eemaldada ta enne miksi koostamise alustamist koostajast';
@override
String get startMixNoSongsAlbum =>
'Vajuta pikalt albumile, et lisada või eemaldada ta enne miksi koostamise alustamist koostajast';
@override
String get music => 'Muusika';
@override
String get clear => 'Puhasta';
@override
String get favourites => 'Lemmikud';
@override
String get shuffleAll => 'Sega kõik';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Allalaadimised';
@override
String get settings => 'Seaded';
@override
String get offlineMode => 'Võrguühenduseta režiim';
@override
String get sortOrder => 'Sortimisjärjestus';
@override
String get sortBy => 'Sordi';
@override
String get album => 'Album';
@override
String get albumArtist => 'Albumi esitaja';
@override
String get artist => 'Esitaja';
@override
String get budget => 'Eelarve';
@override
String get communityRating => 'Kogukonna hinnang';
@override
String get criticRating => 'Kriitikute hinnang';
@override
String get dateAdded => 'Lisamise kuupäev';
@override
String get datePlayed => 'Esituse kuupäev';
@override
String get playCount => 'Esituste arv';
@override
String get premiereDate => 'Avaldamise kuupäev';
@override
String get productionYear => 'Tootmisaasta';
@override
String get name => 'Nimi';
@override
String get random => 'Juhuslik';
@override
String get revenue => 'Tulud';
@override
String get runtime => 'Kestus';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Laadi alla puuduvad pildid';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Allalaetud $count puuduvat pilti',
one: 'Allalaetud $count puuduv pilt',
zero: 'Puuduvaid pilte ei leitud',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Allalaadimisvead';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count allalaadimist',
one: '$count allalaadimine',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count üksust',
one: '$count üksus',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count pilti',
one: '$count pilt',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count tehtud';
}
@override
String dlFailed(int count) {
return '$count nurjus';
}
@override
String dlEnqueued(int count) {
return '$count järjekorras';
}
@override
String dlRunning(int count) {
return '$count käsil';
}
@override
String get downloadErrorsTitle => 'Allalaadimisvead';
@override
String get noErrors => 'Pole vigu!';
@override
String get errorScreenError =>
'Vigade loendi saamisel tekkis viga! Siinkohal peaksid ilmselt lihtsalt looma probleemi GitHubis ja kustutama rakenduse andmed';
@override
String get failedToGetSongFromDownloadId =>
'Allalaadimise ID-st laulu hankimine nurjus';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Viga';
@override
String discNumber(int number) {
return 'Plaat $number';
}
@override
String get playButtonLabel => 'MÄNGI';
@override
String get shuffleButtonLabel => 'SEGA';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count lugu',
one: '$count lugu',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Muuda esitusloendi nime';
@override
String get editPlaylistNameTitle => 'Muuda esitusloendi nime';
@override
String get required => 'Nõutav';
@override
String get updateButtonLabel => 'UUENDA';
@override
String get playlistNameUpdated => 'Esitusloendi nimi uuendatud.';
@override
String get favourite => 'Lemmik';
@override
String get downloadsDeleted => 'Allalaadimised kustutati.';
@override
String get addDownloads => 'Lisa allalaadimised';
@override
String get location => 'Asukoht';
@override
String get downloadsAdded => 'Allalaadimised lisatud.';
@override
String get addButtonLabel => 'LISA';
@override
String get shareLogs => 'Jaga logisid';
@override
String get logsCopied => 'Logid kopeeriti.';
@override
String get message => 'Sõnum';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Litsentsitud Mozilla avaliku litsentsiga 2.0. Lähtekood on saadaval aadressil:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transkoodimine';
@override
String get downloadLocations => 'Allalaadimiste asukohad';
@override
String get audioService => 'Heliteenus';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Paigutus ja teema';
@override
String get notAvailableInOfflineMode =>
'Pole võrguühenduseta režiimis saadaval';
@override
String get logOut => 'Logi välja';
@override
String get downloadedSongsWillNotBeDeleted =>
'Allalaaditud lugusid ei kustutata';
@override
String get areYouSure => 'Kas oled kindel?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin kasutab transkodeerimiseks AAC-d';
@override
String get enableTranscoding => 'Luba transkodeerimine';
@override
String get enableTranscodingSubtitle =>
'Transkodeerib muusikavooge serveri poolel.';
@override
String get bitrate => 'Bitikiirus';
@override
String get bitrateSubtitle =>
'Suurem bitikiirus annab kvaliteetsema heli, kuid see nõuab suuremat ribalaiust.';
@override
String get customLocation => 'Kohandatud asukoht';
@override
String get appDirectory => 'Rakenduse kataloog';
@override
String get addDownloadLocation => 'Lisa allalaadimise asukoht';
@override
String get selectDirectory => 'Vali kataloog';
@override
String get unknownError => 'Tundmatu viga';
@override
String get pathReturnSlashErrorMessage =>
'Radu, mis tagastavad \"/\", ei saa kasutada';
@override
String get directoryMustBeEmpty => 'Kataloog peab olema tühi';
@override
String get customLocationsBuggy =>
'Kohandatud asukohad on äärmiselt vigased, kuna on probleeme õigustega. Ma mõtlen, kuidas seda parandada, kuid praegu ma ei soovitaks neid kasutada.';
@override
String get enterLowPriorityStateOnPause =>
'Kasuta pausil madala prioriteediga olekut';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Laseb pausi ajal märguande ära pühkida. Võimaldab Androidil ka teenuse pausi ajal lõpetada.';
@override
String get shuffleAllSongCount => '\'Sega kõik lood\' arv';
@override
String get shuffleAllSongCountSubtitle =>
'Laaditavate lugude hulk, kui kasutada nuppu \'Sega kõik lood\'.';
@override
String get viewType => 'Vaate tüüp';
@override
String get viewTypeSubtitle => 'Muusikaekraani vaate tüüp';
@override
String get list => 'Loend';
@override
String get grid => 'Ruudustik';
@override
String get portrait => 'Portree';
@override
String get landscape => 'Lai pilt';
@override
String gridCrossAxisCount(String value) {
return '$value Ruudustiku risttelgede arv';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Ruudustiku plaatide arv, mida kasutatakse rea kohta, kui $value.';
}
@override
String get showTextOnGridView => 'Kuva teksti ruudustikuvaates';
@override
String get showTextOnGridViewSubtitle =>
'Kas kuvada teksti (pealkiri, esitaja jne) muusikaekraani ruudustikul või mitte.';
@override
String get showCoverAsPlayerBackground =>
'Kuva hägustatud kaanepilt mängija taustana';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Kas kasutada mängija ekraanil taustaks hägustatud kaanekujundust või mitte.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Peida laulu esitajad, kui need on samad kui albumi esitajad';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Kas näidata lugude esitajaid albumiekraanil, kui need ei erine albumi esitajatest.';
@override
String get disableGesture => 'Keela žestid';
@override
String get disableGestureSubtitle => 'Kas keelata žestid.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Teema';
@override
String get system => 'Süsteem';
@override
String get light => 'Hele';
@override
String get dark => 'Tume';
@override
String get tabs => 'Vahekaardid';
@override
String get cancelSleepTimer => 'Kas tühistada unetaimer?';
@override
String get yesButtonLabel => 'JAH';
@override
String get noButtonLabel => 'EI';
@override
String get setSleepTimer => 'Määra unetaimer';
@override
String get minutes => 'minutit';
@override
String get invalidNumber => 'Sobimatu number';
@override
String get sleepTimerTooltip => 'Unetaimer';
@override
String get addToPlaylistTooltip => 'Lisa esitusloendisse';
@override
String get addToPlaylistTitle => 'Lisa esitusloendisse';
@override
String get removeFromPlaylistTooltip => 'Remove from playlist';
@override
String get removeFromPlaylistTitle => 'Remove from Playlist';
@override
String get newPlaylist => 'Uus esitusloend';
@override
String get createButtonLabel => 'LOO';
@override
String get playlistCreated => 'Esitusloend on loodud.';
@override
String get noAlbum => 'Albumit pole';
@override
String get noItem => 'Üksust pole';
@override
String get noArtist => 'Esitajat pole';
@override
String get unknownArtist => 'Tundmatu esitaja';
@override
String get streaming => 'VOOGESITUS';
@override
String get downloaded => 'ALLALAADITUD';
@override
String get transcode => 'TRANSKOODI';
@override
String get direct => 'OTSE';
@override
String get statusError => 'OLEKUVIGA';
@override
String get queue => 'Järjekord';
@override
String get addToQueue => 'Lisa järjekorda';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Asenda järjekord';
@override
String get instantMix => 'Kiirmiks';
@override
String get goToAlbum => 'Ava album';
@override
String get removeFavourite => 'Eemalda lemmik';
@override
String get addFavourite => 'Lisa lemmik';
@override
String get addedToQueue => 'Lisatud järjekorda.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Järjekord asendatud.';
@override
String get removedFromPlaylist => 'Removed from playlist.';
@override
String get startingInstantMix => 'Kiirmiksi käivitamine.';
@override
String get anErrorHasOccured => 'Ilmnes tõrge.';
@override
String responseError(String error, int statusCode) {
return '$error Olekukood $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Olekukood $statusCode. Tõenäoliselt tähendab see, et kasutasid vale kasutajanime/parooli või klient pole enam autenditud.';
}
@override
String get removeFromMix => 'Eemalda miksist';
@override
String get addToMix => 'Lisa miksi';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Uuesti laeti alla $count üksust',
one: 'Uuesti laeti alla $count üksus',
zero: 'Allalaadimine pole vajalik.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Puhvri kestus';
@override
String get bufferDurationSubtitle =>
'Kui palju mängija peaks puhverdama sekundites. Nõuab taaskäivitamist.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+737
View File
@@ -0,0 +1,737 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Finnish (`fi`).
class AppLocalizationsFi extends AppLocalizations {
AppLocalizationsFi([String locale = 'fi']) : super(locale);
@override
String startupError(String error) {
return 'Jokin meni pieleen sovelluksen käynnistyksen aikana. Virhe oli: $error\n\nOle hyvä ja luo virheilmoitus osoitteessa github.com/UnicornsOnLSD/finamp, jossa on kuvakaappaus tästä sivusta. Jos ongelma jatkuu, voit tyhjentää sovelluksen tiedot nollataksesi sovelluksen.';
}
@override
String get serverUrl => 'Palvelimen URL';
@override
String get internalExternalIpExplanation =>
'Jos haluat käyttää Jellyfin-palvelintasi etänä, sinun on käytettävä ulkoista IP-osoitettasi.\n\nJos palvelimesi käyttää HTTP-porttia (80/443), sinun ei tarvitse määrittää porttia. Näin on todennäköisesti, jos palvelimesi on reverse proxyn takana.';
@override
String get emptyServerUrl => 'Palvelimen URL ei voi olla tyhjä';
@override
String get urlStartWithHttps => 'URL pitää alkaa http:// tai https://';
@override
String get urlTrailingSlash => 'URL ei saa päättyä vinoviivaan';
@override
String get username => 'Käyttäjätunnus';
@override
String get password => 'Salasana';
@override
String get logs => 'Lokit';
@override
String get next => 'Seuraava';
@override
String get selectMusicLibraries => 'Valitse musiikkikirjastot';
@override
String get couldNotFindLibraries => 'Yhtään kirjastoa ei löytynyt.';
@override
String get unknownName => 'Tuntematon Nimi';
@override
String get songs => 'Kappaleet';
@override
String get albums => 'Albumit';
@override
String get artists => 'Artistit';
@override
String get genres => 'Tyylilajit';
@override
String get playlists => 'Soittolistat';
@override
String get startMix => 'Aloita sekoitus';
@override
String get startMixNoSongsArtist =>
'Paina pitkään artistia lisätäksesi tai poistaaksesi sen miksaukseen ennen miksauksen aloittamista';
@override
String get startMixNoSongsAlbum =>
'Paina albumia pitkään lisätäksesi tai poistaaksesi sen miksaukseen ennen miksauksen aloittamista';
@override
String get music => 'Musiikki';
@override
String get clear => 'Tyhjennä';
@override
String get favourites => 'Suosikit';
@override
String get shuffleAll => 'Sekoita kaikki';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Lataukset';
@override
String get settings => 'Asetukset';
@override
String get offlineMode => 'Offline tila';
@override
String get sortOrder => 'Lajittelujärjestys';
@override
String get sortBy => 'Järjestä';
@override
String get album => 'Albumi';
@override
String get albumArtist => 'Albumin artisti';
@override
String get artist => 'Artisti';
@override
String get budget => 'Budjetti';
@override
String get communityRating => 'Yhteisön arvostelu';
@override
String get criticRating => 'Kriitikoiden arvostelu';
@override
String get dateAdded => 'Lisäämisen päivämäärä';
@override
String get datePlayed => 'Toiston päivämäärä';
@override
String get playCount => 'Toistolaskuri';
@override
String get premiereDate => 'Ensiesityspäivä';
@override
String get productionYear => 'Tuotantovuosi';
@override
String get name => 'Nimi';
@override
String get random => 'Satunnainen';
@override
String get revenue => 'Tulot';
@override
String get runtime => 'Kesto';
@override
String get syncDownloadedPlaylists => 'Synkronoi ladatut soittolistat';
@override
String get downloadMissingImages => 'Lataa puuttuvat kuvat';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'ladattu $count puuttuvia kuvia',
one: 'Ladattu $count puuttuvaa kuvaa',
zero: 'Puuttuvia kuvia ei löytynyt',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Latauksen virheet';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count lataukset',
one: '$count lataus',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count kohteet',
one: '$count kohde',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count kuvat',
one: '$count kuva',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count valmistunut';
}
@override
String dlFailed(int count) {
return '$count epäonnistui';
}
@override
String dlEnqueued(int count) {
return '$count Jonossa';
}
@override
String dlRunning(int count) {
return '$count käynnissä';
}
@override
String get downloadErrorsTitle => 'Latauksen virheet';
@override
String get noErrors => 'Ei virheitä!';
@override
String get errorScreenError =>
'Virhe tapahtui virheiden luettelon hakemisessa! Tässä vaiheessa sinun pitäisi luultavasti vain luoda virheilmoitus GitHubiin ja poistaa sovelluksen tiedot';
@override
String get failedToGetSongFromDownloadId =>
'Kappaleen nouto lataus ID:stä epäonnistui';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Oletko varma, että haluat poistaa $_temp0 \'$itemName\' tästä laitteesta?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Poista';
@override
String get deleteDownloadsAbortButtonText => 'Peruuta';
@override
String get error => 'Virhe';
@override
String discNumber(int number) {
return 'Levy $number';
}
@override
String get playButtonLabel => 'TOISTA';
@override
String get shuffleButtonLabel => 'SEKOITA';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Kappaleita',
one: '$count Kappale',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Muokkaa soittolistan nimeä';
@override
String get editPlaylistNameTitle => 'Muokkaa soittolistan nimeä';
@override
String get required => 'Pakollinen';
@override
String get updateButtonLabel => 'PÄIVITÄ';
@override
String get playlistNameUpdated => 'Soittolistan nimi päivitetty.';
@override
String get favourite => 'Suosikki';
@override
String get downloadsDeleted => 'Lataukset poistettu.';
@override
String get addDownloads => 'Lisää lataukset';
@override
String get location => 'Sijainti';
@override
String get downloadsAdded => 'Lataukset lisätty.';
@override
String get addButtonLabel => 'LISÄÄ';
@override
String get shareLogs => 'Jaa lokit';
@override
String get logsCopied => 'Lokit kopioitu.';
@override
String get message => 'Viesti';
@override
String get stackTrace => 'Pinon jäljitys';
@override
String get applicationLegalese =>
'Lisensoitu Mozilla Public License 2.0 -lisenssillä. Lähdekoodi saatavilla osoitteessa:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transkoodaus';
@override
String get downloadLocations => 'Latauksen sijainnit';
@override
String get audioService => 'Äänipalvelu';
@override
String get interactions => 'Vuorovaikutukset';
@override
String get layoutAndTheme => 'Asettelu ja Teema';
@override
String get notAvailableInOfflineMode => 'Ei saatavilla offline tilassa';
@override
String get logOut => 'Kirjaudu ulos';
@override
String get downloadedSongsWillNotBeDeleted =>
'Ladattuja kappaleita ei poisteta';
@override
String get areYouSure => 'Oletko varma?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin käyttää AAC:tä transkoodaukseen';
@override
String get enableTranscoding => 'Ota transkoodaus käyttöön';
@override
String get enableTranscodingSubtitle =>
'Transkoodaa musiikin suoratoiston palvelimen päässä.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'Suurempi bitrate antaa laadukkaamman äänen, mutta sen käyttämä kaistanleveys on suurempi.';
@override
String get customLocation => 'Mukautettu sijainti';
@override
String get appDirectory => 'Sovelluksen hakemisto';
@override
String get addDownloadLocation => 'Lisää latauksen hakemisto';
@override
String get selectDirectory => 'Valitse hakemisto';
@override
String get unknownError => 'Tuntematon virhe';
@override
String get pathReturnSlashErrorMessage =>
'Polkuja jotka palauttavat \"/\" ei voi käyttää';
@override
String get directoryMustBeEmpty => 'Hakemiston pitää olla tyhjä';
@override
String get customLocationsBuggy =>
'Mukautetut sijainnit ovat erittäin bugisia käyttöoikeusongelmien vuoksi. Mietin tapoja korjata tämä, mutta toistaiseksi en suosittele niiden käyttöä.';
@override
String get enterLowPriorityStateOnPause =>
'Siirtyminen matalan prioriteetin tilaan tauon aikana';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Sallii ilmoituksen pyyhkäisemisen pois, kun toisto on pysäytetty. Antaa myös Androidin lopettaa palvelun, kun toisto on keskeytetty.';
@override
String get shuffleAllSongCount => 'Kaikkien sekoitettujen kappaleiden määrä';
@override
String get shuffleAllSongCountSubtitle =>
'Ladattavien kappaleiden määrä, kun käytät sekoita kaikki kappaleet painiketta.';
@override
String get viewType => 'Näkymän Tyyppi';
@override
String get viewTypeSubtitle => 'Musiikkinäytön näkymätyyppi';
@override
String get list => 'Lista';
@override
String get grid => 'Ruudukko';
@override
String get portrait => 'Pysty';
@override
String get landscape => 'Vaaka';
@override
String gridCrossAxisCount(String value) {
return '$value Ruudukon poikittaisakselien lukumäärä';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Rivikohtaisesti käytettävien ruudukkotiilien määrä, kun $value.';
}
@override
String get showTextOnGridView => 'Näytä teksti ruudukkonäkymässä';
@override
String get showTextOnGridViewSubtitle =>
'Näytetäänkö teksti (nimi, artisti jne.) ruudukon musiikkinäytöllä vai ei.';
@override
String get showCoverAsPlayerBackground =>
'Näytä sumennettu kansikuva soittimen taustakuvana';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Käytetäänkö sumeaa kansikuvitusta taustana soittimen näytöllä vai ei.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Piilota kappaleen artistit, jos samat kuin albumin artistit';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Näytetäänkö kappaleiden artistit albumin näytöllä, jos ne eivät poikkea albumin artisteista.';
@override
String get disableGesture => 'Poista eleet käytöstä';
@override
String get disableGestureSubtitle => 'Poistaa eleet käytöstä.';
@override
String get showFastScroller => 'Näytä nopea vieritin';
@override
String get theme => 'Teema';
@override
String get system => 'Järjestelmä';
@override
String get light => 'Vaalea';
@override
String get dark => 'Tumma';
@override
String get tabs => 'Välilehdet';
@override
String get cancelSleepTimer => 'Peruuta uniajastin?';
@override
String get yesButtonLabel => 'KYLLÄ';
@override
String get noButtonLabel => 'EI';
@override
String get setSleepTimer => 'Aseta uniajastin';
@override
String get minutes => 'Minuutit';
@override
String get invalidNumber => 'Virheellinen numero';
@override
String get sleepTimerTooltip => 'Uniajastin';
@override
String get addToPlaylistTooltip => 'Lisää soittolistalle';
@override
String get addToPlaylistTitle => 'Lisää soittolistalle';
@override
String get removeFromPlaylistTooltip => 'Poista soittolistalta';
@override
String get removeFromPlaylistTitle => 'Poista soittolistalta';
@override
String get newPlaylist => 'Uusi soittolista';
@override
String get createButtonLabel => 'LUO';
@override
String get playlistCreated => 'Soittolista on luotu.';
@override
String get noAlbum => 'Ei albumia';
@override
String get noItem => 'Ei kohdetta';
@override
String get noArtist => 'Ei Artistia';
@override
String get unknownArtist => 'Tuntematon artisti';
@override
String get streaming => 'SUORATOISTAA';
@override
String get downloaded => 'LADATTU';
@override
String get transcode => 'TRANSKOODI';
@override
String get direct => 'SUORA';
@override
String get statusError => 'TILAVIRHE';
@override
String get queue => 'Jono';
@override
String get addToQueue => 'Lisää jonoon';
@override
String get playNext => 'Toista seuraava';
@override
String get replaceQueue => 'Korvaa Jono';
@override
String get instantMix => 'Välitön Sekoitus';
@override
String get goToAlbum => 'Mene albumiin';
@override
String get removeFavourite => 'Poista suosikki';
@override
String get addFavourite => 'Lisää suosikki';
@override
String get addedToQueue => 'Lisätty jonoon.';
@override
String get insertedIntoQueue => 'Asetettu jonoon.';
@override
String get queueReplaced => 'Jono korvattu.';
@override
String get removedFromPlaylist => 'Poistettu soittolistalta.';
@override
String get startingInstantMix => 'Käynnistetään välitön sekoitus.';
@override
String get anErrorHasOccured => 'Tapahtui virhe.';
@override
String responseError(String error, int statusCode) {
return '$error Tilakoodi $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Tilakoodi $statusCode. Tämä tarkoittaa todennäköisesti, että olet käyttänyt väärää käyttäjätunnusta/salasanaa tai että sovellus ei ole enää kirjautuneena sisään.';
}
@override
String get removeFromMix => 'Poista Sekoituksesta';
@override
String get addToMix => 'Lisää Sekoitukseen';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Uudelleenladatut $count kohteet',
one: 'Uudelleenladattu $count kohde',
zero: 'Ei tarvitse ladata uudelleen.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Puskurin kesto';
@override
String get bufferDurationSubtitle =>
'Kuinka paljon soittimen pitäisi puskuroida, sekunteina. Vaatii uudelleenkäynnistyksen.';
@override
String get language => 'Kieli';
@override
String get confirm => 'Vahvista';
@override
String get showUncensoredLogMessage =>
'Tämä loki sisältää kirjautumistietosi. Näytä?';
@override
String get resetTabs => 'Nollaa välilehdet';
@override
String get noMusicLibrariesTitle => 'Ei musiikkikirjastoja';
@override
String get noMusicLibrariesBody =>
'Finamp ei löytänyt musiikkikirjastoja. Varmista, että Jellyfin-palvelimellasi on vähintään yksi kirjasto, jonka sisältötyypiksi on asetettu \"Musiikki\".';
@override
String get refresh => 'VIRKISTÄ';
@override
String get swipeInsertQueueNext => 'Toista Pyyhkäisty Kappale Seuraavaksi';
@override
String get swipeInsertQueueNextSubtitle =>
'Mahdollistaa kappaleen lisäämisen jonon seuraavaksi kohteeksi, kun sitä pyyhkäistään kappaleiden luettelossa sen sijaan, että se liitettäisiin loppuun.';
@override
String get redesignBeta => 'Kokeile Betaa';
@override
String get playbackOrderShuffledTooltip =>
'Sekoittaminen. Vaihda napauttamalla.';
@override
String get playbackOrderLinearTooltip =>
'Toistaminen järjestyksessä. Vaihda napauttamalla.';
@override
String get loopModeAllTooltip => 'Toista kaikki. Vaihda napauttamalla.';
@override
String get loopModeOneTooltip => 'Toista yksi. Vaihda napauttamalla.';
@override
String get loopModeNoneTooltip => 'Älä toista. Vaihda napauttamalla.';
@override
String get skipToPrevious => 'Siirry edelliseen kappaleeseen';
@override
String get skipToNext => 'Siirry seuraavaan kappaleeseen';
@override
String get togglePlayback => 'Toiston vaihtaminen';
@override
String playArtist(String artist) {
return 'Toista kaikki $artist:n albumit';
}
@override
String shuffleArtist(String artist) {
return 'Sekoita kaikki $artist:n albumit';
}
@override
String downloadArtist(String artist) {
return 'Lataa kaikki $artist:n albumit';
}
@override
String get deleteFromDevice => 'Poista laitteelta';
@override
String get download => 'Lataa';
@override
String get sync => 'Synkronoi palvelimen kanssa';
@override
String get about => 'Tietoja Finampista';
}
+757
View File
@@ -0,0 +1,757 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for French (`fr`).
class AppLocalizationsFr extends AppLocalizations {
AppLocalizationsFr([String locale = 'fr']) : super(locale);
@override
String startupError(String error) {
return 'Une erreur est survenue lors du démarrage de l\'application. L\'erreur est: $error\n\nPlease create an issue on github.com/UnicornsOnLSD/finamp with a screenshot of this page. If this problem persists you can clear your app data to reset the app.';
}
@override
String get serverUrl => 'Adresse du serveur';
@override
String get internalExternalIpExplanation =>
'Si vous souhaitez pouvoir accéder à votre serveur Jellyfin à distance, vous devez utiliser votre adresse IP externe.\n\nSi votre serveur utilise un port HTTP (80/443), vous n\'avez pas besoin de spécifier de port. C\'est probablement le cas si votre serveur est derrière un reverse proxy.';
@override
String get emptyServerUrl => 'Vous devez indiquez l\'adresse du serveur.';
@override
String get urlStartWithHttps =>
'L\'adresse doit commencer par http:// ou https://';
@override
String get urlTrailingSlash =>
'L\'adresse ne doit pas inclure de slash final.';
@override
String get username => 'Nom d\'utilisateur';
@override
String get password => 'Mot de passe';
@override
String get logs => 'Logs';
@override
String get next => 'Prochain';
@override
String get selectMusicLibraries => 'Selectionner des bibliothèques';
@override
String get couldNotFindLibraries => 'Aucune bibliothèque trouvée';
@override
String get unknownName => 'Nom inconnu';
@override
String get songs => 'Titres';
@override
String get albums => 'Albums';
@override
String get artists => 'Artistes';
@override
String get genres => 'Genres';
@override
String get playlists => 'Playlists';
@override
String get startMix => 'Commencer un Mix';
@override
String get startMixNoSongsArtist =>
'Appuyer longuement sur un artiste pour l\'ajouter ou le retirer du mix avant de commencer';
@override
String get startMixNoSongsAlbum =>
'Appuyer longuement sur un album pour l\'ajouter ou le retirer du mix avant de commencer';
@override
String get music => 'Musique';
@override
String get clear => 'Effacer';
@override
String get favourites => 'Favoris';
@override
String get shuffleAll => 'Tout mélanger';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Téléchargements';
@override
String get settings => 'Réglages';
@override
String get offlineMode => 'Mode hors-ligne';
@override
String get sortOrder => 'Ordre de tri';
@override
String get sortBy => 'Trier par';
@override
String get album => 'Album';
@override
String get albumArtist => 'Artiste de l\'album';
@override
String get artist => 'Artiste';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Note de la communauté';
@override
String get criticRating => 'Note de la critique';
@override
String get dateAdded => 'Date d\'ajout';
@override
String get datePlayed => 'Date de lecture';
@override
String get playCount => 'nombre de lectures';
@override
String get premiereDate => 'Date de première';
@override
String get productionYear => 'Date de production';
@override
String get name => 'Nom';
@override
String get random => 'Aléatoire';
@override
String get revenue => 'Recettes';
@override
String get runtime => 'Durée d\'exécution';
@override
String get syncDownloadedPlaylists =>
'Synchroniser les playlists téléchargées';
@override
String get downloadMissingImages => 'Télécharger les images manquantes';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count images téléchargées',
one: '$count image téléchargée',
zero: 'Pas d\'image manquante',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Télécharger les erreurs';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count téléchargements',
one: '$count téléchargement',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count éléments',
one: '$count élément',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count images',
one: '$count image',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count complétés',
one: '$count complété',
);
return '$_temp0';
}
@override
String dlFailed(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count échecs',
one: '$count échec',
);
return '$_temp0';
}
@override
String dlEnqueued(int count) {
return '$count en attente';
}
@override
String dlRunning(int count) {
return '$count en cours';
}
@override
String get downloadErrorsTitle => 'Erreurs de téléchargement';
@override
String get noErrors => 'Pas d\'erreur!';
@override
String get errorScreenError =>
'Une erreur est survenue lors de la récupération de la liste des erreurs ! À ce stade, il serait probablement préférable de créer une issue sur GitHub et de supprimer les données de l\'application.';
@override
String get failedToGetSongFromDownloadId =>
'Échec de récupération de la chanson à partir de l\'ID de téléchargement';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'l\'album',
'playlist': 'la playlist',
'artist': 'l\'artiste',
'genre': 'le genre',
'track': 'le titre',
'other': '',
},
);
return 'Êtes vour sûr de vouloir supprimer $_temp0 \'$itemName\' de cet appareil ?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Supprimer';
@override
String get deleteDownloadsAbortButtonText => 'Annuler';
@override
String get error => 'Erreur';
@override
String discNumber(int number) {
return 'Disque $number';
}
@override
String get playButtonLabel => 'LIRE';
@override
String get shuffleButtonLabel => 'ALÉATOIRE';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count titres',
one: '$count titre',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Modifier le titre de la playlist';
@override
String get editPlaylistNameTitle => 'Edit Playlist Name';
@override
String get required => 'Requis';
@override
String get updateButtonLabel => 'METTRE À JOUR';
@override
String get playlistNameUpdated => 'Titre de la playlist mis à jour.';
@override
String get favourite => 'Favoris';
@override
String get downloadsDeleted => 'Téléchargements supprimés.';
@override
String get addDownloads => 'Ajouter les téléchargements';
@override
String get location => 'Emplacement';
@override
String get downloadsAdded => 'Téléchargements ajoutés.';
@override
String get addButtonLabel => 'AJOUTER';
@override
String get shareLogs => 'Partager les journaux.';
@override
String get logsCopied => 'Journaux copiés.';
@override
String get message => 'Message';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Soumis à la licence Mozilla Public License 2.0. Le code source est disponible sur :\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transcodage';
@override
String get downloadLocations => 'Emplacements des téléchargements';
@override
String get audioService => 'Service audio';
@override
String get interactions => 'Intéractions';
@override
String get layoutAndTheme => 'Disposition & Apparence';
@override
String get notAvailableInOfflineMode => 'Indisponible en mode hors-ligne';
@override
String get logOut => 'Déconnexion';
@override
String get downloadedSongsWillNotBeDeleted =>
'Les chansons téléchargées ne seront pas supprimées';
@override
String get areYouSure => 'Êtes-vous sûr ?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin utilise AAC lors du transcodage';
@override
String get enableTranscoding => 'Activer le transcodage';
@override
String get enableTranscodingSubtitle =>
'Transcode les flux musicaux côté serveur.';
@override
String get bitrate => 'Débit binaire';
@override
String get bitrateSubtitle =>
'Un débit binaire plus élevé offre une meilleure qualité audio au prix d\'une bande passante plus importante.';
@override
String get customLocation => 'Emplacement personnalisé';
@override
String get appDirectory => 'Répertoire de l\'application';
@override
String get addDownloadLocation => 'Ajouter un emplacement de téléchargement';
@override
String get selectDirectory => 'Sélectionner un répertoire';
@override
String get unknownError => 'Erreur inconnue';
@override
String get pathReturnSlashErrorMessage =>
'Les chemins qui retournent \"/\" ne peuvent pas être utilisés';
@override
String get directoryMustBeEmpty => 'Le répertoire doit être vide';
@override
String get customLocationsBuggy =>
'Les emplacements personnalisés sont très bogués en raison de problèmes de permissions. Je réfléchis à des solutions pour corriger cela, mais pour l\'instant, je ne recommande pas de les utiliser.';
@override
String get enterLowPriorityStateOnPause =>
'Faible priorité de l\'application lorsque la lecture est en pause';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Permet de supprimer la notification lorsque la lecture est en pause. Permet également à Android de fermer le service lorsqu\'il est en pause.';
@override
String get shuffleAllSongCount => 'Nombre de chansons à mélanger';
@override
String get shuffleAllSongCountSubtitle =>
'Nombre de chansons à charger lors de l\'utilisation du bouton \'Tout mélanger\'.';
@override
String get viewType => 'Disposition de l\'affichage';
@override
String get viewTypeSubtitle =>
'Règle la manière dont les musiques sont diposées';
@override
String get list => 'Liste';
@override
String get grid => 'Grille';
@override
String get portrait => 'Portrait';
@override
String get landscape => 'Paysage';
@override
String gridCrossAxisCount(String value) {
return 'Nombre de tuiles par ligne en orientation $value';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Le nombre de tuiles à utiliser par rangée en orientation $value lorsque l\'affichage est en mode mosaïque.';
}
@override
String get showTextOnGridView => 'Afficher le texte dans la grille de vue';
@override
String get showTextOnGridViewSubtitle =>
'Afficher ou non le texte (titre, artiste, etc.) sur l\'écran de la grille musicale.';
@override
String get showCoverAsPlayerBackground =>
'Afficher la couverture floutée en arrière-plan du lecteur';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Choisir d\'utiliser ou non l\'illustration floutée comme arrière-plan sur l\'écran du lecteur.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Masquer les artistes des chansons si identiques aux artistes de l\'album';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Afficher ou non les artistes des chansons sur l\'écran de l\'album si différents des artistes de l\'album.';
@override
String get disableGesture => 'Désactiver les gestes';
@override
String get disableGestureSubtitle =>
'Indique si les gestes doivent être désactivés.';
@override
String get showFastScroller => 'Afficher le défileur rapide';
@override
String get theme => 'Thème';
@override
String get system => 'Système';
@override
String get light => 'Claire';
@override
String get dark => 'Sombre';
@override
String get tabs => 'Onglets';
@override
String get cancelSleepTimer => 'Annuler le minuteur de sommeil ?';
@override
String get yesButtonLabel => 'OUI';
@override
String get noButtonLabel => 'NON';
@override
String get setSleepTimer => 'Configurer le minuteur de sommeil';
@override
String get minutes => 'Minutes';
@override
String get invalidNumber => 'Nombre invalide';
@override
String get sleepTimerTooltip => 'Minuteur de sommeil';
@override
String get addToPlaylistTooltip => 'Ajouter à une playlist';
@override
String get addToPlaylistTitle => 'Ajouter à une playlist';
@override
String get removeFromPlaylistTooltip => 'Retirer de la playlist';
@override
String get removeFromPlaylistTitle => 'Retirer de la playlist';
@override
String get newPlaylist => 'Nouvelle Playlist';
@override
String get createButtonLabel => 'CRÉER';
@override
String get playlistCreated => 'Playlist créée.';
@override
String get noAlbum => 'Aucun album';
@override
String get noItem => 'Aucun élément';
@override
String get noArtist => 'Aucun artiste';
@override
String get unknownArtist => 'Artiste inconnu';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'TÉLÉCHARGÉ';
@override
String get transcode => 'TRANSCODAGE';
@override
String get direct => 'DIRECT';
@override
String get statusError => 'STATUS D\'ERREUR';
@override
String get queue => 'File d\'attente';
@override
String get addToQueue => 'Ajouter à la file d\'attente';
@override
String get playNext => 'Lire ensuite';
@override
String get replaceQueue => 'Remplacer la file d\'attente';
@override
String get instantMix => 'Mix instantané';
@override
String get goToAlbum => 'Voir l\'album';
@override
String get removeFavourite => 'Retirer des favoris';
@override
String get addFavourite => 'Ajouter aux favoris';
@override
String get addedToQueue => 'Ajouté à la fin de la file d\'attente.';
@override
String get insertedIntoQueue => 'Ajouté à la file d\'attente.';
@override
String get queueReplaced => 'File d\'attente remplacée.';
@override
String get removedFromPlaylist => 'Retiré de la playlist.';
@override
String get startingInstantMix => 'Mix instantané lancé.';
@override
String get anErrorHasOccured => 'Une erreur s\'est produite.';
@override
String responseError(String error, int statusCode) {
return '$error Status code $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Code de statut $statusCode. Cela signifie probablement que vous avez utilisé un mauvais nom d\'utilisateur/mot de passe, ou que votre client n\'est plus connecté.';
}
@override
String get removeFromMix => 'Retirer du Mix';
@override
String get addToMix => 'Ajouter au Mix';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count éléments re-téléchargés',
one: '$count élément re-téléchargé',
zero: 'Aucun re-téléchargement nécessaire',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Taille du tampon';
@override
String get bufferDurationSubtitle =>
'Taille du tampon du lecteur, en secondes. Changer ce paramètre nécessite un redémarrage.';
@override
String get language => 'Langue';
@override
String get confirm => 'Confirmé';
@override
String get showUncensoredLogMessage =>
'Ce journal contient vos informations de connexion. Afficher tout de même ?';
@override
String get resetTabs => 'Réinitialiser les onglets';
@override
String get noMusicLibrariesTitle => 'Aucune bibliothèque musicale';
@override
String get noMusicLibrariesBody =>
'Finamp n\'a pas trouvé de bibliothèques musicales. Veuillez vous assurer que votre serveur Jellyfin contient au moins une bibliothèque avec le type de contenu défini sur \"Musique\".';
@override
String get refresh => 'RAFRAÎCHIR';
@override
String get swipeInsertQueueNext => 'Lire la chanson balayée en prochain';
@override
String get swipeInsertQueueNextSubtitle =>
'Activer l\'insertion d\'une chanson comme élément suivant dans la file d\'attente lorsqu\'elle est balayée dans la liste des chansons, au lieu de l\'ajouter à la fin.';
@override
String get redesignBeta => 'Essayer la bêta';
@override
String get playbackOrderShuffledTooltip =>
'Lecture en aléatoire. Touchez pour activer/désactiver.';
@override
String get playbackOrderLinearTooltip =>
'Lecture dans l\'ordre. Touchez pour activer/désactiver.';
@override
String get loopModeAllTooltip =>
'Lecture en boucle de l\'ensemble. Touchez pour activer/désactiver.';
@override
String get loopModeOneTooltip =>
'Lecture en boucle d\'un seul. Touchez pour activer/désactiver.';
@override
String get loopModeNoneTooltip =>
'Ne pas lire en boucle. Touchez pour activer/désactiver.';
@override
String get skipToPrevious => 'Passer à la chanson précédente';
@override
String get skipToNext => 'Passer à la chanson suivante';
@override
String get togglePlayback => 'Activer/désactiver la lecture';
@override
String playArtist(String artist) {
return 'Lire tous les albums de $artist';
}
@override
String shuffleArtist(String artist) {
return 'Lire aléatoirement tous les albums de $artist';
}
@override
String downloadArtist(String artist) {
return 'Télécharger tous les albums de $artist';
}
@override
String get deleteFromDevice => 'Supprimer de l\'appareil';
@override
String get download => 'Télécharger';
@override
String get sync => 'Synchroniser avec le serveur';
@override
String get about => 'À propos de Finamp';
}
+748
View File
@@ -0,0 +1,748 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Croatian (`hr`).
class AppLocalizationsHr extends AppLocalizations {
AppLocalizationsHr([String locale = 'hr']) : super(locale);
@override
String startupError(String error) {
return 'Dogodila se greška prilikom pokretanja aplikacije. Greška: $error\n\nPrijavi problem na github.com/UnicornsOnLSD/finamp sa snimkom ekrana ove stranice. Ako ovaj problem ustraje, izbriši svoje podatke aplikacije i resetiraj aplikaciju.';
}
@override
String get serverUrl => 'URL servera';
@override
String get internalExternalIpExplanation =>
'Ako želiš pristupiti Jellyfin serveru na daljinski način moraš korisititi tvoju externu IP adresu.\n\nAko je tvoj server na HTTP priključku (80/443), ne moraš navesti priključak. To će vjerojatno slučaj ako se tvoj server nalazi iza obrnutog proxija.';
@override
String get emptyServerUrl => 'URL servera ne smije biti prazan';
@override
String get urlStartWithHttps => 'URL mora početi s http:// ili https://';
@override
String get urlTrailingSlash => 'URL ne smije sadržavati kosu crtu na kraju';
@override
String get username => 'Korisničko ime';
@override
String get password => 'Lozinka';
@override
String get logs => 'Zapisi';
@override
String get next => 'Dalje';
@override
String get selectMusicLibraries => 'Odaberi fonoteke';
@override
String get couldNotFindLibraries =>
'Nije bilo moguće pronaći niti jednu fonoteku.';
@override
String get unknownName => 'Nepoznato ime';
@override
String get songs => 'Pjesme';
@override
String get albums => 'Albumi';
@override
String get artists => 'Izvođači';
@override
String get genres => 'Žanrovi';
@override
String get playlists => 'Playliste';
@override
String get startMix => 'Pokreni miks';
@override
String get startMixNoSongsArtist =>
'Pritisni dugo na izvođača za dodavanje ili uklanjanje izvođača iz miksera prije pokretanja miksa';
@override
String get startMixNoSongsAlbum =>
'Pritisni dugo na album za dodavanje ili uklanjanje albuma iz miksera prije pokretanja miksa';
@override
String get music => 'Glazba';
@override
String get clear => 'Izbriši';
@override
String get favourites => 'Omiljeno';
@override
String get shuffleAll => 'Izmiješaj sve';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Preuzimanja';
@override
String get settings => 'Postavke';
@override
String get offlineMode => 'Neumrežen modus';
@override
String get sortOrder => 'Redoslijed razvrstavanja';
@override
String get sortBy => 'Razvrstaj po';
@override
String get album => 'Album';
@override
String get albumArtist => 'Izvođač albuma';
@override
String get artist => 'Izvođač';
@override
String get budget => 'Budžet';
@override
String get communityRating => 'Ocjena zajednice';
@override
String get criticRating => 'Ocjena kritičara';
@override
String get dateAdded => 'Datum dodavanja';
@override
String get datePlayed => 'Datum reprodukcije';
@override
String get playCount => 'Broj reprodukcija';
@override
String get premiereDate => 'Datum premijere';
@override
String get productionYear => 'Godina produkcije';
@override
String get name => 'Ime';
@override
String get random => 'Slučajno';
@override
String get revenue => 'Prihod';
@override
String get runtime => 'Vrijeme trajanja';
@override
String get syncDownloadedPlaylists => 'Sinkroniziraj preuzete playliste';
@override
String get downloadMissingImages => 'Preuzmi nedostajuće slike';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Preuzeto je $count nedostajućih slika',
few: 'Preuzete su $count nedostajuće slike',
one: 'Preuzeta je $count nedostajuća slika',
zero: 'Nema nedostajućih slika',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Greške preuzimanja';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count preuzimanja',
few: '$count preuzimanja',
one: '$count preuzimanje',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count stavki',
few: '$count stavke',
one: '$count stavka',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count slika',
few: '$count slike',
one: '$count slika',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count dovršeno';
}
@override
String dlFailed(int count) {
return '$count neuspjelo';
}
@override
String dlEnqueued(int count) {
return '$count dodano u red';
}
@override
String dlRunning(int count) {
return '$count u tijeku';
}
@override
String get downloadErrorsTitle => 'Greške preuzimanja';
@override
String get noErrors => 'Nema grešaka!';
@override
String get errorScreenError =>
'Dogodila se greška prilikom dohvaćanja popisa grešaka! Prijavi problem na GitHubu i izbriši podatke aplikacije';
@override
String get failedToGetSongFromDownloadId =>
'Neuspjelo dohvaćanje pjesme s ID-a preuzimanja';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlistu',
'artist': 'izvođača',
'genre': 'žanr',
'track': 'pjesmu',
'other': '',
},
);
return 'Stvarno želiš izbrisati $_temp0 \'$itemName\' s ovog uređaja?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Izbriši';
@override
String get deleteDownloadsAbortButtonText => 'Odustani';
@override
String get error => 'Greška';
@override
String discNumber(int number) {
return 'Disk $number';
}
@override
String get playButtonLabel => 'POKRENI';
@override
String get shuffleButtonLabel => 'IZMIJEŠAJ';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count pjesama',
few: '$count pjesme',
one: '$count pjesma',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Uredi ime playliste';
@override
String get editPlaylistNameTitle => 'Uredi ime playliste';
@override
String get required => 'Obavezno';
@override
String get updateButtonLabel => 'AŽURIRAJ';
@override
String get playlistNameUpdated => 'Ime playliste je ažurirano.';
@override
String get favourite => 'Omiljeno';
@override
String get downloadsDeleted => 'Preuzimanja izbrisana.';
@override
String get addDownloads => 'Dodaj preuzimanja';
@override
String get location => 'Lokacija';
@override
String get downloadsAdded => 'Preuzimanja dodana.';
@override
String get addButtonLabel => 'DODAJ';
@override
String get shareLogs => 'Dijeli zapise';
@override
String get logsCopied => 'Zapisi su kopirani.';
@override
String get message => 'Poruka';
@override
String get stackTrace => 'Trag Stacka';
@override
String get applicationLegalese =>
'Licenca: Mozilla Public License 2.0. Izvorni kod je dostupan na:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transkodiranje';
@override
String get downloadLocations => 'Lokacija preuzimanja';
@override
String get audioService => 'Usluga audioreprodukcije';
@override
String get interactions => 'Interakcije';
@override
String get layoutAndTheme => 'Izgled i tema';
@override
String get notAvailableInOfflineMode => 'Nije dostupno u neumreženom modusu';
@override
String get logOut => 'Odjavi se';
@override
String get downloadedSongsWillNotBeDeleted =>
'Preuzete pjesme neće biti izbrisane';
@override
String get areYouSure => 'Jeste li sigurni?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin koristi AAC za transkodiranje';
@override
String get enableTranscoding => 'Omogući transkodiranje';
@override
String get enableTranscodingSubtitle =>
'Transkodira stream glazbe na server strani.';
@override
String get bitrate => 'Brzina prijenosa';
@override
String get bitrateSubtitle =>
'Veća brzina prijenosa daje veću kvalitetu zvuka, ali troši veću količinu prometa.';
@override
String get customLocation => 'Prilagođena lokacija';
@override
String get appDirectory => 'Direktorij aplikacije';
@override
String get addDownloadLocation => 'Dodaj lokaciju preuzimanja';
@override
String get selectDirectory => 'Odaberi direktorij';
@override
String get unknownError => 'Nepoznata greška';
@override
String get pathReturnSlashErrorMessage =>
'Staze sa znakom „/” se ne mogu koristiti';
@override
String get directoryMustBeEmpty => 'Direktorij mora biti prazan';
@override
String get customLocationsBuggy =>
'Prilagođene lokacije su izrazito pune grešaka zbog problema oko dozvola. Razmišljam o načinima da ovo ispravim, ali za sada ne bih preporučio korištenje.';
@override
String get enterLowPriorityStateOnPause =>
'Unesite stanje niskog prioriteta za vrijeme pauze';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Omogućuje brisanje obavijesti kada je pauzirano. Također omogućuje Androidu da prekine uslugu kada je pauzirana.';
@override
String get shuffleAllSongCount => 'Broj pjesama za miješanje';
@override
String get shuffleAllSongCountSubtitle =>
'Broj pjesama koje se učitavaju kada se koristi gumb „Izmiješaj sve pjesme”.';
@override
String get viewType => 'Vrsta prikaza';
@override
String get viewTypeSubtitle => 'Vrsta prikaza za ekran glazbe';
@override
String get list => 'Popis';
@override
String get grid => 'Rešetka';
@override
String get portrait => 'Uspravno';
@override
String get landscape => 'Polegnuto';
@override
String gridCrossAxisCount(String value) {
return '$value broj rešetkastih linija';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Količina rešetkastih polja po redu kada $value.';
}
@override
String get showTextOnGridView => 'Prikaži tekst u rešetkastom prikazu';
@override
String get showTextOnGridViewSubtitle =>
'Da li prikazati tekst (naslov, izvođač itd.) u rešetkastom ekranu glazbe.';
@override
String get showCoverAsPlayerBackground =>
'Prikaži mutnu sliku omota kao pozadinu playera';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Da li koristiti mutnu sliku omota kao pozadinu na ekranu playera.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Sakrij izvođače pjesama ako su isti kao izvođači albuma';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Da li prikazati izvođače pjesama na ekranu albuma ako se ne razlikuju od izvođača albuma.';
@override
String get disableGesture => 'Deaktiviraj geste';
@override
String get disableGestureSubtitle => 'Da li deaktivirati geste.';
@override
String get showFastScroller => 'Prikaži traku za brzo listanje';
@override
String get theme => 'Tema';
@override
String get system => 'Sustav';
@override
String get light => 'Svijetla';
@override
String get dark => 'Tamna';
@override
String get tabs => 'Kartice';
@override
String get cancelSleepTimer => 'Prekinuti odbrojavanje?';
@override
String get yesButtonLabel => 'DA';
@override
String get noButtonLabel => 'NE';
@override
String get setSleepTimer => 'Postavi odbrojavanje';
@override
String get minutes => 'Minute';
@override
String get invalidNumber => 'Neispravan broj';
@override
String get sleepTimerTooltip => 'Odbrojavanje';
@override
String get addToPlaylistTooltip => 'Dodaj u playlistu';
@override
String get addToPlaylistTitle => 'Dodaj u playlistu';
@override
String get removeFromPlaylistTooltip => 'Ukloni iz playliste';
@override
String get removeFromPlaylistTitle => 'Ukloni iz playliste';
@override
String get newPlaylist => 'Nova playlista';
@override
String get createButtonLabel => 'STVORI';
@override
String get playlistCreated => 'Playlista je stvorena.';
@override
String get noAlbum => 'Nema albuma';
@override
String get noItem => 'Nema stavki';
@override
String get noArtist => 'Nema izvođača';
@override
String get unknownArtist => 'Nepoznat izvođač';
@override
String get streaming => 'PRIJENOS';
@override
String get downloaded => 'PREUZETO';
@override
String get transcode => 'TRANSKODIRAJ';
@override
String get direct => 'DIREKTNO';
@override
String get statusError => 'GREŠKA STANJA';
@override
String get queue => 'Red čekanja';
@override
String get addToQueue => 'Dodaj u red čekanja';
@override
String get playNext => 'Reproduciraj kao sljedeću';
@override
String get replaceQueue => 'Zamijeni red čekanja';
@override
String get instantMix => 'Instant miks';
@override
String get goToAlbum => 'Idi na album';
@override
String get removeFavourite => 'Izbriši omiljene';
@override
String get addFavourite => 'Dodaj omiljene';
@override
String get addedToQueue => 'Dodano u red čekanja.';
@override
String get insertedIntoQueue => 'Umetnuto u red čekanja.';
@override
String get queueReplaced => 'Red čekanja je zamijenjen.';
@override
String get removedFromPlaylist => 'Uklonjeno iz playliste.';
@override
String get startingInstantMix => 'Pokretanje instant miksa.';
@override
String get anErrorHasOccured => 'Dogodila se greška.';
@override
String responseError(String error, int statusCode) {
return '$error Kȏd stanja $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Kȏd stanja $statusCode. Ovo vjerojatno znači da si koristio/la pokrešno korisničko ime/lozinku ili da tvoj klijent više nije prijavljen.';
}
@override
String get removeFromMix => 'Ukloni iz miksa';
@override
String get addToMix => 'Dodaj u miks';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Ponovo je preuzeto $count stavki',
few: 'Ponovo su preuzete $count stavke',
one: 'Ponovo je preuzeta $count stavka',
zero: 'Ponovna preuzimanja nisu potrebna.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Trajanje međuspremnika';
@override
String get bufferDurationSubtitle =>
'Količina koju player treba spremiti u međuspremnik, u sekundama. Zahtijeva ponovno pokretanje.';
@override
String get language => 'Jezik';
@override
String get confirm => 'Potvrdi';
@override
String get showUncensoredLogMessage =>
'Ovaj zapis sadrži tvoje podatke za prijavu. Prikazati?';
@override
String get resetTabs => 'Resetiraj kartice';
@override
String get noMusicLibrariesTitle => 'Nema fonoteka';
@override
String get noMusicLibrariesBody =>
'Finamp nije mogao pronaći nijednu fonoteku. Provjeri sadrži li tvoj Jellyfin poslužitelj barem jednu biblioteku s vrstom sadržaja postavljenom na „Glazba”.';
@override
String get refresh => 'AKTUALIZIRAJ';
@override
String get swipeInsertQueueNext =>
'Reproduciraj pjesmu kao sljedeću povlačenjem';
@override
String get swipeInsertQueueNextSubtitle =>
'Omogući umetanje pjesme kao sljedeću pjesmu u redu reprodukcije povlačenjem pjesme iz popisa pjesama umjesto dodavanja pjesme na kraj popisa.';
@override
String get redesignBeta => 'Probaj beta verziju';
@override
String get playbackOrderShuffledTooltip =>
'Miješanje. Uključi/isključi dodirom.';
@override
String get playbackOrderLinearTooltip =>
'Reprodukcija redom. Uključi/isključi dodirom.';
@override
String get loopModeAllTooltip =>
'Ponavljanje svih. Uključi/isključi dodirom.';
@override
String get loopModeOneTooltip =>
'Ponavljanje jedne. Uključi/isključi dodirom.';
@override
String get loopModeNoneTooltip =>
'Bez ponavljanja. Uključi/isključi dodirom.';
@override
String get skipToPrevious => 'Prijeđi na prethodnu pjesmu';
@override
String get skipToNext => 'Prijeđi na sljedeću pjesmu';
@override
String get togglePlayback => 'Uključi/isključi reprodukciju';
@override
String playArtist(String artist) {
return 'Reproduciraj sve albume od $artist';
}
@override
String shuffleArtist(String artist) {
return 'Izmiješaj sve albume od $artist';
}
@override
String downloadArtist(String artist) {
return 'Preuzmi sve albume od $artist';
}
@override
String get deleteFromDevice => 'Izbriši s uređaja';
@override
String get download => 'Preuzmi';
@override
String get sync => 'Sinkroniziraj sa serverom';
@override
String get about => 'O aplikaciji Finamp';
}
+736
View File
@@ -0,0 +1,736 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Hungarian (`hu`).
class AppLocalizationsHu extends AppLocalizations {
AppLocalizationsHu([String locale = 'hu']) : super(locale);
@override
String startupError(String error) {
return 'Hiba történt az alkalmazás indításakor! A hiba a következő volt: $error\n\nKérjük, hozzon létre egyGithub-problémát a github.com/UnicornsOnLSD/finamp oldalon az oldal képernyőképével. Ha a probléma továbbra is fennáll, törölje az alkalmazás adatait az alkalmazás visszaállításához.';
}
@override
String get serverUrl => 'Szerver webcíme';
@override
String get internalExternalIpExplanation =>
'Ha távolról szeretné elérni Jellyfin szerverét, akkor külső IP-címét kell használnia.\n\nHa a szerver HTTP porton (80/443) van, akkor nem kell portot megadnia. Valószínűleg ez a helyzet akkor, ha a szervere fordított proxy mögött van.';
@override
String get emptyServerUrl => 'A szerver URL-címe nem lehet üres';
@override
String get urlStartWithHttps =>
'Az URL-nek \"http://\" vagy \"https://\" előtaggal kell kezdődnie';
@override
String get urlTrailingSlash => 'Az URL végén nem lehet \"/\"-jel';
@override
String get username => 'Felhasználónév';
@override
String get password => 'Jelszó';
@override
String get logs => 'Naplók';
@override
String get next => 'Következő';
@override
String get selectMusicLibraries => 'Zenei könyvtárak kiválasztása';
@override
String get couldNotFindLibraries => 'Nem található könyvtár.';
@override
String get unknownName => 'Ismeretlen név';
@override
String get songs => 'Dalok';
@override
String get albums => 'Albumok';
@override
String get artists => 'Előadók';
@override
String get genres => 'Műfajok';
@override
String get playlists => 'Lejátszási listák';
@override
String get startMix => 'Mix elindítása';
@override
String get startMixNoSongsArtist =>
'Nyomd meg hosszan az előadót, hogy hozzáadja vagy eltávolítsa őket a mixkészítőből, mielőtt elkezdené a keverést';
@override
String get startMixNoSongsAlbum =>
'Nyomd meg hosszan az albumot, hogy hozzáadja vagy eltávolítsa őket a mixkészítőből, mielőtt elkezdené a keverést';
@override
String get music => 'Zene';
@override
String get clear => 'Törlés';
@override
String get favourites => 'Kedvencek';
@override
String get shuffleAll => 'Összes keverése';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Letöltések';
@override
String get settings => 'Beállítások';
@override
String get offlineMode => 'Offline mód';
@override
String get sortOrder => 'Rendezési sorrend';
@override
String get sortBy => 'Sorrend eszerint';
@override
String get album => 'Album';
@override
String get albumArtist => 'Album előadó';
@override
String get artist => 'Előadó';
@override
String get budget => 'Költségvetés';
@override
String get communityRating => 'Közösségi értékelés';
@override
String get criticRating => 'Kritikusok értékelése';
@override
String get dateAdded => 'Hozzáadás dátuma';
@override
String get datePlayed => 'Lejátszva ekkor';
@override
String get playCount => 'Lejátszások száma';
@override
String get premiereDate => 'Premier dátuma';
@override
String get productionYear => 'Gyártási év';
@override
String get name => 'Név';
@override
String get random => 'Véletlen';
@override
String get revenue => 'Bevétel';
@override
String get runtime => 'Futásidő';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Töltse le a hiányzó képeket';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Letöltött $count hiányzó képet',
one: 'Letöltődött $count hiányzó kép',
zero: 'Nem található hiányzó kép',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Letöltési hibák';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count downloads',
one: '$count download',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count items',
one: '$count item',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count images',
one: '$count image',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count kész';
}
@override
String dlFailed(int count) {
return '$count nem sikerült';
}
@override
String dlEnqueued(int count) {
return '$count a sorban';
}
@override
String dlRunning(int count) {
return '$count Fut';
}
@override
String get downloadErrorsTitle => 'Letöltési Hibák';
@override
String get noErrors => 'Nincsenek hibák!';
@override
String get errorScreenError =>
'Hiba történt a hibalista lekérésekor! Ezen a ponton valószínűleg csak problémát kell létrehoznia a GitHubon, és törölnie kell az alkalmazásadatokat';
@override
String get failedToGetSongFromDownloadId =>
'Nem sikerült letölteni a dalt, a letöltési azonosítóból';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Hiba';
@override
String discNumber(int number) {
return 'CD $number';
}
@override
String get playButtonLabel => 'LEJÁTSZÁS';
@override
String get shuffleButtonLabel => 'KEVERÉS';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Songs',
one: '$count Song',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Lejátszási lista címének szerkesztése';
@override
String get editPlaylistNameTitle => 'Lejátszási lista címének szerkesztése';
@override
String get required => 'Szükséges';
@override
String get updateButtonLabel => 'FRISSÍTÉS';
@override
String get playlistNameUpdated => 'A lejátszási lista neve frissítve.';
@override
String get favourite => 'Kedvenc';
@override
String get downloadsDeleted => 'Letöltések törölve.';
@override
String get addDownloads => 'Letöltések hozzáadása';
@override
String get location => 'Elhelyezkedés';
@override
String get downloadsAdded => 'Letöltések hozzáadva.';
@override
String get addButtonLabel => 'HOZZÁADÁS';
@override
String get shareLogs => 'Naplók megosztása';
@override
String get logsCopied => 'A naplók másolva.';
@override
String get message => 'Üzenet';
@override
String get stackTrace => 'Kötegelt visszalépés';
@override
String get applicationLegalese =>
'A Mozilla Public License 2.0 licenccel. A forráskód elérhető:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transzkódolás';
@override
String get downloadLocations => 'Letöltési hely';
@override
String get audioService => 'Hangszolgáltatás';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Elrendezés & Téma';
@override
String get notAvailableInOfflineMode => 'Offline módban nem elérhető';
@override
String get logOut => 'Kijelentkezés';
@override
String get downloadedSongsWillNotBeDeleted =>
'A letöltött dalok nem törlődnek';
@override
String get areYouSure => 'Biztos vagy ebben?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin AAC-t használ az transzkódoláshoz';
@override
String get enableTranscoding => 'Transzkódolás engedélyezése';
@override
String get enableTranscodingSubtitle =>
'Transzkódolja a zenestreameket a szerver oldalon.';
@override
String get bitrate => 'Bitráta';
@override
String get bitrateSubtitle =>
'A nagyobb bitráta jobb hangminőséget biztosít nagyobb sávszélesség mellett.';
@override
String get customLocation => 'Egyéni hely';
@override
String get appDirectory => 'Alkalmazás Könyvtára';
@override
String get addDownloadLocation => 'Letöltési hely hozzáadása';
@override
String get selectDirectory => 'Könyvtár kiválasztása';
@override
String get unknownError => 'Ismeretlen hiba';
@override
String get pathReturnSlashErrorMessage =>
'A „/” karaktert használó elérési utak nem értelmezhetőek';
@override
String get directoryMustBeEmpty => 'A könyvtárnak üresnek kell lennie';
@override
String get customLocationsBuggy =>
'Az egyéni helyek rendkívül bugosak az engedélyekkel kapcsolatos problémák miatt. Gondolkozom a megoldáson, de egyelőre nem javaslom ezek használatát.';
@override
String get enterLowPriorityStateOnPause =>
'Lépjen az Alacsony-prioritású állapotba a Szünet módban';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Lehetővé teszi az értesítés elcsúsztatását, amikor szünetel. Azt is lehetővé teszi, hogy az Android leállítsa a szolgáltatást, amikor szünetel.';
@override
String get shuffleAllSongCount => 'Az összes szám véletlenszerű lejátszása';
@override
String get shuffleAllSongCountSubtitle =>
'A betöltendő zeneszámok száma az \"Összes dal keverése\" gombbal.';
@override
String get viewType => 'Nézet típusa';
@override
String get viewTypeSubtitle => 'Nézettípus a zenei képernyőhöz';
@override
String get list => 'Lista';
@override
String get grid => 'Rács';
@override
String get portrait => 'Álló';
@override
String get landscape => 'Fekvő';
@override
String gridCrossAxisCount(String value) {
return '$value rács kereszttengelyek száma';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'A soronként használandó rácscsempék száma $value esetén.';
}
@override
String get showTextOnGridView => 'Szöveg megjelenítése rácsnézetben';
@override
String get showTextOnGridViewSubtitle =>
'Megjelenik-e a szöveg (cím, előadó stb.) a rácszene képernyőn.';
@override
String get showCoverAsPlayerBackground =>
'Elmosódott borító megjelenítése lejátszási háttérként';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Használja-e az elmosódott borítót háttérként a lejátszó képernyőjén.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'A dal előadóinak elrejtése, ha megegyezik az album előadóival';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Megjeleníti-e a dal előadóit az album képernyőjén, ha nem különbözik az album előadóitól.';
@override
String get disableGesture => 'Gesztusok letiltása';
@override
String get disableGestureSubtitle => 'A gesztusok letiltása.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Téma';
@override
String get system => 'Rendszer';
@override
String get light => 'Világos';
@override
String get dark => 'Sötét';
@override
String get tabs => 'Tabok';
@override
String get cancelSleepTimer => 'Törlöd az elalvásidőzítőt?';
@override
String get yesButtonLabel => 'IGEN';
@override
String get noButtonLabel => 'NEM';
@override
String get setSleepTimer => 'Elalvásidőzítő beállítása';
@override
String get minutes => 'Percek';
@override
String get invalidNumber => 'Érvénytelen szám';
@override
String get sleepTimerTooltip => 'Elalvás időzítő';
@override
String get addToPlaylistTooltip => 'Hozzáadás a lejátszási listához';
@override
String get addToPlaylistTitle => 'Hozzáadás a Lejátszási Listához';
@override
String get removeFromPlaylistTooltip => 'Remove from playlist';
@override
String get removeFromPlaylistTitle => 'Remove from Playlist';
@override
String get newPlaylist => 'Új lejátszási lista';
@override
String get createButtonLabel => 'LÉTREHOZÁS';
@override
String get playlistCreated => 'Lejátszási lista létrehozva.';
@override
String get noAlbum => 'Album nélkül';
@override
String get noItem => 'Nincs tárgy';
@override
String get noArtist => 'Nincs előadó';
@override
String get unknownArtist => 'Ismeretlen Előadó';
@override
String get streaming => 'STREAMELÉS';
@override
String get downloaded => 'LETÖLTVE';
@override
String get transcode => 'TRANSZKÓD';
@override
String get direct => 'DIREKT';
@override
String get statusError => 'ÁLLAPOT HIBA';
@override
String get queue => 'Sor';
@override
String get addToQueue => 'Hozzáadás a sorhoz';
@override
String get playNext => 'Play Next';
@override
String get replaceQueue => 'Sor kicserélése';
@override
String get instantMix => 'Instant Keverés';
@override
String get goToAlbum => 'Ugrás az albumra';
@override
String get removeFavourite => 'Kedvenc eltávolítása';
@override
String get addFavourite => 'Hozzáadás a kedvencekhez';
@override
String get addedToQueue => 'Hozzáadva a sorhoz.';
@override
String get insertedIntoQueue => 'Inserted into queue.';
@override
String get queueReplaced => 'Sor cserélve.';
@override
String get removedFromPlaylist => 'Removed from playlist.';
@override
String get startingInstantMix => 'Instant mix indítása.';
@override
String get anErrorHasOccured => 'Hiba történt.';
@override
String responseError(String error, int statusCode) {
return '$error Állapotkód $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Állapotkód: $statusCode. Ez valószínűleg azt jelenti, hogy rossz felhasználónevet/jelszót használt, vagy a kliens már nincs hitelesítve.';
}
@override
String get removeFromMix => 'Kivétel a Mixből';
@override
String get addToMix => 'Hozzáadás a Mix-hez';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count elemek újra letöltve',
one: ' $count elem újra letöltve',
zero: 'Nincs szükség újratöltésre..',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Puffer időtartama';
@override
String get bufferDurationSubtitle =>
'Mennyit kell pufferelnie a lejátszónak másodpercben. Újraindítást igényel.';
@override
String get language => 'Language';
@override
String get confirm => 'Confirm';
@override
String get showUncensoredLogMessage =>
'This log contains your login information. Show?';
@override
String get resetTabs => 'Reset tabs';
@override
String get noMusicLibrariesTitle => 'No Music Libraries';
@override
String get noMusicLibrariesBody =>
'Finamp could not find any music libraries. Please ensure that your Jellyfin server contains at least one library with the content type set to \"Music\".';
@override
String get refresh => 'REFRESH';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+739
View File
@@ -0,0 +1,739 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Italian (`it`).
class AppLocalizationsIt extends AppLocalizations {
AppLocalizationsIt([String locale = 'it']) : super(locale);
@override
String startupError(String error) {
return 'Qualcosa è andato storto durante l\'avvio dell\'app. L\'errore è stato: $error\n\nPerfavore apri una segnalazione su github.com/UnicornsOnLSD/finamp con uno screenshot di questa pagina. Se il problema persiste puoi cancellare i dati dell\'app per riportarla alle impostazioni iniziali.';
}
@override
String get serverUrl => 'URL del Server';
@override
String get internalExternalIpExplanation =>
'Se vuoi accedere al tuo server di Jellyfin da remoto devi usare il tuo IP pubblico.\n\nSe il tuo server usa una porta HTTP (80/443) non è necessario specificare la porta. Può verificarsi se il tuo server ad esempio si trova dietro un reverse proxy.';
@override
String get emptyServerUrl => 'l\'URL del Server non può essere vuoto';
@override
String get urlStartWithHttps => 'l\'URL deve iniziare con http:// o https://';
@override
String get urlTrailingSlash =>
'l\'URL non deve contenere il carattere (/) alla fine';
@override
String get username => 'Nome utente';
@override
String get password => 'Password';
@override
String get logs => 'Log';
@override
String get next => 'Avanti';
@override
String get selectMusicLibraries => 'Seleziona le Librerie Musicali';
@override
String get couldNotFindLibraries =>
'Non è possibile trovare alcuna libreria.';
@override
String get unknownName => 'Nome Sconosciuto';
@override
String get songs => 'Brani';
@override
String get albums => 'Album';
@override
String get artists => 'Artisti';
@override
String get genres => 'Generi';
@override
String get playlists => 'Playlist';
@override
String get startMix => 'Riproduco Mix';
@override
String get startMixNoSongsArtist =>
'Effettua una pressione prolungata su un artista per aggiungerlo o rimuoverlo dal mix builder prima di far partire un mix';
@override
String get startMixNoSongsAlbum =>
'Effettua una pressione prolungata su un album per aggiungerlo o rimuoverlo dal mix builder prima di far partire un mix';
@override
String get music => 'Musica';
@override
String get clear => 'Cancella';
@override
String get favourites => 'Preferiti';
@override
String get shuffleAll => 'Riproduci casualmente tutti';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Download';
@override
String get settings => 'Impostazioni';
@override
String get offlineMode => 'Modailtà Offline';
@override
String get sortOrder => 'Ordinamento';
@override
String get sortBy => 'Ordina per';
@override
String get album => 'Album';
@override
String get albumArtist => 'Artista dell\'Album';
@override
String get artist => 'Artista';
@override
String get budget => 'Budget';
@override
String get communityRating => 'Valutazione della comunità';
@override
String get criticRating => 'Punteggio della critica';
@override
String get dateAdded => 'Data di Aggiunta';
@override
String get datePlayed => 'Data di Riproduzione';
@override
String get playCount => 'Conteggio Riproduzioni';
@override
String get premiereDate => 'Data di Rilascio';
@override
String get productionYear => 'Anno di Produzione';
@override
String get name => 'Nome';
@override
String get random => 'Casuale';
@override
String get revenue => 'Incassi';
@override
String get runtime => 'Tempo di esecuzione';
@override
String get syncDownloadedPlaylists => 'Sincronizza playlists scaricate';
@override
String get downloadMissingImages => 'Scarica immagini mancanti';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Scaricate $count immagini mancanti',
one: 'Scaricata $count immagine mancante',
zero: 'Non ho trovato alcuna immagine mancante',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Errori durante il download';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count download',
one: '$count download',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count oggetti',
one: '$count oggetto',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count immagini',
one: '$count immagine',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count finito';
}
@override
String dlFailed(int count) {
return '$count falliti';
}
@override
String dlEnqueued(int count) {
return '$count in coda';
}
@override
String dlRunning(int count) {
return '$count in riproduzione';
}
@override
String get downloadErrorsTitle => 'Errori durante il Download';
@override
String get noErrors => 'Nessun errore!';
@override
String get errorScreenError =>
'Si è verificato un errore mentre tentavo di ottenere la lista degli errori! A questo punto probabilmente dovresti aprire una issue su GitHub e cancellare i dati dell\'app';
@override
String get failedToGetSongFromDownloadId =>
'Impossibile ottenere il brano dall\'ID di download';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Elimina';
@override
String get deleteDownloadsAbortButtonText => 'Annulla';
@override
String get error => 'Errore';
@override
String discNumber(int number) {
return 'Disco $number';
}
@override
String get playButtonLabel => 'RIPRODUCI';
@override
String get shuffleButtonLabel => 'RIPRODUCI CASUALMENTE';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count Brani',
one: '$count Brano',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Modifica il nome della playlist';
@override
String get editPlaylistNameTitle => 'Modifica il Nome della Playlist';
@override
String get required => 'Richiesto';
@override
String get updateButtonLabel => 'AGGIORNAMENTO';
@override
String get playlistNameUpdated => 'Playlist nome aggiornato.';
@override
String get favourite => 'Preferiti';
@override
String get downloadsDeleted => 'Download cancellati.';
@override
String get addDownloads => 'Aggiungi Download';
@override
String get location => 'Posizione';
@override
String get downloadsAdded => 'Download aggiunti.';
@override
String get addButtonLabel => 'AGGIUNGI';
@override
String get shareLogs => 'Condividi i log';
@override
String get logsCopied => 'Log copiati.';
@override
String get message => 'Messaggio';
@override
String get stackTrace => 'Stack Trace';
@override
String get applicationLegalese =>
'Concesso in licenza con \"Mozilla Public License 2.0\". Codice Sorgente disponibile su:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transcodifica';
@override
String get downloadLocations => 'Cartella di Download';
@override
String get audioService => 'Servizio Audio';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Aspetto & Temi';
@override
String get notAvailableInOfflineMode => 'Non disponibile in modalità offline';
@override
String get logOut => 'Disconnetti';
@override
String get downloadedSongsWillNotBeDeleted =>
'I brani scaricati non saranno cancellati';
@override
String get areYouSure => 'Sei sicuro?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin usa AAC per la transcodifica';
@override
String get enableTranscoding => 'Attiva Transcodifica';
@override
String get enableTranscodingSubtitle =>
'Transcodifica I flussi di musica dal lato server.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'Un bitrate più alto permette di avere una qualità audio più alta al costo di un più alto consumo della connessione dati.';
@override
String get customLocation => 'Posizione Personalizzata';
@override
String get appDirectory => 'Cartella dell\'App';
@override
String get addDownloadLocation => 'Aggiungi la posizione per i Download';
@override
String get selectDirectory => 'Seleziona Cartella';
@override
String get unknownError => 'Errore Sconosciuto';
@override
String get pathReturnSlashErrorMessage =>
'Non possono essere usati percorsi che terminano con \"/\"';
@override
String get directoryMustBeEmpty => 'La cartella deve essere vuota';
@override
String get customLocationsBuggy =>
'Le posizioni personalizzate sono estremamente instabili a causa di problemi con i permessi. Sto pensando a un modo di aggiustarle, ma per adesso non ne consiglio l\'utilizzo.';
@override
String get enterLowPriorityStateOnPause =>
'Entra nello Stato a Bassa-Priorità quando in Pausa';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Permette di scartare una notifica quando la riproduzione è in pausa. Inoltre consente ad Android di terminare il servizio quando la riproduzione è in pausa.';
@override
String get shuffleAllSongCount =>
'Riproduci Casualmente Tutte Le Canzoni Conteggiate';
@override
String get shuffleAllSongCountSubtitle =>
'Numero di brani da caricare quando si usa il tasto per la riproduzione casuale di tutti i brani.';
@override
String get viewType => 'Modalità di Visualizzazione';
@override
String get viewTypeSubtitle =>
'Modalità di visualizzazione per la schermata musica';
@override
String get list => 'Lista';
@override
String get grid => 'Griglia';
@override
String get portrait => 'Visualizzazione verticale';
@override
String get landscape => 'Visualizzazione orizzontale';
@override
String gridCrossAxisCount(String value) {
return '$value Numero di Colonne nella Vista a griglia';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Numero di colonne da usare per ciascuna riga quando $value.';
}
@override
String get showTextOnGridView => 'Mostra testo nella vista a griglia';
@override
String get showTextOnGridViewSubtitle =>
'Mostrare il testo (titolo, artista, etc.) nella Vista a griglia della schermata della musica.';
@override
String get showCoverAsPlayerBackground =>
'Mostra le copertine sfocate quando il player è in background';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Usare o meno cover sfocate come sfondo nella schermata di riproduzione.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Nascondi l\'artista del brano se uguale all\'artista dell\'album';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Se mostrare gli artisti del brano nella visualizzazione album nel caso coincidano con gli artisti dell\'album.';
@override
String get disableGesture => 'Disabilita gesti';
@override
String get disableGestureSubtitle => 'Se vuoi disabilitare i gesti.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Tema';
@override
String get system => 'Sistema';
@override
String get light => 'Chiaro';
@override
String get dark => 'Scuro';
@override
String get tabs => 'Schede';
@override
String get cancelSleepTimer => 'Cancellare il Timer di spegnimento?';
@override
String get yesButtonLabel => 'SI';
@override
String get noButtonLabel => 'NO';
@override
String get setSleepTimer => 'Imposta Timer di Spegnimento';
@override
String get minutes => 'Minuti';
@override
String get invalidNumber => 'Numero non valido';
@override
String get sleepTimerTooltip => 'Timer di spegnimento';
@override
String get addToPlaylistTooltip => 'Aggiungi alla playlist';
@override
String get addToPlaylistTitle => 'Aggiungi alla Playlist';
@override
String get removeFromPlaylistTooltip => 'Rimuovi dalla playlist';
@override
String get removeFromPlaylistTitle => 'Rimuovi dalla playlist';
@override
String get newPlaylist => 'Nuova Playlist';
@override
String get createButtonLabel => 'CREA';
@override
String get playlistCreated => 'Playlist creata.';
@override
String get noAlbum => 'Nessun Album';
@override
String get noItem => 'Nessun Oggetto';
@override
String get noArtist => 'Nessun Artista';
@override
String get unknownArtist => 'Artista Sconosciuto';
@override
String get streaming => 'STREAMING';
@override
String get downloaded => 'Scaricato';
@override
String get transcode => 'TRANSCODIFICA';
@override
String get direct => 'DIRETTO';
@override
String get statusError => 'ERRORE DI STATO';
@override
String get queue => 'Coda';
@override
String get addToQueue => 'Aggiungi alla Coda';
@override
String get playNext => 'Suona il prossimo';
@override
String get replaceQueue => 'Sostituisci Coda';
@override
String get instantMix => 'Mix Istantaneo';
@override
String get goToAlbum => 'Vai all\'Album';
@override
String get removeFavourite => 'Rimuovi Preferito';
@override
String get addFavourite => 'Aggiungi Favorito';
@override
String get addedToQueue => 'Aggiunto alla coda.';
@override
String get insertedIntoQueue => 'Inserito nella coda.';
@override
String get queueReplaced => 'Coda sostituita.';
@override
String get removedFromPlaylist => 'Rimosso dalla playlist.';
@override
String get startingInstantMix => 'Riproduco un mix istantaneo.';
@override
String get anErrorHasOccured => 'Si è verificato un errore.';
@override
String responseError(String error, int statusCode) {
return '$error Status code $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Codice errore $statusCode. Questo probabilmente significa che hai usato username/password errati, o il tuo client non è più autenticato.';
}
@override
String get removeFromMix => 'Rimuovi dal Mix';
@override
String get addToMix => 'Aggiungi al Mix';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Riscaricati $count oggetti',
one: 'Riscaricato $count oggetto',
zero: 'Non è necessario riscaricare nulla.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Durata Buffer';
@override
String get bufferDurationSubtitle =>
'Quanto buffer, in secondi, deve avere il player. Richiede riavvio.';
@override
String get language => 'Lingua';
@override
String get confirm => 'Conferma';
@override
String get showUncensoredLogMessage =>
'Questo log contiene le tue credenziali di accesso. Vuoi vederlo?';
@override
String get resetTabs => 'Resettare le schede';
@override
String get noMusicLibrariesTitle => 'Nessuna raccolta musicale';
@override
String get noMusicLibrariesBody =>
'Finamp non è riuscito a trovare nessuna raccolta musicale. Sei pregato di controllare che il tuo server Jellyfin contenga almeno una raccolta con il genere configurato come \"Musica\".';
@override
String get refresh => 'AGGIORNA';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+722
View File
@@ -0,0 +1,722 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Japanese (`ja`).
class AppLocalizationsJa extends AppLocalizations {
AppLocalizationsJa([String locale = 'ja']) : super(locale);
@override
String startupError(String error) {
return '起動時に問題が起こりました。エラー内容: $error\n\ngithub.com/UnicornsOnLSD/finamp でイシューを作成し、このページのスクリーンショットを付けてください。問題が継続した場合はアプリデータをクリアしてアプリを初期化して下さい。';
}
@override
String get serverUrl => 'サーバー URL';
@override
String get internalExternalIpExplanation =>
'リモートからJellyfinサーバーにアクセスするには外部IPを指定する必要があります。\n\nサーバーがHTTPポート(80/443)で動いている場合にはポートは不要です。サーバーがリバースプロキシの後ろにある場合はこれが一般的です。';
@override
String get emptyServerUrl => 'サーバーURLを入力してください';
@override
String get urlStartWithHttps => 'URL は http:// か https:// で始まらなければなりません';
@override
String get urlTrailingSlash => 'URL の末尾にスラッシュがあってはなりません';
@override
String get username => 'ユーザー名';
@override
String get password => 'パスワード';
@override
String get logs => 'ログ';
@override
String get next => '';
@override
String get selectMusicLibraries => 'ミュージック・ライブラリを選択';
@override
String get couldNotFindLibraries => 'ライブラリが見つかりません。';
@override
String get unknownName => 'タイトル不明';
@override
String get songs => '';
@override
String get albums => 'アルバム';
@override
String get artists => 'アーティスト';
@override
String get genres => 'ジャンル';
@override
String get playlists => 'プレイリスト';
@override
String get startMix => 'ミックス開始';
@override
String get startMixNoSongsArtist => 'アーティスト名を長押しすることでミックス対象に追加または削除できます';
@override
String get startMixNoSongsAlbum => 'アルバムを長押しすることでミックス対象に追加または削除できます';
@override
String get music => 'ミュージック';
@override
String get clear => 'クリア';
@override
String get favourites => 'お気に入り';
@override
String get shuffleAll => '全てシャッフル';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'ダウンロード';
@override
String get settings => '設定';
@override
String get offlineMode => 'オフライン・モード';
@override
String get sortOrder => '並び順';
@override
String get sortBy => '並び基準';
@override
String get album => 'アルバム';
@override
String get albumArtist => 'アルバム・アーティスト';
@override
String get artist => 'アーティスト';
@override
String get budget => '予算';
@override
String get communityRating => 'コミュニティ評価';
@override
String get criticRating => '評論家評価';
@override
String get dateAdded => '追加日';
@override
String get datePlayed => '再生日';
@override
String get playCount => '再生回数';
@override
String get premiereDate => '公開日';
@override
String get productionYear => '作成年';
@override
String get name => '曲名';
@override
String get random => 'ランダム';
@override
String get revenue => '収入';
@override
String get runtime => '再生時間';
@override
String get syncDownloadedPlaylists => 'ダウンロードしたプレイリストの同期';
@override
String get downloadMissingImages => '欠けている画像をダウンロード';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '欠けている画像を $count 枚ダウンロード',
one: '欠けている画像を $count 枚ダウンロード',
zero: '欠けている画像が見つかりません',
);
return '$_temp0';
}
@override
String get downloadErrors => 'ダウンロード・エラー';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count個ダウンロード',
one: '$count 個ダウンロード',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$countアイテム',
one: '$count アイテム',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count枚の画像',
one: '$count 枚の画像',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count 個完了';
}
@override
String dlFailed(int count) {
return '$count個失敗';
}
@override
String dlEnqueued(int count) {
return '$count 個キューに追加';
}
@override
String dlRunning(int count) {
return '$count 個再生中';
}
@override
String get downloadErrorsTitle => 'ダウンロード・エラー';
@override
String get noErrors => 'エラーなし!';
@override
String get errorScreenError =>
'エラーリスト取得時にエラーが発生しました!この時点では、GitHub で issue を作成し、アプリデータを削除することをお勧めします';
@override
String get failedToGetSongFromDownloadId => 'ダウンロード ID から曲が取得できません';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'このデバイスから$_temp0 \'$itemName\'を削除してもよろしいですか?';
}
@override
String get deleteDownloadsConfirmButtonText => '削除';
@override
String get deleteDownloadsAbortButtonText => 'キャンセル';
@override
String get error => 'エラー';
@override
String discNumber(int number) {
return 'ディスク $number';
}
@override
String get playButtonLabel => '再生';
@override
String get shuffleButtonLabel => 'シャッフル';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count曲',
one: '$count曲',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'プレイリスト名を編集';
@override
String get editPlaylistNameTitle => 'プレイリスト名を編集';
@override
String get required => '必須';
@override
String get updateButtonLabel => '更新';
@override
String get playlistNameUpdated => 'プレイリスト名を更新しました。';
@override
String get favourite => 'お気に入り';
@override
String get downloadsDeleted => 'ダウンロードを削除しました。';
@override
String get addDownloads => 'ダウンロードを追加';
@override
String get location => '場所';
@override
String get downloadsAdded => 'ダウンロードを追加しました。';
@override
String get addButtonLabel => '追加';
@override
String get shareLogs => 'ログ共有';
@override
String get logsCopied => 'ログをコピーしました。';
@override
String get message => 'メッセージ';
@override
String get stackTrace => 'スタックトレース';
@override
String get applicationLegalese =>
'Mozilla Public License 2.0 でライセンスされています。ソース コードは以下から入手できます:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'トランスコード';
@override
String get downloadLocations => 'ダウンロード場所';
@override
String get audioService => 'オーディオ・サービス';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'レイアウト&テーマ';
@override
String get notAvailableInOfflineMode => 'オフライン・モードでは無効';
@override
String get logOut => 'ログアウト';
@override
String get downloadedSongsWillNotBeDeleted => 'ダウロード済みの曲は削除されません';
@override
String get areYouSure => 'よろしいですか?';
@override
String get jellyfinUsesAACForTranscoding => 'Jellyfin はトランスコードに AAC を利用します';
@override
String get enableTranscoding => 'トランスコード有効';
@override
String get enableTranscodingSubtitle => 'サーバー側の音楽ストリームをトランスコードします。';
@override
String get bitrate => 'ビットレート';
@override
String get bitrateSubtitle => '高いビットレートではオーディオの質が高くなりますが、転送容量も高くなります。';
@override
String get customLocation => '指定の場所';
@override
String get appDirectory => 'Appのディレクトリ';
@override
String get addDownloadLocation => 'ダウンロード場所を追加';
@override
String get selectDirectory => 'ディレクトリを選択';
@override
String get unknownError => '不明なエラー';
@override
String get pathReturnSlashErrorMessage => '\"/\" を返すパスは利用できません';
@override
String get directoryMustBeEmpty => 'ディレクトリは空でなければなりません';
@override
String get customLocationsBuggy =>
'カスタムの場所は、権限の問題により、非常にバグが多くなります。これを修正する方法を考えていますが、今のところは使用しないことをお勧めします。';
@override
String get enterLowPriorityStateOnPause => '一時停止時は低優先度状態';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'一時停止時に通知をスワイプで除去できます。また Android では一時停止時にサービスを停止できます。';
@override
String get shuffleAllSongCount => '曲がシャッフル化される回数';
@override
String get shuffleAllSongCountSubtitle => 'すべての曲をシャッフルする時、ここで指定した曲数をロードします。';
@override
String get viewType => 'ビューの形式';
@override
String get viewTypeSubtitle => 'ミュージック画面の表示形式';
@override
String get list => 'リスト';
@override
String get grid => 'グリッド';
@override
String get portrait => '縦表示';
@override
String get landscape => '横表示';
@override
String gridCrossAxisCount(String value) {
return '$value のアイテム数';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return '$valueの場合一行当たりのグリッドタイル数';
}
@override
String get showTextOnGridView => 'グリッド・ビューでテキストを表示する';
@override
String get showTextOnGridViewSubtitle =>
'グリッド音楽画面でテキスト(タイトル、アーティスト等)を表示させるか。';
@override
String get showCoverAsPlayerBackground => 'プレイヤー背景にジャケット画像をぼかして表示する';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'プレイヤー画面で背景にジャケット画像をぼかして表示させるか。';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'曲のアーティストがアルバム・アーティストと同じの場合、表示しない';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'曲のアーティストがアルバムのアーティストと一致した場合、アルバム画面に表示させるか。';
@override
String get disableGesture => 'ジェスチャーを無効';
@override
String get disableGestureSubtitle => 'ジェスチャーを無効にするか。';
@override
String get showFastScroller => '高速スクロールを表示';
@override
String get theme => 'テーマ';
@override
String get system => 'システム';
@override
String get light => '明るい';
@override
String get dark => '暗い';
@override
String get tabs => 'タブ';
@override
String get cancelSleepTimer => 'スリープ・タイマーをキャンセルしますか?';
@override
String get yesButtonLabel => 'はい';
@override
String get noButtonLabel => 'いいえ';
@override
String get setSleepTimer => 'スリープ・タイマーを設定';
@override
String get minutes => '';
@override
String get invalidNumber => '無効な数値';
@override
String get sleepTimerTooltip => 'スリープ・タイマー';
@override
String get addToPlaylistTooltip => 'プレイリストに追加';
@override
String get addToPlaylistTitle => 'プレイリストに追加';
@override
String get removeFromPlaylistTooltip => 'プレイリストから外す';
@override
String get removeFromPlaylistTitle => 'プレイリストから外す';
@override
String get newPlaylist => '新規プレイリスト';
@override
String get createButtonLabel => '作成';
@override
String get playlistCreated => 'プレイリストを作成しました。';
@override
String get noAlbum => 'アルバム無し';
@override
String get noItem => 'アイテム無し';
@override
String get noArtist => 'アーティスト無し';
@override
String get unknownArtist => 'アーティスト不明';
@override
String get streaming => 'ストリーミング';
@override
String get downloaded => 'ダウンロード済み';
@override
String get transcode => 'トランスコード';
@override
String get direct => '直接';
@override
String get statusError => 'ステータス・エラー';
@override
String get queue => 'キュー';
@override
String get addToQueue => 'キューに追加';
@override
String get playNext => '再生次';
@override
String get replaceQueue => 'キューを置き換え';
@override
String get instantMix => 'インスタント・ミックス';
@override
String get goToAlbum => 'アルバムに行く';
@override
String get removeFavourite => 'お気に入りを削除';
@override
String get addFavourite => 'お気に入りを追加';
@override
String get addedToQueue => 'キューに追加。';
@override
String get insertedIntoQueue => 'キューに挿入されました。';
@override
String get queueReplaced => 'キューを置き換えました。';
@override
String get removedFromPlaylist => 'プレイリストから外しました。';
@override
String get startingInstantMix => 'インスタント・ミックス開始。';
@override
String get anErrorHasOccured => 'エラーが発生しました。';
@override
String responseError(String error, int statusCode) {
return '$error ステータスコード $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Status code $statusCode. ユーザー名/パスワードが間違っているか、クライアントがログインしていません。';
}
@override
String get removeFromMix => 'ミックスから外す';
@override
String get addToMix => 'ミックスに追加';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Redownloaded $count items',
one: 'Redownloaded $count item',
zero: 'No redownloads needed.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'バッファ容量';
@override
String get bufferDurationSubtitle => 'プレイヤーがバッファする容量(秒単位)。リスタートが必要です。';
@override
String get language => '言語';
@override
String get confirm => '確認する';
@override
String get showUncensoredLogMessage => 'このログはあなたのログイン情報を含みます。表示しますか?';
@override
String get resetTabs => 'タブリセット';
@override
String get noMusicLibrariesTitle => '音楽ライブラリなし';
@override
String get noMusicLibrariesBody =>
'Finamp は音楽ライブラリを見つけることができませんでした。Jellyfin サーバーに、コンテンツ タイプが「音楽」に設定されているライブラリが少なくとも 1 つ含まれていることを確認してください。';
@override
String get refresh => 'リフレッシュ';
@override
String get swipeInsertQueueNext => 'スワイプした曲を再生する';
@override
String get swipeInsertQueueNextSubtitle =>
'曲リストでスワイプしたときに、曲を最後に追加するのではなく、キューの次の項目として挿入できるようにします。';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}
+727
View File
@@ -0,0 +1,727 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Korean (`ko`).
class AppLocalizationsKo extends AppLocalizations {
AppLocalizationsKo([String locale = 'ko']) : super(locale);
@override
String startupError(String error) {
return '앱 시작중에 문제가 발생했습니다. 오류 내용:$error\n\n\"github.com/UnicornsOnLSD/finamp\"에 이 페이지의 캡처 화면을 첨부하여 \'이슈\'를 등록 해주세요. 이 문제가 지속되면 당신은 앱 데이터를 삭제하여 앱을 초기화 할 수 있습니다.';
}
@override
String get serverUrl => '서버 URL';
@override
String get internalExternalIpExplanation =>
'귀하의 Jellyfin 서버에 원격으로 접속하려면, 외부 IP 주소를 사용해야 합니다.\n\n귀하의 서버가 HTTP 포트(80/443)에 있거나 역방향 프록시(Reverse Proxy) 뒤에 있는 경우, 포트를 지정할 필요는 없습니다.';
@override
String get emptyServerUrl => '서버 URL은 필수값 입니다';
@override
String get urlStartWithHttps => 'URL은 \"http://\" 또는 \"https://\"로 시작해야 합니다';
@override
String get urlTrailingSlash => 'URL 끝부분에 슬래시(/, 후행 슬래시)를 붙이지 마세요';
@override
String get username => '사용자 이름(아이디)';
@override
String get password => '암호';
@override
String get logs => '로그(사용기록)';
@override
String get next => '다음';
@override
String get selectMusicLibraries => '음악 라이브러리 선택';
@override
String get couldNotFindLibraries => '라이브러리를 찾을 수 없습니다.';
@override
String get unknownName => '알 수 없는 이름';
@override
String get songs => '노래';
@override
String get albums => '앨범';
@override
String get artists => '아티스트';
@override
String get genres => '장르';
@override
String get playlists => '플레이리스트';
@override
String get startMix => '믹스 시작하기';
@override
String get startMixNoSongsArtist =>
'믹스를 시작하기 전에 \'아티스트\'를 길게 탭하여 믹스 빌더에서 추가하거나 제거하세요';
@override
String get startMixNoSongsAlbum =>
'믹스를 시작하기 전에 \'앨범\'을 길게 탭하여 믹스 빌더에서 추가하거나 제거하세요';
@override
String get music => '음악';
@override
String get clear => '삭제(비우기)';
@override
String get favourites => '즐겨찾기';
@override
String get shuffleAll => '임의 재생(모두)';
@override
String get finamp => '핀앰프(Finamp)';
@override
String get downloads => '다운로드';
@override
String get settings => '설정';
@override
String get offlineMode => '오프라인 모드';
@override
String get sortOrder => '정렬 순서';
@override
String get sortBy => '정렬 기준';
@override
String get album => '앨범';
@override
String get albumArtist => '앨범 아티스트';
@override
String get artist => '아티스트';
@override
String get budget => '예산';
@override
String get communityRating => '커뮤니티 평점';
@override
String get criticRating => '비평가 평점';
@override
String get dateAdded => '추가된 날짜';
@override
String get datePlayed => '재생한 날짜';
@override
String get playCount => '재생 횟수';
@override
String get premiereDate => '초연(프리미어) 날짜';
@override
String get productionYear => '제작년도';
@override
String get name => '이름';
@override
String get random => '랜덤';
@override
String get revenue => '수익';
@override
String get runtime => '런타임(상영 시간)';
@override
String get syncDownloadedPlaylists => '다운로드한 플레이리스트 동기화';
@override
String get downloadMissingImages => '누락된 이미지 다운로드';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '누락된 이미지 $count건 다운로드',
one: '누락된 이미지 $count건 다운로드',
zero: '누락된 이미지 없음',
);
return '$_temp0';
}
@override
String get downloadErrors => '다운로드 에러';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count건 다운로드',
one: '$count건 다운로드',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count 아이템',
one: '$count 아이템',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '이미지 $count건',
one: '이미지 $count건',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count건 완료';
}
@override
String dlFailed(int count) {
return '$count건 실패';
}
@override
String dlEnqueued(int count) {
return '$count건 대기열에 추가됨';
}
@override
String dlRunning(int count) {
return '$count건 진행중';
}
@override
String get downloadErrorsTitle => '다운로드 오류';
@override
String get noErrors => '오류가 없습니다!';
@override
String get errorScreenError =>
'오류 목록을 가져오지 못했습니다! 이 시점에서는 GitHub에 문제를 등록하고 앱 데이터를 삭제해야 합니다';
@override
String get failedToGetSongFromDownloadId => '다운로드 ID에서 노래를 가져오지 못했습니다';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return '이 기기에서 $_temp0 \'$itemName\'를 삭제하시겠습니까?';
}
@override
String get deleteDownloadsConfirmButtonText => '삭제';
@override
String get deleteDownloadsAbortButtonText => '취소';
@override
String get error => '오류';
@override
String discNumber(int number) {
return '디스크 $number';
}
@override
String get playButtonLabel => '재생';
@override
String get shuffleButtonLabel => '임의 재생';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count',
one: '$count',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => '플레이리스트 이름 수정';
@override
String get editPlaylistNameTitle => '플레이리스트 이름 수정';
@override
String get required => '필수 항목';
@override
String get updateButtonLabel => '업데이트';
@override
String get playlistNameUpdated => '플레이리스트 이름을 갱신했습니다.';
@override
String get favourite => '즐겨찾기';
@override
String get downloadsDeleted => '다운로드 항목을 삭제했습니다.';
@override
String get addDownloads => '다운로드 추가';
@override
String get location => '위치';
@override
String get downloadsAdded => '다운로드를 추가했습니다.';
@override
String get addButtonLabel => '추가';
@override
String get shareLogs => '로그(사용기록) 공유';
@override
String get logsCopied => '로그(사용기록) 복사함.';
@override
String get message => '메시지';
@override
String get stackTrace => '스택 추적';
@override
String get applicationLegalese =>
'Mozilla Public License 2.0에 따라 라이선스가 부여됐습니다. 소스 코드는 다음에서 확인할 수 있습니다:\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => '트랜스코딩';
@override
String get downloadLocations => '다운로드 위치';
@override
String get audioService => '오디오 서비스';
@override
String get interactions => '상호작용';
@override
String get layoutAndTheme => '레이아웃 & 테마';
@override
String get notAvailableInOfflineMode => '오프라인 모드에서는 사용할 수 없습니다';
@override
String get logOut => '로그아웃';
@override
String get downloadedSongsWillNotBeDeleted => '다운로드한 노래는 삭제되지 않습니다';
@override
String get areYouSure => '확실한가요?';
@override
String get jellyfinUsesAACForTranscoding => 'Jellyfin은 트랜스코딩에 AAC를 사용합니다';
@override
String get enableTranscoding => '트랜스코딩 활성화';
@override
String get enableTranscodingSubtitle => '서버 측에서 음악 스트리밍을 트랜스코딩 합니다.';
@override
String get bitrate => '비트레이트';
@override
String get bitrateSubtitle =>
'비트레이트가 높으면 고품질의 음악을 들을 수 있습니다. 데이터 사용량도 증가합니다.';
@override
String get customLocation => '사용자 지정 위치';
@override
String get appDirectory => '앱 디렉토리';
@override
String get addDownloadLocation => '다운로드 위치 추가';
@override
String get selectDirectory => '디렉토리 선택';
@override
String get unknownError => '알수 없는 오류';
@override
String get pathReturnSlashErrorMessage => '\"/(슬래시)\"로 끝나는 경로는 사용할 수 없습니다';
@override
String get directoryMustBeEmpty => '디렉토리는 비어 있어야 합니다';
@override
String get customLocationsBuggy =>
'사용자 지정 위치는 권한 문제 때문에 버그가 매우 많습니다. 이 문제를 해결할 방법을 찾을 때 까지는 사용을 권장하지 않습니다.';
@override
String get enterLowPriorityStateOnPause => '일시 중지시 낮은 우선순위 상태로 전환합니다';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'일시 중지시 알림창을 밀어서 사라지게 합니다. 안드로이드(OS)에서는 일시 중지시 서비스를 강제 종료할 수 있게 합니다.';
@override
String get shuffleAllSongCount => '전곡 임의 재생시 곡 수';
@override
String get shuffleAllSongCountSubtitle =>
'\'전곡 임의 재생\' 버튼을 사용할 때 불러올 곡의 개수입니다.';
@override
String get viewType => '보기 유형';
@override
String get viewTypeSubtitle => '음악 화면 보기 유형';
@override
String get list => '목록';
@override
String get grid => '그리드(격자)';
@override
String get portrait => '세로 보기';
@override
String get landscape => '가로 보기';
@override
String gridCrossAxisCount(String value) {
return '$value 그리드 열 갯수';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return '$value 일때 한 행당 그리드 타일의 개수.';
}
@override
String get showTextOnGridView => '그리드 보기에서 텍스트를 보여줌';
@override
String get showTextOnGridViewSubtitle =>
'그리드 음악 화면에서 \'텍스트(곡목, 아티스트 등)\' 표시 여부를 설정합니다.';
@override
String get showCoverAsPlayerBackground => '흐릿한 커버를 재생 화면 배경으로 보여줌';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'재생 화면에서 \'흐릿한 앨범 커버 배경\' 사용 여부를 설정합니다.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'앨범 아티스트와 동일한 경우, 곡 아티스트를 숨김';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'앨범 화면에서 앨범 아티스트와 동일한 \'곡 아티스트\' 표시 여부를 설정합니다.';
@override
String get disableGesture => '제스처 비활성화';
@override
String get disableGestureSubtitle => '제스처 비활성화 여부를 설정합니다.';
@override
String get showFastScroller => '빠른 스크롤 표시';
@override
String get theme => '테마';
@override
String get system => '시스템';
@override
String get light => '밝은 테마';
@override
String get dark => '어두운 테마';
@override
String get tabs => '';
@override
String get cancelSleepTimer => '취침 타이머를 취소할까요?';
@override
String get yesButtonLabel => '';
@override
String get noButtonLabel => '아니오';
@override
String get setSleepTimer => '취침 타이머 설정';
@override
String get minutes => '';
@override
String get invalidNumber => '잘못된 숫자';
@override
String get sleepTimerTooltip => '취침 타이머';
@override
String get addToPlaylistTooltip => '플레이리스트에 추가';
@override
String get addToPlaylistTitle => '플레이리스트에 추가';
@override
String get removeFromPlaylistTooltip => '플레이리스트에서 삭제';
@override
String get removeFromPlaylistTitle => '플레이리스트에서 삭제';
@override
String get newPlaylist => '새 플레이리스트';
@override
String get createButtonLabel => '만들기';
@override
String get playlistCreated => '플레이리스트 생성됨.';
@override
String get noAlbum => '앨범 없음';
@override
String get noItem => '곡 없음';
@override
String get noArtist => '아티스트 없음';
@override
String get unknownArtist => '알 수 없는 아티스트';
@override
String get streaming => '스트리밍';
@override
String get downloaded => '다운로드됨';
@override
String get transcode => '트랜스코딩';
@override
String get direct => '다이렉트';
@override
String get statusError => '상태 오류';
@override
String get queue => '대기열';
@override
String get addToQueue => '대기열에 추가';
@override
String get playNext => '다음 곡 재생';
@override
String get replaceQueue => '대기열 교체';
@override
String get instantMix => '인스턴트 믹스';
@override
String get goToAlbum => '앨범으로 이동';
@override
String get removeFavourite => '즐겨찾기 삭제';
@override
String get addFavourite => '즐겨찾기 추가';
@override
String get addedToQueue => '대기열 끝에 추가.';
@override
String get insertedIntoQueue => '대기열 중간에 추가.';
@override
String get queueReplaced => '대기열이 교체됨.';
@override
String get removedFromPlaylist => '플레이리스트에서 삭제됨.';
@override
String get startingInstantMix => '인스턴트 믹스 시작.';
@override
String get anErrorHasOccured => '오류가 발생했습니다.';
@override
String responseError(String error, int statusCode) {
return '$error 상태 코드 $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error 상태 코드 $statusCode. 이것은 아마도 잘못된 로그인 정보를 사용했거나, 더 이상 로그인되어 있지 않음을 의미합니다.';
}
@override
String get removeFromMix => '믹스에서 삭제';
@override
String get addToMix => '믹스에 추가';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count 아이템 다시 다운로드함',
one: '$count 아이템 다시 다운로드함',
zero: '다시 다운로드할 필요가 없습니다.',
);
return '$_temp0';
}
@override
String get bufferDuration => '버퍼 시간';
@override
String get bufferDurationSubtitle => '플레이어가 버퍼링해야 하는 시간(초) 입니다. 다시 시작해야 합니다.';
@override
String get language => '언어';
@override
String get confirm => '확인';
@override
String get showUncensoredLogMessage =>
'이 로그(사용기록)는 귀하의 로그인 정보를 포함합니다. 표시할까요?';
@override
String get resetTabs => '탭 초기화';
@override
String get noMusicLibrariesTitle => '음악 라이브러리 없음';
@override
String get noMusicLibrariesBody =>
'Finamp가 음악 라이브러리를 찾을 수 없습니다. 귀하의 Jellyfin 서버에 콘텐츠 유형이 \"음악\"으로 설정된 라이브러리가 하나 이상 있는지 확인하세요.';
@override
String get refresh => '새로고침';
@override
String get swipeInsertQueueNext => '스와이프한 노래 재생';
@override
String get swipeInsertQueueNextSubtitle =>
'노래 목록에서 스와이프 했을 때, 노래를 대기열 끝에 추가하는 대신 바로 다음 곡으로 삽입할 수 있습니다.';
@override
String get redesignBeta => '베타 버전 사용해보기';
@override
String get playbackOrderShuffledTooltip => '임의 재생. 전환하려면 탭하세요.';
@override
String get playbackOrderLinearTooltip => '순차 재생. 전환하려면 탭하세요.';
@override
String get loopModeAllTooltip => '모두 반복. 전환하려면 탭하세요.';
@override
String get loopModeOneTooltip => '한곡 반복. 전환하려면 탭하세요.';
@override
String get loopModeNoneTooltip => '반복 안 함. 전환하려면 탭하세요.';
@override
String get skipToPrevious => '이전 곡으로 넘기기';
@override
String get skipToNext => '다음 곡으로 넘기기';
@override
String get togglePlayback => '재생 전환하기';
@override
String playArtist(String artist) {
return '$artist의 모든 앨범 재생';
}
@override
String shuffleArtist(String artist) {
return '$artist의 모든 앨범 임의 재생';
}
@override
String downloadArtist(String artist) {
return '$artist의 모든 앨범 다운로드';
}
@override
String get deleteFromDevice => '기기에서 삭제하기';
@override
String get download => '다운로드';
@override
String get sync => '서버와 동기화하기';
@override
String get about => 'Finamp(핀앰프) 소개';
}
+737
View File
@@ -0,0 +1,737 @@
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Norwegian Bokmål (`nb`).
class AppLocalizationsNb extends AppLocalizations {
AppLocalizationsNb([String locale = 'nb']) : super(locale);
@override
String startupError(String error) {
return 'Noe gikk galt under oppstart av programmet. Feilen var: $error\n\nOpprett en feilrapport på github.com/UnicornsOnLSD/finamp med en skjermavbildning av denne siden. Hvis problemet vedvarer kan du tømme programdata for å tilbakestille programmet.';
}
@override
String get serverUrl => 'Tjener-nettadresse';
@override
String get internalExternalIpExplanation =>
'Hvis du vil ha tilgang til Jellyfin-tjeneren din annensteds fra må du bruke din eksterne IP-adresse.\n\nHvis tjeneren din er på en HTTP-port (80/443) må du angi en port. Dette er sannsynligvis tilfelle hvis tjeneren din er bak en omvendt mellomtjener.';
@override
String get emptyServerUrl => 'Tjener-nettadressen kan ikke stå tom';
@override
String get urlStartWithHttps =>
'Nettadressen må starte med http:// eller https://';
@override
String get urlTrailingSlash =>
'Nettadressen kan ikke inneholde avsluttende skråstrek';
@override
String get username => 'Brukernavn';
@override
String get password => 'Passord';
@override
String get logs => 'Loggføring';
@override
String get next => 'Neste';
@override
String get selectMusicLibraries => 'Velg musikkbibliotek';
@override
String get couldNotFindLibraries => 'Fant ikke noen bibliotek.';
@override
String get unknownName => 'Ukjent navn';
@override
String get songs => 'Spor';
@override
String get albums => 'Album';
@override
String get artists => 'Artister';
@override
String get genres => 'Sjangere';
@override
String get playlists => 'Spillelister';
@override
String get startMix => 'Start miks';
@override
String get startMixNoSongsArtist =>
'Lang-trykk på en artist for å legge til eller fjerne vedkommende fra miksbyggeren før du starter en miks';
@override
String get startMixNoSongsAlbum =>
'Lang-trykk et album for å legge til eller fjerne det fra miksbyggeren før du starter en miks';
@override
String get music => 'Musikk';
@override
String get clear => 'Tøm';
@override
String get favourites => 'Favoritter';
@override
String get shuffleAll => 'Tilfelding avspilling av alt';
@override
String get finamp => 'Finamp';
@override
String get downloads => 'Nedlastninger';
@override
String get settings => 'Innstillinger';
@override
String get offlineMode => 'Frakoblet modus';
@override
String get sortOrder => 'Sorteringsrekkefølge';
@override
String get sortBy => 'Sorter etter';
@override
String get album => 'Album';
@override
String get albumArtist => 'Albumsartist';
@override
String get artist => 'Artist';
@override
String get budget => 'Budsjett';
@override
String get communityRating => 'Gemenskapsvurdering';
@override
String get criticRating => 'Kritikervurdering';
@override
String get dateAdded => 'Dato lagt til';
@override
String get datePlayed => 'Dato avspilt';
@override
String get playCount => 'Avspillingsantall';
@override
String get premiereDate => 'Premieredato';
@override
String get productionYear => 'Produksjonsår';
@override
String get name => 'Navn';
@override
String get random => 'Tilfeldig';
@override
String get revenue => 'Omsetning';
@override
String get runtime => 'Lengde';
@override
String get syncDownloadedPlaylists => 'Sync downloaded playlists';
@override
String get downloadMissingImages => 'Last ned manglende bilder';
@override
String downloadedMissingImages(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Lastet ned $count manglende bilder',
one: 'Lastet ned $count manglende bilde',
zero: 'Fant ingen manglende bilder',
);
return '$_temp0';
}
@override
String get downloadErrors => 'Nedlastingsfeil';
@override
String downloadCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count nedlastinger',
one: '$count nedlasting',
);
return '$_temp0';
}
@override
String downloadedItemsCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count elementer',
one: '$count element',
);
return '$_temp0';
}
@override
String downloadedImagesCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count bilder',
one: '$count bilde',
);
return '$_temp0';
}
@override
String downloadedItemsImagesCount(
String downloadedItems, String downloadedImages) {
return '$downloadedItems, $downloadedImages';
}
@override
String dlComplete(int count) {
return '$count fullført';
}
@override
String dlFailed(int count) {
return '$count mislykket';
}
@override
String dlEnqueued(int count) {
return '$count i kø';
}
@override
String dlRunning(int count) {
return '$count kjører';
}
@override
String get downloadErrorsTitle => 'Nedlastingsfeil';
@override
String get noErrors => 'Ingen feil.';
@override
String get errorScreenError =>
'En feil inntraff under innhenting av listen over feil. Herfra bør du kanskje opprette en feilrapport på GitHub og slette programdataen.';
@override
String get failedToGetSongFromDownloadId =>
'Klarte ikke å hente spor fra nedlastings-ID';
@override
String deleteDownloadsPrompt(String itemName, String itemType) {
String _temp0 = intl.Intl.selectLogic(
itemType,
{
'album': 'album',
'playlist': 'playlist',
'artist': 'artist',
'genre': 'genre',
'track': 'song',
'other': '',
},
);
return 'Are you sure you want to delete the $_temp0 \'$itemName\' from this device?';
}
@override
String get deleteDownloadsConfirmButtonText => 'Delete';
@override
String get deleteDownloadsAbortButtonText => 'Cancel';
@override
String get error => 'Feil';
@override
String discNumber(int number) {
return 'Disk $number';
}
@override
String get playButtonLabel => 'Spill';
@override
String get shuffleButtonLabel => 'Tilfeldig avspilling';
@override
String songCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count spor',
one: '$count spor',
);
return '$_temp0';
}
@override
String get editPlaylistNameTooltip => 'Rediger spillelistenavn';
@override
String get editPlaylistNameTitle => 'Rediger spillelistenavn';
@override
String get required => 'Påkrevd';
@override
String get updateButtonLabel => 'Oppdater';
@override
String get playlistNameUpdated => 'Spillelistenavn oppdatert.';
@override
String get favourite => 'Favorittmerk';
@override
String get downloadsDeleted => 'Nedlastinger slettet.';
@override
String get addDownloads => 'Legg til nedlastinger';
@override
String get location => 'Sted';
@override
String get downloadsAdded => 'Nedlastinger lagt til.';
@override
String get addButtonLabel => 'Legg til';
@override
String get shareLogs => 'Del logger';
@override
String get logsCopied => 'Logger kopiert';
@override
String get message => 'Melding';
@override
String get stackTrace => 'Stabelspor';
@override
String get applicationLegalese =>
'Lisensiert MPL 2.0, med kildekode tilgjengelig på\n\ngithub.com/jmshrv/finamp';
@override
String get transcoding => 'Transkoding';
@override
String get downloadLocations => 'Nedlastingssteder';
@override
String get audioService => 'Lydtjeneste';
@override
String get interactions => 'Interactions';
@override
String get layoutAndTheme => 'Posisjonering og draktvalg';
@override
String get notAvailableInOfflineMode => 'Ikke tilgjengelig i frakoblet modus';
@override
String get logOut => 'Logg ut';
@override
String get downloadedSongsWillNotBeDeleted =>
'Nedlastede spor vil ikke slettes';
@override
String get areYouSure => 'Er du sikker?';
@override
String get jellyfinUsesAACForTranscoding =>
'Jellyfin bruker AAC for transkoding';
@override
String get enableTranscoding => 'Skru på transkoding';
@override
String get enableTranscodingSubtitle =>
'Transkoder musikkstrømmer på tjenersiden.';
@override
String get bitrate => 'Bitrate';
@override
String get bitrateSubtitle =>
'Høyere bitrate gir lyd i bedre kvalitet, på bekostning av høyere båndbreddebruk.';
@override
String get customLocation => 'Egendefinert sted';
@override
String get appDirectory => 'Programmappe';
@override
String get addDownloadLocation => 'Legg til nedlastingssted';
@override
String get selectDirectory => 'Velg mappe';
@override
String get unknownError => 'Ukjent feil';
@override
String get pathReturnSlashErrorMessage =>
'Stier som returnerer «/» kan ikke brukes.';
@override
String get directoryMustBeEmpty => 'Mappen må være tom';
@override
String get customLocationsBuggy =>
'Egendefinerte steder fungerer dårlig som følge av problemer med tilganger. Måter å løse det på vurderes, men akkurat nå anbefales ikke bruk.';
@override
String get enterLowPriorityStateOnPause =>
'Gå inn i lavprioritetstilstand ved pause';
@override
String get enterLowPriorityStateOnPauseSubtitle =>
'Lar merknaden bli dratt unna under pause. Tillater også Android å drepe tjenesten når pauset.';
@override
String get shuffleAllSongCount => 'Antall spor for tilfeldig avspilling';
@override
String get shuffleAllSongCountSubtitle =>
'Mengden spor å laste inn ved bruk av «Tilfeldig avspilling av alle spor»-knappen.';
@override
String get viewType => 'Visningstype';
@override
String get viewTypeSubtitle => 'Visningstype for musikkskjermen';
@override
String get list => 'Liste';
@override
String get grid => 'Rutenett';
@override
String get portrait => 'Stående';
@override
String get landscape => 'Liggende';
@override
String gridCrossAxisCount(String value) {
return '$value rutenettsakseantall';
}
@override
String gridCrossAxisCountSubtitle(String value) {
return 'Mengden rutenettsflis å bruke per rad i $value-modus.';
}
@override
String get showTextOnGridView => 'Vis tekst i rutenettsvisning';
@override
String get showTextOnGridViewSubtitle =>
'Hvorvidt tekst (navn, artist, osv.( skal vises i rutenettsmusikkskjermen.';
@override
String get showCoverAsPlayerBackground =>
'Vis tilslørt omslag som avspillerbakgrunn';
@override
String get showCoverAsPlayerBackgroundSubtitle =>
'Hvorvidt tilslørt omslag skal brukes som bakgrunn på avspillerskjermen.';
@override
String get hideSongArtistsIfSameAsAlbumArtists =>
'Skjul artister for sporet hvis samme som albumsartister';
@override
String get hideSongArtistsIfSameAsAlbumArtistsSubtitle =>
'Hvorvidt sporartister skal vises på albumsskjermen hvis forskjellig fra albumsartister.';
@override
String get disableGesture => 'Skru av håndvendinger';
@override
String get disableGestureSubtitle => 'Hvorvidt håndvendinger skal skrus av.';
@override
String get showFastScroller => 'Show fast scroller';
@override
String get theme => 'Drakt';
@override
String get system => 'System';
@override
String get light => 'Lys';
@override
String get dark => 'Mørk';
@override
String get tabs => 'Faner';
@override
String get cancelSleepTimer => 'Avbryt søvntidsur?';
@override
String get yesButtonLabel => 'Ja';
@override
String get noButtonLabel => 'Nei';
@override
String get setSleepTimer => 'Sett søvntidsur';
@override
String get minutes => 'Minutter';
@override
String get invalidNumber => 'Ugyldig tall';
@override
String get sleepTimerTooltip => 'Søvntidsur';
@override
String get addToPlaylistTooltip => 'Legg til i spilleliste';
@override
String get addToPlaylistTitle => 'Legg til i spilleliste';
@override
String get removeFromPlaylistTooltip => 'Fjern fra spilleliste';
@override
String get removeFromPlaylistTitle => 'Fjern fra spilleliste';
@override
String get newPlaylist => 'Ny spilleliste';
@override
String get createButtonLabel => 'Opprett';
@override
String get playlistCreated => 'Spilleliste opprettet.';
@override
String get noAlbum => 'Ingen album';
@override
String get noItem => 'Ingen elementer';
@override
String get noArtist => 'Ingen artister';
@override
String get unknownArtist => 'Ukjent artist';
@override
String get streaming => 'Strømming';
@override
String get downloaded => 'Nedlastet';
@override
String get transcode => 'Transkod';
@override
String get direct => 'Direkte';
@override
String get statusError => 'Statusfeil';
@override
String get queue => '';
@override
String get addToQueue => 'Legg til i kø';
@override
String get playNext => 'Spill neste';
@override
String get replaceQueue => 'Erstatt kø';
@override
String get instantMix => 'Umiddelbar miks';
@override
String get goToAlbum => 'Gå til album';
@override
String get removeFavourite => 'Fjern favoritt';
@override
String get addFavourite => 'Legg til favoritt';
@override
String get addedToQueue => 'Lagt til i kø.';
@override
String get insertedIntoQueue => 'Lagt i kø.';
@override
String get queueReplaced => 'Kø erstattet.';
@override
String get removedFromPlaylist => 'Fjernet fra spilleliste.';
@override
String get startingInstantMix => 'Starter umiddelbar miks …';
@override
String get anErrorHasOccured => 'Noe gikk galt.';
@override
String responseError(String error, int statusCode) {
return '$error Statuskode $statusCode.';
}
@override
String responseError401(String error, int statusCode) {
return '$error Statuskode $statusCode. Dette betyr antagelig at du bruker feil brukernavn eller passord, eller at klienten din ikke lenger er innloget.';
}
@override
String get removeFromMix => 'Fjern fra miks';
@override
String get addToMix => 'Legg til i miks';
@override
String redownloadedItems(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: 'Lastet ned igjen $count elementer',
one: 'Lastet ned igjen $count element',
zero: 'Ingenting trenger å lastes ned igjen.',
);
return '$_temp0';
}
@override
String get bufferDuration => 'Hurtiglagervarighet';
@override
String get bufferDurationSubtitle =>
'Antall sekunder avspilleren skal mellomlagre. Krever programomstart.';
@override
String get language => 'Språk';
@override
String get confirm => 'Bekreft';
@override
String get showUncensoredLogMessage =>
'Denne loggen inneholder din innloggingsinfo. Vis?';
@override
String get resetTabs => 'Tilbakestill faner';
@override
String get noMusicLibrariesTitle => 'Ingen musikkbibliotek';
@override
String get noMusicLibrariesBody =>
'Finamp fant ingen musikkbibliotek. Forsikre deg om at din Jellyfin-tjener inneholder minst ett bibliotek med innholdstype satt til «Musikk».';
@override
String get refresh => 'Gjenoppfrisk';
@override
String get swipeInsertQueueNext => 'Play Swiped Song Next';
@override
String get swipeInsertQueueNextSubtitle =>
'Enable to insert a song as next item in queue when swiped in song list instead of appending it to the end.';
@override
String get redesignBeta => 'Try the Beta';
@override
String get playbackOrderShuffledTooltip => 'Shuffling. Tap to toggle.';
@override
String get playbackOrderLinearTooltip => 'Playing in order. Tap to toggle.';
@override
String get loopModeAllTooltip => 'Looping all. Tap to toggle.';
@override
String get loopModeOneTooltip => 'Looping one. Tap to toggle.';
@override
String get loopModeNoneTooltip => 'Not looping. Tap to toggle.';
@override
String get skipToPrevious => 'Skip to Previous Song';
@override
String get skipToNext => 'Skip to Next Song';
@override
String get togglePlayback => 'Toggle Playback';
@override
String playArtist(String artist) {
return 'Play all albums by $artist';
}
@override
String shuffleArtist(String artist) {
return 'Shuffle all albums by $artist';
}
@override
String downloadArtist(String artist) {
return 'Download all albums by $artist';
}
@override
String get deleteFromDevice => 'Delete from Device';
@override
String get download => 'Download';
@override
String get sync => 'Synchronize with Server';
@override
String get about => 'About Finamp';
}

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