Compare commits
161 commits
v4.0.0-dev
...
dev
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e2918d3a95 | ||
![]() |
01a159754d | ||
![]() |
6a42f7c5d2 | ||
![]() |
e9b3649156 | ||
![]() |
94795fe24c | ||
![]() |
ef7ef8da95 | ||
![]() |
102ed85c42 | ||
![]() |
273dc971ba | ||
![]() |
a3722acb5a | ||
![]() |
93953aee8b | ||
![]() |
a71ef0daf2 | ||
![]() |
44633142d9 | ||
![]() |
9e683a7856 | ||
![]() |
5825ec3ebc | ||
![]() |
132b689b0c | ||
![]() |
e7454e636b | ||
![]() |
159159b889 | ||
![]() |
b630063f8c | ||
![]() |
6b6fc4d62a | ||
![]() |
93dee00285 | ||
![]() |
e73dffcb2a | ||
![]() |
296bd9ca06 | ||
![]() |
7429dd5174 | ||
![]() |
6705e869da | ||
![]() |
77c9151006 | ||
![]() |
04e4ea82ed | ||
![]() |
a9707cbb33 | ||
![]() |
f213c21225 | ||
![]() |
e64b30f00f | ||
![]() |
3df6e2f0b1 | ||
![]() |
7523298237 | ||
![]() |
b21b2e49d3 | ||
![]() |
eaba11fa44 | ||
![]() |
1193ef0bb9 | ||
![]() |
aac6d8ef4d | ||
![]() |
343856ac69 | ||
![]() |
90282f0f74 | ||
![]() |
63227a1f1f | ||
![]() |
73b2b92180 | ||
![]() |
daf1687426 | ||
![]() |
8023d2c037 | ||
![]() |
c2dcbd61f8 | ||
![]() |
b3c66d9b55 | ||
![]() |
652f0891fc | ||
![]() |
2f5b78dd84 | ||
![]() |
b8733a180c | ||
![]() |
b573fd2260 | ||
![]() |
436ef8de91 | ||
![]() |
05e864e7b5 | ||
![]() |
f030b440f6 | ||
![]() |
513fd98047 | ||
![]() |
f125e37e95 | ||
![]() |
219d26b4dc | ||
![]() |
879caf17db | ||
![]() |
cd535eda2e | ||
![]() |
e2d28f98f4 | ||
![]() |
9a70ae1c4e | ||
![]() |
f5483b5bc5 | ||
![]() |
e3715d3b2d | ||
![]() |
0d05b94884 | ||
![]() |
afa094d753 | ||
![]() |
cfa4fc30e1 | ||
![]() |
971c0e3a25 | ||
![]() |
9937e773a3 | ||
![]() |
70b26dfb63 | ||
![]() |
ac1fec74da | ||
![]() |
d62c85f8a5 | ||
![]() |
4de42a3a55 | ||
![]() |
4821051d34 | ||
![]() |
10a520e812 | ||
![]() |
95f615e980 | ||
![]() |
e434c4cdfe | ||
![]() |
d9afc6a0eb | ||
![]() |
a2af205c71 | ||
![]() |
6b8c0faf44 | ||
![]() |
e092d81cf2 | ||
![]() |
46806ee31f | ||
![]() |
84a7393221 | ||
![]() |
518cd28c03 | ||
![]() |
fe770337e6 | ||
![]() |
1fc9ca5147 | ||
![]() |
387a36a3f8 | ||
![]() |
20a06ba2fb | ||
![]() |
e046aeb671 | ||
![]() |
22249cc95b | ||
![]() |
6feee93438 | ||
![]() |
0d0a20d760 | ||
![]() |
f0ea0a3e2e | ||
![]() |
859e31d825 | ||
![]() |
b48bf3729e | ||
![]() |
4fbbbfdc76 | ||
![]() |
a7000bc9e5 | ||
![]() |
8104985a4e | ||
![]() |
fce77ec8a0 | ||
![]() |
a78b213537 | ||
![]() |
ce5f0fa2c9 | ||
![]() |
2e4a147b55 | ||
![]() |
216d9802ef | ||
![]() |
7906867a96 | ||
![]() |
25901a0f76 | ||
![]() |
403f93b6df | ||
![]() |
0bbba2efaf | ||
![]() |
3741f1ff07 | ||
![]() |
b388474655 | ||
![]() |
584af83a07 | ||
![]() |
0387400a4a | ||
![]() |
94f8457d69 | ||
![]() |
876554e6c7 | ||
![]() |
22b231843f | ||
![]() |
be270a422b | ||
![]() |
10eb0be7d0 | ||
![]() |
e2b0601d4c | ||
![]() |
ddeba2c496 | ||
![]() |
59c33b9be2 | ||
![]() |
cacf0142c5 | ||
![]() |
fbcd676149 | ||
![]() |
6cc1e8a543 | ||
![]() |
8a8fd0f3c9 | ||
![]() |
98299722bc | ||
![]() |
91b8b38732 | ||
![]() |
d6c2514473 | ||
![]() |
50e2dde6e2 | ||
![]() |
582b0c6eef | ||
![]() |
3834e92192 | ||
![]() |
117678a066 | ||
![]() |
b306456d46 | ||
![]() |
1d44ce5d71 | ||
![]() |
bfcaba4acd | ||
![]() |
442abb7040 | ||
![]() |
251197b47b | ||
![]() |
52e359d431 | ||
![]() |
f21ef6cf85 | ||
![]() |
c609e1d63a | ||
![]() |
b6af921238 | ||
![]() |
528389546c | ||
![]() |
2ff08ac813 | ||
![]() |
db4e927780 | ||
![]() |
c3aba06e2f | ||
![]() |
3d374504e2 | ||
![]() |
a6a98f9bf7 | ||
![]() |
a7969f99c3 | ||
![]() |
dddab1eda7 | ||
![]() |
9ae3587a7e | ||
![]() |
6589cd44eb | ||
![]() |
bfdccd3ba5 | ||
![]() |
357c7cc329 | ||
![]() |
e442fcf253 | ||
![]() |
a1d62c2a08 | ||
![]() |
3d154ea66c | ||
![]() |
3efd4ea59f | ||
![]() |
9632e06ca6 | ||
![]() |
210285b39a | ||
![]() |
15d2faf354 | ||
![]() |
1459498ff3 | ||
![]() |
ef732219d7 | ||
![]() |
431f541ec8 | ||
![]() |
fb2f228a97 | ||
![]() |
72ffac4209 | ||
![]() |
ee7e63d1dc | ||
![]() |
f9109b8a9c | ||
![]() |
2e4b6681d1 |
211 changed files with 4249 additions and 5547 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -14,3 +14,5 @@ captures/
|
||||||
*.iml
|
*.iml
|
||||||
.cxx
|
.cxx
|
||||||
.kotlin
|
.kotlin
|
||||||
|
.aider*
|
||||||
|
.env
|
||||||
|
|
2
.gitmodules
vendored
2
.gitmodules
vendored
|
@ -5,4 +5,4 @@
|
||||||
[submodule "musikr/src/main/cpp/taglib"]
|
[submodule "musikr/src/main/cpp/taglib"]
|
||||||
path = musikr/src/main/cpp/taglib
|
path = musikr/src/main/cpp/taglib
|
||||||
url = https://github.com/taglib/taglib.git
|
url = https://github.com/taglib/taglib.git
|
||||||
tag = v2.0.2
|
tag = ee1931b
|
||||||
|
|
51
CHANGELOG.md
51
CHANGELOG.md
|
@ -1,5 +1,52 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 4.0.3
|
||||||
|
|
||||||
|
#### What's Improved
|
||||||
|
- Improved music loader pipeline efficiency
|
||||||
|
- Made cover.png support more flexible
|
||||||
|
- Albums with the same name but different album artists are now split
|
||||||
|
if fully tagged with album artists
|
||||||
|
|
||||||
|
#### What's Fixed
|
||||||
|
- Possibly fixed cache failures on large libraries
|
||||||
|
- Possibly fixed playback state saving failing on some devices
|
||||||
|
- Fixed issue where artists w/o songs would not have a cover
|
||||||
|
- Fixed music not being reloaded when music locations changed
|
||||||
|
- Fixed tasker media control not working
|
||||||
|
- Fixed tasker playback start command never finishing
|
||||||
|
|
||||||
|
#### Dev/Meta
|
||||||
|
- Removed useless storage permissions
|
||||||
|
- Internal cleanup/simplification of musikr API
|
||||||
|
- Removed unused resources
|
||||||
|
|
||||||
|
#### What's Fixed
|
||||||
|
|
||||||
|
## 4.0.2
|
||||||
|
|
||||||
|
#### What's New
|
||||||
|
- Added back in support for cover art from cover.png/cover.jpg
|
||||||
|
- Added "As is" cover art setting
|
||||||
|
- Option to include hidden files or not (off by default)
|
||||||
|
|
||||||
|
#### What's Improved
|
||||||
|
- Reduced elevation contrast in black theme
|
||||||
|
|
||||||
|
#### What's Fixed
|
||||||
|
- Fixed incorrect extension stripping on some files
|
||||||
|
- Fixed various errors in new branding
|
||||||
|
- Fixed MTE segfault from improper string handling
|
||||||
|
|
||||||
|
#### What's Changed
|
||||||
|
- Hidden files no longer loaded by default
|
||||||
|
|
||||||
|
## 4.0.1
|
||||||
|
|
||||||
|
#### What's Fixed
|
||||||
|
- Fixed music loading hanging on files without tags
|
||||||
|
- Fixed playlists being destroyed in poorly tagged libraries
|
||||||
|
|
||||||
## 4.0.0
|
## 4.0.0
|
||||||
|
|
||||||
#### What's New
|
#### What's New
|
||||||
|
@ -35,11 +82,15 @@
|
||||||
- Fixed playback sheet flickering on warm start
|
- Fixed playback sheet flickering on warm start
|
||||||
- No longer possible to save a sort with no direction specified
|
- No longer possible to save a sort with no direction specified
|
||||||
- Fixed inconsistent corner radii in widget
|
- Fixed inconsistent corner radii in widget
|
||||||
|
- Possibly fixed foreground start music loading failures
|
||||||
|
- Fixed playlist view not exiting on deletion
|
||||||
|
|
||||||
#### What's Changed
|
#### What's Changed
|
||||||
- Date added is now local to when the app discovers the file and will not
|
- Date added is now local to when the app discovers the file and will not
|
||||||
persist long-term
|
persist long-term
|
||||||
- Songs with no album are now "Unknown album" rather than folder name
|
- Songs with no album are now "Unknown album" rather than folder name
|
||||||
|
- Tab layout no longer changes depending on device configuration
|
||||||
|
- Round mode is now on by default
|
||||||
|
|
||||||
#### Dev/Meta
|
#### Dev/Meta
|
||||||
- No longer using custom logging setup
|
- No longer using custom logging setup
|
||||||
|
|
41
README.md
41
README.md
|
@ -2,8 +2,8 @@
|
||||||
<h1 align="center"><b>Auxio</b></h1>
|
<h1 align="center"><b>Auxio</b></h1>
|
||||||
<h4 align="center">A simple, rational music player for android.</h4>
|
<h4 align="center">A simple, rational music player for android.</h4>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.6.3">
|
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v4.0.4">
|
||||||
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.6.3&color=64B5F6&style=flat">
|
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v4.0.4&color=64B5F6&style=flat">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/oxygencobalt/Auxio/releases/">
|
<a href="https://github.com/oxygencobalt/Auxio/releases/">
|
||||||
<img alt="Releases" src="https://img.shields.io/github/downloads/OxygenCobalt/Auxio/total.svg?color=4B95DE&style=flat">
|
<img alt="Releases" src="https://img.shields.io/github/downloads/OxygenCobalt/Auxio/total.svg?color=4B95DE&style=flat">
|
||||||
|
@ -15,7 +15,12 @@
|
||||||
</p>
|
</p>
|
||||||
<h4 align="center"><a href="/CHANGELOG.md">Changelog</a> | <a href="https://github.com/OxygenCobalt/Auxio/wiki">Wiki</a> | <a href="https://github.com/OxygenCobalt/Auxio#Donate">Donate</a></h4>
|
<h4 align="center"><a href="/CHANGELOG.md">Changelog</a> | <a href="https://github.com/OxygenCobalt/Auxio/wiki">Wiki</a> | <a href="https://github.com/OxygenCobalt/Auxio#Donate">Donate</a></h4>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://f-droid.org/app/org.oxycblt.auxio"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" width="170"></a>
|
<a href="https://f-droid.org/app/org.oxycblt.auxio"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" width="250"></a>
|
||||||
|
<a href="https://accrescent.app/app/org.oxycblt.auxio">
|
||||||
|
<img alt="Get it on Accrescent" src="https://accrescent.app/badges/get-it-on.png" width="250">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p align="center">
|
||||||
<a href="https://hosted.weblate.org/engage/auxio/"><img height=64 src="https://hosted.weblate.org/widgets/auxio/-/strings/287x66-grey.png" alt="Translation status" /></a>
|
<a href="https://hosted.weblate.org/engage/auxio/"><img height=64 src="https://hosted.weblate.org/widgets/auxio/-/strings/287x66-grey.png" alt="Translation status" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -28,14 +33,12 @@ Auxio is a local music player with a fast, reliable UI/UX without the many usele
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot0.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot0.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot1.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot1.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot2.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot2.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot3.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot3.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot4.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot4.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot5.png" width=200>
|
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot5.png" width=250>
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot6.png" width=200>
|
|
||||||
<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot7.png" width=200>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,29 +64,39 @@ precise/original dates, sort tags, and more
|
||||||
- Headset autoplay
|
- Headset autoplay
|
||||||
- Stylish widgets that automatically adapt to their size
|
- Stylish widgets that automatically adapt to their size
|
||||||
- Completely private and offline
|
- Completely private and offline
|
||||||
- No rounded album covers (by default)
|
- No rounded album covers (if you want them)
|
||||||
|
|
||||||
## Permissions
|
## Permissions
|
||||||
|
|
||||||
- Storage (`READ_MEDIA_AUDIO`, `READ_EXTERNAL_STORAGE`) to read and play your music files
|
- Storage (`READ_MEDIA_AUDIO`, `READ_EXTERNAL_STORAGE`) to read and play your music files
|
||||||
- Services (`FOREGROUND_SERVICE`, `WAKE_LOCK`) to keep the music playing in the background
|
- Services (`FOREGROUND_SERVICE`, `WAKE_LOCK`) to keep the music playing in the background
|
||||||
- Notifcations (`POST_NOTIFICATION`) to indicate ongoing playback and music loading
|
- Notifications (`POST_NOTIFICATION`) to indicate ongoing playback and music loading
|
||||||
|
|
||||||
## Donate
|
## Donate
|
||||||
|
|
||||||
You can support Auxio's development through [my Github Sponsors page](https://github.com/sponsors/OxygenCobalt). Get the ability to prioritize features and have your profile added to the README, Release Changelogs, and even the app itself!
|
You can support Auxio's development through [my Github Sponsors page](https://github.com/sponsors/OxygenCobalt). Get the ability to prioritize features and have your profile added to the README, Release Changelogs, and even the app itself!
|
||||||
|
|
||||||
|
<p align="center"><b>$16/month supporters:</b></p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/mark-pitblado"><img src="https://avatars.githubusercontent.com/u/86988982?v=4" width=75 /></a>
|
||||||
|
<br/>
|
||||||
|
<a href="https://github.com/mark-pitblado"><b>Mark Pitblado</b></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
<p align="center"><b>$8/month supporters:</b></p>
|
<p align="center"><b>$8/month supporters:</b></p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/alanorth"><img src="https://avatars.githubusercontent.com/u/191754?v=4" width=50 /></a>
|
<a href="https://github.com/alanorth"><img src="https://avatars.githubusercontent.com/u/191754?v=4" width=50 /></a>
|
||||||
<a href="https://github.com/dmint789"><img src="https://avatars.githubusercontent.com/u/53250435?v=4" width=50 /></a>
|
<a href="https://github.com/dmint789"><img src="https://avatars.githubusercontent.com/u/53250435?v=4" width=50 /></a>
|
||||||
<a href="https://github.com/adventure-tense"><img src="https://avatars.githubusercontent.com/u/123326084?v=4" width=50 /></a>
|
<a href="https://github.com/adventure-tense"><img src="https://avatars.githubusercontent.com/u/123326084?v=4" width=50 /></a>
|
||||||
|
<a href="https://github.com/slushspirit"><img src="https://avatars.githubusercontent.com/u/95902378?v=4" width=50 /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
Auxio relies on a custom version of Media3 that enables some extra features. This adds some caveats to the build process:
|
Auxio relies on a patched version of Media3 that enables some extra playback features, alongside taglib for metadata
|
||||||
|
parsing. This adds some caveats to the build process:
|
||||||
1. `cmake` and `ninja-build` must be installed before building the project.
|
1. `cmake` and `ninja-build` must be installed before building the project.
|
||||||
2. The project uses submodules, so when cloning initially, use `git clone --recurse-submodules` to properly
|
2. The project uses submodules, so when cloning initially, use `git clone --recurse-submodules` to properly
|
||||||
download the external code.
|
download the external code.
|
||||||
|
|
|
@ -18,8 +18,8 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId namespace
|
applicationId namespace
|
||||||
versionName "4.0.0-dev4"
|
versionName "4.0.4"
|
||||||
versionCode 57
|
versionCode 63
|
||||||
|
|
||||||
minSdk min_sdk
|
minSdk min_sdk
|
||||||
targetSdk target_sdk
|
targetSdk target_sdk
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<!-- Android 13 uses READ_MEDIA_AUDIO instead of READ_EXTERNAL_STORAGE -->
|
|
||||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
|
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
|
@ -1309,7 +1309,6 @@ public class BackportBottomSheetBehavior<V extends View> extends CoordinatorLayo
|
||||||
+ " should not be set externally.");
|
+ " should not be set externally.");
|
||||||
}
|
}
|
||||||
if (!hideable && state == STATE_HIDDEN) {
|
if (!hideable && state == STATE_HIDDEN) {
|
||||||
Log.w(TAG, "Cannot set state: " + state);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final int finalState;
|
final int finalState;
|
||||||
|
@ -1633,12 +1632,13 @@ public class BackportBottomSheetBehavior<V extends View> extends CoordinatorLayo
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
BackEventCompat backEvent = bottomContainerBackHelper.onHandleBackInvoked();
|
BackEventCompat backEvent = bottomContainerBackHelper.onHandleBackInvoked();
|
||||||
|
boolean canActuallyHide = hideable && isHideableWhenDragging();
|
||||||
if (backEvent == null || VERSION.SDK_INT < VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
if (backEvent == null || VERSION.SDK_INT < VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
// If using traditional button system nav or if pre-U, just hide or collapse the bottom sheet.
|
// If using traditional button system nav or if pre-U, just hide or collapse the bottom sheet.
|
||||||
setState(hideable ? STATE_HIDDEN : STATE_COLLAPSED);
|
setState(canActuallyHide ? STATE_HIDDEN : STATE_COLLAPSED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (hideable && isHideableWhenDragging()) {
|
if (canActuallyHide) {
|
||||||
bottomContainerBackHelper.finishBackProgressNotPersistent(
|
bottomContainerBackHelper.finishBackProgressNotPersistent(
|
||||||
backEvent,
|
backEvent,
|
||||||
new AnimatorListenerAdapter() {
|
new AnimatorListenerAdapter() {
|
||||||
|
|
|
@ -34,14 +34,9 @@ import androidx.media.MediaBrowserServiceCompat
|
||||||
import androidx.media.utils.MediaConstants
|
import androidx.media.utils.MediaConstants
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.coroutines.CoroutineScope
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.Job
|
|
||||||
import kotlinx.coroutines.cancel
|
|
||||||
import kotlinx.coroutines.delay
|
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
import org.oxycblt.auxio.music.service.MusicServiceFragment
|
import org.oxycblt.auxio.music.service.MusicServiceFragment
|
||||||
import org.oxycblt.auxio.playback.service.PlaybackServiceFragment
|
import org.oxycblt.auxio.playback.service.PlaybackServiceFragment
|
||||||
|
import timber.log.Timber
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class AuxioService :
|
class AuxioService :
|
||||||
|
@ -52,10 +47,6 @@ class AuxioService :
|
||||||
@Inject lateinit var musicFragmentFactory: MusicServiceFragment.Factory
|
@Inject lateinit var musicFragmentFactory: MusicServiceFragment.Factory
|
||||||
private lateinit var musicFragment: MusicServiceFragment
|
private lateinit var musicFragment: MusicServiceFragment
|
||||||
|
|
||||||
private val delayScopeJob = Job() + Dispatchers.Main
|
|
||||||
private val delayScope = CoroutineScope(delayScopeJob)
|
|
||||||
private var currentDelayJob: Job? = null
|
|
||||||
|
|
||||||
@SuppressLint("WrongConstant")
|
@SuppressLint("WrongConstant")
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
|
@ -63,32 +54,30 @@ class AuxioService :
|
||||||
musicFragment = musicFragmentFactory.create(this, this, this)
|
musicFragment = musicFragmentFactory.create(this, this, this)
|
||||||
sessionToken = playbackFragment.attach()
|
sessionToken = playbackFragment.attach()
|
||||||
musicFragment.attach()
|
musicFragment.attach()
|
||||||
|
Timber.d("Service Created")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||||
// TODO: Start command occurring from a foreign service basically implies a detached
|
// TODO: Start command occurring from a foreign service basically implies a detached
|
||||||
// service, we might need more handling here.
|
// service, we might need more handling here.
|
||||||
|
super.onStartCommand(intent, flags, startId)
|
||||||
onHandleForeground(intent)
|
onHandleForeground(intent)
|
||||||
return super.onStartCommand(intent, flags, startId)
|
// If we die we want to not restart, we will immediately try to foreground in and just
|
||||||
|
// fail to start again since the activity will be dead too. This is not the semantically
|
||||||
|
// "correct" flag (normally you want START_STICKY for playback) but we need this to avoid
|
||||||
|
// weird foreground errors.
|
||||||
|
return START_NOT_STICKY
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBind(intent: Intent): IBinder? {
|
override fun onBind(intent: Intent): IBinder? {
|
||||||
|
val binder = super.onBind(intent)
|
||||||
onHandleForeground(intent)
|
onHandleForeground(intent)
|
||||||
return super.onBind(intent)
|
return binder
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onHandleForeground(intent: Intent?) {
|
private fun onHandleForeground(intent: Intent?) {
|
||||||
currentDelayJob?.cancel()
|
|
||||||
currentDelayJob =
|
|
||||||
delayScope.launch {
|
|
||||||
// The foreground limiter is fussy and doesn't like us starting a foreground
|
|
||||||
// service too early despite having the right to do so at this point. Comply
|
|
||||||
// and artificially delay (to user detriment...)
|
|
||||||
delay(250)
|
|
||||||
val startId = intent?.getIntExtra(INTENT_KEY_START_ID, -1) ?: -1
|
|
||||||
musicFragment.start()
|
musicFragment.start()
|
||||||
playbackFragment.start(startId)
|
playbackFragment.start(intent)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTaskRemoved(rootIntent: Intent?) {
|
override fun onTaskRemoved(rootIntent: Intent?) {
|
||||||
|
@ -98,7 +87,6 @@ class AuxioService :
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
delayScopeJob.cancel()
|
|
||||||
musicFragment.release()
|
musicFragment.release()
|
||||||
playbackFragment.release()
|
playbackFragment.release()
|
||||||
}
|
}
|
||||||
|
@ -153,6 +141,7 @@ class AuxioService :
|
||||||
}
|
}
|
||||||
// Nothing changed, but don't show anything music related since we can always
|
// Nothing changed, but don't show anything music related since we can always
|
||||||
// index during playback.
|
// index during playback.
|
||||||
|
isForeground = true
|
||||||
} else {
|
} else {
|
||||||
musicFragment.createNotification {
|
musicFragment.createNotification {
|
||||||
if (it != null) {
|
if (it != null) {
|
||||||
|
|
|
@ -65,6 +65,8 @@ object IntegerTable {
|
||||||
const val START_ID_ACTIVITY = 0xA050
|
const val START_ID_ACTIVITY = 0xA050
|
||||||
/** Tasker AuxioService Start ID */
|
/** Tasker AuxioService Start ID */
|
||||||
const val START_ID_TASKER = 0xA051
|
const val START_ID_TASKER = 0xA051
|
||||||
|
/** MediaButtonReceiver AuxioService Start ID */
|
||||||
|
const val START_ID_MEDIA_BUTTON = 0xA052
|
||||||
/** RepeatMode.NONE */
|
/** RepeatMode.NONE */
|
||||||
const val REPEAT_MODE_NONE = 0xA100
|
const val REPEAT_MODE_NONE = 0xA100
|
||||||
/** RepeatMode.ALL */
|
/** RepeatMode.ALL */
|
||||||
|
@ -141,4 +143,6 @@ object IntegerTable {
|
||||||
const val PLAY_SONG_BY_ITSELF = 0xA124
|
const val PLAY_SONG_BY_ITSELF = 0xA124
|
||||||
/** CoverMode.SaveSpace */
|
/** CoverMode.SaveSpace */
|
||||||
const val COVER_MODE_SAVE_SPACE = 0xA125
|
const val COVER_MODE_SAVE_SPACE = 0xA125
|
||||||
|
/** CoverMode.AsIs */
|
||||||
|
const val COVER_MODE_AS_IS = 0xA126
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
|
|
||||||
package org.oxycblt.auxio
|
package org.oxycblt.auxio
|
||||||
|
|
||||||
import android.animation.ValueAnimator
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewTreeObserver
|
import android.view.ViewTreeObserver
|
||||||
|
@ -514,8 +513,6 @@ class MainFragment :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private var scrimAnimator: ValueAnimator? = null
|
|
||||||
|
|
||||||
private fun updateSpeedDial(open: Boolean) {
|
private fun updateSpeedDial(open: Boolean) {
|
||||||
requireNotNull(speedDialBackCallback) { "SpeedDialBackPressedCallback was not available" }
|
requireNotNull(speedDialBackCallback) { "SpeedDialBackPressedCallback was not available" }
|
||||||
.invalidateEnabled(open)
|
.invalidateEnabled(open)
|
||||||
|
|
|
@ -98,7 +98,7 @@ sealed interface ArtistShowChoices {
|
||||||
val uid: Music.UID
|
val uid: Music.UID
|
||||||
/** The current [Artist] choices. */
|
/** The current [Artist] choices. */
|
||||||
val choices: List<Artist>
|
val choices: List<Artist>
|
||||||
/** Sanitize this instance with a [DeviceLibrary]. */
|
/** Sanitize this instance with a [Library]. */
|
||||||
fun sanitize(newLibrary: Library): ArtistShowChoices?
|
fun sanitize(newLibrary: Library): ArtistShowChoices?
|
||||||
|
|
||||||
/** Backing implementation of [ArtistShowChoices] that is based on a [Song]. */
|
/** Backing implementation of [ArtistShowChoices] that is based on a [Song]. */
|
||||||
|
|
|
@ -37,12 +37,10 @@ import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||||
import androidx.viewpager2.widget.ViewPager2
|
import androidx.viewpager2.widget.ViewPager2
|
||||||
import com.google.android.material.appbar.AppBarLayout
|
import com.google.android.material.appbar.AppBarLayout
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
import com.google.android.material.transition.MaterialSharedAxis
|
import com.google.android.material.transition.MaterialSharedAxis
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import java.lang.reflect.Field
|
import java.lang.reflect.Field
|
||||||
import java.lang.reflect.Method
|
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.databinding.FragmentHomeBinding
|
import org.oxycblt.auxio.databinding.FragmentHomeBinding
|
||||||
|
@ -53,7 +51,7 @@ import org.oxycblt.auxio.home.list.ArtistListFragment
|
||||||
import org.oxycblt.auxio.home.list.GenreListFragment
|
import org.oxycblt.auxio.home.list.GenreListFragment
|
||||||
import org.oxycblt.auxio.home.list.PlaylistListFragment
|
import org.oxycblt.auxio.home.list.PlaylistListFragment
|
||||||
import org.oxycblt.auxio.home.list.SongListFragment
|
import org.oxycblt.auxio.home.list.SongListFragment
|
||||||
import org.oxycblt.auxio.home.tabs.AdaptiveTabStrategy
|
import org.oxycblt.auxio.home.tabs.NamedTabStrategy
|
||||||
import org.oxycblt.auxio.home.tabs.Tab
|
import org.oxycblt.auxio.home.tabs.Tab
|
||||||
import org.oxycblt.auxio.list.ListViewModel
|
import org.oxycblt.auxio.list.ListViewModel
|
||||||
import org.oxycblt.auxio.list.SelectionFragment
|
import org.oxycblt.auxio.list.SelectionFragment
|
||||||
|
@ -68,7 +66,6 @@ import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||||
import org.oxycblt.auxio.util.collect
|
import org.oxycblt.auxio.util.collect
|
||||||
import org.oxycblt.auxio.util.collectImmediately
|
import org.oxycblt.auxio.util.collectImmediately
|
||||||
import org.oxycblt.auxio.util.lazyReflectedField
|
import org.oxycblt.auxio.util.lazyReflectedField
|
||||||
import org.oxycblt.auxio.util.lazyReflectedMethod
|
|
||||||
import org.oxycblt.auxio.util.navigateSafe
|
import org.oxycblt.auxio.util.navigateSafe
|
||||||
import org.oxycblt.auxio.util.showToast
|
import org.oxycblt.auxio.util.showToast
|
||||||
import org.oxycblt.musikr.IndexingProgress
|
import org.oxycblt.musikr.IndexingProgress
|
||||||
|
@ -94,7 +91,6 @@ class HomeFragment :
|
||||||
private var storagePermissionLauncher: ActivityResultLauncher<String>? = null
|
private var storagePermissionLauncher: ActivityResultLauncher<String>? = null
|
||||||
private var getContentLauncher: ActivityResultLauncher<String>? = null
|
private var getContentLauncher: ActivityResultLauncher<String>? = null
|
||||||
private var pendingImportTarget: Playlist? = null
|
private var pendingImportTarget: Playlist? = null
|
||||||
private var lastUpdateTime = -1L
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
@ -270,9 +266,7 @@ class HomeFragment :
|
||||||
|
|
||||||
// Set up the mapping between the ViewPager and TabLayout.
|
// Set up the mapping between the ViewPager and TabLayout.
|
||||||
TabLayoutMediator(
|
TabLayoutMediator(
|
||||||
binding.homeTabs,
|
binding.homeTabs, binding.homePager, NamedTabStrategy(homeModel.currentTabTypes))
|
||||||
binding.homePager,
|
|
||||||
AdaptiveTabStrategy(requireContext(), homeModel.currentTabTypes))
|
|
||||||
.attach()
|
.attach()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -514,11 +508,5 @@ class HomeFragment :
|
||||||
private companion object {
|
private companion object {
|
||||||
val VP_RECYCLER_FIELD: Field by lazyReflectedField(ViewPager2::class, "mRecyclerView")
|
val VP_RECYCLER_FIELD: Field by lazyReflectedField(ViewPager2::class, "mRecyclerView")
|
||||||
val RV_TOUCH_SLOP_FIELD: Field by lazyReflectedField(RecyclerView::class, "mTouchSlop")
|
val RV_TOUCH_SLOP_FIELD: Field by lazyReflectedField(RecyclerView::class, "mTouchSlop")
|
||||||
val FAB_HIDE_FROM_USER_FIELD: Method by
|
|
||||||
lazyReflectedMethod(
|
|
||||||
FloatingActionButton::class,
|
|
||||||
"hide",
|
|
||||||
FloatingActionButton.OnVisibilityChangedListener::class,
|
|
||||||
Boolean::class)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2022 Auxio Project
|
|
||||||
* AdaptiveTabStrategy.kt is part of Auxio.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.oxycblt.auxio.home.tabs
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import com.google.android.material.tabs.TabLayout
|
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
|
||||||
import org.oxycblt.auxio.R
|
|
||||||
import org.oxycblt.auxio.music.MusicType
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A [TabLayoutMediator.TabConfigurationStrategy] that uses larger/smaller tab configurations
|
|
||||||
* depending on the screen configuration.
|
|
||||||
*
|
|
||||||
* @param context [Context] required to obtain window information
|
|
||||||
* @param tabs Current tab configuration from settings
|
|
||||||
* @author Alexander Capehart (OxygenCobalt)
|
|
||||||
*/
|
|
||||||
class AdaptiveTabStrategy(context: Context, private val tabs: List<MusicType>) :
|
|
||||||
TabLayoutMediator.TabConfigurationStrategy {
|
|
||||||
private val width = context.resources.configuration.smallestScreenWidthDp
|
|
||||||
|
|
||||||
override fun onConfigureTab(tab: TabLayout.Tab, position: Int) {
|
|
||||||
val homeTab = tabs[position]
|
|
||||||
val icon =
|
|
||||||
when (homeTab) {
|
|
||||||
MusicType.SONGS -> R.drawable.ic_song_24
|
|
||||||
MusicType.ALBUMS -> R.drawable.ic_album_24
|
|
||||||
MusicType.ARTISTS -> R.drawable.ic_artist_24
|
|
||||||
MusicType.GENRES -> R.drawable.ic_genre_24
|
|
||||||
MusicType.PLAYLISTS -> R.drawable.ic_playlist_24
|
|
||||||
}
|
|
||||||
|
|
||||||
// Use expected sw* size thresholds when choosing a configuration.
|
|
||||||
when {
|
|
||||||
// On small screens, only display an icon.
|
|
||||||
width < 370 -> tab.setIcon(icon).setContentDescription(homeTab.nameRes)
|
|
||||||
// On large screens, display an icon and text.
|
|
||||||
width < 600 -> tab.setText(homeTab.nameRes)
|
|
||||||
// On medium-size screens, display text.
|
|
||||||
else -> tab.setIcon(icon).setText(homeTab.nameRes)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2024 Auxio Project
|
* Copyright (c) 2025 Auxio Project
|
||||||
* DeviceFile.kt is part of Auxio.
|
* NamedTabStrategy.kt is part of Auxio.
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,14 +16,14 @@
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.oxycblt.musikr.fs
|
package org.oxycblt.auxio.home.tabs
|
||||||
|
|
||||||
import android.net.Uri
|
import com.google.android.material.tabs.TabLayout
|
||||||
|
import com.google.android.material.tabs.TabLayoutMediator.TabConfigurationStrategy
|
||||||
|
import org.oxycblt.auxio.music.MusicType
|
||||||
|
|
||||||
internal data class DeviceFile(
|
class NamedTabStrategy(private val homeTabs: List<MusicType>) : TabConfigurationStrategy {
|
||||||
val uri: Uri,
|
override fun onConfigureTab(tab: TabLayout.Tab, position: Int) {
|
||||||
val mimeType: String,
|
tab.setText(homeTabs[position].nameRes)
|
||||||
val path: Path,
|
}
|
||||||
val size: Long,
|
}
|
||||||
val modifiedMs: Long
|
|
||||||
)
|
|
|
@ -29,7 +29,8 @@ enum class CoverMode {
|
||||||
OFF,
|
OFF,
|
||||||
SAVE_SPACE,
|
SAVE_SPACE,
|
||||||
BALANCED,
|
BALANCED,
|
||||||
HIGH_QUALITY;
|
HIGH_QUALITY,
|
||||||
|
AS_IS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The integer representation of this instance.
|
* The integer representation of this instance.
|
||||||
|
@ -43,6 +44,7 @@ enum class CoverMode {
|
||||||
SAVE_SPACE -> IntegerTable.COVER_MODE_SAVE_SPACE
|
SAVE_SPACE -> IntegerTable.COVER_MODE_SAVE_SPACE
|
||||||
BALANCED -> IntegerTable.COVER_MODE_BALANCED
|
BALANCED -> IntegerTable.COVER_MODE_BALANCED
|
||||||
HIGH_QUALITY -> IntegerTable.COVER_MODE_HIGH_QUALITY
|
HIGH_QUALITY -> IntegerTable.COVER_MODE_HIGH_QUALITY
|
||||||
|
AS_IS -> IntegerTable.COVER_MODE_AS_IS
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -59,6 +61,7 @@ enum class CoverMode {
|
||||||
IntegerTable.COVER_MODE_SAVE_SPACE -> SAVE_SPACE
|
IntegerTable.COVER_MODE_SAVE_SPACE -> SAVE_SPACE
|
||||||
IntegerTable.COVER_MODE_BALANCED -> BALANCED
|
IntegerTable.COVER_MODE_BALANCED -> BALANCED
|
||||||
IntegerTable.COVER_MODE_HIGH_QUALITY -> HIGH_QUALITY
|
IntegerTable.COVER_MODE_HIGH_QUALITY -> HIGH_QUALITY
|
||||||
|
IntegerTable.COVER_MODE_AS_IS -> AS_IS
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,9 +27,8 @@ import android.net.Uri
|
||||||
import android.os.ParcelFileDescriptor
|
import android.os.ParcelFileDescriptor
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.oxycblt.auxio.BuildConfig
|
import org.oxycblt.auxio.BuildConfig
|
||||||
import org.oxycblt.auxio.image.covers.SiloedCoverId
|
import org.oxycblt.auxio.image.covers.SettingCovers
|
||||||
import org.oxycblt.auxio.image.covers.SiloedCovers
|
import org.oxycblt.musikr.covers.CoverResult
|
||||||
import org.oxycblt.musikr.cover.ObtainResult
|
|
||||||
|
|
||||||
class CoverProvider : ContentProvider() {
|
class CoverProvider : ContentProvider() {
|
||||||
override fun onCreate(): Boolean = true
|
override fun onCreate(): Boolean = true
|
||||||
|
@ -39,12 +38,10 @@ class CoverProvider : ContentProvider() {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
val id = uri.lastPathSegment ?: return null
|
val id = uri.lastPathSegment ?: return null
|
||||||
val coverId = SiloedCoverId.parse(id) ?: return null
|
|
||||||
return runBlocking {
|
return runBlocking {
|
||||||
val siloedCovers = SiloedCovers.from(requireNotNull(context), coverId.silo)
|
when (val result = SettingCovers.immutable(requireNotNull(context)).obtain(id)) {
|
||||||
when (val res = siloedCovers.obtain(id)) {
|
is CoverResult.Hit -> result.cover.fd()
|
||||||
is ObtainResult.Hit -> res.cover.fd()
|
else -> null
|
||||||
is ObtainResult.Miss -> null
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.Px
|
import androidx.annotation.Px
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
import androidx.core.graphics.drawable.DrawableCompat
|
||||||
import androidx.core.view.children
|
import androidx.core.view.children
|
||||||
|
import androidx.core.view.isEmpty
|
||||||
import androidx.core.view.updateMarginsRelative
|
import androidx.core.view.updateMarginsRelative
|
||||||
import androidx.core.widget.ImageViewCompat
|
import androidx.core.widget.ImageViewCompat
|
||||||
import coil3.ImageLoader
|
import coil3.ImageLoader
|
||||||
|
@ -64,7 +65,7 @@ import org.oxycblt.musikr.Artist
|
||||||
import org.oxycblt.musikr.Genre
|
import org.oxycblt.musikr.Genre
|
||||||
import org.oxycblt.musikr.Playlist
|
import org.oxycblt.musikr.Playlist
|
||||||
import org.oxycblt.musikr.Song
|
import org.oxycblt.musikr.Song
|
||||||
import org.oxycblt.musikr.cover.CoverCollection
|
import org.oxycblt.musikr.covers.CoverCollection
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Auxio's extension of [ImageView] that enables cover art loading and playing indicator and
|
* Auxio's extension of [ImageView] that enables cover art loading and playing indicator and
|
||||||
|
@ -172,7 +173,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
|
||||||
super.onFinishInflate()
|
super.onFinishInflate()
|
||||||
|
|
||||||
// The image isn't added if other children have populated the body. This is by design.
|
// The image isn't added if other children have populated the body. This is by design.
|
||||||
if (childCount == 0) {
|
if (isEmpty()) {
|
||||||
addView(image)
|
addView(image)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +410,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
|
||||||
@Px val iconSize: Int?
|
@Px val iconSize: Int?
|
||||||
) : Drawable() {
|
) : Drawable() {
|
||||||
init {
|
init {
|
||||||
// Re-tint the drawable to use the analogous "on surfaceg" color for
|
// Re-tint the drawable to use the analogous "on surface" color for
|
||||||
// StyledImageView.
|
// StyledImageView.
|
||||||
DrawableCompat.setTintList(inner, context.getColorCompat(R.color.sel_on_cover_bg))
|
DrawableCompat.setTintList(inner, context.getColorCompat(R.color.sel_on_cover_bg))
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,9 +19,9 @@
|
||||||
package org.oxycblt.auxio.image.coil
|
package org.oxycblt.auxio.image.coil
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Bitmap
|
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
|
import androidx.core.graphics.createBitmap
|
||||||
import androidx.core.graphics.drawable.toDrawable
|
import androidx.core.graphics.drawable.toDrawable
|
||||||
import coil3.ImageLoader
|
import coil3.ImageLoader
|
||||||
import coil3.asImage
|
import coil3.asImage
|
||||||
|
@ -46,7 +46,7 @@ import kotlinx.coroutines.withContext
|
||||||
import okio.FileSystem
|
import okio.FileSystem
|
||||||
import okio.buffer
|
import okio.buffer
|
||||||
import okio.source
|
import okio.source
|
||||||
import org.oxycblt.musikr.cover.CoverCollection
|
import org.oxycblt.musikr.covers.CoverCollection
|
||||||
|
|
||||||
class CoverCollectionFetcher
|
class CoverCollectionFetcher
|
||||||
private constructor(
|
private constructor(
|
||||||
|
@ -90,8 +90,7 @@ private constructor(
|
||||||
val mosaicFrameSize =
|
val mosaicFrameSize =
|
||||||
Size(Dimension(mosaicSize.width / 2), Dimension(mosaicSize.height / 2))
|
Size(Dimension(mosaicSize.width / 2), Dimension(mosaicSize.height / 2))
|
||||||
|
|
||||||
val mosaicBitmap =
|
val mosaicBitmap = createBitmap(mosaicSize.width, mosaicSize.height)
|
||||||
Bitmap.createBitmap(mosaicSize.width, mosaicSize.height, Bitmap.Config.ARGB_8888)
|
|
||||||
val canvas = Canvas(mosaicBitmap)
|
val canvas = Canvas(mosaicBitmap)
|
||||||
|
|
||||||
var x = 0
|
var x = 0
|
||||||
|
|
|
@ -18,32 +18,20 @@
|
||||||
|
|
||||||
package org.oxycblt.auxio.image.coil
|
package org.oxycblt.auxio.image.coil
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.graphics.Bitmap
|
|
||||||
import android.graphics.BitmapFactory
|
|
||||||
import android.graphics.Canvas
|
|
||||||
import androidx.core.graphics.drawable.toDrawable
|
|
||||||
import coil3.ImageLoader
|
import coil3.ImageLoader
|
||||||
import coil3.asImage
|
|
||||||
import coil3.decode.DataSource
|
import coil3.decode.DataSource
|
||||||
import coil3.decode.ImageSource
|
import coil3.decode.ImageSource
|
||||||
import coil3.fetch.FetchResult
|
import coil3.fetch.FetchResult
|
||||||
import coil3.fetch.Fetcher
|
import coil3.fetch.Fetcher
|
||||||
import coil3.fetch.ImageFetchResult
|
|
||||||
import coil3.fetch.SourceFetchResult
|
import coil3.fetch.SourceFetchResult
|
||||||
import coil3.request.Options
|
import coil3.request.Options
|
||||||
import coil3.size.Dimension
|
|
||||||
import coil3.size.Size
|
|
||||||
import coil3.size.pxOrElse
|
|
||||||
import java.io.InputStream
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import okio.FileSystem
|
import okio.FileSystem
|
||||||
import okio.buffer
|
import okio.buffer
|
||||||
import okio.source
|
import okio.source
|
||||||
import org.oxycblt.musikr.cover.Cover
|
import org.oxycblt.musikr.covers.Cover
|
||||||
|
|
||||||
class CoverFetcher private constructor(private val context: Context, private val cover: Cover) :
|
class CoverFetcher private constructor(private val cover: Cover) : Fetcher {
|
||||||
Fetcher {
|
|
||||||
override suspend fun fetch(): FetchResult? {
|
override suspend fun fetch(): FetchResult? {
|
||||||
val stream = cover.open() ?: return null
|
val stream = cover.open() ?: return null
|
||||||
return SourceFetchResult(
|
return SourceFetchResult(
|
||||||
|
@ -52,59 +40,8 @@ class CoverFetcher private constructor(private val context: Context, private val
|
||||||
dataSource = DataSource.DISK)
|
dataSource = DataSource.DISK)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Derived from phonograph: https://github.com/kabouzeid/Phonograph */
|
|
||||||
private suspend fun createMosaic(streams: List<InputStream>, size: Size): FetchResult {
|
|
||||||
// Use whatever size coil gives us to create the mosaic.
|
|
||||||
val mosaicSize = android.util.Size(size.width.mosaicSize(), size.height.mosaicSize())
|
|
||||||
val mosaicFrameSize =
|
|
||||||
Size(Dimension(mosaicSize.width / 2), Dimension(mosaicSize.height / 2))
|
|
||||||
|
|
||||||
val mosaicBitmap =
|
|
||||||
Bitmap.createBitmap(mosaicSize.width, mosaicSize.height, Bitmap.Config.ARGB_8888)
|
|
||||||
val canvas = Canvas(mosaicBitmap)
|
|
||||||
|
|
||||||
var x = 0
|
|
||||||
var y = 0
|
|
||||||
|
|
||||||
// For each stream, create a bitmap scaled to 1/4th of the mosaics combined size
|
|
||||||
// and place it on a corner of the canvas.
|
|
||||||
for (stream in streams) {
|
|
||||||
if (y == mosaicSize.height) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
// Crop the bitmap down to a square so it leaves no empty space
|
|
||||||
// TODO: Work around this
|
|
||||||
val bitmap =
|
|
||||||
SquareCropTransformation.INSTANCE.transform(
|
|
||||||
BitmapFactory.decodeStream(stream), mosaicFrameSize)
|
|
||||||
canvas.drawBitmap(bitmap, x.toFloat(), y.toFloat(), null)
|
|
||||||
|
|
||||||
x += bitmap.width
|
|
||||||
if (x == mosaicSize.width) {
|
|
||||||
x = 0
|
|
||||||
y += bitmap.height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// It's way easier to map this into a drawable then try to serialize it into an
|
|
||||||
// BufferedSource. Just make sure we mark it as "sampled" so Coil doesn't try to
|
|
||||||
// load low-res mosaics into high-res ImageViews.
|
|
||||||
return ImageFetchResult(
|
|
||||||
image = mosaicBitmap.toDrawable(context.resources).asImage(),
|
|
||||||
isSampled = true,
|
|
||||||
dataSource = DataSource.DISK)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun Dimension.mosaicSize(): Int {
|
|
||||||
// Since we want the mosaic to be perfectly divisible into two, we need to round any
|
|
||||||
// odd image sizes upwards to prevent the mosaic creation from failing.
|
|
||||||
val size = pxOrElse { 512 }
|
|
||||||
return if (size.mod(2) > 0) size + 1 else size
|
|
||||||
}
|
|
||||||
|
|
||||||
class Factory @Inject constructor() : Fetcher.Factory<Cover> {
|
class Factory @Inject constructor() : Fetcher.Factory<Cover> {
|
||||||
override fun create(data: Cover, options: Options, imageLoader: ImageLoader) =
|
override fun create(data: Cover, options: Options, imageLoader: ImageLoader) =
|
||||||
CoverFetcher(options.context, data)
|
CoverFetcher(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,8 @@ package org.oxycblt.auxio.image.coil
|
||||||
import coil3.key.Keyer
|
import coil3.key.Keyer
|
||||||
import coil3.request.Options
|
import coil3.request.Options
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import org.oxycblt.musikr.cover.Cover
|
import org.oxycblt.musikr.covers.Cover
|
||||||
import org.oxycblt.musikr.cover.CoverCollection
|
import org.oxycblt.musikr.covers.CoverCollection
|
||||||
|
|
||||||
class CoverKeyer @Inject constructor() : Keyer<Cover> {
|
class CoverKeyer @Inject constructor() : Keyer<Cover> {
|
||||||
override fun key(data: Cover, options: Options) = "${data.id}&${options.size}"
|
override fun key(data: Cover, options: Options) = "${data.id}&${options.size}"
|
||||||
|
|
|
@ -38,8 +38,8 @@ import coil3.transform.Transformation
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A vendoring of [coil.transform.RoundedCornersTransformation] that can handle non-1:1 aspect ratio
|
* A vendoring of coil's RoundedCornersTransformation that can handle non-1:1 aspect ratio images
|
||||||
* images without cropping them.
|
* without cropping them.
|
||||||
*
|
*
|
||||||
* @author Coil Team, Alexander Capehart (OxygenCobalt)
|
* @author Coil Team, Alexander Capehart (OxygenCobalt)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
package org.oxycblt.auxio.image.coil
|
package org.oxycblt.auxio.image.coil
|
||||||
|
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
|
import androidx.core.graphics.scale
|
||||||
import coil3.size.Size
|
import coil3.size.Size
|
||||||
import coil3.size.pxOrElse
|
import coil3.size.pxOrElse
|
||||||
import coil3.transform.Transformation
|
import coil3.transform.Transformation
|
||||||
|
@ -46,7 +47,7 @@ class SquareCropTransformation : Transformation() {
|
||||||
val desiredHeight = size.height.pxOrElse { dstSize }
|
val desiredHeight = size.height.pxOrElse { dstSize }
|
||||||
if (dstSize != desiredWidth || dstSize != desiredHeight) {
|
if (dstSize != desiredWidth || dstSize != desiredHeight) {
|
||||||
// Image is not the desired size, upscale it.
|
// Image is not the desired size, upscale it.
|
||||||
return Bitmap.createScaledBitmap(dst, desiredWidth, desiredHeight, true)
|
return dst.scale(desiredWidth, desiredHeight)
|
||||||
}
|
}
|
||||||
return dst
|
return dst
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2024 Auxio Project
|
|
||||||
* CoverSilo.kt is part of Auxio.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.oxycblt.auxio.image.covers
|
|
||||||
|
|
||||||
import java.util.UUID
|
|
||||||
import org.oxycblt.musikr.cover.CoverParams
|
|
||||||
|
|
||||||
data class CoverSilo(val revision: UUID, val params: CoverParams) {
|
|
||||||
override fun toString() = "${revision}.${params.resolution}.${params.quality}"
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun parse(silo: String): CoverSilo? {
|
|
||||||
val parts = silo.split('.')
|
|
||||||
if (parts.size != 3) return null
|
|
||||||
val revision = parts[0].toUuidOrNull() ?: return null
|
|
||||||
val resolution = parts[1].toIntOrNull() ?: return null
|
|
||||||
val quality = parts[2].toIntOrNull() ?: return null
|
|
||||||
return CoverSilo(revision, CoverParams.of(resolution, quality))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun String.toUuidOrNull(): UUID? =
|
|
||||||
try {
|
|
||||||
UUID.fromString(this)
|
|
||||||
} catch (e: IllegalArgumentException) {
|
|
||||||
null
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2024 Auxio Project
|
* Copyright (c) 2023 Auxio Project
|
||||||
* CoverModule.kt is part of Auxio.
|
* CoversModule.kt is part of Auxio.
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -20,19 +20,11 @@ package org.oxycblt.auxio.image.covers
|
||||||
|
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import org.oxycblt.musikr.cover.CoverIdentifier
|
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
interface CoverModule {
|
interface CoilModule {
|
||||||
@Binds fun configCovers(impl: SettingCoversImpl): SettingCovers
|
@Binds fun settingCovers(imageSettings: SettingCoversImpl): SettingCovers
|
||||||
}
|
|
||||||
|
|
||||||
@Module
|
|
||||||
@InstallIn(SingletonComponent::class)
|
|
||||||
class CoverProvidesModule {
|
|
||||||
@Provides fun identifier(): CoverIdentifier = CoverIdentifier.md5()
|
|
||||||
}
|
}
|
|
@ -18,18 +18,20 @@
|
||||||
|
|
||||||
package org.oxycblt.auxio.image.covers
|
package org.oxycblt.auxio.image.covers
|
||||||
|
|
||||||
import android.content.Context
|
import org.oxycblt.musikr.covers.Cover
|
||||||
import org.oxycblt.musikr.cover.Cover
|
import org.oxycblt.musikr.covers.CoverResult
|
||||||
import org.oxycblt.musikr.cover.MutableCovers
|
import org.oxycblt.musikr.covers.MutableCovers
|
||||||
import org.oxycblt.musikr.cover.ObtainResult
|
import org.oxycblt.musikr.covers.stored.CoverStorage
|
||||||
|
import org.oxycblt.musikr.fs.device.DeviceFile
|
||||||
|
import org.oxycblt.musikr.metadata.Metadata
|
||||||
|
|
||||||
class NullCovers(private val context: Context) : MutableCovers {
|
class NullCovers(private val storage: CoverStorage) : MutableCovers<NullCover> {
|
||||||
override suspend fun obtain(id: String) = ObtainResult.Hit(NullCover)
|
override suspend fun obtain(id: String) = CoverResult.Hit(NullCover)
|
||||||
|
|
||||||
override suspend fun write(data: ByteArray): Cover = NullCover
|
override suspend fun create(file: DeviceFile, metadata: Metadata) = CoverResult.Hit(NullCover)
|
||||||
|
|
||||||
override suspend fun cleanup(excluding: Collection<Cover>) {
|
override suspend fun cleanup(excluding: Collection<Cover>) {
|
||||||
context.coversDir().listFiles()?.forEach { it.deleteRecursively() }
|
storage.ls(setOf()).map { storage.rm(it) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2024 Auxio Project
|
* Copyright (c) 2025 Auxio Project
|
||||||
* CoverUtil.kt is part of Auxio.
|
* RevisionedTranscoding.kt is part of Auxio.
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -18,9 +18,9 @@
|
||||||
|
|
||||||
package org.oxycblt.auxio.image.covers
|
package org.oxycblt.auxio.image.covers
|
||||||
|
|
||||||
import android.content.Context
|
import java.util.UUID
|
||||||
import kotlinx.coroutines.Dispatchers
|
import org.oxycblt.musikr.covers.stored.Transcoding
|
||||||
import kotlinx.coroutines.withContext
|
|
||||||
|
|
||||||
suspend fun Context.coversDir() =
|
class RevisionedTranscoding(revision: UUID, private val inner: Transcoding) : Transcoding by inner {
|
||||||
withContext(Dispatchers.IO) { filesDir.resolve("covers").apply { mkdirs() } }
|
override val tag = "_$revision${inner.tag}"
|
||||||
|
}
|
|
@ -19,30 +19,55 @@
|
||||||
package org.oxycblt.auxio.image.covers
|
package org.oxycblt.auxio.image.covers
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.graphics.Bitmap
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import org.oxycblt.auxio.image.CoverMode
|
import org.oxycblt.auxio.image.CoverMode
|
||||||
import org.oxycblt.auxio.image.ImageSettings
|
import org.oxycblt.auxio.image.ImageSettings
|
||||||
import org.oxycblt.musikr.cover.CoverIdentifier
|
import org.oxycblt.musikr.covers.Cover
|
||||||
import org.oxycblt.musikr.cover.CoverParams
|
import org.oxycblt.musikr.covers.Covers
|
||||||
import org.oxycblt.musikr.cover.MutableCovers
|
import org.oxycblt.musikr.covers.FDCover
|
||||||
|
import org.oxycblt.musikr.covers.MutableCovers
|
||||||
|
import org.oxycblt.musikr.covers.chained.ChainedCovers
|
||||||
|
import org.oxycblt.musikr.covers.chained.MutableChainedCovers
|
||||||
|
import org.oxycblt.musikr.covers.embedded.CoverIdentifier
|
||||||
|
import org.oxycblt.musikr.covers.embedded.EmbeddedCovers
|
||||||
|
import org.oxycblt.musikr.covers.fs.FSCovers
|
||||||
|
import org.oxycblt.musikr.covers.fs.MutableFSCovers
|
||||||
|
import org.oxycblt.musikr.covers.stored.Compress
|
||||||
|
import org.oxycblt.musikr.covers.stored.CoverStorage
|
||||||
|
import org.oxycblt.musikr.covers.stored.MutableStoredCovers
|
||||||
|
import org.oxycblt.musikr.covers.stored.NoTranscoding
|
||||||
|
import org.oxycblt.musikr.covers.stored.StoredCovers
|
||||||
|
|
||||||
interface SettingCovers {
|
interface SettingCovers {
|
||||||
suspend fun create(context: Context, revision: UUID): MutableCovers
|
suspend fun mutate(context: Context, revision: UUID): MutableCovers<out Cover>
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
suspend fun immutable(context: Context): Covers<FDCover> =
|
||||||
|
ChainedCovers(StoredCovers(CoverStorage.at(context.coversDir())), FSCovers(context))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingCoversImpl
|
class SettingCoversImpl @Inject constructor(private val imageSettings: ImageSettings) :
|
||||||
@Inject
|
|
||||||
constructor(private val imageSettings: ImageSettings, private val identifier: CoverIdentifier) :
|
|
||||||
SettingCovers {
|
SettingCovers {
|
||||||
override suspend fun create(context: Context, revision: UUID): MutableCovers =
|
override suspend fun mutate(context: Context, revision: UUID): MutableCovers<out Cover> {
|
||||||
|
val coverStorage = CoverStorage.at(context.coversDir())
|
||||||
|
val transcoding =
|
||||||
when (imageSettings.coverMode) {
|
when (imageSettings.coverMode) {
|
||||||
CoverMode.OFF -> NullCovers(context)
|
CoverMode.OFF -> return NullCovers(coverStorage)
|
||||||
CoverMode.SAVE_SPACE -> siloedCovers(context, revision, CoverParams.of(500, 70))
|
CoverMode.SAVE_SPACE -> Compress(Bitmap.CompressFormat.JPEG, 500, 70)
|
||||||
CoverMode.BALANCED -> siloedCovers(context, revision, CoverParams.of(750, 85))
|
CoverMode.BALANCED -> Compress(Bitmap.CompressFormat.JPEG, 750, 85)
|
||||||
CoverMode.HIGH_QUALITY -> siloedCovers(context, revision, CoverParams.of(1000, 100))
|
CoverMode.HIGH_QUALITY -> Compress(Bitmap.CompressFormat.JPEG, 1000, 100)
|
||||||
|
CoverMode.AS_IS -> NoTranscoding
|
||||||
|
}
|
||||||
|
val revisionedTranscoding = RevisionedTranscoding(revision, transcoding)
|
||||||
|
val storedCovers =
|
||||||
|
MutableStoredCovers(
|
||||||
|
EmbeddedCovers(CoverIdentifier.md5()), coverStorage, revisionedTranscoding)
|
||||||
|
val fsCovers = MutableFSCovers(context)
|
||||||
|
return MutableChainedCovers(storedCovers, fsCovers)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun siloedCovers(context: Context, revision: UUID, with: CoverParams) =
|
private fun Context.coversDir() = filesDir.resolve("covers").apply { mkdirs() }
|
||||||
MutableSiloedCovers.from(context, CoverSilo(revision, with), identifier)
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,118 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2024 Auxio Project
|
|
||||||
* SiloedCovers.kt is part of Auxio.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.oxycblt.auxio.image.covers
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import java.io.File
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
|
||||||
import kotlinx.coroutines.withContext
|
|
||||||
import org.oxycblt.musikr.cover.Cover
|
|
||||||
import org.oxycblt.musikr.cover.CoverFormat
|
|
||||||
import org.oxycblt.musikr.cover.CoverIdentifier
|
|
||||||
import org.oxycblt.musikr.cover.Covers
|
|
||||||
import org.oxycblt.musikr.cover.FileCover
|
|
||||||
import org.oxycblt.musikr.cover.FileCovers
|
|
||||||
import org.oxycblt.musikr.cover.MutableCovers
|
|
||||||
import org.oxycblt.musikr.cover.MutableFileCovers
|
|
||||||
import org.oxycblt.musikr.cover.ObtainResult
|
|
||||||
import org.oxycblt.musikr.fs.app.AppFiles
|
|
||||||
|
|
||||||
open class SiloedCovers(private val silo: CoverSilo, private val fileCovers: FileCovers) : Covers {
|
|
||||||
override suspend fun obtain(id: String): ObtainResult<SiloedCover> {
|
|
||||||
val coverId = SiloedCoverId.parse(id) ?: return ObtainResult.Miss()
|
|
||||||
if (coverId.silo != silo) return ObtainResult.Miss()
|
|
||||||
return when (val result = fileCovers.obtain(coverId.id)) {
|
|
||||||
is ObtainResult.Hit -> ObtainResult.Hit(SiloedCover(silo, result.cover))
|
|
||||||
is ObtainResult.Miss -> ObtainResult.Miss()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
suspend fun from(context: Context, silo: CoverSilo): SiloedCovers {
|
|
||||||
val core = SiloCore.from(context, silo)
|
|
||||||
return SiloedCovers(silo, FileCovers(core.files, core.format))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class MutableSiloedCovers
|
|
||||||
private constructor(
|
|
||||||
private val rootDir: File,
|
|
||||||
private val silo: CoverSilo,
|
|
||||||
private val fileCovers: MutableFileCovers
|
|
||||||
) : SiloedCovers(silo, fileCovers), MutableCovers {
|
|
||||||
override suspend fun write(data: ByteArray) = SiloedCover(silo, fileCovers.write(data))
|
|
||||||
|
|
||||||
override suspend fun cleanup(excluding: Collection<Cover>) {
|
|
||||||
fileCovers.cleanup(excluding.filterIsInstance<SiloedCover>().map { it.innerCover })
|
|
||||||
|
|
||||||
// Destroy old revisions no longer being used.
|
|
||||||
withContext(Dispatchers.IO) {
|
|
||||||
val exclude = silo.toString()
|
|
||||||
rootDir.listFiles { file -> file.name != exclude }?.forEach { it.deleteRecursively() }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
suspend fun from(
|
|
||||||
context: Context,
|
|
||||||
silo: CoverSilo,
|
|
||||||
coverIdentifier: CoverIdentifier
|
|
||||||
): MutableSiloedCovers {
|
|
||||||
val core = SiloCore.from(context, silo)
|
|
||||||
return MutableSiloedCovers(
|
|
||||||
core.rootDir, silo, MutableFileCovers(core.files, core.format, coverIdentifier))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
data class SiloedCover(private val silo: CoverSilo, val innerCover: FileCover) :
|
|
||||||
FileCover by innerCover {
|
|
||||||
private val innerId = SiloedCoverId(silo, innerCover.id)
|
|
||||||
override val id = innerId.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
data class SiloedCoverId(val silo: CoverSilo, val id: String) {
|
|
||||||
override fun toString() = "$id@$silo"
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun parse(id: String): SiloedCoverId? {
|
|
||||||
val parts = id.split('@')
|
|
||||||
if (parts.size != 2) return null
|
|
||||||
val silo = CoverSilo.parse(parts[1]) ?: return null
|
|
||||||
return SiloedCoverId(silo, parts[0])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private data class SiloCore(val rootDir: File, val files: AppFiles, val format: CoverFormat) {
|
|
||||||
companion object {
|
|
||||||
suspend fun from(context: Context, silo: CoverSilo): SiloCore {
|
|
||||||
val rootDir: File
|
|
||||||
val revisionDir: File
|
|
||||||
withContext(Dispatchers.IO) {
|
|
||||||
rootDir = context.coversDir()
|
|
||||||
revisionDir = rootDir.resolve(silo.toString()).apply { mkdirs() }
|
|
||||||
}
|
|
||||||
val files = AppFiles.at(revisionDir)
|
|
||||||
val format = CoverFormat.jpeg(silo.params)
|
|
||||||
return SiloCore(rootDir, files, format)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -19,6 +19,7 @@
|
||||||
package org.oxycblt.auxio.list.recycler
|
package org.oxycblt.auxio.list.recycler
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
|
@ -34,6 +35,7 @@ import android.view.ViewGroup
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
import android.widget.FrameLayout
|
import android.widget.FrameLayout
|
||||||
import androidx.annotation.AttrRes
|
import androidx.annotation.AttrRes
|
||||||
|
import androidx.core.view.isEmpty
|
||||||
import androidx.core.view.isInvisible
|
import androidx.core.view.isInvisible
|
||||||
import androidx.core.view.updatePaddingRelative
|
import androidx.core.view.updatePaddingRelative
|
||||||
import androidx.core.widget.TextViewCompat
|
import androidx.core.widget.TextViewCompat
|
||||||
|
@ -90,6 +92,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
|
||||||
private val thumbSlider = MaterialSlider.small(context, thumbWidth)
|
private val thumbSlider = MaterialSlider.small(context, thumbWidth)
|
||||||
private var thumbAnimator: Animator? = null
|
private var thumbAnimator: Animator? = null
|
||||||
|
|
||||||
|
@SuppressLint("InflateParams")
|
||||||
private val thumbView =
|
private val thumbView =
|
||||||
context.inflater.inflate(R.layout.view_scroll_thumb, null).apply {
|
context.inflater.inflate(R.layout.view_scroll_thumb, null).apply {
|
||||||
thumbSlider.jumpOut(this)
|
thumbSlider.jumpOut(this)
|
||||||
|
@ -339,7 +342,7 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr
|
||||||
// [proportion of scroll position to scroll range] * [total thumb range]
|
// [proportion of scroll position to scroll range] * [total thumb range]
|
||||||
// This is somewhat adapted from the androidx RecyclerView FastScroller implementation.
|
// This is somewhat adapted from the androidx RecyclerView FastScroller implementation.
|
||||||
val offsetY = computeVerticalScrollOffset()
|
val offsetY = computeVerticalScrollOffset()
|
||||||
if (computeVerticalScrollRange() < height || childCount == 0) {
|
if (computeVerticalScrollRange() < height || isEmpty()) {
|
||||||
fastScrollingPossible = false
|
fastScrollingPossible = false
|
||||||
hideThumb()
|
hideThumb()
|
||||||
hidePopup()
|
hidePopup()
|
||||||
|
|
|
@ -29,6 +29,7 @@ import kotlinx.coroutines.withContext
|
||||||
import kotlinx.coroutines.yield
|
import kotlinx.coroutines.yield
|
||||||
import org.oxycblt.auxio.image.covers.SettingCovers
|
import org.oxycblt.auxio.image.covers.SettingCovers
|
||||||
import org.oxycblt.auxio.music.MusicRepository.IndexingWorker
|
import org.oxycblt.auxio.music.MusicRepository.IndexingWorker
|
||||||
|
import org.oxycblt.auxio.music.shim.WriteOnlyMutableCache
|
||||||
import org.oxycblt.musikr.IndexingProgress
|
import org.oxycblt.musikr.IndexingProgress
|
||||||
import org.oxycblt.musikr.Interpretation
|
import org.oxycblt.musikr.Interpretation
|
||||||
import org.oxycblt.musikr.Library
|
import org.oxycblt.musikr.Library
|
||||||
|
@ -38,7 +39,7 @@ import org.oxycblt.musikr.MutableLibrary
|
||||||
import org.oxycblt.musikr.Playlist
|
import org.oxycblt.musikr.Playlist
|
||||||
import org.oxycblt.musikr.Song
|
import org.oxycblt.musikr.Song
|
||||||
import org.oxycblt.musikr.Storage
|
import org.oxycblt.musikr.Storage
|
||||||
import org.oxycblt.musikr.cache.StoredCache
|
import org.oxycblt.musikr.cache.MutableCache
|
||||||
import org.oxycblt.musikr.playlist.db.StoredPlaylists
|
import org.oxycblt.musikr.playlist.db.StoredPlaylists
|
||||||
import org.oxycblt.musikr.tag.interpret.Naming
|
import org.oxycblt.musikr.tag.interpret.Naming
|
||||||
import org.oxycblt.musikr.tag.interpret.Separators
|
import org.oxycblt.musikr.tag.interpret.Separators
|
||||||
|
@ -187,8 +188,8 @@ interface MusicRepository {
|
||||||
/**
|
/**
|
||||||
* Flags indicating which kinds of music information changed.
|
* Flags indicating which kinds of music information changed.
|
||||||
*
|
*
|
||||||
* @param deviceLibrary Whether the current [DeviceLibrary] has changed.
|
* @param deviceLibrary Whether the current songs/albums/artists/genres has changed.
|
||||||
* @param library Whether the current [Playlist]s have changed.
|
* @param userLibrary Whether the current playlists have changed.
|
||||||
*/
|
*/
|
||||||
data class Changes(val deviceLibrary: Boolean, val userLibrary: Boolean)
|
data class Changes(val deviceLibrary: Boolean, val userLibrary: Boolean)
|
||||||
|
|
||||||
|
@ -236,14 +237,14 @@ class MusicRepositoryImpl
|
||||||
@Inject
|
@Inject
|
||||||
constructor(
|
constructor(
|
||||||
@ApplicationContext private val context: Context,
|
@ApplicationContext private val context: Context,
|
||||||
private val storedCache: StoredCache,
|
private val cache: MutableCache,
|
||||||
private val storedPlaylists: StoredPlaylists,
|
private val storedPlaylists: StoredPlaylists,
|
||||||
private val settingCovers: SettingCovers,
|
private val settingCovers: SettingCovers,
|
||||||
private val musicSettings: MusicSettings
|
private val musicSettings: MusicSettings
|
||||||
) : MusicRepository {
|
) : MusicRepository {
|
||||||
private val updateListeners = mutableListOf<MusicRepository.UpdateListener>()
|
private val updateListeners = mutableListOf<MusicRepository.UpdateListener>()
|
||||||
private val indexingListeners = mutableListOf<MusicRepository.IndexingListener>()
|
private val indexingListeners = mutableListOf<MusicRepository.IndexingListener>()
|
||||||
@Volatile private var indexingWorker: MusicRepository.IndexingWorker? = null
|
@Volatile private var indexingWorker: IndexingWorker? = null
|
||||||
|
|
||||||
@Volatile override var library: MutableLibrary? = null
|
@Volatile override var library: MutableLibrary? = null
|
||||||
@Volatile private var previousCompletedState: IndexingState.Completed? = null
|
@Volatile private var previousCompletedState: IndexingState.Completed? = null
|
||||||
|
@ -282,7 +283,7 @@ constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
override fun registerWorker(worker: MusicRepository.IndexingWorker) {
|
override fun registerWorker(worker: IndexingWorker) {
|
||||||
if (indexingWorker != null) {
|
if (indexingWorker != null) {
|
||||||
L.w("Worker is already registered")
|
L.w("Worker is already registered")
|
||||||
return
|
return
|
||||||
|
@ -292,7 +293,7 @@ constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
override fun unregisterWorker(worker: MusicRepository.IndexingWorker) {
|
override fun unregisterWorker(worker: IndexingWorker) {
|
||||||
if (indexingWorker !== worker) {
|
if (indexingWorker !== worker) {
|
||||||
L.w("Given worker did not match current worker")
|
L.w("Given worker did not match current worker")
|
||||||
return
|
return
|
||||||
|
@ -384,14 +385,14 @@ constructor(
|
||||||
Naming.simple()
|
Naming.simple()
|
||||||
}
|
}
|
||||||
val locations = musicSettings.musicLocations
|
val locations = musicSettings.musicLocations
|
||||||
|
val withHidden = musicSettings.withHidden
|
||||||
|
|
||||||
val currentRevision = musicSettings.revision
|
val currentRevision = musicSettings.revision
|
||||||
val newRevision = currentRevision?.takeIf { withCache } ?: UUID.randomUUID()
|
val newRevision = currentRevision?.takeIf { withCache } ?: UUID.randomUUID()
|
||||||
val cache = if (withCache) storedCache.visible() else storedCache.invisible()
|
val cache = if (withCache) cache else WriteOnlyMutableCache(cache)
|
||||||
val covers = settingCovers.create(context, newRevision)
|
val covers = settingCovers.mutate(context, newRevision)
|
||||||
val storage = Storage(cache, covers, storedPlaylists)
|
val storage = Storage(cache, covers, storedPlaylists)
|
||||||
val interpretation = Interpretation(nameFactory, separators)
|
val interpretation = Interpretation(nameFactory, separators, withHidden)
|
||||||
|
|
||||||
val result =
|
val result =
|
||||||
Musikr.new(context, storage, interpretation).run(locations, ::emitIndexingProgress)
|
Musikr.new(context, storage, interpretation).run(locations, ::emitIndexingProgress)
|
||||||
// Music loading completed, update the revision right now so we re-use this work
|
// Music loading completed, update the revision right now so we re-use this work
|
||||||
|
|
|
@ -40,6 +40,8 @@ interface MusicSettings : Settings<MusicSettings.Listener> {
|
||||||
var musicLocations: List<MusicLocation>
|
var musicLocations: List<MusicLocation>
|
||||||
/** Whether to exclude non-music audio files from the music library. */
|
/** Whether to exclude non-music audio files from the music library. */
|
||||||
val excludeNonMusic: Boolean
|
val excludeNonMusic: Boolean
|
||||||
|
/** Whether to ignore hidden files and directories during music loading. */
|
||||||
|
val withHidden: Boolean
|
||||||
/** Whether to be actively watching for changes in the music library. */
|
/** Whether to be actively watching for changes in the music library. */
|
||||||
val shouldBeObserving: Boolean
|
val shouldBeObserving: Boolean
|
||||||
/** A [String] of characters representing the desired characters to denote multi-value tags. */
|
/** A [String] of characters representing the desired characters to denote multi-value tags. */
|
||||||
|
@ -83,13 +85,19 @@ class MusicSettingsImpl @Inject constructor(@ApplicationContext private val cont
|
||||||
sharedPreferences.edit {
|
sharedPreferences.edit {
|
||||||
putString(
|
putString(
|
||||||
getString(R.string.set_key_music_locations), MusicLocation.toString(value))
|
getString(R.string.set_key_music_locations), MusicLocation.toString(value))
|
||||||
this@edit.apply()
|
commit()
|
||||||
|
// Sometimes changing this setting just won't actually trigger the listener.
|
||||||
|
// Only this one. No idea why.
|
||||||
|
listener?.onMusicLocationsChanged()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override val excludeNonMusic: Boolean
|
override val excludeNonMusic: Boolean
|
||||||
get() = sharedPreferences.getBoolean(getString(R.string.set_key_exclude_non_music), true)
|
get() = sharedPreferences.getBoolean(getString(R.string.set_key_exclude_non_music), true)
|
||||||
|
|
||||||
|
override val withHidden: Boolean
|
||||||
|
get() = sharedPreferences.getBoolean(getString(R.string.set_key_with_hidden), false)
|
||||||
|
|
||||||
override val shouldBeObserving: Boolean
|
override val shouldBeObserving: Boolean
|
||||||
get() = sharedPreferences.getBoolean(getString(R.string.set_key_observing), false)
|
get() = sharedPreferences.getBoolean(getString(R.string.set_key_observing), false)
|
||||||
|
|
||||||
|
@ -116,7 +124,9 @@ class MusicSettingsImpl @Inject constructor(@ApplicationContext private val cont
|
||||||
listener.onMusicLocationsChanged()
|
listener.onMusicLocationsChanged()
|
||||||
}
|
}
|
||||||
getString(R.string.set_key_separators),
|
getString(R.string.set_key_separators),
|
||||||
getString(R.string.set_key_auto_sort_names) -> {
|
getString(R.string.set_key_auto_sort_names),
|
||||||
|
getString(R.string.set_key_with_hidden),
|
||||||
|
getString(R.string.set_key_exclude_non_music) -> {
|
||||||
L.d("Dispatching indexing setting change for $key")
|
L.d("Dispatching indexing setting change for $key")
|
||||||
listener.onIndexingSettingChanged()
|
listener.onIndexingSettingChanged()
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,15 +27,10 @@ import org.oxycblt.auxio.R
|
||||||
* @author Alexander Capehart (OxygenCobalt)
|
* @author Alexander Capehart (OxygenCobalt)
|
||||||
*/
|
*/
|
||||||
enum class MusicType {
|
enum class MusicType {
|
||||||
/** @see Song */
|
|
||||||
SONGS,
|
SONGS,
|
||||||
/** @see Album */
|
|
||||||
ALBUMS,
|
ALBUMS,
|
||||||
/** @see Artist */
|
|
||||||
ARTISTS,
|
ARTISTS,
|
||||||
/** @see Genre */
|
|
||||||
GENRES,
|
GENRES,
|
||||||
/** @see Playlist */
|
|
||||||
PLAYLISTS;
|
PLAYLISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -53,6 +53,9 @@ class DeletePlaylistDialog : ViewBindingMaterialDialogFragment<DialogDeletePlayl
|
||||||
builder
|
builder
|
||||||
.setTitle(R.string.lbl_confirm_delete_playlist)
|
.setTitle(R.string.lbl_confirm_delete_playlist)
|
||||||
.setPositiveButton(R.string.lbl_delete) { _, _ ->
|
.setPositiveButton(R.string.lbl_delete) { _, _ ->
|
||||||
|
// Normally the navigateUp will occur after this, which then collides with the
|
||||||
|
// playlist view's navigation. Forcefully navigate up to stop this.
|
||||||
|
findNavController().navigateUp()
|
||||||
// Now we can delete the playlist for-real this time.
|
// Now we can delete the playlist for-real this time.
|
||||||
musicModel.deletePlaylist(
|
musicModel.deletePlaylist(
|
||||||
unlikelyToBeNull(pickerModel.currentPlaylistToDelete.value), rude = true)
|
unlikelyToBeNull(pickerModel.currentPlaylistToDelete.value), rude = true)
|
||||||
|
|
|
@ -25,6 +25,7 @@ import android.view.LayoutInflater
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.core.net.toUri
|
||||||
import androidx.recyclerview.widget.ConcatAdapter
|
import androidx.recyclerview.widget.ConcatAdapter
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
@ -80,7 +81,7 @@ class MusicSourcesDialog :
|
||||||
|
|
||||||
val locations =
|
val locations =
|
||||||
savedInstanceState?.getStringArrayList(KEY_PENDING_LOCATIONS)?.mapNotNull {
|
savedInstanceState?.getStringArrayList(KEY_PENDING_LOCATIONS)?.mapNotNull {
|
||||||
MusicLocation.existing(requireContext(), Uri.parse(it))
|
MusicLocation.existing(requireContext(), it.toUri())
|
||||||
} ?: musicSettings.musicLocations
|
} ?: musicSettings.musicLocations
|
||||||
|
|
||||||
locationAdapter.addAll(locations)
|
locationAdapter.addAll(locations)
|
||||||
|
|
|
@ -51,7 +51,7 @@ class NewLocationFooterAdapter(private val listener: Listener) :
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A [RecyclerView.ViewHolder] that displays a "New Playlist" choice in [NewPlaylistFooterAdapter].
|
* A [RecyclerView.ViewHolder] that displays a "New Playlist" choice in [NewLocationFooterAdapter].
|
||||||
* Use [from] to create an instance.
|
* Use [from] to create an instance.
|
||||||
*
|
*
|
||||||
* @author Alexander Capehart (OxygenCobalt)
|
* @author Alexander Capehart (OxygenCobalt)
|
||||||
|
|
|
@ -92,6 +92,7 @@ constructor(
|
||||||
|
|
||||||
fun start() {
|
fun start() {
|
||||||
if (musicRepository.indexingState == null) {
|
if (musicRepository.indexingState == null) {
|
||||||
|
L.d("Requesting index")
|
||||||
musicRepository.requestIndex(true)
|
musicRepository.requestIndex(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,8 @@ import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
import org.oxycblt.musikr.cache.StoredCache
|
import org.oxycblt.musikr.cache.MutableCache
|
||||||
|
import org.oxycblt.musikr.cache.db.MutableDBCache
|
||||||
import org.oxycblt.musikr.playlist.db.StoredPlaylists
|
import org.oxycblt.musikr.playlist.db.StoredPlaylists
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
|
@ -33,7 +34,7 @@ import org.oxycblt.musikr.playlist.db.StoredPlaylists
|
||||||
class MusikrShimModule {
|
class MusikrShimModule {
|
||||||
@Singleton
|
@Singleton
|
||||||
@Provides
|
@Provides
|
||||||
fun storedCache(@ApplicationContext context: Context) = StoredCache.from(context)
|
fun cache(@ApplicationContext context: Context): MutableCache = MutableDBCache.from(context)
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Provides
|
@Provides
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2025 Auxio Project
|
||||||
|
* WriteOnlyMutableCache.kt is part of Auxio.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.oxycblt.auxio.music.shim
|
||||||
|
|
||||||
|
import org.oxycblt.musikr.cache.CacheResult
|
||||||
|
import org.oxycblt.musikr.cache.CachedSong
|
||||||
|
import org.oxycblt.musikr.cache.MutableCache
|
||||||
|
import org.oxycblt.musikr.fs.device.DeviceFile
|
||||||
|
|
||||||
|
class WriteOnlyMutableCache(private val inner: MutableCache) : MutableCache {
|
||||||
|
override suspend fun read(file: DeviceFile): CacheResult {
|
||||||
|
return when (val result = inner.read(file)) {
|
||||||
|
is CacheResult.Hit -> CacheResult.Stale(file, result.song.addedMs)
|
||||||
|
else -> result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun write(cachedSong: CachedSong) {
|
||||||
|
inner.write(cachedSong)
|
||||||
|
}
|
||||||
|
|
||||||
|
override suspend fun cleanup(excluding: List<CachedSong>) {
|
||||||
|
inner.cleanup(excluding)
|
||||||
|
}
|
||||||
|
}
|
|
@ -48,13 +48,6 @@ fun Long.dsToMs() = times(100)
|
||||||
*/
|
*/
|
||||||
fun Long.dsToSecs() = floorDiv(10)
|
fun Long.dsToSecs() = floorDiv(10)
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert seconds into milliseconds.
|
|
||||||
*
|
|
||||||
* @return A converted millisecond value.
|
|
||||||
*/
|
|
||||||
fun Long.secsToMs() = times(1000)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a millisecond value into a string duration.
|
* Convert a millisecond value into a string duration.
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,7 +18,9 @@
|
||||||
|
|
||||||
package org.oxycblt.auxio.playback.service
|
package org.oxycblt.auxio.playback.service
|
||||||
|
|
||||||
|
import androidx.annotation.OptIn
|
||||||
import androidx.media3.common.C
|
import androidx.media3.common.C
|
||||||
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.media3.exoplayer.source.ShuffleOrder
|
import androidx.media3.exoplayer.source.ShuffleOrder
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -28,6 +30,7 @@ import androidx.media3.exoplayer.source.ShuffleOrder
|
||||||
*
|
*
|
||||||
* @author media3 team, Alexander Capehart (OxygenCobalt)
|
* @author media3 team, Alexander Capehart (OxygenCobalt)
|
||||||
*/
|
*/
|
||||||
|
@OptIn(UnstableApi::class)
|
||||||
class BetterShuffleOrder(private val shuffled: IntArray) : ShuffleOrder {
|
class BetterShuffleOrder(private val shuffled: IntArray) : ShuffleOrder {
|
||||||
private val indexInShuffled: IntArray = IntArray(shuffled.size)
|
private val indexInShuffled: IntArray = IntArray(shuffled.size)
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,13 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.media.audiofx.AudioEffect
|
import android.media.audiofx.AudioEffect
|
||||||
import android.provider.OpenableColumns
|
import android.provider.OpenableColumns
|
||||||
|
import androidx.annotation.OptIn
|
||||||
import androidx.media3.common.AudioAttributes
|
import androidx.media3.common.AudioAttributes
|
||||||
import androidx.media3.common.C
|
import androidx.media3.common.C
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import androidx.media3.common.PlaybackException
|
import androidx.media3.common.PlaybackException
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer
|
import androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer
|
||||||
import androidx.media3.exoplayer.ExoPlayer
|
import androidx.media3.exoplayer.ExoPlayer
|
||||||
import androidx.media3.exoplayer.RenderersFactory
|
import androidx.media3.exoplayer.RenderersFactory
|
||||||
|
@ -62,6 +64,7 @@ import org.oxycblt.musikr.MusicParent
|
||||||
import org.oxycblt.musikr.Song
|
import org.oxycblt.musikr.Song
|
||||||
import timber.log.Timber as L
|
import timber.log.Timber as L
|
||||||
|
|
||||||
|
@OptIn(UnstableApi::class)
|
||||||
class ExoPlaybackStateHolder(
|
class ExoPlaybackStateHolder(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val player: ExoPlayer,
|
private val player: ExoPlayer,
|
||||||
|
@ -432,16 +435,16 @@ class ExoPlaybackStateHolder(
|
||||||
override fun endSession() {
|
override fun endSession() {
|
||||||
// This session has ended, so we need to reset this flag for when the next
|
// This session has ended, so we need to reset this flag for when the next
|
||||||
// session starts.
|
// session starts.
|
||||||
|
playbackManager.playing(false)
|
||||||
save {
|
save {
|
||||||
// User could feasibly start playing again if they were fast enough, so
|
// User could feasibly start playing again if they were fast enough, so
|
||||||
// we need to avoid stopping the foreground state if that's the case.
|
// we need to avoid stopping the foreground state if that's the case.
|
||||||
if (playbackManager.progression.isPlaying) {
|
if (!playbackManager.progression.isPlaying) {
|
||||||
playbackManager.playing(false)
|
|
||||||
}
|
|
||||||
sessionOngoing = false
|
sessionOngoing = false
|
||||||
playbackManager.ack(this, StateAck.SessionEnded)
|
playbackManager.ack(this, StateAck.SessionEnded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun reset(ack: StateAck.NewPlayback) {
|
override fun reset(ack: StateAck.NewPlayback) {
|
||||||
player.setMediaItems(listOf())
|
player.setMediaItems(listOf())
|
||||||
|
@ -545,7 +548,9 @@ class ExoPlaybackStateHolder(
|
||||||
|
|
||||||
private fun save(cb: () -> Unit) {
|
private fun save(cb: () -> Unit) {
|
||||||
saveJob {
|
saveJob {
|
||||||
|
if (sessionOngoing) {
|
||||||
persistenceRepository.saveState(playbackManager.toSavedState())
|
persistenceRepository.saveState(playbackManager.toSavedState())
|
||||||
|
}
|
||||||
withContext(Dispatchers.Main) { cb() }
|
withContext(Dispatchers.Main) { cb() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -556,9 +561,11 @@ class ExoPlaybackStateHolder(
|
||||||
delay(SAVE_BUFFER)
|
delay(SAVE_BUFFER)
|
||||||
yield()
|
yield()
|
||||||
L.d("Committing saved state")
|
L.d("Committing saved state")
|
||||||
|
if (sessionOngoing) {
|
||||||
persistenceRepository.saveState(playbackManager.toSavedState())
|
persistenceRepository.saveState(playbackManager.toSavedState())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun saveJob(block: suspend () -> Unit) {
|
private fun saveJob(block: suspend () -> Unit) {
|
||||||
currentSaveJob?.let {
|
currentSaveJob?.let {
|
||||||
|
|
|
@ -26,6 +26,7 @@ import androidx.core.content.ContextCompat
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import org.oxycblt.auxio.AuxioService
|
import org.oxycblt.auxio.AuxioService
|
||||||
|
import org.oxycblt.auxio.IntegerTable
|
||||||
import org.oxycblt.auxio.playback.state.PlaybackStateManager
|
import org.oxycblt.auxio.playback.state.PlaybackStateManager
|
||||||
import timber.log.Timber as L
|
import timber.log.Timber as L
|
||||||
|
|
||||||
|
@ -47,8 +48,11 @@ class MediaButtonReceiver : BroadcastReceiver() {
|
||||||
// stupid this is with the state of foreground services on modern android. One
|
// stupid this is with the state of foreground services on modern android. One
|
||||||
// wrong action at the wrong time will result in the app crashing, and there is
|
// wrong action at the wrong time will result in the app crashing, and there is
|
||||||
// nothing I can do about it.
|
// nothing I can do about it.
|
||||||
|
// TODO: Think I finally have an alternative with the changes I made to accomodate
|
||||||
|
// tasker
|
||||||
L.d("Delivering media button intent $intent")
|
L.d("Delivering media button intent $intent")
|
||||||
intent.component = ComponentName(context, AuxioService::class.java)
|
intent.component = ComponentName(context, AuxioService::class.java)
|
||||||
|
intent.putExtra(AuxioService.INTENT_KEY_START_ID, IntegerTable.START_ID_MEDIA_BUTTON)
|
||||||
ContextCompat.startForegroundService(context, intent)
|
ContextCompat.startForegroundService(context, intent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.oxycblt.auxio.playback.service
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.support.v4.media.MediaMetadataCompat
|
import android.support.v4.media.MediaMetadataCompat
|
||||||
import android.support.v4.media.session.MediaSessionCompat
|
import android.support.v4.media.session.MediaSessionCompat
|
||||||
|
@ -28,6 +29,7 @@ import androidx.annotation.DrawableRes
|
||||||
import androidx.car.app.mediaextensions.MetadataExtras
|
import androidx.car.app.mediaextensions.MetadataExtras
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.media.app.NotificationCompat.MediaStyle
|
import androidx.media.app.NotificationCompat.MediaStyle
|
||||||
|
import androidx.media.session.MediaButtonReceiver
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import org.oxycblt.auxio.BuildConfig
|
import org.oxycblt.auxio.BuildConfig
|
||||||
import org.oxycblt.auxio.ForegroundListener
|
import org.oxycblt.auxio.ForegroundListener
|
||||||
|
@ -108,6 +110,9 @@ private constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun tryMediaButtonIntent(intent: Intent): Boolean =
|
||||||
|
MediaButtonReceiver.handleIntent(mediaSession, intent) != null
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Release this instance, closing the [MediaSessionCompat] and preventing any further updates to
|
* Release this instance, closing the [MediaSessionCompat] and preventing any further updates to
|
||||||
* the [PlaybackNotification].
|
* the [PlaybackNotification].
|
||||||
|
|
|
@ -19,9 +19,11 @@
|
||||||
package org.oxycblt.auxio.playback.service
|
package org.oxycblt.auxio.playback.service
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
import android.support.v4.media.session.MediaSessionCompat
|
import android.support.v4.media.session.MediaSessionCompat
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
import org.oxycblt.auxio.AuxioService.Companion.INTENT_KEY_START_ID
|
||||||
import org.oxycblt.auxio.ForegroundListener
|
import org.oxycblt.auxio.ForegroundListener
|
||||||
import org.oxycblt.auxio.ForegroundServiceNotification
|
import org.oxycblt.auxio.ForegroundServiceNotification
|
||||||
import org.oxycblt.auxio.IntegerTable
|
import org.oxycblt.auxio.IntegerTable
|
||||||
|
@ -83,18 +85,34 @@ private constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun start(startedBy: Int) {
|
fun start(intent: Intent?) {
|
||||||
// At minimum we want to ensure an active playback state.
|
// At minimum we want to ensure an active playback state.
|
||||||
// TODO: Possibly also force to go foreground?
|
// TODO: Possibly also force to go foreground?
|
||||||
L.d("Handling non-native start.")
|
val startId = intent?.getIntExtra(INTENT_KEY_START_ID, -1)
|
||||||
val action =
|
val action =
|
||||||
when (startedBy) {
|
when (startId) {
|
||||||
IntegerTable.START_ID_ACTIVITY -> null
|
IntegerTable.START_ID_ACTIVITY -> null
|
||||||
IntegerTable.START_ID_TASKER ->
|
IntegerTable.START_ID_TASKER ->
|
||||||
DeferredPlayback.RestoreState(
|
DeferredPlayback.RestoreState(
|
||||||
play = true, fallback = DeferredPlayback.ShuffleAll)
|
play = true, fallback = DeferredPlayback.ShuffleAll)
|
||||||
|
IntegerTable.START_ID_MEDIA_BUTTON -> {
|
||||||
|
if (!sessionHolder.tryMediaButtonIntent(intent)) {
|
||||||
|
// Malformed intent, need to restore state immediately
|
||||||
|
DeferredPlayback.RestoreState(
|
||||||
|
play = true, fallback = DeferredPlayback.ShuffleAll)
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
L.d("Handling non-native start.")
|
||||||
|
if (intent != null && sessionHolder.tryMediaButtonIntent(intent)) {
|
||||||
|
// Just a media button intent, move on.
|
||||||
|
return
|
||||||
|
}
|
||||||
// External services using Auxio better know what they are doing.
|
// External services using Auxio better know what they are doing.
|
||||||
else -> DeferredPlayback.RestoreState(play = false)
|
DeferredPlayback.RestoreState(play = false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (action != null) {
|
if (action != null) {
|
||||||
L.d("Initing service fragment using action $action")
|
L.d("Initing service fragment using action $action")
|
||||||
|
|
|
@ -19,6 +19,8 @@
|
||||||
package org.oxycblt.auxio.playback.service
|
package org.oxycblt.auxio.playback.service
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import androidx.annotation.OptIn
|
||||||
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.media3.datasource.ContentDataSource
|
import androidx.media3.datasource.ContentDataSource
|
||||||
import androidx.media3.datasource.DataSource
|
import androidx.media3.datasource.DataSource
|
||||||
import androidx.media3.exoplayer.source.MediaSource
|
import androidx.media3.exoplayer.source.MediaSource
|
||||||
|
@ -41,6 +43,7 @@ import dagger.hilt.components.SingletonComponent
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
|
@OptIn(UnstableApi::class)
|
||||||
class SystemModule {
|
class SystemModule {
|
||||||
@Provides
|
@Provides
|
||||||
fun mediaSourceFactory(
|
fun mediaSourceFactory(
|
||||||
|
|
|
@ -20,9 +20,9 @@ package org.oxycblt.auxio.settings
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
import androidx.core.net.toUri
|
||||||
import androidx.core.view.updatePadding
|
import androidx.core.view.updatePadding
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
|
@ -72,6 +72,9 @@ class AboutFragment : ViewBindingFragment<FragmentAboutBinding>() {
|
||||||
binding.aboutLicenses.setOnClickListener { requireContext().openInBrowser(LINK_LICENSES) }
|
binding.aboutLicenses.setOnClickListener { requireContext().openInBrowser(LINK_LICENSES) }
|
||||||
binding.aboutProfile.setOnClickListener { requireContext().openInBrowser(LINK_PROFILE) }
|
binding.aboutProfile.setOnClickListener { requireContext().openInBrowser(LINK_PROFILE) }
|
||||||
binding.aboutDonate.setOnClickListener { requireContext().openInBrowser(LINK_DONATE) }
|
binding.aboutDonate.setOnClickListener { requireContext().openInBrowser(LINK_DONATE) }
|
||||||
|
binding.aboutSupMarkPitblado.setOnClickListener {
|
||||||
|
requireContext().openInBrowser(LINK_SUP_MARK_PITBLADO)
|
||||||
|
}
|
||||||
binding.aboutFeedbackGithub.setOnClickListener {
|
binding.aboutFeedbackGithub.setOnClickListener {
|
||||||
requireContext().openInBrowser(LINK_NEW_ISSUE)
|
requireContext().openInBrowser(LINK_NEW_ISSUE)
|
||||||
}
|
}
|
||||||
|
@ -102,7 +105,7 @@ class AboutFragment : ViewBindingFragment<FragmentAboutBinding>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Context.sendEmail(recipient: String) {
|
private fun Context.sendEmail(recipient: String) {
|
||||||
val intent = Intent(Intent.ACTION_SENDTO).apply { data = Uri.parse("mailto:$recipient") }
|
val intent = Intent(Intent.ACTION_SENDTO).apply { data = "mailto:$recipient".toUri() }
|
||||||
startIntent(intent)
|
startIntent(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,5 +116,6 @@ class AboutFragment : ViewBindingFragment<FragmentAboutBinding>() {
|
||||||
const val LINK_NEW_ISSUE = "$LINK_SOURCE/issues/new"
|
const val LINK_NEW_ISSUE = "$LINK_SOURCE/issues/new"
|
||||||
const val LINK_PROFILE = "https://github.com/OxygenCobalt"
|
const val LINK_PROFILE = "https://github.com/OxygenCobalt"
|
||||||
const val LINK_DONATE = "https://github.com/sponsors/OxygenCobalt"
|
const val LINK_DONATE = "https://github.com/sponsors/OxygenCobalt"
|
||||||
|
const val LINK_SUP_MARK_PITBLADO = "https://github.com/mark-pitblado"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,17 +62,13 @@ interface Settings<Listener> {
|
||||||
*/
|
*/
|
||||||
abstract class Impl<Listener>(private val context: Context) :
|
abstract class Impl<Listener>(private val context: Context) :
|
||||||
Settings<Listener>, SharedPreferences.OnSharedPreferenceChangeListener {
|
Settings<Listener>, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
init {
|
|
||||||
L.d(this::class.simpleName)
|
|
||||||
}
|
|
||||||
|
|
||||||
protected val sharedPreferences: SharedPreferences =
|
protected val sharedPreferences: SharedPreferences =
|
||||||
PreferenceManager.getDefaultSharedPreferences(context.applicationContext)
|
PreferenceManager.getDefaultSharedPreferences(context.applicationContext)
|
||||||
|
|
||||||
/** @see [Context.getString] */
|
/** @see [Context.getString] */
|
||||||
protected fun getString(@StringRes stringRes: Int) = context.getString(stringRes)
|
protected fun getString(@StringRes stringRes: Int) = context.getString(stringRes)
|
||||||
|
|
||||||
private var listener: Listener? = null
|
protected var listener: Listener? = null
|
||||||
|
|
||||||
override fun registerListener(listener: Listener) {
|
override fun registerListener(listener: Listener) {
|
||||||
if (this.listener == null) {
|
if (this.listener == null) {
|
||||||
|
|
|
@ -67,5 +67,14 @@ class MusicPreferenceFragment : BasePreferenceFragment(R.xml.preferences_music)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (preference.key == getString(R.string.set_key_with_hidden)) {
|
||||||
|
L.d("Configuring ignore hidden files setting")
|
||||||
|
preference.onPreferenceChangeListener =
|
||||||
|
Preference.OnPreferenceChangeListener { _, _ ->
|
||||||
|
L.d("Ignore hidden files setting changed, reloading music")
|
||||||
|
musicModel.refresh()
|
||||||
|
true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,9 @@ class StartActionRunner : TaskerPluginRunnerActionNoOutputOrInput() {
|
||||||
while (!AuxioService.isForeground) {
|
while (!AuxioService.isForeground) {
|
||||||
Thread.sleep(100)
|
Thread.sleep(100)
|
||||||
}
|
}
|
||||||
|
// Actually need to sleep even longer since for some reason the notification still
|
||||||
|
// won't accept media button events for an arbitrary period.
|
||||||
|
Thread.sleep(100)
|
||||||
return TaskerPluginResultSucess()
|
return TaskerPluginResultSucess()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,25 +46,25 @@ class AnimConfig(
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val STANDARD = MR.attr.motionEasingStandardInterpolator
|
val STANDARD = MR.attr.motionEasingStandardInterpolator
|
||||||
val EMPHASIZED = MR.attr.motionEasingEmphasizedInterpolator
|
// val EMPHASIZED = MR.attr.motionEasingEmphasizedInterpolator
|
||||||
val EMPHASIZED_ACCELERATE = MR.attr.motionEasingEmphasizedAccelerateInterpolator
|
val EMPHASIZED_ACCELERATE = MR.attr.motionEasingEmphasizedAccelerateInterpolator
|
||||||
val EMPHASIZED_DECELERATE = MR.attr.motionEasingEmphasizedDecelerateInterpolator
|
val EMPHASIZED_DECELERATE = MR.attr.motionEasingEmphasizedDecelerateInterpolator
|
||||||
val SHORT1 = MR.attr.motionDurationShort1 to 50
|
val SHORT1 = MR.attr.motionDurationShort1 to 50
|
||||||
val SHORT2 = MR.attr.motionDurationShort2 to 100
|
// val SHORT2 = MR.attr.motionDurationShort2 to 100
|
||||||
val SHORT3 = MR.attr.motionDurationShort3 to 150
|
val SHORT3 = MR.attr.motionDurationShort3 to 150
|
||||||
val SHORT4 = MR.attr.motionDurationShort4 to 200
|
// val SHORT4 = MR.attr.motionDurationShort4 to 200
|
||||||
val MEDIUM1 = MR.attr.motionDurationMedium1 to 250
|
val MEDIUM1 = MR.attr.motionDurationMedium1 to 250
|
||||||
val MEDIUM2 = MR.attr.motionDurationMedium2 to 300
|
val MEDIUM2 = MR.attr.motionDurationMedium2 to 300
|
||||||
val MEDIUM3 = MR.attr.motionDurationMedium3 to 350
|
val MEDIUM3 = MR.attr.motionDurationMedium3 to 350
|
||||||
val MEDIUM4 = MR.attr.motionDurationMedium4 to 400
|
// val MEDIUM4 = MR.attr.motionDurationMedium4 to 400
|
||||||
val LONG1 = MR.attr.motionDurationLong1 to 450
|
// val LONG1 = MR.attr.motionDurationLong1 to 450
|
||||||
val LONG2 = MR.attr.motionDurationLong2 to 500
|
// val LONG2 = MR.attr.motionDurationLong2 to 500
|
||||||
val LONG3 = MR.attr.motionDurationLong3 to 550
|
// val LONG3 = MR.attr.motionDurationLong3 to 550
|
||||||
val LONG4 = MR.attr.motionDurationLong4 to 600
|
// val LONG4 = MR.attr.motionDurationLong4 to 600
|
||||||
val EXTRA_LONG1 = MR.attr.motionDurationExtraLong1 to 700
|
// val EXTRA_LONG1 = MR.attr.motionDurationExtraLong1 to 700
|
||||||
val EXTRA_LONG2 = MR.attr.motionDurationExtraLong2 to 800
|
// val EXTRA_LONG2 = MR.attr.motionDurationExtraLong2 to 800
|
||||||
val EXTRA_LONG3 = MR.attr.motionDurationExtraLong3 to 900
|
// val EXTRA_LONG3 = MR.attr.motionDurationExtraLong3 to 900
|
||||||
val EXTRA_LONG4 = MR.attr.motionDurationExtraLong4 to 1000
|
// val EXTRA_LONG4 = MR.attr.motionDurationExtraLong4 to 1000
|
||||||
|
|
||||||
fun of(context: Context, @AttrRes interpolator: Int, duration: Pair<Int, Int>) =
|
fun of(context: Context, @AttrRes interpolator: Int, duration: Pair<Int, Int>) =
|
||||||
AnimConfig(context, interpolator, duration.first, duration.second)
|
AnimConfig(context, interpolator, duration.first, duration.second)
|
||||||
|
@ -122,7 +122,7 @@ private constructor(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun jumpToFadeIn(view: View) {
|
private fun jumpToFadeIn(view: View) {
|
||||||
view.apply {
|
view.apply {
|
||||||
alpha = 1f
|
alpha = 1f
|
||||||
scaleX = 1.0f
|
scaleX = 1.0f
|
||||||
|
|
|
@ -72,7 +72,7 @@ class UISettingsImpl @Inject constructor(@ApplicationContext context: Context) :
|
||||||
}
|
}
|
||||||
|
|
||||||
override val roundMode: Boolean
|
override val roundMode: Boolean
|
||||||
get() = sharedPreferences.getBoolean(getString(R.string.set_key_round_mode), false)
|
get() = sharedPreferences.getBoolean(getString(R.string.set_key_round_mode), true)
|
||||||
|
|
||||||
override fun migrate() {
|
override fun migrate() {
|
||||||
if (sharedPreferences.contains(OLD_KEY_ACCENT3)) {
|
if (sharedPreferences.contains(OLD_KEY_ACCENT3)) {
|
||||||
|
|
|
@ -65,22 +65,22 @@ private val accentThemes =
|
||||||
|
|
||||||
private val accentBlackThemes =
|
private val accentBlackThemes =
|
||||||
intArrayOf(
|
intArrayOf(
|
||||||
R.style.Theme_Auxio_Black_Red,
|
R.style.Theme_Auxio_Red_Black,
|
||||||
R.style.Theme_Auxio_Black_Pink,
|
R.style.Theme_Auxio_Pink_Black,
|
||||||
R.style.Theme_Auxio_Black_Purple,
|
R.style.Theme_Auxio_Purple_Black,
|
||||||
R.style.Theme_Auxio_Black_DeepPurple,
|
R.style.Theme_Auxio_DeepPurple_Black,
|
||||||
R.style.Theme_Auxio_Black_Indigo,
|
R.style.Theme_Auxio_Indigo_Black,
|
||||||
R.style.Theme_Auxio_Black_Blue,
|
R.style.Theme_Auxio_Blue_Black,
|
||||||
R.style.Theme_Auxio_Black_DeepBlue,
|
R.style.Theme_Auxio_DeepBlue_Black,
|
||||||
R.style.Theme_Auxio_Black_Cyan,
|
R.style.Theme_Auxio_Cyan_Black,
|
||||||
R.style.Theme_Auxio_Black_Teal,
|
R.style.Theme_Auxio_Teal_Black,
|
||||||
R.style.Theme_Auxio_Black_Green,
|
R.style.Theme_Auxio_Green_Black,
|
||||||
R.style.Theme_Auxio_Black_DeepGreen,
|
R.style.Theme_Auxio_DeepGreen_Black,
|
||||||
R.style.Theme_Auxio_Black_Lime,
|
R.style.Theme_Auxio_Lime_Black,
|
||||||
R.style.Theme_Auxio_Black_Yellow,
|
R.style.Theme_Auxio_Yellow_Black,
|
||||||
R.style.Theme_Auxio_Black_Orange,
|
R.style.Theme_Auxio_Orange_Black,
|
||||||
R.style.Theme_Auxio_Black_Brown,
|
R.style.Theme_Auxio_Brown_Black,
|
||||||
R.style.Theme_Auxio_Black_Grey,
|
R.style.Theme_Auxio_Grey_Black,
|
||||||
R.style.Theme_Auxio_Black // Dynamic colors are on the base theme
|
R.style.Theme_Auxio_Black // Dynamic colors are on the base theme
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.graphics.PointF
|
import android.graphics.PointF
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowInsets
|
import android.view.WindowInsets
|
||||||
|
@ -36,7 +35,6 @@ import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
import androidx.core.app.ShareCompat
|
import androidx.core.app.ShareCompat
|
||||||
import androidx.core.graphics.Insets
|
import androidx.core.graphics.Insets
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.core.view.children
|
import androidx.core.view.children
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
|
@ -106,10 +104,6 @@ private fun isUnderImpl(
|
||||||
val View.isRtl: Boolean
|
val View.isRtl: Boolean
|
||||||
get() = layoutDirection == View.LAYOUT_DIRECTION_RTL
|
get() = layoutDirection == View.LAYOUT_DIRECTION_RTL
|
||||||
|
|
||||||
/** Whether this [Drawable] is using an RTL layout direction. */
|
|
||||||
val Drawable.isRtl: Boolean
|
|
||||||
get() = DrawableCompat.getLayoutDirection(this) == View.LAYOUT_DIRECTION_RTL
|
|
||||||
|
|
||||||
/** Get a [Context] from a [ViewBinding]'s root [View]. */
|
/** Get a [Context] from a [ViewBinding]'s root [View]. */
|
||||||
val ViewBinding.context: Context
|
val ViewBinding.context: Context
|
||||||
get() = root.context
|
get() = root.context
|
||||||
|
@ -357,7 +351,7 @@ fun Context.startIntent(intent: Intent) {
|
||||||
// No app installed to open the link
|
// No app installed to open the link
|
||||||
showToast(R.string.err_no_app)
|
showToast(R.string.err_no_app)
|
||||||
}
|
}
|
||||||
} else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
|
} else {
|
||||||
// On older versions of android, opening links from an ACTION_VIEW intent might
|
// On older versions of android, opening links from an ACTION_VIEW intent might
|
||||||
// not work in all cases, especially when no default app was set. If that is the
|
// not work in all cases, especially when no default app was set. If that is the
|
||||||
// case, we will try to manually handle these cases before we try to launch the
|
// case, we will try to manually handle these cases before we try to launch the
|
||||||
|
|
|
@ -22,18 +22,11 @@ import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import java.util.concurrent.TimeoutException
|
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.TimeoutCancellationException
|
|
||||||
import kotlinx.coroutines.channels.ReceiveChannel
|
|
||||||
import kotlinx.coroutines.channels.SendChannel
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withTimeout
|
|
||||||
import org.oxycblt.auxio.BuildConfig
|
|
||||||
import timber.log.Timber as L
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper around [StateFlow] exposing a one-time consumable event.
|
* A wrapper around [StateFlow] exposing a one-time consumable event.
|
||||||
|
@ -153,71 +146,3 @@ private fun Fragment.launch(
|
||||||
) {
|
) {
|
||||||
viewLifecycleOwner.lifecycleScope.launch { viewLifecycleOwner.repeatOnLifecycle(state, block) }
|
viewLifecycleOwner.lifecycleScope.launch { viewLifecycleOwner.repeatOnLifecycle(state, block) }
|
||||||
}
|
}
|
||||||
|
|
||||||
const val DEFAULT_TIMEOUT = 60000L
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wraps [SendChannel.send] with a specified timeout.
|
|
||||||
*
|
|
||||||
* @param element The element to send.
|
|
||||||
* @param timeout The timeout in milliseconds. Defaults to 10 seconds.
|
|
||||||
* @throws TimeoutException If the timeout is reached, provides context on what element
|
|
||||||
* specifically.
|
|
||||||
*/
|
|
||||||
suspend fun <E> SendChannel<E>.sendWithTimeout(element: E, timeout: Long = DEFAULT_TIMEOUT) {
|
|
||||||
try {
|
|
||||||
withTimeout(timeout) { send(element) }
|
|
||||||
} catch (e: TimeoutCancellationException) {
|
|
||||||
L.e("Failed to send element to channel $e in ${timeout}ms.")
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
throw TimeoutException("Timed out sending element to channel: $e")
|
|
||||||
} else {
|
|
||||||
L.e(e.stackTraceToString())
|
|
||||||
send(element)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Wraps a [ReceiveChannel] consumption with a specified timeout. Note that the timeout will only
|
|
||||||
* start on the first element received, as to prevent initialization of dependent coroutines being
|
|
||||||
* interpreted as a timeout.
|
|
||||||
*
|
|
||||||
* @param action The action to perform on each element received.
|
|
||||||
* @param timeout The timeout in milliseconds. Defaults to 10 seconds.
|
|
||||||
* @throws TimeoutException If the timeout is reached, provides context on what element
|
|
||||||
* specifically.
|
|
||||||
*/
|
|
||||||
suspend fun <E> ReceiveChannel<E>.forEachWithTimeout(
|
|
||||||
timeout: Long = DEFAULT_TIMEOUT,
|
|
||||||
action: suspend (E) -> Unit
|
|
||||||
) {
|
|
||||||
var exhausted = false
|
|
||||||
var subsequent = false
|
|
||||||
val handler: suspend () -> Unit = {
|
|
||||||
val value = receiveCatching()
|
|
||||||
if (value.isClosed && value.exceptionOrNull() == null) {
|
|
||||||
exhausted = true
|
|
||||||
} else {
|
|
||||||
action(value.getOrThrow())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (!exhausted) {
|
|
||||||
try {
|
|
||||||
if (subsequent) {
|
|
||||||
withTimeout(timeout) { handler() }
|
|
||||||
} else {
|
|
||||||
handler()
|
|
||||||
subsequent = true
|
|
||||||
}
|
|
||||||
} catch (e: TimeoutCancellationException) {
|
|
||||||
L.e("Failed to send element to channel $e in ${timeout}ms.")
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
throw TimeoutException("Timed out sending element to channel: $e")
|
|
||||||
} else {
|
|
||||||
L.e(e.stackTraceToString())
|
|
||||||
handler()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ package org.oxycblt.auxio.widgets
|
||||||
|
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
|
import androidx.core.graphics.scale
|
||||||
import coil3.size.Size
|
import coil3.size.Size
|
||||||
import coil3.transform.Transformation
|
import coil3.transform.Transformation
|
||||||
import kotlin.math.sqrt
|
import kotlin.math.sqrt
|
||||||
|
@ -49,7 +50,7 @@ class WidgetBitmapTransformation(reduce: Float) : Transformation() {
|
||||||
val scale = sqrt(maxBitmapArea / inputArea.toDouble())
|
val scale = sqrt(maxBitmapArea / inputArea.toDouble())
|
||||||
val newWidth = (input.width * scale).toInt()
|
val newWidth = (input.width * scale).toInt()
|
||||||
val newHeight = (input.height * scale).toInt()
|
val newHeight = (input.height * scale).toInt()
|
||||||
return Bitmap.createScaledBitmap(input, newWidth, newHeight, true)
|
return input.scale(newWidth, newHeight)
|
||||||
}
|
}
|
||||||
return input
|
return input
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
package org.oxycblt.auxio.widgets
|
package org.oxycblt.auxio.widgets
|
||||||
|
|
||||||
import android.appwidget.AppWidgetManager
|
import android.appwidget.AppWidgetManager
|
||||||
import android.appwidget.AppWidgetProviderInfo
|
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
@ -66,11 +65,6 @@ fun RemoteViews.setLayoutDirection(@IdRes viewId: Int, layoutDirection: Int) {
|
||||||
setInt(viewId, "setLayoutDirection", layoutDirection)
|
setInt(viewId, "setLayoutDirection", layoutDirection)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun AppWidgetManager.setWidgetPreviewCompat(component: ComponentName, remoteViews: RemoteViews) {
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
|
||||||
setWidgetPreview(component, AppWidgetProviderInfo.WIDGET_CATEGORY_HOME_SCREEN, remoteViews)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Update the app widget layouts corresponding to the given [WidgetProvider] [ComponentName] with an
|
* Update the app widget layouts corresponding to the given [WidgetProvider] [ComponentName] with an
|
||||||
* adaptive layout, in a version-compatible manner.
|
* adaptive layout, in a version-compatible manner.
|
||||||
|
|
|
@ -119,7 +119,8 @@
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
app:layout_constraintHorizontal_bias="0.5"
|
app:layout_constraintHorizontal_bias="0.5"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_cover" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_cover"
|
||||||
|
tools:ignore="RtlSymmetry" />
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.RippleFixMaterialButton
|
<org.oxycblt.auxio.ui.RippleFixMaterialButton
|
||||||
android:id="@+id/detail_shuffle_button"
|
android:id="@+id/detail_shuffle_button"
|
||||||
|
|
|
@ -101,7 +101,8 @@
|
||||||
app:icon="@drawable/ic_play_24"
|
app:icon="@drawable/ic_play_24"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
app:layout_constraintEnd_toStartOf="@+id/detail_shuffle_button"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/detail_info" />
|
app:layout_constraintTop_toBottomOf="@+id/detail_info"
|
||||||
|
tools:ignore="RtlSymmetry"/>
|
||||||
|
|
||||||
<org.oxycblt.auxio.ui.RippleFixMaterialButton
|
<org.oxycblt.auxio.ui.RippleFixMaterialButton
|
||||||
android:id="@+id/detail_shuffle_button"
|
android:id="@+id/detail_shuffle_button"
|
||||||
|
|
|
@ -129,7 +129,8 @@
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button"
|
||||||
|
tools:ignore="RtlSymmetry" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<com.google.android.material.divider.MaterialDivider
|
<com.google.android.material.divider.MaterialDivider
|
||||||
|
|
|
@ -132,7 +132,8 @@
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
app:layout_constraintBottom_toBottomOf="@+id/detail_play_button"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
app:layout_constraintStart_toEndOf="@+id/detail_play_button"
|
||||||
app:layout_constraintTop_toTopOf="@+id/detail_play_button" />
|
app:layout_constraintTop_toTopOf="@+id/detail_play_button"
|
||||||
|
tools:ignore="RtlSymmetry" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<com.google.android.material.divider.MaterialDivider
|
<com.google.android.material.divider.MaterialDivider
|
||||||
|
|
|
@ -226,6 +226,17 @@
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_sup_mark_pitblado"
|
||||||
|
style="@style/Widget.Auxio.TextView.Icon.Clickable"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/sup_mark_pitblado"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:drawableStartCompat="@drawable/ic_person_24"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/about_licenses" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/about_supporters_promo"
|
android:id="@+id/about_supporters_promo"
|
||||||
style="@style/Widget.Auxio.TextView.Icon.Clickable"
|
style="@style/Widget.Auxio.TextView.Icon.Clickable"
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
android:layout_height="@dimen/size_icon_huge"
|
android:layout_height="@dimen/size_icon_huge"
|
||||||
android:layout_marginBottom="@dimen/spacing_small"
|
android:layout_marginBottom="@dimen/spacing_small"
|
||||||
android:src="@drawable/ic_song_48"
|
android:src="@drawable/ic_song_48"
|
||||||
|
tools:ignore="ContentDescription"
|
||||||
app:tint="?attr/colorOnSurface" />
|
app:tint="?attr/colorOnSurface" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
@ -3,12 +3,13 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="@dimen/spacing_tiny"
|
android:padding="@dimen/spacing_tiny"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="@dimen/size_touchable_small"
|
android:layout_height="@dimen/size_touchable_small"
|
||||||
android:scaleType="centerInside"
|
android:scaleType="centerInside"
|
||||||
|
tools:ignore="ContentDescription"
|
||||||
android:src="@drawable/ui_scroll_thumb" />
|
android:src="@drawable/ui_scroll_thumb" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
|
@ -22,7 +22,7 @@
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:background="@drawable/ui_widget_bg_round"
|
android:background="@drawable/ui_widget_bg_round"
|
||||||
android:clipToOutline="true"
|
android:clipToOutline="true"
|
||||||
tools:ignore="ContentDescription" />
|
tools:ignore="ContentDescription,UnusedAttribute" />
|
||||||
|
|
||||||
<android.widget.LinearLayout
|
<android.widget.LinearLayout
|
||||||
android:id="@+id/widget_panel"
|
android:id="@+id/widget_panel"
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:background="@drawable/ui_widget_bg_round"
|
android:background="@drawable/ui_widget_bg_round"
|
||||||
android:clipToOutline="true"
|
tools:ignore="ContentDescription,UnusedAttribute" />
|
||||||
tools:ignore="ContentDescription" />
|
|
||||||
|
|
||||||
<android.widget.LinearLayout
|
<android.widget.LinearLayout
|
||||||
android:id="@+id/widget_panel"
|
android:id="@+id/widget_panel"
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<string name="lng_widget">عرض وتحكم بشتغيل الموسيقى</string>
|
<string name="lng_widget">عرض وتحكم بشتغيل الموسيقى</string>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">إعادة المحاولة</string>
|
<string name="lbl_retry">إعادة المحاولة</string>
|
||||||
<string name="lbl_grant">منح</string>
|
|
||||||
<string name="lbl_genres">الانواع</string>
|
<string name="lbl_genres">الانواع</string>
|
||||||
<string name="lbl_artists">فنانين</string>
|
<string name="lbl_artists">فنانين</string>
|
||||||
<string name="lbl_albums">البومات</string>
|
<string name="lbl_albums">البومات</string>
|
||||||
|
@ -27,42 +26,40 @@
|
||||||
<string name="set_play_song_from_album">تشغيل من البوم</string>
|
<string name="set_play_song_from_album">تشغيل من البوم</string>
|
||||||
<string name="set_play_song_from_artist">تشغيل من فنان</string>
|
<string name="set_play_song_from_artist">تشغيل من فنان</string>
|
||||||
<string name="lbl_queue">طابور</string>
|
<string name="lbl_queue">طابور</string>
|
||||||
<string name="lbl_play_next">شغل الاغنية التالية</string>
|
<string name="lbl_play_next">شغل التالي</string>
|
||||||
<string name="lbl_queue_add">أضف إلى الطابور</string>
|
<string name="lbl_queue_add">أضف إلى الطابور</string>
|
||||||
<string name="lng_queue_added">تمت الإضافة إلى الطابور</string>
|
<string name="lng_queue_added">تمت الإضافة إلى الطابور</string>
|
||||||
<string name="lbl_artist_details">أذهب إلى الفنان</string>
|
<string name="lbl_artist_details">أذهب إلى الفنان</string>
|
||||||
<string name="lbl_album_details">أذهب إلى الالبوم</string>
|
<string name="lbl_album_details">أذهب إلى الالبوم</string>
|
||||||
<string name="lbl_add">أضف</string>
|
|
||||||
<string name="lbl_save">حفظ</string>
|
<string name="lbl_save">حفظ</string>
|
||||||
<string name="err_no_locations">لا مجلد</string>
|
|
||||||
<string name="lbl_about">حول</string>
|
<string name="lbl_about">حول</string>
|
||||||
<string name="lbl_version">الإصدار</string>
|
<string name="lbl_version">الإصدار</string>
|
||||||
<string name="lbl_code">عرض على الكود في Github</string>
|
<string name="lbl_code">كود البرنامج</string>
|
||||||
<string name="lbl_licenses">التراخيص</string>
|
<string name="lbl_licenses">التراخيص</string>
|
||||||
<string name="lbl_author_name">تمت برمجة التطبيق من قبل الكساندر كابيهارت</string>
|
<string name="lbl_author_name">الكساندر كابيهارت</string>
|
||||||
<!-- Settings namespace | Settings-related labels -->
|
<!-- Settings namespace | Settings-related labels -->
|
||||||
<string name="set_root_title">الإعدادات</string>
|
<string name="set_root_title">الإعدادات</string>
|
||||||
<string name="set_ui">المظهر</string>
|
<string name="set_ui">المظهر والاحساس</string>
|
||||||
<string name="set_theme">السمة</string>
|
<string name="set_theme">السمة</string>
|
||||||
<string name="set_theme_auto">تلقائي</string>
|
<string name="set_theme_auto">تلقائي</string>
|
||||||
<string name="set_theme_day">فاتح</string>
|
<string name="set_theme_day">فاتح</string>
|
||||||
<string name="set_theme_night">مظلم</string>
|
<string name="set_theme_night">مظلم</string>
|
||||||
<string name="set_accent">نظام الألوان</string>
|
<string name="set_accent">نظام الألوان</string>
|
||||||
<string name="set_black_mode">السمة السوداء</string>
|
<string name="set_black_mode">السمة السوداء</string>
|
||||||
<string name="set_black_mode_desc">استخدام اللون الاسود القاتم في الوضع المظلم</string>
|
<string name="set_black_mode_desc">استخدام سمة اللون الاسود النقي</string>
|
||||||
<string name="set_display">عرض</string>
|
<string name="set_display">عرض</string>
|
||||||
<string name="set_lib_tabs">تبويتات المكتبة</string>
|
<string name="set_lib_tabs">تبويتات المكتبة</string>
|
||||||
<string name="set_lib_tabs_desc">تغيير ظهور وترتيب تبويتات المكتبة</string>
|
<string name="set_lib_tabs_desc">تغيير ظهور وترتيب تبويتات المكتبة</string>
|
||||||
<string name="set_round_mode">اغلفة البوم مدورة</string>
|
<string name="set_round_mode">وضع دائري</string>
|
||||||
<string name="set_round_mode_desc">جعل اغلفة الابومات ذات زوايا مدورة</string>
|
<string name="set_round_mode_desc">تفعيل الزوايا المدورة لحدات الواجهه الاضافية (يتطلب اغلفة الالبوم ان تكون مدورة)</string>
|
||||||
<string name="set_notif_action">استخدام نشاط بديل للإشعار</string>
|
<string name="set_notif_action">فعالية تنبيه مخصصة</string>
|
||||||
<string name="set_audio">صوتيات</string>
|
<string name="set_audio">صوتيات</string>
|
||||||
<string name="set_replay_gain_mode">صخب الصوت</string>
|
<string name="set_replay_gain_mode">صخب الصوت</string>
|
||||||
<string name="set_replay_gain_mode_track">تفضيل المقطع</string>
|
<string name="set_replay_gain_mode_track">تفضيل المقطع</string>
|
||||||
<string name="set_replay_gain_mode_album">تفضيل الالبوم</string>
|
<string name="set_replay_gain_mode_album">تفضيل الالبوم</string>
|
||||||
<string name="set_replay_gain_mode_dynamic">ديناميكي</string>
|
<string name="set_replay_gain_mode_dynamic">ديناميكي</string>
|
||||||
<string name="set_personalize">سلوك</string>
|
<string name="set_personalize">تخصيص</string>
|
||||||
<string name="set_play_in_list_with">عند اختيار اغنية</string>
|
<string name="set_play_in_list_with">عند التشغيل من المكتبة</string>
|
||||||
<string name="set_keep_shuffle">تذكر الخلط</string>
|
<string name="set_keep_shuffle">تذكر الخلط</string>
|
||||||
<string name="set_keep_shuffle_desc">إبقاء وضع الخلط عند تشغيل اغنية جديدة</string>
|
<string name="set_keep_shuffle_desc">إبقاء وضع الخلط عند تشغيل اغنية جديدة</string>
|
||||||
<string name="set_rewind_prev">تشجيع قبل التخطي للخلف</string>
|
<string name="set_rewind_prev">تشجيع قبل التخطي للخلف</string>
|
||||||
|
@ -71,13 +68,11 @@
|
||||||
<string name="set_repeat_pause_desc">ايقاف مؤقت عند تكرار تشغيل اغنية</string>
|
<string name="set_repeat_pause_desc">ايقاف مؤقت عند تكرار تشغيل اغنية</string>
|
||||||
<string name="set_content">محتوى</string>
|
<string name="set_content">محتوى</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">لم يتم ايجاد موسيقى</string>
|
|
||||||
<string name="err_index_failed">فشل تحميل الموسيقى</string>
|
<string name="err_index_failed">فشل تحميل الموسيقى</string>
|
||||||
<string name="err_no_perms">اوكسيو يحتاج إلى صلاحيات لقراءة للاطلاع على مكتبتك للموسيقى</string>
|
|
||||||
<string name="err_no_app">لا يوجد تطبيق لفتح هذا الرابط</string>
|
<string name="err_no_app">لا يوجد تطبيق لفتح هذا الرابط</string>
|
||||||
<string name="err_bad_location">هذا المجلد غير مدعوم</string>
|
<string name="err_bad_location">هذا المجلد غير مدعوم</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">البحث في مكتبتك…</string>
|
<string name="lng_search_library">ابحث في مكتبتك…</string>
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
<string name="desc_track_number">المقطع %d</string>
|
<string name="desc_track_number">المقطع %d</string>
|
||||||
<string name="desc_play_pause">تشغيل او ايقاف مؤقت</string>
|
<string name="desc_play_pause">تشغيل او ايقاف مؤقت</string>
|
||||||
|
@ -85,7 +80,6 @@
|
||||||
<string name="desc_skip_prev">تخطي للاغنية الاخيرة</string>
|
<string name="desc_skip_prev">تخطي للاغنية الاخيرة</string>
|
||||||
<string name="desc_change_repeat">تغيير وضع التكرار</string>
|
<string name="desc_change_repeat">تغيير وضع التكرار</string>
|
||||||
<string name="desc_shuffle">تشغيل او اطفاء الخلط</string>
|
<string name="desc_shuffle">تشغيل او اطفاء الخلط</string>
|
||||||
<string name="desc_shuffle_all">خلط جميع الاغاني</string>
|
|
||||||
<string name="desc_remove_song">إزالة اغنية من الطابور</string>
|
<string name="desc_remove_song">إزالة اغنية من الطابور</string>
|
||||||
<string name="desc_song_handle">نقل اغنية من الطابور</string>
|
<string name="desc_song_handle">نقل اغنية من الطابور</string>
|
||||||
<string name="desc_tab_handle">تحريك التبويت</string>
|
<string name="desc_tab_handle">تحريك التبويت</string>
|
||||||
|
@ -136,44 +130,44 @@
|
||||||
<item quantity="many">%d ألبومات</item>
|
<item quantity="many">%d ألبومات</item>
|
||||||
<item quantity="other">%d ألبومات</item>
|
<item quantity="other">%d ألبومات</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="lbl_mix">MixMix</string>
|
<string name="lbl_mix">مكس دي جي</string>
|
||||||
<string name="lbl_cancel">الغاء</string>
|
<string name="lbl_cancel">الغاء</string>
|
||||||
<string name="lbl_format">التنسيق</string>
|
<string name="lbl_format">التنسيق</string>
|
||||||
<string name="lbl_size">الحجم</string>
|
<string name="lbl_size">الحجم</string>
|
||||||
<string name="lbl_library_counts">إحصائيات المكتبة</string>
|
<string name="lbl_library_counts">إحصائيات المكتبة</string>
|
||||||
<string name="lbl_bitrate">معدل البت</string>
|
<string name="lbl_bitrate">معدل البت</string>
|
||||||
<string name="lbl_compilation_live">تجميع مباشر</string>
|
<string name="lbl_compilation_live">تجميع مباشر</string>
|
||||||
<string name="lbl_compilation_remix">تجميعات</string>
|
<string name="lbl_compilation_remix">تجميعات ريمكس</string>
|
||||||
<string name="lbl_props">خصائص الاغنية</string>
|
<string name="lbl_props">خصائص الاغنية</string>
|
||||||
<string name="lbl_sample_rate">معدل العينة</string>
|
<string name="lbl_sample_rate">معدل العينة</string>
|
||||||
<string name="lbl_shuffle_shortcut_short">عشوائي</string>
|
<string name="lbl_shuffle_shortcut_short">عشوائي</string>
|
||||||
<string name="lbl_shuffle_shortcut_long">تشغيل كل الاغاني بشكل عشوائي</string>
|
<string name="lbl_shuffle_shortcut_long">تشغيل عشوائي للكل</string>
|
||||||
<string name="lbl_ok">حسنا</string>
|
<string name="lbl_ok">حسنا</string>
|
||||||
<string name="lbl_sort_dsc">تنازلي</string>
|
<string name="lbl_sort_dsc">تنازلي</string>
|
||||||
<string name="lbl_song_detail">عرض الخصائص</string>
|
<string name="lbl_song_detail">عرض الخصائص</string>
|
||||||
<string name="lbl_live_group">مباشر</string>
|
<string name="lbl_live_group">مباشر</string>
|
||||||
<string name="lbl_reset">اعادة ضبط</string>
|
<string name="lbl_reset">اعادة ضبط</string>
|
||||||
<string name="lng_indexing">يتم تحمل مكتبتك …</string>
|
<string name="lng_indexing">يتم تحمل مكتبتك الموسيقية …</string>
|
||||||
<string name="lbl_genre">النوع</string>
|
<string name="lbl_genre">النوع</string>
|
||||||
<string name="lng_observing">مراقبة تغييرات في مكتبتك</string>
|
<string name="lng_observing">مراقبة تغييرات في مكتبتك الموسيقية…</string>
|
||||||
<string name="lbl_observing">مراقبة مكتبة الموسيقة</string>
|
<string name="lbl_observing">مراقبة مكتبة الموسيقة</string>
|
||||||
<string name="lbl_indexer">تحميل الموسيقى</string>
|
<string name="lbl_indexer">تحميل الموسيقى</string>
|
||||||
<string name="lbl_equalizer">المعادل</string>
|
<string name="lbl_equalizer">المعادل</string>
|
||||||
<string name="lbl_singles">منفصل</string>
|
<string name="lbl_singles">فرديات</string>
|
||||||
<string name="lbl_single">فردي</string>
|
<string name="lbl_single">فردي</string>
|
||||||
<string name="lbl_ep">EP</string>
|
<string name="lbl_ep">أغنية مطولة</string>
|
||||||
<string name="lbl_eps">EPs</string>
|
<string name="lbl_eps">أغاني مطولة</string>
|
||||||
<string name="lbl_mixtape">Mixtape</string>
|
<string name="lbl_mixtape">مكس</string>
|
||||||
<string name="lbl_soundtrack">تسجيل صوتي</string>
|
<string name="lbl_soundtrack">موسيقى تصويرية</string>
|
||||||
<string name="lbl_mixtapes">Mixtapes</string>
|
<string name="lbl_mixtapes">مكسات</string>
|
||||||
<string name="lbl_remix_group">RemixesRemixes</string>
|
<string name="lbl_remix_group">RemixesRemixes</string>
|
||||||
<string name="lbl_soundtracks">الموسيقى التصويرية</string>
|
<string name="lbl_soundtracks">موسيقات تصويرية</string>
|
||||||
<string name="lbl_album_live">البوم مباشر</string>
|
<string name="lbl_album_live">البوم مباشر</string>
|
||||||
<string name="lbl_album_remix">ريمكس</string>
|
<string name="lbl_album_remix">البوم ريمكس</string>
|
||||||
<string name="lbl_ep_live">مؤاثرات مباشرة</string>
|
<string name="lbl_ep_live">أغنية مطولة مباشرة</string>
|
||||||
<string name="lbl_ep_remix">مؤاثرات ريمكس</string>
|
<string name="lbl_ep_remix">اغنية مطولة ريمكس</string>
|
||||||
<string name="lbl_single_live">بث مباشر فردي</string>
|
<string name="lbl_single_live">بث مباشر فردي</string>
|
||||||
<string name="lbl_single_remix">ريمكس منفصل</string>
|
<string name="lbl_single_remix">ريمكس فردي</string>
|
||||||
<string name="lbl_compilations">تجميعات</string>
|
<string name="lbl_compilations">تجميعات</string>
|
||||||
<string name="lbl_duration">مدة</string>
|
<string name="lbl_duration">مدة</string>
|
||||||
<string name="lbl_song_count">عدد الأغاني</string>
|
<string name="lbl_song_count">عدد الأغاني</string>
|
||||||
|
@ -181,16 +175,15 @@
|
||||||
<string name="lbl_track">مسار</string>
|
<string name="lbl_track">مسار</string>
|
||||||
<string name="lbl_date_added">تاريخ الاضافة</string>
|
<string name="lbl_date_added">تاريخ الاضافة</string>
|
||||||
<string name="lbl_indexing">تحميل الموسيقى</string>
|
<string name="lbl_indexing">تحميل الموسيقى</string>
|
||||||
<string name="lbl_compilation">التحويل البرمجي</string>
|
<string name="lbl_compilation">تجميع</string>
|
||||||
<string name="lbl_mixes">مزيج</string>
|
<string name="lbl_mixes">مكسات دي جي</string>
|
||||||
<string name="lbl_wiki">Wiki</string>
|
<string name="lbl_wiki">ويكي</string>
|
||||||
<string name="lbl_song">أغنية</string>
|
<string name="lbl_song">أغنية</string>
|
||||||
<string name="lbl_sort_direction">أتجاه</string>
|
<string name="lbl_sort_direction">أتجاه</string>
|
||||||
<string name="lbl_selection">أختيار</string>
|
<string name="lbl_selection">أختيار</string>
|
||||||
<string name="lbl_playlists">قوائم التشغيل</string>
|
<string name="lbl_playlists">قوائم التشغيل</string>
|
||||||
<string name="lbl_playlist">قائمة التشغيل</string>
|
<string name="lbl_playlist">قائمة التشغيل</string>
|
||||||
<string name="lng_playlist_created">تم خلق قائمة التشغيل</string>
|
<string name="lng_playlist_created">تم خلق قائمة التشغيل</string>
|
||||||
<string name="lbl_show_error_info">المزيد</string>
|
|
||||||
<string name="lbl_delete">حذف</string>
|
<string name="lbl_delete">حذف</string>
|
||||||
<string name="lbl_copied">تم النسخ</string>
|
<string name="lbl_copied">تم النسخ</string>
|
||||||
<string name="lbl_playlist_add">إضافة إلى قائمة التشغيل</string>
|
<string name="lbl_playlist_add">إضافة إلى قائمة التشغيل</string>
|
||||||
|
@ -204,8 +197,66 @@
|
||||||
<string name="lng_playlist_deleted">تم حذف قائمة التشغيل</string>
|
<string name="lng_playlist_deleted">تم حذف قائمة التشغيل</string>
|
||||||
<string name="lbl_report">تقرير</string>
|
<string name="lbl_report">تقرير</string>
|
||||||
<string name="lbl_new_playlist">قائمة تشغيل جديدة</string>
|
<string name="lbl_new_playlist">قائمة تشغيل جديدة</string>
|
||||||
<string name="lbl_error_info">معلومات خاطئة</string>
|
<string name="lbl_error_info">معلومات الخطأ</string>
|
||||||
<string name="lng_playlist_renamed">تم إعادة تسمية قائمة التشغيل</string>
|
<string name="lng_playlist_renamed">تم إعادة تسمية قائمة التشغيل</string>
|
||||||
<string name="lbl_rename_playlist">إعادة تسمية قائمة التشغيل</string>
|
<string name="lbl_rename_playlist">إعادة تسمية قائمة التشغيل</string>
|
||||||
<string name="lbl_appears_on">يظهر على</string>
|
<string name="lbl_appears_on">يظهر على</string>
|
||||||
|
<string name="lbl_music_sources">إختيار المجلد</string>
|
||||||
|
<string name="lbl_demos">مقاطع تجريبية</string>
|
||||||
|
<string name="lbl_import">استيراد</string>
|
||||||
|
<string name="lbl_export">تصدير</string>
|
||||||
|
<string name="lbl_export_playlist">تصدير قائمة تشغيل</string>
|
||||||
|
<string name="lbl_feedback">ملاحظات</string>
|
||||||
|
<string name="lbl_github">سجل مشكلة على GitHub</string>
|
||||||
|
<string name="lbl_email">أرسل ايميل</string>
|
||||||
|
<string name="lbl_donate">تبرع</string>
|
||||||
|
<string name="set_action_mode_next">تخطى الى التالي</string>
|
||||||
|
<string name="set_play_in_parent_with">عند التشغيل من خصائص العنصر</string>
|
||||||
|
<string name="set_play_song_none">تشغيل من العناصر المعروظة</string>
|
||||||
|
<string name="set_play_song_from_genre">تشغيل من النوع</string>
|
||||||
|
<string name="set_content_desc">تحكم بكيفية تحميل الاموسيقى والصور</string>
|
||||||
|
<string name="set_observing">التحميل التلقائي</string>
|
||||||
|
<string name="set_exclude_non_music_desc">تجاوز الملفات الصوتية الغير موسيقية, مثل البودكاست</string>
|
||||||
|
<string name="set_separators_desc">تعريف الفواصل التي تدل على علامات متعددة</string>
|
||||||
|
<string name="set_separators_semicolon">فاصلة منقوطة(;)</string>
|
||||||
|
<string name="lbl_path_style">نمط المسار</string>
|
||||||
|
<string name="lbl_more">ألمزيد</string>
|
||||||
|
<string name="lbl_path_style_absolute">مطلق</string>
|
||||||
|
<string name="lbl_supporters">الداعمين</string>
|
||||||
|
<string name="set_bar_action">فعالية شريط تشغيل مخصصة</string>
|
||||||
|
<string name="set_separators_and">العطف(&)</string>
|
||||||
|
<string name="lbl_imported_playlist">قائمة تشغيل مستوردة</string>
|
||||||
|
<string name="set_separators">فواصل متعددة القيم</string>
|
||||||
|
<string name="set_ui_desc">تغيير سمات والوان البرنامج</string>
|
||||||
|
<string name="set_exclude_non_music">تجاوز غير الموسيقى</string>
|
||||||
|
<string name="lbl_demo">مقطع تجريبي</string>
|
||||||
|
<string name="lng_empty_songs">الاغاني الخاصة بك ستضهر هنا.</string>
|
||||||
|
<string name="lng_empty_artists">الفنانين الخاصين بك سيضهرون هنا.</string>
|
||||||
|
<string name="lbl_replaygain_track">تعديل تثبيت مستوى الصوت للاغنية</string>
|
||||||
|
<string name="lbl_replaygain_album">تعديل تثبيت مستوى الصوت للالبوم</string>
|
||||||
|
<string name="lng_playlist_imported">تم استيراد قائمة التشغيل</string>
|
||||||
|
<string name="lng_playlist_exported">تم تصدير قائمة التشغيل</string>
|
||||||
|
<string name="lng_supporters_promo">تبرع للمشروع لتتم اضافة اسمك هنا!</string>
|
||||||
|
<string name="set_action_mode_repeat">وضع التكرار</string>
|
||||||
|
<string name="set_play_song_by_itself">تشغيل اغنية محددة</string>
|
||||||
|
<string name="set_separators_plus">زائد(+)</string>
|
||||||
|
<string name="lbl_import_playlist">استيراد قائمة تشغيل</string>
|
||||||
|
<string name="lbl_empty_playlist">قائمة تشغيل فارغة</string>
|
||||||
|
<string name="set_personalize_desc">تخصيص ادوات تحكم الواجهه و سلوكها</string>
|
||||||
|
<string name="lbl_path">المسار</string>
|
||||||
|
<string name="set_intelligent_sorting">الترتيب الذكي</string>
|
||||||
|
<string name="set_separators_slash">الشارحة(/)</string>
|
||||||
|
<string name="lbl_start_playback">بدء التشغيل</string>
|
||||||
|
<string name="lbl_path_style_relative">نسبي</string>
|
||||||
|
<string name="lbl_windows_paths">إستخدام مسارات متوافقة مع نافذة</string>
|
||||||
|
<string name="lng_tasker_start">تشغيل Auxio بأستخدام الحالة المحفوظه مسبقا. اذا لم تتوفر حالة, كل الاغاني ستشغل بشكل عشوائي.\n\nتحذير:كن حذرا بالتحكم بهذة الخدمة, اذا اغلقتها وفتحتها مجددا,قد يتوقف البرنامج عن العمل.</string>
|
||||||
|
<string name="lbl_author">المؤلف</string>
|
||||||
|
<string name="set_music">الموسيقى</string>
|
||||||
|
<string name="lng_empty_playlists">قوائم التشغيل الخاصة بك ستضهر هنا.</string>
|
||||||
|
<string name="set_behavior">السلوك</string>
|
||||||
|
<string name="set_separators_comma">فاصلة (,)</string>
|
||||||
|
<string name="lng_empty_albums">الالبومات الخاصة بك ستضهر هنا.</string>
|
||||||
|
<string name="lng_empty_genres">الفئات الخاصة بك ستضهر هنا.</string>
|
||||||
|
<string name="set_observing_desc">اعادة تحميل مكتبة الموسيقى عند حصول تغيير(يتطلب تنبيه ثابت)</string>
|
||||||
|
<string name="set_separators_warning">تحذير: استخدام هذا الاعداد قد ينتج عنه ان يتم تفسير بعض العلامات بشكل خاطئ مثل ان تحتوي على قيم متعددة. يمكن ان يتم حل هذا بتقديم الفواصل الغير مرغوبةبالشارحة الخلفية(\\).</string>
|
||||||
</resources>
|
</resources>
|
|
@ -1,9 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="info_app_desc">مشغّل موسيقى بسيط ومعقول للأندرويد</string>
|
<string name="info_app_desc">مشغّل موسيقى بسيط ومعقول للأندرويد.</string>
|
||||||
<string name="lbl_observing">مراقبة مكتبة الموسيقى</string>
|
<string name="lbl_observing">مراقبة مكتبة الموسيقى</string>
|
||||||
<string name="lbl_retry">إعادة المحاولة</string>
|
<string name="lbl_retry">إعادة المحاولة</string>
|
||||||
<string name="lbl_grant">منح</string>
|
|
||||||
<string name="lbl_albums">الألبومات</string>
|
<string name="lbl_albums">الألبومات</string>
|
||||||
<string name="lbl_songs">أغاني</string>
|
<string name="lbl_songs">أغاني</string>
|
||||||
<string name="lbl_song">أغنية</string>
|
<string name="lbl_song">أغنية</string>
|
||||||
|
@ -18,8 +17,7 @@
|
||||||
<string name="lbl_queue_add">إضافة للطابور</string>
|
<string name="lbl_queue_add">إضافة للطابور</string>
|
||||||
<string name="lbl_playlist_add">إضافة لقائمة التشغيل</string>
|
<string name="lbl_playlist_add">إضافة لقائمة التشغيل</string>
|
||||||
<string name="lbl_reset">إعادة ضبط</string>
|
<string name="lbl_reset">إعادة ضبط</string>
|
||||||
<string name="lbl_add">إضافة مجلد</string>
|
<string name="lng_indexing">جارِ تحميل مكتبتك الموسيقية…</string>
|
||||||
<string name="lng_indexing">يتم تحميل مكتبتك الموسيقية</string>
|
|
||||||
<string name="lng_queue_added">أضيفت للطابور</string>
|
<string name="lng_queue_added">أضيفت للطابور</string>
|
||||||
<string name="lng_playlist_created">تم إنشاء قائمة التشغيل</string>
|
<string name="lng_playlist_created">تم إنشاء قائمة التشغيل</string>
|
||||||
<string name="lbl_artists">فنانون</string>
|
<string name="lbl_artists">فنانون</string>
|
||||||
|
@ -85,7 +83,6 @@
|
||||||
<string name="def_disc">لا قرص</string>
|
<string name="def_disc">لا قرص</string>
|
||||||
<string name="cdc_mp4">صوت MPEG-4</string>
|
<string name="cdc_mp4">صوت MPEG-4</string>
|
||||||
<string name="cdc_ogg">أوغ الصوت</string>
|
<string name="cdc_ogg">أوغ الصوت</string>
|
||||||
<string name="cdc_mka">صوت ماتروسكا</string>
|
|
||||||
<string name="cdc_flac">برنامج ترميز الصوت المجاني بدون فقدان البيانات (FLAC)</string>
|
<string name="cdc_flac">برنامج ترميز الصوت المجاني بدون فقدان البيانات (FLAC)</string>
|
||||||
<string name="clr_indigo">نيلي</string>
|
<string name="clr_indigo">نيلي</string>
|
||||||
<string name="clr_blue">أزرق</string>
|
<string name="clr_blue">أزرق</string>
|
||||||
|
@ -109,7 +106,6 @@
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="set_hide_collaborators_desc">إظهار فقط الفنانين المُعتمدين مباشرة على الألبوم (يعمل بشكل أفضل في المكتبات المعروفة بتوسيماتها الجيدة)</string>
|
<string name="set_hide_collaborators_desc">إظهار فقط الفنانين المُعتمدين مباشرة على الألبوم (يعمل بشكل أفضل في المكتبات المعروفة بتوسيماتها الجيدة)</string>
|
||||||
<string name="set_content">المحتوى</string>
|
<string name="set_content">المحتوى</string>
|
||||||
<string name="set_locations_list">مجلدات</string>
|
|
||||||
<string name="set_hide_collaborators">إخفاء المتعاونين</string>
|
<string name="set_hide_collaborators">إخفاء المتعاونين</string>
|
||||||
<string name="set_audio_desc">ضبط سلوك وصوت التشغيل</string>
|
<string name="set_audio_desc">ضبط سلوك وصوت التشغيل</string>
|
||||||
<string name="set_rewind_prev">إعادة التشغيل قبل الانتقال للوراء</string>
|
<string name="set_rewind_prev">إعادة التشغيل قبل الانتقال للوراء</string>
|
||||||
|
@ -117,7 +113,6 @@
|
||||||
<string name="set_remember_pause_desc">البقاء على التشغيل/الإيقاف عند الانتقال أو تعديل قائمة التشغيل</string>
|
<string name="set_remember_pause_desc">البقاء على التشغيل/الإيقاف عند الانتقال أو تعديل قائمة التشغيل</string>
|
||||||
<string name="set_remember_pause">تذكر الإيقاف المؤقت</string>
|
<string name="set_remember_pause">تذكر الإيقاف المؤقت</string>
|
||||||
<string name="set_rescan_desc">مسح ذاكرة التخزين المؤقت للعلامات وإعادة تحميل كامل مكتبة الموسيقى (أبطأ ولكن أكثر اكتمالًا)</string>
|
<string name="set_rescan_desc">مسح ذاكرة التخزين المؤقت للعلامات وإعادة تحميل كامل مكتبة الموسيقى (أبطأ ولكن أكثر اكتمالًا)</string>
|
||||||
<string name="err_no_perms">يحتاج Auxio إلى إذن لقراءة مكتبة الموسيقى الخاصة بك.</string>
|
|
||||||
<string name="err_import_failed">غير قادر على استيراد قائمة التشغيل من هذا الملف</string>
|
<string name="err_import_failed">غير قادر على استيراد قائمة التشغيل من هذا الملف</string>
|
||||||
<string name="err_no_app">لم يتم العثور على تطبيق يمكنه التعامل مع هذه المهمة</string>
|
<string name="err_no_app">لم يتم العثور على تطبيق يمكنه التعامل مع هذه المهمة</string>
|
||||||
<string name="desc_play_pause">تشغيل أو إيقاف مؤقت</string>
|
<string name="desc_play_pause">تشغيل أو إيقاف مؤقت</string>
|
||||||
|
@ -140,7 +135,6 @@
|
||||||
<string name="lbl_demos">تسجيلات تجريبية</string>
|
<string name="lbl_demos">تسجيلات تجريبية</string>
|
||||||
<string name="lbl_mixes">اغاني دي جي</string>
|
<string name="lbl_mixes">اغاني دي جي</string>
|
||||||
<string name="lbl_mix">اغنية دي جي</string>
|
<string name="lbl_mix">اغنية دي جي</string>
|
||||||
<string name="lbl_show_error_info">المزيد</string>
|
|
||||||
<string name="desc_selection_image">صورة التحديد</string>
|
<string name="desc_selection_image">صورة التحديد</string>
|
||||||
<string name="desc_remove_song">إزالة هذه الأغنية</string>
|
<string name="desc_remove_song">إزالة هذه الأغنية</string>
|
||||||
<string name="desc_song_handle">نقل هذه الأغنية</string>
|
<string name="desc_song_handle">نقل هذه الأغنية</string>
|
||||||
|
@ -169,9 +163,7 @@
|
||||||
<string name="lbl_single_remix">اغنية فردية ريميكس</string>
|
<string name="lbl_single_remix">اغنية فردية ريميكس</string>
|
||||||
<string name="set_images">الصور</string>
|
<string name="set_images">الصور</string>
|
||||||
<string name="set_reindex_desc">إعادة تحميل مكتبة الموسيقى، باستخدام العلامات المخزنة مؤقتًا عند الإمكان</string>
|
<string name="set_reindex_desc">إعادة تحميل مكتبة الموسيقى، باستخدام العلامات المخزنة مؤقتًا عند الإمكان</string>
|
||||||
<string name="err_no_locations">لا توجد مجلدات</string>
|
|
||||||
<string name="err_bad_location">هذا المجلد غير مدعوم</string>
|
<string name="err_bad_location">هذا المجلد غير مدعوم</string>
|
||||||
<string name="desc_shuffle_all">خلط جميع الأغاني</string>
|
|
||||||
<string name="clr_cyan">ازرق سماوي</string>
|
<string name="clr_cyan">ازرق سماوي</string>
|
||||||
<string name="fmt_editing">تحرير %s</string>
|
<string name="fmt_editing">تحرير %s</string>
|
||||||
<string name="set_theme_auto">تلقائي</string>
|
<string name="set_theme_auto">تلقائي</string>
|
||||||
|
@ -248,7 +240,6 @@
|
||||||
<string name="set_pre_amp_desc">يتم تطبيق مكبر الصوت المسبق على التعديل الحالي أثناء التشغيل</string>
|
<string name="set_pre_amp_desc">يتم تطبيق مكبر الصوت المسبق على التعديل الحالي أثناء التشغيل</string>
|
||||||
<string name="set_pre_amp_with">ضبط مع العلامات</string>
|
<string name="set_pre_amp_with">ضبط مع العلامات</string>
|
||||||
<string name="set_reindex">تحديث الموسيقى</string>
|
<string name="set_reindex">تحديث الموسيقى</string>
|
||||||
<string name="err_no_music">لم يتم العثور على موسيقى</string>
|
|
||||||
<string name="def_track">لا مسار</string>
|
<string name="def_track">لا مسار</string>
|
||||||
<string name="def_playback">لا يوجد تشغيل الموسيقى</string>
|
<string name="def_playback">لا يوجد تشغيل الموسيقى</string>
|
||||||
<string name="cdc_aac">ترميز الصوت المتقدم (AAC)</string>
|
<string name="cdc_aac">ترميز الصوت المتقدم (AAC)</string>
|
||||||
|
@ -277,4 +268,61 @@
|
||||||
<string name="lng_playlist_added">تمت إضافته إلى قائمة التشغيل</string>
|
<string name="lng_playlist_added">تمت إضافته إلى قائمة التشغيل</string>
|
||||||
<string name="set_root_title">إعدادات</string>
|
<string name="set_root_title">إعدادات</string>
|
||||||
<string name="set_separators_semicolon">الفاصلة المنقوطة (؛)</string>
|
<string name="set_separators_semicolon">الفاصلة المنقوطة (؛)</string>
|
||||||
|
<string name="lbl_music_sources">اختر المجلدات</string>
|
||||||
|
<string name="lbl_import">استورد</string>
|
||||||
|
<string name="lbl_export">صدّر</string>
|
||||||
|
<string name="lbl_export_playlist">صدّر قائمة التشغيل</string>
|
||||||
|
<string name="lbl_sample_rate">معدل العينة</string>
|
||||||
|
<string name="lbl_path_style">نمط المسار</string>
|
||||||
|
<string name="lbl_selection">تحديد</string>
|
||||||
|
<string name="lbl_feedback">الانطباعات</string>
|
||||||
|
<string name="lbl_github">افتح مشكلة على GitHub</string>
|
||||||
|
<string name="lbl_email">إرسل بريد إلكتروني</string>
|
||||||
|
<string name="lbl_supporters">المؤيدون</string>
|
||||||
|
<string name="lbl_more">المزيد</string>
|
||||||
|
<string name="lbl_path_style_relative">نسبي</string>
|
||||||
|
<string name="lbl_path_style_absolute">مطلق</string>
|
||||||
|
<string name="cdc_unknown">غير معروف</string>
|
||||||
|
<string name="lbl_imported_playlist">قائمة التشغيل استوردت</string>
|
||||||
|
<string name="def_album">ألبوم غير معروف</string>
|
||||||
|
<string name="lbl_sort_mode">افرز حسب</string>
|
||||||
|
<string name="lbl_sort_direction">الاتجاه</string>
|
||||||
|
<plurals name="fmt_artist_count">
|
||||||
|
<item quantity="zero">لا فنان</item>
|
||||||
|
<item quantity="one">فنان</item>
|
||||||
|
<item quantity="two">فنانان</item>
|
||||||
|
<item quantity="few">%d فنانين</item>
|
||||||
|
<item quantity="many">%d فنان</item>
|
||||||
|
<item quantity="other">%d فنان</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="lng_empty_songs">ستظهر أغانيك هنا.</string>
|
||||||
|
<string name="lng_empty_albums">ستظهر ألبوماتك هنا.</string>
|
||||||
|
<string name="lng_empty_artists">سوف يظهر الفنانون الخاص بك هنا.</string>
|
||||||
|
<string name="lng_empty_playlists">سوف تظهر قوائم تشغيلك هنا.</string>
|
||||||
|
<string name="lng_empty_genres">سوف تظهر أنواعك هنا.</string>
|
||||||
|
<string name="lbl_replaygain_album">تعديل الألبوم Replaygain</string>
|
||||||
|
<string name="lbl_replaygain_track">تعديل مسار ReplayGain</string>
|
||||||
|
<string name="lbl_author_name">ألكساندر كيبهارت</string>
|
||||||
|
<string name="lbl_donate">تبرّع</string>
|
||||||
|
<string name="lbl_author">المؤلف</string>
|
||||||
|
<string name="lbl_import_playlist">استورد قائمة التشغيل</string>
|
||||||
|
<string name="lbl_path">المسار</string>
|
||||||
|
<string name="set_locations_new">مجلد جديد</string>
|
||||||
|
<string name="lbl_start_playback">بدء التشغيل</string>
|
||||||
|
<string name="lbl_error_info">معلومات الخطأ</string>
|
||||||
|
<string name="lbl_copied">نُسخت</string>
|
||||||
|
<string name="lbl_report">إبلاغ</string>
|
||||||
|
<string name="lng_tasker_start">يبدأ Auxio باستخدام الحالة المحفوظة مسبقًا. إذا لم تتوفر حالة محفوظة، فسيتم خلط جميع الأغاني. سيبدأ التشغيل على الفور. \n\nتحذير: احرص على التحكم في هذه الخدمة، إذا قمت بإغلاقها ثم حاول استخدامها مرة أخرى، فمن المحتمل أن ينهار التطبيق.</string>
|
||||||
|
<string name="lbl_windows_paths">استخدم مسارات متوافقة مع Windows</string>
|
||||||
|
<string name="set_cover_mode_save_space">وفر المساحة</string>
|
||||||
|
<plurals name="fmt_album_count">
|
||||||
|
<item quantity="zero">لا ألبوم</item>
|
||||||
|
<item quantity="one">ألبوم</item>
|
||||||
|
<item quantity="two">ألبومان</item>
|
||||||
|
<item quantity="few">%d ألبومات</item>
|
||||||
|
<item quantity="many">%d ألبوم</item>
|
||||||
|
<item quantity="other">%d ألبوم</item>
|
||||||
|
</plurals>
|
||||||
|
<string name="cnt_mp4">MPEG-4 تحتوي على %s</string>
|
||||||
|
<string name="cdc_alac">Apple Lossless Audio Codec (ALAC)</string>
|
||||||
</resources>
|
</resources>
|
|
@ -3,7 +3,6 @@
|
||||||
<string name="lbl_indexer">Musiqi yüklənir</string>
|
<string name="lbl_indexer">Musiqi yüklənir</string>
|
||||||
<string name="lbl_indexing">Musiqi yüklənir</string>
|
<string name="lbl_indexing">Musiqi yüklənir</string>
|
||||||
<string name="lbl_retry">Təkrar cəhd et</string>
|
<string name="lbl_retry">Təkrar cəhd et</string>
|
||||||
<string name="lbl_grant">Qəbul et</string>
|
|
||||||
<string name="lbl_songs">Mahnılar</string>
|
<string name="lbl_songs">Mahnılar</string>
|
||||||
<string name="lbl_all_songs">Bütün mahnılar</string>
|
<string name="lbl_all_songs">Bütün mahnılar</string>
|
||||||
<string name="lbl_albums">Albomlar</string>
|
<string name="lbl_albums">Albomlar</string>
|
||||||
|
@ -35,7 +34,6 @@
|
||||||
<string name="lbl_artist">Sənətkar</string>
|
<string name="lbl_artist">Sənətkar</string>
|
||||||
<string name="lbl_artists">Sənətkarlar</string>
|
<string name="lbl_artists">Sənətkarlar</string>
|
||||||
<string name="lbl_genre">Janr</string>
|
<string name="lbl_genre">Janr</string>
|
||||||
<string name="lbl_show_error_info">Daha çox</string>
|
|
||||||
<string name="lbl_song">Mahnı</string>
|
<string name="lbl_song">Mahnı</string>
|
||||||
<string name="lbl_mixtapes">Qarışıq lentlər</string>
|
<string name="lbl_mixtapes">Qarışıq lentlər</string>
|
||||||
<string name="lbl_mixtape">Qarışıq lent</string>
|
<string name="lbl_mixtape">Qarışıq lent</string>
|
||||||
|
@ -76,7 +74,6 @@
|
||||||
<string name="lbl_album_details">Alboma keç</string>
|
<string name="lbl_album_details">Alboma keç</string>
|
||||||
<string name="lbl_parent_detail">Baxış</string>
|
<string name="lbl_parent_detail">Baxış</string>
|
||||||
<string name="lbl_share">Paylaş</string>
|
<string name="lbl_share">Paylaş</string>
|
||||||
<string name="lbl_add">Əlavə et</string>
|
|
||||||
<string name="lbl_play">Səsləndir</string>
|
<string name="lbl_play">Səsləndir</string>
|
||||||
<string name="lbl_sort_mode">Çeşidləmə üsulu</string>
|
<string name="lbl_sort_mode">Çeşidləmə üsulu</string>
|
||||||
<string name="lbl_sort_direction">Göstəriş</string>
|
<string name="lbl_sort_direction">Göstəriş</string>
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
<string name="set_root_title">Налады</string>
|
<string name="set_root_title">Налады</string>
|
||||||
<string name="info_app_desc">Просты, рацыянальны музычны плэер для Android.</string>
|
<string name="info_app_desc">Просты, рацыянальны музычны плэер для Android.</string>
|
||||||
<string name="lbl_observing">Маніторынг музычнай бібліятэкі</string>
|
<string name="lbl_observing">Маніторынг музычнай бібліятэкі</string>
|
||||||
<string name="lbl_grant">Выдаць</string>
|
|
||||||
<string name="lbl_songs">Песні</string>
|
<string name="lbl_songs">Песні</string>
|
||||||
<string name="set_ui_desc">Змяніце тэму і колеры праграмы</string>
|
<string name="set_ui_desc">Змяніце тэму і колеры праграмы</string>
|
||||||
<string name="lbl_all_songs">Ўсе песні</string>
|
<string name="lbl_all_songs">Ўсе песні</string>
|
||||||
|
@ -88,7 +87,6 @@
|
||||||
<string name="lbl_bitrate">Бітрэйт</string>
|
<string name="lbl_bitrate">Бітрэйт</string>
|
||||||
<string name="lbl_sample_rate">Частата дыскрэтызацыі</string>
|
<string name="lbl_sample_rate">Частата дыскрэтызацыі</string>
|
||||||
<string name="lbl_reset">Скінуць</string>
|
<string name="lbl_reset">Скінуць</string>
|
||||||
<string name="lbl_add">Дадаць</string>
|
|
||||||
<string name="lbl_wiki">Вікі</string>
|
<string name="lbl_wiki">Вікі</string>
|
||||||
<string name="lbl_save">Захаваць</string>
|
<string name="lbl_save">Захаваць</string>
|
||||||
<string name="lbl_version">Версія</string>
|
<string name="lbl_version">Версія</string>
|
||||||
|
@ -113,15 +111,11 @@
|
||||||
<string name="set_pre_amp">Папярэдні ўзмацняльнік ReplayGain</string>
|
<string name="set_pre_amp">Папярэдні ўзмацняльнік ReplayGain</string>
|
||||||
<string name="set_library">Бібліятэка</string>
|
<string name="set_library">Бібліятэка</string>
|
||||||
<string name="set_locations_desc">Кіруйце месцам загрузкі музыкі</string>
|
<string name="set_locations_desc">Кіруйце месцам загрузкі музыкі</string>
|
||||||
<string name="set_locations_list">Тэчкі</string>
|
|
||||||
<string name="set_rescan">Перасканаваць музыку</string>
|
<string name="set_rescan">Перасканаваць музыку</string>
|
||||||
<string name="set_reindex">Абнавіць музыку</string>
|
<string name="set_reindex">Абнавіць музыку</string>
|
||||||
<string name="set_reindex_desc">Перазагрузіце музычную бібліятэку, выкарыстоўваючы па магчымасці кэшаваныя тэгі</string>
|
<string name="set_reindex_desc">Перазагрузіце музычную бібліятэку, выкарыстоўваючы па магчымасці кэшаваныя тэгі</string>
|
||||||
<string name="set_rescan_desc">Ачысціце кэш тэгаў і цалкам перазагрузіце музычную бібліятэку (павольней, але больш поўна)</string>
|
<string name="set_rescan_desc">Ачысціце кэш тэгаў і цалкам перазагрузіце музычную бібліятэку (павольней, але больш поўна)</string>
|
||||||
<string name="err_no_perms">Auxio патрабуецца дазвол на чытанне вашай музычнай бібліятэкі</string>
|
|
||||||
<string name="err_no_music">Музыка не знойдзена</string>
|
|
||||||
<string name="err_index_failed">Памылка загрузкі музыкі</string>
|
<string name="err_index_failed">Памылка загрузкі музыкі</string>
|
||||||
<string name="err_no_locations">Няма тэчак</string>
|
|
||||||
<string name="err_bad_location">Гэтая папка не падтрымліваецца</string>
|
<string name="err_bad_location">Гэтая папка не падтрымліваецца</string>
|
||||||
<string name="desc_track_number">Кампазіцыя %d</string>
|
<string name="desc_track_number">Кампазіцыя %d</string>
|
||||||
<string name="desc_song_handle">Перамясціць песню ў чаргу</string>
|
<string name="desc_song_handle">Перамясціць песню ў чаргу</string>
|
||||||
|
@ -133,7 +127,6 @@
|
||||||
<string name="desc_auxio_icon">Значок Auxio</string>
|
<string name="desc_auxio_icon">Значок Auxio</string>
|
||||||
<string name="desc_shuffle">Ўключыце або выключыце перамешванне</string>
|
<string name="desc_shuffle">Ўключыце або выключыце перамешванне</string>
|
||||||
<string name="desc_remove_song">Выдаліць гэтую песню з чаргі</string>
|
<string name="desc_remove_song">Выдаліць гэтую песню з чаргі</string>
|
||||||
<string name="desc_shuffle_all">Перамяшаць усе песні</string>
|
|
||||||
<string name="desc_exit">Спыніць прайграванне</string>
|
<string name="desc_exit">Спыніць прайграванне</string>
|
||||||
<string name="desc_queue_bar">Адкрыйце чаргу</string>
|
<string name="desc_queue_bar">Адкрыйце чаргу</string>
|
||||||
<string name="desc_clear_search">Ачысціць пошукавы запыт</string>
|
<string name="desc_clear_search">Ачысціць пошукавы запыт</string>
|
||||||
|
@ -148,7 +141,6 @@
|
||||||
<string name="def_date">Без даты</string>
|
<string name="def_date">Без даты</string>
|
||||||
<string name="def_track">Няма дарожкі</string>
|
<string name="def_track">Няма дарожкі</string>
|
||||||
<string name="cdc_mp3">MPEG-1 аўдыё</string>
|
<string name="cdc_mp3">MPEG-1 аўдыё</string>
|
||||||
<string name="cdc_mka">Matroska аўдыё</string>
|
|
||||||
<string name="def_playback">Музыка не грае</string>
|
<string name="def_playback">Музыка не грае</string>
|
||||||
<string name="cdc_mp4">MPEG-4 аўдыё</string>
|
<string name="cdc_mp4">MPEG-4 аўдыё</string>
|
||||||
<string name="clr_red">Чырвоны</string>
|
<string name="clr_red">Чырвоны</string>
|
||||||
|
@ -279,7 +271,6 @@
|
||||||
<string name="lbl_sort_direction">Напрамак</string>
|
<string name="lbl_sort_direction">Напрамак</string>
|
||||||
<string name="desc_selection_image">Абярыце малюнак</string>
|
<string name="desc_selection_image">Абярыце малюнак</string>
|
||||||
<string name="lbl_selection">Абярыце</string>
|
<string name="lbl_selection">Абярыце</string>
|
||||||
<string name="lbl_show_error_info">Дадаткова</string>
|
|
||||||
<string name="lbl_copied">Скапіравана</string>
|
<string name="lbl_copied">Скапіравана</string>
|
||||||
<string name="lbl_error_info">Інфармацыя пра памылку</string>
|
<string name="lbl_error_info">Інфармацыя пра памылку</string>
|
||||||
<string name="lbl_report">Справаздача пра памылку</string>
|
<string name="lbl_report">Справаздача пра памылку</string>
|
||||||
|
|
|
@ -76,7 +76,6 @@
|
||||||
<string name="lbl_windows_paths">Използвай съвместими с Windows пътища</string>
|
<string name="lbl_windows_paths">Използвай съвместими с Windows пътища</string>
|
||||||
<string name="info_app_desc">Прост, рационален музикален плейър за android.</string>
|
<string name="info_app_desc">Прост, рационален музикален плейър за android.</string>
|
||||||
<string name="lbl_indexing">Зарежда се музика</string>
|
<string name="lbl_indexing">Зарежда се музика</string>
|
||||||
<string name="lbl_show_error_info">Още</string>
|
|
||||||
<string name="lbl_albums">Албуми</string>
|
<string name="lbl_albums">Албуми</string>
|
||||||
<string name="lbl_ep_live">EP на живо</string>
|
<string name="lbl_ep_live">EP на живо</string>
|
||||||
<string name="lbl_single_live">Сингъл наживо</string>
|
<string name="lbl_single_live">Сингъл наживо</string>
|
||||||
|
@ -97,7 +96,6 @@
|
||||||
<string name="lbl_playback">Сега се изпълнява</string>
|
<string name="lbl_playback">Сега се изпълнява</string>
|
||||||
<string name="lbl_replaygain_track">ReplayGain Регулиране на песента</string>
|
<string name="lbl_replaygain_track">ReplayGain Регулиране на песента</string>
|
||||||
<string name="lbl_shuffle_shortcut_long">Разбъркай всички</string>
|
<string name="lbl_shuffle_shortcut_long">Разбъркай всички</string>
|
||||||
<string name="lbl_add">Добави</string>
|
|
||||||
<string name="lbl_about">Относно</string>
|
<string name="lbl_about">Относно</string>
|
||||||
<string name="lbl_path_style_absolute">Абсолютно</string>
|
<string name="lbl_path_style_absolute">Абсолютно</string>
|
||||||
<string name="lbl_eps">EPs</string>
|
<string name="lbl_eps">EPs</string>
|
||||||
|
@ -186,7 +184,6 @@
|
||||||
<string name="set_replay_gain">Нормализация на звука</string>
|
<string name="set_replay_gain">Нормализация на звука</string>
|
||||||
<string name="set_replay_gain_mode">ReplayGain стратегия</string>
|
<string name="set_replay_gain_mode">ReplayGain стратегия</string>
|
||||||
<string name="set_replay_gain_mode_off">Изключено</string>
|
<string name="set_replay_gain_mode_off">Изключено</string>
|
||||||
<string name="lbl_grant">Предоставяне</string>
|
|
||||||
<string name="lng_supporters_promo">Дарете за проекта, за да бъде добавено името ви тук!</string>
|
<string name="lng_supporters_promo">Дарете за проекта, за да бъде добавено името ви тук!</string>
|
||||||
<string name="lng_search_library">Търсене във вашата библиотека…</string>
|
<string name="lng_search_library">Търсене във вашата библиотека…</string>
|
||||||
<string name="set_bar_action">Персонализирано действие на лентата за възпроизвеждане</string>
|
<string name="set_bar_action">Персонализирано действие на лентата за възпроизвеждане</string>
|
||||||
|
@ -210,20 +207,15 @@
|
||||||
<string name="set_library">Библиотека</string>
|
<string name="set_library">Библиотека</string>
|
||||||
<string name="set_locations">Музикални папки</string>
|
<string name="set_locations">Музикални папки</string>
|
||||||
<string name="set_locations_desc">Управлявайте откъде да се зарежда музиката</string>
|
<string name="set_locations_desc">Управлявайте откъде да се зарежда музиката</string>
|
||||||
<string name="set_locations_list">Папки</string>
|
|
||||||
<string name="set_reindex">Обновяване на музика</string>
|
<string name="set_reindex">Обновяване на музика</string>
|
||||||
<string name="err_no_music">Няма намерена музика</string>
|
|
||||||
<string name="err_index_failed">Неуспешно зареждане на музика</string>
|
<string name="err_index_failed">Неуспешно зареждане на музика</string>
|
||||||
<string name="err_no_perms">Auxio се нуждае от разрешение, за да чете вашата музикална библиотека</string>
|
|
||||||
<string name="err_export_failed">Плейлиста не може да се изнесе в този файл</string>
|
<string name="err_export_failed">Плейлиста не може да се изнесе в този файл</string>
|
||||||
<string name="err_no_app">Няма намерено приложение, което да може да се справи с тази задача</string>
|
<string name="err_no_app">Няма намерено приложение, което да може да се справи с тази задача</string>
|
||||||
<string name="err_no_locations">Няма папки</string>
|
|
||||||
<string name="desc_play_pause">Изпълни или пауза</string>
|
<string name="desc_play_pause">Изпълни или пауза</string>
|
||||||
<string name="desc_skip_next">Премини към следваща песен</string>
|
<string name="desc_skip_next">Премини към следваща песен</string>
|
||||||
<string name="desc_skip_prev">Премини към последна песен</string>
|
<string name="desc_skip_prev">Премини към последна песен</string>
|
||||||
<string name="desc_change_repeat">Промени режима на повторение</string>
|
<string name="desc_change_repeat">Промени режима на повторение</string>
|
||||||
<string name="desc_shuffle">Включи или изключи разбъркване</string>
|
<string name="desc_shuffle">Включи или изключи разбъркване</string>
|
||||||
<string name="desc_shuffle_all">Разбъркай всички песни</string>
|
|
||||||
<string name="desc_exit">Спри възпроизвеждането</string>
|
<string name="desc_exit">Спри възпроизвеждането</string>
|
||||||
<string name="desc_remove_song">Премахни тази песен</string>
|
<string name="desc_remove_song">Премахни тази песен</string>
|
||||||
<string name="desc_song_handle">Премести тази песен</string>
|
<string name="desc_song_handle">Премести тази песен</string>
|
||||||
|
@ -255,7 +247,6 @@
|
||||||
<string name="cdc_mp3">MPEG-1 audio</string>
|
<string name="cdc_mp3">MPEG-1 audio</string>
|
||||||
<string name="cdc_mp4">MPEG-4 audio</string>
|
<string name="cdc_mp4">MPEG-4 audio</string>
|
||||||
<string name="cdc_ogg">Ogg audio</string>
|
<string name="cdc_ogg">Ogg audio</string>
|
||||||
<string name="cdc_mka">Matroska audio</string>
|
|
||||||
<string name="clr_pink">Розово</string>
|
<string name="clr_pink">Розово</string>
|
||||||
<string name="clr_red">Червено</string>
|
<string name="clr_red">Червено</string>
|
||||||
<string name="clr_purple">Лилаво</string>
|
<string name="clr_purple">Лилаво</string>
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lng_indexing">Načítání vaší hudební knihovny…</string>
|
<string name="lng_indexing">Načítání vaší hudební knihovny…</string>
|
||||||
<string name="lbl_retry">Zkusit znovu</string>
|
<string name="lbl_retry">Zkusit znovu</string>
|
||||||
<string name="lbl_grant">Udělit</string>
|
|
||||||
<string name="lbl_genres">Žánry</string>
|
<string name="lbl_genres">Žánry</string>
|
||||||
<string name="lbl_artists">Umělci</string>
|
<string name="lbl_artists">Umělci</string>
|
||||||
<string name="lbl_albums">Alba</string>
|
<string name="lbl_albums">Alba</string>
|
||||||
|
@ -42,7 +41,6 @@
|
||||||
<string name="lbl_ok">OK</string>
|
<string name="lbl_ok">OK</string>
|
||||||
<!-- Actual string: Cancel -->
|
<!-- Actual string: Cancel -->
|
||||||
<string name="lbl_cancel">Zrušit</string>
|
<string name="lbl_cancel">Zrušit</string>
|
||||||
<string name="lbl_add">Přidat</string>
|
|
||||||
<string name="lbl_save">Uložit</string>
|
<string name="lbl_save">Uložit</string>
|
||||||
<string name="lbl_about">O aplikaci</string>
|
<string name="lbl_about">O aplikaci</string>
|
||||||
<string name="lbl_version">Verze</string>
|
<string name="lbl_version">Verze</string>
|
||||||
|
@ -90,11 +88,8 @@
|
||||||
<string name="set_reindex">Obnovit hudbu</string>
|
<string name="set_reindex">Obnovit hudbu</string>
|
||||||
<string name="set_reindex_desc">Znovu načíst hudební knihovnu, pokud možno s použitím značek uložených v mezipaměti</string>
|
<string name="set_reindex_desc">Znovu načíst hudební knihovnu, pokud možno s použitím značek uložených v mezipaměti</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Nenalezena žádná hudba</string>
|
|
||||||
<string name="err_index_failed">Načítání hudby selhalo</string>
|
<string name="err_index_failed">Načítání hudby selhalo</string>
|
||||||
<string name="err_no_perms">Auxio potřebuje oprávnění ke čtení vaší hudební knihovny</string>
|
|
||||||
<string name="err_no_app">Nebyla nalezena žádná aplikace, která by dokázala vykonat tuto akci</string>
|
<string name="err_no_app">Nebyla nalezena žádná aplikace, která by dokázala vykonat tuto akci</string>
|
||||||
<string name="err_no_locations">Žádné složky</string>
|
|
||||||
<string name="err_bad_location">Tato složka není podporována</string>
|
<string name="err_bad_location">Tato složka není podporována</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">Prohledat vaší knihovnu…</string>
|
<string name="lng_search_library">Prohledat vaší knihovnu…</string>
|
||||||
|
@ -105,7 +100,6 @@
|
||||||
<string name="desc_skip_prev">Přeskočit na předchozí skladbu</string>
|
<string name="desc_skip_prev">Přeskočit na předchozí skladbu</string>
|
||||||
<string name="desc_change_repeat">Změnit režim opakování</string>
|
<string name="desc_change_repeat">Změnit režim opakování</string>
|
||||||
<string name="desc_shuffle">Vypnout nebo zapnout náhodné přehrávání</string>
|
<string name="desc_shuffle">Vypnout nebo zapnout náhodné přehrávání</string>
|
||||||
<string name="desc_shuffle_all">Náhodně přehrávat vše</string>
|
|
||||||
<string name="desc_remove_song">Odebrat tuto skladbu z fronty</string>
|
<string name="desc_remove_song">Odebrat tuto skladbu z fronty</string>
|
||||||
<string name="desc_song_handle">Přesunout tuto skladbu ve frontě</string>
|
<string name="desc_song_handle">Přesunout tuto skladbu ve frontě</string>
|
||||||
<string name="desc_tab_handle">Přesunout tuto kartu</string>
|
<string name="desc_tab_handle">Přesunout tuto kartu</string>
|
||||||
|
@ -167,7 +161,6 @@
|
||||||
<string name="cdc_mp3">Zvuk MPEG-1</string>
|
<string name="cdc_mp3">Zvuk MPEG-1</string>
|
||||||
<string name="cdc_mp4">Zvuk MPEG-4</string>
|
<string name="cdc_mp4">Zvuk MPEG-4</string>
|
||||||
<string name="cdc_ogg">Zvuk Ogg</string>
|
<string name="cdc_ogg">Zvuk Ogg</string>
|
||||||
<string name="cdc_mka">Zvuk Matroska</string>
|
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
<string name="fmt_bitrate">%d kbps</string>
|
<string name="fmt_bitrate">%d kbps</string>
|
||||||
|
@ -246,7 +239,6 @@
|
||||||
<string name="lbl_wiki">Wiki</string>
|
<string name="lbl_wiki">Wiki</string>
|
||||||
<string name="fmt_list">%1$s, %2$s</string>
|
<string name="fmt_list">%1$s, %2$s</string>
|
||||||
<string name="lbl_reset">Obnovit</string>
|
<string name="lbl_reset">Obnovit</string>
|
||||||
<string name="set_locations_list">Složky</string>
|
|
||||||
<string name="set_replay_gain">Normalizace hlasitosti</string>
|
<string name="set_replay_gain">Normalizace hlasitosti</string>
|
||||||
<string name="set_behavior">Chování</string>
|
<string name="set_behavior">Chování</string>
|
||||||
<string name="set_ui_desc">Změnit motiv a barvy aplikace</string>
|
<string name="set_ui_desc">Změnit motiv a barvy aplikace</string>
|
||||||
|
@ -290,7 +282,6 @@
|
||||||
<string name="lbl_sort_mode">Seřadit podle</string>
|
<string name="lbl_sort_mode">Seřadit podle</string>
|
||||||
<string name="desc_selection_image">Výběr obrázku</string>
|
<string name="desc_selection_image">Výběr obrázku</string>
|
||||||
<string name="lbl_selection">Výběr</string>
|
<string name="lbl_selection">Výběr</string>
|
||||||
<string name="lbl_show_error_info">Další</string>
|
|
||||||
<string name="lbl_error_info">Informace o chybě</string>
|
<string name="lbl_error_info">Informace o chybě</string>
|
||||||
<string name="lbl_copied">Zkopírovat</string>
|
<string name="lbl_copied">Zkopírovat</string>
|
||||||
<string name="lbl_report">Nahlásit</string>
|
<string name="lbl_report">Nahlásit</string>
|
||||||
|
@ -341,4 +332,7 @@
|
||||||
<string name="lng_empty_artists">Vaši umělci se zobrazí zde.</string>
|
<string name="lng_empty_artists">Vaši umělci se zobrazí zde.</string>
|
||||||
<string name="lng_empty_playlists">Vaše seznamy skladeb se zobrazí zde.</string>
|
<string name="lng_empty_playlists">Vaše seznamy skladeb se zobrazí zde.</string>
|
||||||
<string name="lng_empty_genres">Vaše žánry se zobrazí zde.</string>
|
<string name="lng_empty_genres">Vaše žánry se zobrazí zde.</string>
|
||||||
|
<string name="set_with_hidden">Zahrnout skryté soubory</string>
|
||||||
|
<string name="set_with_hidden_desc">Zahrnout skryté zvukové soubory (např. .cache)</string>
|
||||||
|
<string name="set_cover_mode_as_is">Původní</string>
|
||||||
</resources>
|
</resources>
|
|
@ -4,7 +4,6 @@
|
||||||
<string name="lbl_indexer">Llwytho cerddoriaeth</string>
|
<string name="lbl_indexer">Llwytho cerddoriaeth</string>
|
||||||
<string name="lbl_observing">Yn monitro llyfrgell cerddoriaeth</string>
|
<string name="lbl_observing">Yn monitro llyfrgell cerddoriaeth</string>
|
||||||
<string name="lbl_retry">Ceisio eto</string>
|
<string name="lbl_retry">Ceisio eto</string>
|
||||||
<string name="lbl_grant">Caniatáu</string>
|
|
||||||
<string name="lbl_songs">Caneuon</string>
|
<string name="lbl_songs">Caneuon</string>
|
||||||
<string name="lbl_song">Cân</string>
|
<string name="lbl_song">Cân</string>
|
||||||
<string name="lbl_all_songs">Holl ganeuon</string>
|
<string name="lbl_all_songs">Holl ganeuon</string>
|
||||||
|
@ -24,7 +23,6 @@
|
||||||
<string name="lbl_mixtapes">Tapiau cymysgiad</string>
|
<string name="lbl_mixtapes">Tapiau cymysgiad</string>
|
||||||
<string name="lbl_mixtape">Tâp cymysgiad</string>
|
<string name="lbl_mixtape">Tâp cymysgiad</string>
|
||||||
<string name="info_app_desc">Chwaraewr cerddoriaeth syml a synhwyrol.</string>
|
<string name="info_app_desc">Chwaraewr cerddoriaeth syml a synhwyrol.</string>
|
||||||
<string name="lbl_show_error_info">Mwy</string>
|
|
||||||
<string name="lbl_ep_remix">EP ail-gymysgiad</string>
|
<string name="lbl_ep_remix">EP ail-gymysgiad</string>
|
||||||
<string name="lbl_name">Enw</string>
|
<string name="lbl_name">Enw</string>
|
||||||
<string name="lbl_date">Dyddiad</string>
|
<string name="lbl_date">Dyddiad</string>
|
||||||
|
@ -34,7 +32,6 @@
|
||||||
<string name="lbl_track">Trac</string>
|
<string name="lbl_track">Trac</string>
|
||||||
<string name="lbl_sort">Didoli</string>
|
<string name="lbl_sort">Didoli</string>
|
||||||
<string name="lbl_sort_mode">Didoli gan</string>
|
<string name="lbl_sort_mode">Didoli gan</string>
|
||||||
<string name="set_locations_list">Ffolderi</string>
|
|
||||||
<string name="lbl_playlists">Rhestri chwarae</string>
|
<string name="lbl_playlists">Rhestri chwarae</string>
|
||||||
<string name="lbl_new_playlist">Rhestr chwarae newydd</string>
|
<string name="lbl_new_playlist">Rhestr chwarae newydd</string>
|
||||||
<string name="lbl_empty_playlist">Rhestr chwarae gwag</string>
|
<string name="lbl_empty_playlist">Rhestr chwarae gwag</string>
|
||||||
|
@ -89,7 +86,6 @@
|
||||||
<string name="set_locations">Ffolderi cerddoriaeth</string>
|
<string name="set_locations">Ffolderi cerddoriaeth</string>
|
||||||
<string name="set_reindex">Adnewyddu cerddoriaeth</string>
|
<string name="set_reindex">Adnewyddu cerddoriaeth</string>
|
||||||
<string name="desc_track_number">Trac %d</string>
|
<string name="desc_track_number">Trac %d</string>
|
||||||
<string name="desc_shuffle_all">Chwarae pob cân ar hap</string>
|
|
||||||
<string name="def_artist">Artist anhysbys</string>
|
<string name="def_artist">Artist anhysbys</string>
|
||||||
<string name="def_genre">Genre anhysbys</string>
|
<string name="def_genre">Genre anhysbys</string>
|
||||||
<string name="def_date">Dim dyddiad</string>
|
<string name="def_date">Dim dyddiad</string>
|
||||||
|
@ -157,7 +153,6 @@
|
||||||
<string name="lbl_cancel">Diddymu</string>
|
<string name="lbl_cancel">Diddymu</string>
|
||||||
<string name="lbl_save">Cadw</string>
|
<string name="lbl_save">Cadw</string>
|
||||||
<string name="lbl_reset">Ailosod</string>
|
<string name="lbl_reset">Ailosod</string>
|
||||||
<string name="lbl_add">Ychwanegu</string>
|
|
||||||
<string name="lbl_path_style">Dull llwybr</string>
|
<string name="lbl_path_style">Dull llwybr</string>
|
||||||
<string name="lbl_windows_paths">Defnyddio llwybrau Windows</string>
|
<string name="lbl_windows_paths">Defnyddio llwybrau Windows</string>
|
||||||
<string name="lbl_about">Ynghylch</string>
|
<string name="lbl_about">Ynghylch</string>
|
||||||
|
@ -199,11 +194,8 @@
|
||||||
<string name="set_replay_gain_mode_track">Ffafrio trac</string>
|
<string name="set_replay_gain_mode_track">Ffafrio trac</string>
|
||||||
<string name="set_replay_gain_mode_album">Ffafrio albwm</string>
|
<string name="set_replay_gain_mode_album">Ffafrio albwm</string>
|
||||||
<string name="set_pre_amp_with">Addasiad gyda thagiau</string>
|
<string name="set_pre_amp_with">Addasiad gyda thagiau</string>
|
||||||
<string name="err_no_music">Ni chanfuwyd cerddoriaeth</string>
|
|
||||||
<string name="err_index_failed">Methwyd llwytho cerddoriaeth</string>
|
<string name="err_index_failed">Methwyd llwytho cerddoriaeth</string>
|
||||||
<string name="err_no_perms">Mae ar Auxio angen caniatâd i ddarllen eich llyfrgell gerddoriaeth</string>
|
|
||||||
<string name="err_no_app">Methwyd dod o hyd ap sydd yn gallu gwneud y tasg hon</string>
|
<string name="err_no_app">Methwyd dod o hyd ap sydd yn gallu gwneud y tasg hon</string>
|
||||||
<string name="err_no_locations">Dim ffolderi</string>
|
|
||||||
<string name="desc_skip_next">Neidio i\'r gân nesaf</string>
|
<string name="desc_skip_next">Neidio i\'r gân nesaf</string>
|
||||||
<string name="desc_skip_prev">Neidio i\'r gân ddiwethaf</string>
|
<string name="desc_skip_prev">Neidio i\'r gân ddiwethaf</string>
|
||||||
<string name="desc_change_repeat">Newid y modd ail-chwarae</string>
|
<string name="desc_change_repeat">Newid y modd ail-chwarae</string>
|
||||||
|
@ -245,7 +237,6 @@
|
||||||
<string name="desc_remove_song">Tynnu\'r gân hon</string>
|
<string name="desc_remove_song">Tynnu\'r gân hon</string>
|
||||||
<string name="desc_queue_bar">Agor y ciw</string>
|
<string name="desc_queue_bar">Agor y ciw</string>
|
||||||
<string name="cdc_mp4">Sain MPEG-4</string>
|
<string name="cdc_mp4">Sain MPEG-4</string>
|
||||||
<string name="cdc_mka">Sain Matroska</string>
|
|
||||||
<string name="fmt_deletion_info">Dileu %s? Ni fydd yn bosib dadwneud hyn.</string>
|
<string name="fmt_deletion_info">Dileu %s? Ni fydd yn bosib dadwneud hyn.</string>
|
||||||
<plurals name="fmt_song_count">
|
<plurals name="fmt_song_count">
|
||||||
<item quantity="zero">%d caneuon</item>
|
<item quantity="zero">%d caneuon</item>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Erneut versuchen</string>
|
<string name="lbl_retry">Erneut versuchen</string>
|
||||||
<string name="lbl_grant">Gewähren</string>
|
|
||||||
<string name="lbl_genres">Genres</string>
|
<string name="lbl_genres">Genres</string>
|
||||||
<string name="lbl_artists">Künstler</string>
|
<string name="lbl_artists">Künstler</string>
|
||||||
<string name="lbl_albums">Alben</string>
|
<string name="lbl_albums">Alben</string>
|
||||||
|
@ -24,9 +23,7 @@
|
||||||
<string name="lng_queue_added">Der Warteschlange hinzugefügt</string>
|
<string name="lng_queue_added">Der Warteschlange hinzugefügt</string>
|
||||||
<string name="lbl_artist_details">Zum Künstler gehen</string>
|
<string name="lbl_artist_details">Zum Künstler gehen</string>
|
||||||
<string name="lbl_album_details">Zum Album gehen</string>
|
<string name="lbl_album_details">Zum Album gehen</string>
|
||||||
<string name="lbl_add">Hinzufügen</string>
|
|
||||||
<string name="lbl_save">Speichern</string>
|
<string name="lbl_save">Speichern</string>
|
||||||
<string name="err_no_locations">Keine Ordner</string>
|
|
||||||
<string name="lbl_about">Über</string>
|
<string name="lbl_about">Über</string>
|
||||||
<string name="lbl_version">Version</string>
|
<string name="lbl_version">Version</string>
|
||||||
<string name="lbl_code">Quellcode</string>
|
<string name="lbl_code">Quellcode</string>
|
||||||
|
@ -64,9 +61,7 @@
|
||||||
<string name="set_reindex">Musik neu laden</string>
|
<string name="set_reindex">Musik neu laden</string>
|
||||||
<string name="set_reindex_desc">Musikbibliothek neu laden, verwendet gecachte Tags wenn möglich</string>
|
<string name="set_reindex_desc">Musikbibliothek neu laden, verwendet gecachte Tags wenn möglich</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Keine Musik gefunden</string>
|
|
||||||
<string name="err_index_failed">Laden der Musik fehlgeschlagen</string>
|
<string name="err_index_failed">Laden der Musik fehlgeschlagen</string>
|
||||||
<string name="err_no_perms">Auxio benötigt die Berechtigung, um deine Musikbibliothek zu lesen</string>
|
|
||||||
<string name="err_no_app">Es konnte keine App gefunden werden, die diese Aufgabe übernehmen kann</string>
|
<string name="err_no_app">Es konnte keine App gefunden werden, die diese Aufgabe übernehmen kann</string>
|
||||||
<string name="err_bad_location">Das Verzeichnis wird nicht unterstützt</string>
|
<string name="err_bad_location">Das Verzeichnis wird nicht unterstützt</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
|
@ -129,7 +124,6 @@
|
||||||
<string name="set_lib_tabs">Bibliotheks-Registerkarten</string>
|
<string name="set_lib_tabs">Bibliotheks-Registerkarten</string>
|
||||||
<string name="set_lib_tabs_desc">Sichtbarkeit und Ordnung der Bibliotheksregisterkarten ändern</string>
|
<string name="set_lib_tabs_desc">Sichtbarkeit und Ordnung der Bibliotheksregisterkarten ändern</string>
|
||||||
<string name="lbl_name">Name</string>
|
<string name="lbl_name">Name</string>
|
||||||
<string name="desc_shuffle_all">Alle Lieder zufällig</string>
|
|
||||||
<string name="desc_remove_song">Lied in der Warteschlange löschen</string>
|
<string name="desc_remove_song">Lied in der Warteschlange löschen</string>
|
||||||
<string name="desc_tab_handle">Tab versetzen</string>
|
<string name="desc_tab_handle">Tab versetzen</string>
|
||||||
<string name="def_artist">Unbekannter Künstler</string>
|
<string name="def_artist">Unbekannter Künstler</string>
|
||||||
|
@ -158,7 +152,6 @@
|
||||||
<string name="cdc_ogg">Ogg-Audio</string>
|
<string name="cdc_ogg">Ogg-Audio</string>
|
||||||
<string name="cdc_mp4">MPEG-4-Audio</string>
|
<string name="cdc_mp4">MPEG-4-Audio</string>
|
||||||
<string name="cdc_mp3">MPEG-1-Audio</string>
|
<string name="cdc_mp3">MPEG-1-Audio</string>
|
||||||
<string name="cdc_mka">Matroska-Audio</string>
|
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
<string name="fmt_bitrate">%d kB/s</string>
|
<string name="fmt_bitrate">%d kB/s</string>
|
||||||
|
@ -244,7 +237,6 @@
|
||||||
<string name="set_music">Musik</string>
|
<string name="set_music">Musik</string>
|
||||||
<string name="set_images">Bilder</string>
|
<string name="set_images">Bilder</string>
|
||||||
<string name="set_library">Bibliothek</string>
|
<string name="set_library">Bibliothek</string>
|
||||||
<string name="set_locations_list">Ordner</string>
|
|
||||||
<string name="set_playback">Wiedergabe</string>
|
<string name="set_playback">Wiedergabe</string>
|
||||||
<string name="set_audio_desc">Ton und Wiedergabeverhalten konfigurieren</string>
|
<string name="set_audio_desc">Ton und Wiedergabeverhalten konfigurieren</string>
|
||||||
<string name="set_replay_gain">Lautstärkenormalisierung</string>
|
<string name="set_replay_gain">Lautstärkenormalisierung</string>
|
||||||
|
@ -281,7 +273,6 @@
|
||||||
<string name="lbl_sort_mode">Sortieren nach</string>
|
<string name="lbl_sort_mode">Sortieren nach</string>
|
||||||
<string name="desc_selection_image">Auswahl-Bild</string>
|
<string name="desc_selection_image">Auswahl-Bild</string>
|
||||||
<string name="lbl_selection">Auswahl</string>
|
<string name="lbl_selection">Auswahl</string>
|
||||||
<string name="lbl_show_error_info">Mehr</string>
|
|
||||||
<string name="lbl_copied">Kopiert</string>
|
<string name="lbl_copied">Kopiert</string>
|
||||||
<string name="lbl_report">Melden</string>
|
<string name="lbl_report">Melden</string>
|
||||||
<string name="lbl_error_info">Fehlerinformation</string>
|
<string name="lbl_error_info">Fehlerinformation</string>
|
||||||
|
@ -332,4 +323,7 @@
|
||||||
<string name="lng_empty_songs">Deine Lieder werden hier angezeigt.</string>
|
<string name="lng_empty_songs">Deine Lieder werden hier angezeigt.</string>
|
||||||
<string name="lng_empty_genres">Deine Genres werden hier angezeigt.</string>
|
<string name="lng_empty_genres">Deine Genres werden hier angezeigt.</string>
|
||||||
<string name="lng_empty_artists">Deine Künstler werden hier angezeigt.</string>
|
<string name="lng_empty_artists">Deine Künstler werden hier angezeigt.</string>
|
||||||
|
<string name="set_cover_mode_as_is">Unverändert</string>
|
||||||
|
<string name="set_with_hidden_desc">Audio-Dateien einbeziehen, die versteckt sind (z. B. .cache)</string>
|
||||||
|
<string name="set_with_hidden">Versteckte Dateien einbeziehen</string>
|
||||||
</resources>
|
</resources>
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Προσπάθεια εκ νέου</string>
|
<string name="lbl_retry">Προσπάθεια εκ νέου</string>
|
||||||
<string name="lbl_grant">Χορήγηση</string>
|
|
||||||
<string name="lbl_genres">Είδη</string>
|
<string name="lbl_genres">Είδη</string>
|
||||||
<string name="lbl_artists">Καλλιτέχνες</string>
|
<string name="lbl_artists">Καλλιτέχνες</string>
|
||||||
<string name="lbl_albums">Άλμπουμ</string>
|
<string name="lbl_albums">Άλμπουμ</string>
|
||||||
|
@ -75,10 +74,8 @@
|
||||||
<string name="fmt_lib_artist_count">Καλλιτέχνες που φορτώθηκαν: %d</string>
|
<string name="fmt_lib_artist_count">Καλλιτέχνες που φορτώθηκαν: %d</string>
|
||||||
<string name="lbl_date">Έτος</string>
|
<string name="lbl_date">Έτος</string>
|
||||||
<string name="lbl_disc">Δίσκος</string>
|
<string name="lbl_disc">Δίσκος</string>
|
||||||
<string name="err_no_music">Δεν βρέθηκε καθόλου μουσική</string>
|
|
||||||
<string name="err_index_failed">Η φόρτωση μουσικής απέτυχε</string>
|
<string name="err_index_failed">Η φόρτωση μουσικής απέτυχε</string>
|
||||||
<string name="fmt_bitrate">%d kbps</string>
|
<string name="fmt_bitrate">%d kbps</string>
|
||||||
<string name="lbl_add">Πρόσθεση</string>
|
|
||||||
<string name="lbl_props">Ιδιότητες τραγουδιού</string>
|
<string name="lbl_props">Ιδιότητες τραγουδιού</string>
|
||||||
<string name="lbl_song_detail">Προβολή Ιδιοτήτων</string>
|
<string name="lbl_song_detail">Προβολή Ιδιοτήτων</string>
|
||||||
<string name="lbl_library_counts">Στατιστικά συλλογής</string>
|
<string name="lbl_library_counts">Στατιστικά συλλογής</string>
|
||||||
|
@ -95,7 +92,6 @@
|
||||||
<string name="lbl_name">Όνομα</string>
|
<string name="lbl_name">Όνομα</string>
|
||||||
<string name="lbl_duration">Διάρκεια</string>
|
<string name="lbl_duration">Διάρκεια</string>
|
||||||
<string name="fmt_lib_total_duration">Συνολική διάρκεια: %s</string>
|
<string name="fmt_lib_total_duration">Συνολική διάρκεια: %s</string>
|
||||||
<string name="err_no_locations">Καθόλου φάκελοι</string>
|
|
||||||
<string name="info_app_desc">Μια απλή, λογική εφαρμογή αναπαραγωγής μουσικής για Android.</string>
|
<string name="info_app_desc">Μια απλή, λογική εφαρμογή αναπαραγωγής μουσικής για Android.</string>
|
||||||
<string name="lbl_indexer">Φόρτωση μουσικής</string>
|
<string name="lbl_indexer">Φόρτωση μουσικής</string>
|
||||||
<string name="lng_widget">Προβολή και έλεγχος αναπαραγωγής μουσικής</string>
|
<string name="lng_widget">Προβολή και έλεγχος αναπαραγωγής μουσικής</string>
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<string name="lng_widget">Ver y controlar la reproducción musical</string>
|
<string name="lng_widget">Ver y controlar la reproducción musical</string>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Reintentar</string>
|
<string name="lbl_retry">Reintentar</string>
|
||||||
<string name="lbl_grant">Permitir</string>
|
|
||||||
<string name="lbl_genres">Géneros</string>
|
<string name="lbl_genres">Géneros</string>
|
||||||
<string name="lbl_artists">Artistas</string>
|
<string name="lbl_artists">Artistas</string>
|
||||||
<string name="lbl_albums">Álbumes</string>
|
<string name="lbl_albums">Álbumes</string>
|
||||||
|
@ -22,38 +21,36 @@
|
||||||
<string name="lbl_sort_asc">Ascendente</string>
|
<string name="lbl_sort_asc">Ascendente</string>
|
||||||
<string name="lbl_playback">En reproducción</string>
|
<string name="lbl_playback">En reproducción</string>
|
||||||
<string name="lbl_play">Reproducir</string>
|
<string name="lbl_play">Reproducir</string>
|
||||||
<string name="lbl_shuffle">Mezcla</string>
|
<string name="lbl_shuffle">Modo aleatorio</string>
|
||||||
<string name="set_play_song_from_all">Reproducir todo</string>
|
<string name="set_play_song_from_all">Reproducir todo</string>
|
||||||
<string name="set_play_song_from_album">Reproducir por álbum</string>
|
<string name="set_play_song_from_album">Reproducir por álbum</string>
|
||||||
<string name="set_play_song_from_artist">Reproducir por artista</string>
|
<string name="set_play_song_from_artist">Reproducir por artista</string>
|
||||||
<string name="lbl_queue">Cola</string>
|
<string name="lbl_queue">Cola</string>
|
||||||
<string name="lbl_play_next">Reproducir siguiente</string>
|
<string name="lbl_play_next">Reproducir siguiente</string>
|
||||||
<string name="lbl_queue_add">Agregar a la cola</string>
|
<string name="lbl_queue_add">Añadir a la cola</string>
|
||||||
<string name="lng_queue_added">Agregado a la cola</string>
|
<string name="lng_queue_added">Añadido a la cola</string>
|
||||||
<string name="lbl_artist_details">Ir al artista</string>
|
<string name="lbl_artist_details">Ir al artista</string>
|
||||||
<string name="lbl_album_details">Ir al álbum</string>
|
<string name="lbl_album_details">Ir al álbum</string>
|
||||||
<string name="lbl_add">Agregar</string>
|
|
||||||
<string name="lbl_save">Guardar</string>
|
<string name="lbl_save">Guardar</string>
|
||||||
<string name="err_no_locations">Sin carpetas</string>
|
|
||||||
<string name="lbl_about">Acerca de</string>
|
<string name="lbl_about">Acerca de</string>
|
||||||
<string name="lbl_version">Versión</string>
|
<string name="lbl_version">Versión</string>
|
||||||
<string name="lbl_code">Código fuente</string>
|
<string name="lbl_code">Código fuente</string>
|
||||||
<string name="lbl_licenses">Licencias</string>
|
<string name="lbl_licenses">Licencias</string>
|
||||||
<string name="lbl_author_name">Desarrollado por Alexander Capehart</string>
|
<string name="lbl_author_name">Desarrollado por Alexander Capehart</string>
|
||||||
<!-- Settings namespace | Settings-related labels -->
|
<!-- Settings namespace | Settings-related labels -->
|
||||||
<string name="set_root_title">Ajustes</string>
|
<string name="set_root_title">Configuración</string>
|
||||||
<string name="set_ui">Aspecto y Comportamiento</string>
|
<string name="set_ui">Aspecto y comportamiento</string>
|
||||||
<string name="set_theme">Tema</string>
|
<string name="set_theme">Tema</string>
|
||||||
<string name="set_theme_auto">Automático</string>
|
<string name="set_theme_auto">Automático</string>
|
||||||
<string name="set_theme_day">Claro</string>
|
<string name="set_theme_day">Claro</string>
|
||||||
<string name="set_theme_night">Oscuro</string>
|
<string name="set_theme_night">Oscuro</string>
|
||||||
<string name="set_accent">Esquema de color</string>
|
<string name="set_accent">Combinación de colores</string>
|
||||||
<string name="set_black_mode">Tema negro</string>
|
<string name="set_black_mode">Tema negro</string>
|
||||||
<string name="set_black_mode_desc">Usar un tema completamente negro</string>
|
<string name="set_black_mode_desc">Usar un tema completamente negro</string>
|
||||||
<string name="set_display">Pantalla</string>
|
<string name="set_display">Pantalla</string>
|
||||||
<string name="set_lib_tabs">Pestañas de la biblioteca</string>
|
<string name="set_lib_tabs">Pestañas de la biblioteca</string>
|
||||||
<string name="set_lib_tabs_desc">Cambiar visibilidad y orden de las pestañas de la biblioteca</string>
|
<string name="set_lib_tabs_desc">Cambiar visibilidad y orden de las pestañas de la biblioteca</string>
|
||||||
<string name="set_round_mode">Carátulas redondeadas</string>
|
<string name="set_round_mode">Modo redondeado</string>
|
||||||
<string name="set_round_mode_desc">Habilitar las esquinas redondeadas en los elementos adicionales de la interfaz del usuario (requiere que las portadas de los álbumes estén redondeadas)</string>
|
<string name="set_round_mode_desc">Habilitar las esquinas redondeadas en los elementos adicionales de la interfaz del usuario (requiere que las portadas de los álbumes estén redondeadas)</string>
|
||||||
<string name="set_notif_action">Usar acciones de notificación personalizadas</string>
|
<string name="set_notif_action">Usar acciones de notificación personalizadas</string>
|
||||||
<string name="set_audio">Sonido</string>
|
<string name="set_audio">Sonido</string>
|
||||||
|
@ -73,13 +70,11 @@
|
||||||
<string name="set_reindex">Actualizar música</string>
|
<string name="set_reindex">Actualizar música</string>
|
||||||
<string name="set_reindex_desc">Recargar la biblioteca musical, utilizando las etiquetas en caché cuando sea posible</string>
|
<string name="set_reindex_desc">Recargar la biblioteca musical, utilizando las etiquetas en caché cuando sea posible</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">No se ha encontrado música</string>
|
|
||||||
<string name="err_index_failed">Falló la carga de música</string>
|
<string name="err_index_failed">Falló la carga de música</string>
|
||||||
<string name="err_no_perms">Auxio necesita permiso para leer su biblioteca de música</string>
|
|
||||||
<string name="err_no_app">No se encontró ninguna aplicación que pueda manejar esta tarea</string>
|
<string name="err_no_app">No se encontró ninguna aplicación que pueda manejar esta tarea</string>
|
||||||
<string name="err_bad_location">Directorio no soportado</string>
|
<string name="err_bad_location">No se admite esta carpeta</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">Buscar en la biblioteca…</string>
|
<string name="lng_search_library">Buscar en la fonoteca…</string>
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
<string name="desc_track_number">Pista %d</string>
|
<string name="desc_track_number">Pista %d</string>
|
||||||
<string name="desc_play_pause">Reproducir o pausar</string>
|
<string name="desc_play_pause">Reproducir o pausar</string>
|
||||||
|
@ -87,7 +82,6 @@
|
||||||
<string name="desc_skip_prev">Saltar a la última canción</string>
|
<string name="desc_skip_prev">Saltar a la última canción</string>
|
||||||
<string name="desc_change_repeat">Cambiar modo de repetición</string>
|
<string name="desc_change_repeat">Cambiar modo de repetición</string>
|
||||||
<string name="desc_shuffle">Activar o desactivar mezcla</string>
|
<string name="desc_shuffle">Activar o desactivar mezcla</string>
|
||||||
<string name="desc_shuffle_all">Mezclar todas las canciones</string>
|
|
||||||
<string name="desc_remove_song">Quitar canción de la cola</string>
|
<string name="desc_remove_song">Quitar canción de la cola</string>
|
||||||
<string name="desc_song_handle">Mover canción en la cola</string>
|
<string name="desc_song_handle">Mover canción en la cola</string>
|
||||||
<string name="desc_tab_handle">Mover pestaña</string>
|
<string name="desc_tab_handle">Mover pestaña</string>
|
||||||
|
@ -142,13 +136,12 @@
|
||||||
<string name="lbl_song_detail">Ver propiedades</string>
|
<string name="lbl_song_detail">Ver propiedades</string>
|
||||||
<string name="lbl_shuffle_shortcut_short">Mezclar</string>
|
<string name="lbl_shuffle_shortcut_short">Mezclar</string>
|
||||||
<string name="lbl_shuffle_shortcut_long">Mezclar todo</string>
|
<string name="lbl_shuffle_shortcut_long">Mezclar todo</string>
|
||||||
<string name="lbl_ok">De acuerdo</string>
|
<string name="lbl_ok">Aceptar</string>
|
||||||
<string name="lbl_library_counts">Estadísticas de la biblioteca</string>
|
<string name="lbl_library_counts">Estadísticas de la biblioteca</string>
|
||||||
<string name="set_pre_amp_without">Ajuste sin etiquetas</string>
|
<string name="set_pre_amp_without">Ajuste sin etiquetas</string>
|
||||||
<string name="set_pre_amp_warning">Advertencia: Cambiar el pre-amp a un valor alto puede resultar en picos en algunas pistas de audio.</string>
|
<string name="set_pre_amp_warning">Advertencia: Cambiar el pre-amp a un valor alto puede resultar en picos en algunas pistas de audio.</string>
|
||||||
<string name="set_play_song_none">Reproducir desde el elemento que se muestra</string>
|
<string name="set_play_song_none">Reproducir desde el elemento que se muestra</string>
|
||||||
<string name="cdc_mka">Audio matroska</string>
|
<string name="cdc_flac">Códec de audio sin pérdida libre (FLAC)</string>
|
||||||
<string name="cdc_flac">Free Losless Audio Codec (FLAC)</string>
|
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="fmt_indexing">Cargando tu biblioteca de música… (%1$d/%2$d)</string>
|
<string name="fmt_indexing">Cargando tu biblioteca de música… (%1$d/%2$d)</string>
|
||||||
<string name="fmt_lib_artist_count">Artistas cargados: %d</string>
|
<string name="fmt_lib_artist_count">Artistas cargados: %d</string>
|
||||||
|
@ -157,15 +150,15 @@
|
||||||
<string name="lbl_song_count">Número de canciones</string>
|
<string name="lbl_song_count">Número de canciones</string>
|
||||||
<string name="set_observing">Recarga automática</string>
|
<string name="set_observing">Recarga automática</string>
|
||||||
<string name="set_observing_desc">Recargar la biblioteca musical cada vez que cambie (requiere una notificación persistente)</string>
|
<string name="set_observing_desc">Recargar la biblioteca musical cada vez que cambie (requiere una notificación persistente)</string>
|
||||||
<string name="lng_indexing">Cargando tu librería de música…</string>
|
<string name="lng_indexing">Cargando la fonoteca…</string>
|
||||||
<string name="lbl_indexing">Cargando música</string>
|
<string name="lbl_indexing">Cargando música</string>
|
||||||
<string name="lbl_observing">Monitorizando la librería de música</string>
|
<string name="lbl_observing">Monitorizando la fonoteca</string>
|
||||||
<string name="lng_observing">Monitorizando cambios en tu librería de música…</string>
|
<string name="lng_observing">Monitorizando cambios en la fonoteca…</string>
|
||||||
<string name="cdc_ogg">Audio ogg</string>
|
<string name="cdc_ogg">Audio Ogg</string>
|
||||||
<string name="set_play_in_parent_with">Cuando se reproduce desde los detalles</string>
|
<string name="set_play_in_parent_with">Cuando se reproduce desde los detalles</string>
|
||||||
<string name="lbl_date_added">Fecha de añadido</string>
|
<string name="lbl_date_added">Fecha de adición</string>
|
||||||
<string name="lbl_props">Propiedades de la canción</string>
|
<string name="lbl_props">Propiedades de la canción</string>
|
||||||
<string name="lbl_sample_rate">Frecuencia de muestreo</string>
|
<string name="lbl_sample_rate">Tasa de muestreo</string>
|
||||||
<string name="lbl_cancel">Cancelar</string>
|
<string name="lbl_cancel">Cancelar</string>
|
||||||
<string name="set_headset_autoplay">Reproducción automática con auriculares</string>
|
<string name="set_headset_autoplay">Reproducción automática con auriculares</string>
|
||||||
<string name="set_locations">Carpetas de música</string>
|
<string name="set_locations">Carpetas de música</string>
|
||||||
|
@ -176,9 +169,9 @@
|
||||||
<string name="lbl_ep">EP</string>
|
<string name="lbl_ep">EP</string>
|
||||||
<string name="lbl_singles">Sencillos</string>
|
<string name="lbl_singles">Sencillos</string>
|
||||||
<string name="lbl_single">Sencillo</string>
|
<string name="lbl_single">Sencillo</string>
|
||||||
<string name="lbl_soundtrack">Pista de audio</string>
|
<string name="lbl_soundtrack">Banda sonora</string>
|
||||||
<string name="lbl_album_remix">Álbum remix</string>
|
<string name="lbl_album_remix">Álbum de remezclas</string>
|
||||||
<string name="lbl_soundtracks">Pistas de audio</string>
|
<string name="lbl_soundtracks">Bandas sonoras</string>
|
||||||
<string name="lbl_mixtapes">Mixtapes (recopilación de canciones)</string>
|
<string name="lbl_mixtapes">Mixtapes (recopilación de canciones)</string>
|
||||||
<string name="lbl_mixtape">Mixtape (recopilación de canciones)</string>
|
<string name="lbl_mixtape">Mixtape (recopilación de canciones)</string>
|
||||||
<string name="lbl_remix_group">Remezclas</string>
|
<string name="lbl_remix_group">Remezclas</string>
|
||||||
|
@ -191,7 +184,7 @@
|
||||||
<string name="fmt_lib_album_count">Álbumes cargados: %d</string>
|
<string name="fmt_lib_album_count">Álbumes cargados: %d</string>
|
||||||
<string name="fmt_lib_total_duration">Duración total: %s</string>
|
<string name="fmt_lib_total_duration">Duración total: %s</string>
|
||||||
<string name="lbl_album_live">Álbum en directo</string>
|
<string name="lbl_album_live">Álbum en directo</string>
|
||||||
<string name="lbl_single_live">Single en directo</string>
|
<string name="lbl_single_live">Sencillo en directo</string>
|
||||||
<string name="lbl_compilation">Compilación</string>
|
<string name="lbl_compilation">Compilación</string>
|
||||||
<string name="lbl_live_group">En directo</string>
|
<string name="lbl_live_group">En directo</string>
|
||||||
<string name="cdc_mp3">Audio MPEG-1</string>
|
<string name="cdc_mp3">Audio MPEG-1</string>
|
||||||
|
@ -199,9 +192,9 @@
|
||||||
<string name="fmt_bitrate">%d kbps</string>
|
<string name="fmt_bitrate">%d kbps</string>
|
||||||
<string name="fmt_db_neg">-%.1f dB</string>
|
<string name="fmt_db_neg">-%.1f dB</string>
|
||||||
<string name="lbl_ep_live">EP en directo</string>
|
<string name="lbl_ep_live">EP en directo</string>
|
||||||
<string name="lbl_single_remix">Single remix</string>
|
<string name="lbl_single_remix">Sencillo remezclado</string>
|
||||||
<string name="lbl_compilations">Compilaciones</string>
|
<string name="lbl_compilations">Compilaciones</string>
|
||||||
<string name="lbl_ep_remix">EP de remixes</string>
|
<string name="lbl_ep_remix">EP de remezclas</string>
|
||||||
<string name="desc_queue_bar">Abrir la cola</string>
|
<string name="desc_queue_bar">Abrir la cola</string>
|
||||||
<string name="lbl_genre">Género</string>
|
<string name="lbl_genre">Género</string>
|
||||||
<string name="set_separators">Separadores de varios valores</string>
|
<string name="set_separators">Separadores de varios valores</string>
|
||||||
|
@ -216,7 +209,7 @@
|
||||||
<string name="lbl_mix">Mezcla de DJ</string>
|
<string name="lbl_mix">Mezcla de DJ</string>
|
||||||
<string name="lbl_equalizer">Ecualizador</string>
|
<string name="lbl_equalizer">Ecualizador</string>
|
||||||
<string name="set_cover_mode">Portadas de álbumes</string>
|
<string name="set_cover_mode">Portadas de álbumes</string>
|
||||||
<string name="set_cover_mode_off">Apagado</string>
|
<string name="set_cover_mode_off">Desactivadas</string>
|
||||||
<string name="set_action_mode_repeat">Modo de repetición</string>
|
<string name="set_action_mode_repeat">Modo de repetición</string>
|
||||||
<string name="set_separators_plus">Más (+)</string>
|
<string name="set_separators_plus">Más (+)</string>
|
||||||
<string name="set_separators_and">Signo et</string>
|
<string name="set_separators_and">Signo et</string>
|
||||||
|
@ -248,7 +241,6 @@
|
||||||
<string name="set_images">Imágenes</string>
|
<string name="set_images">Imágenes</string>
|
||||||
<string name="set_audio_desc">Configurar el comportamiento del sonido y la reproducción</string>
|
<string name="set_audio_desc">Configurar el comportamiento del sonido y la reproducción</string>
|
||||||
<string name="set_playback">Reproducción</string>
|
<string name="set_playback">Reproducción</string>
|
||||||
<string name="set_locations_list">Carpetas</string>
|
|
||||||
<string name="set_ui_desc">Cambiar el tema y los colores de la aplicación</string>
|
<string name="set_ui_desc">Cambiar el tema y los colores de la aplicación</string>
|
||||||
<string name="set_personalize_desc">Personalizar los controles y el comportamiento de la interfaz de usuario</string>
|
<string name="set_personalize_desc">Personalizar los controles y el comportamiento de la interfaz de usuario</string>
|
||||||
<string name="set_library">Biblioteca</string>
|
<string name="set_library">Biblioteca</string>
|
||||||
|
@ -260,17 +252,17 @@
|
||||||
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" al ordenar por nombre (funciona mejor con música en inglés)</string>
|
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" al ordenar por nombre (funciona mejor con música en inglés)</string>
|
||||||
<string name="lbl_new_playlist">Nueva lista de reproducción</string>
|
<string name="lbl_new_playlist">Nueva lista de reproducción</string>
|
||||||
<string name="fmt_def_playlist">Lista de reproducción %d</string>
|
<string name="fmt_def_playlist">Lista de reproducción %d</string>
|
||||||
<string name="lbl_playlist_add">Agregar a la lista de reproducción</string>
|
<string name="lbl_playlist_add">Añadir a la lista de reproducción</string>
|
||||||
<string name="lng_playlist_added">Agregado a la lista de reproducción</string>
|
<string name="lng_playlist_added">Agregado a la lista de reproducción</string>
|
||||||
<string name="lng_playlist_created">Lista de reproducción creada</string>
|
<string name="lng_playlist_created">Lista de reproducción creada</string>
|
||||||
<string name="def_song_count">No hay canciones</string>
|
<string name="def_song_count">No hay canciones</string>
|
||||||
<string name="lbl_delete">Borrar</string>
|
<string name="lbl_delete">Eliminar</string>
|
||||||
<string name="lbl_rename">Cambiar el nombre</string>
|
<string name="lbl_rename">Cambiar nombre</string>
|
||||||
<string name="lbl_rename_playlist">Cambiar el nombre de la lista de reproducción</string>
|
<string name="lbl_rename_playlist">Cambiar nombre de lista de reproducción</string>
|
||||||
<string name="lng_playlist_renamed">Lista de reproducción renombrada</string>
|
<string name="lng_playlist_renamed">Lista de reproducción renombrada</string>
|
||||||
<string name="lng_playlist_deleted">Lista de reproducción borrada</string>
|
<string name="lng_playlist_deleted">Lista de reproducción eliminada</string>
|
||||||
<string name="fmt_deletion_info">¿Borrar %s\? Esto no se puede deshacer.</string>
|
<string name="fmt_deletion_info">¿Borrar %s\? Esto no se puede deshacer.</string>
|
||||||
<string name="lbl_confirm_delete_playlist">¿Borrar la lista de reproducción\?</string>
|
<string name="lbl_confirm_delete_playlist">¿Quiere eliminar la lista de reproducción?</string>
|
||||||
<string name="lbl_edit">Editar</string>
|
<string name="lbl_edit">Editar</string>
|
||||||
<string name="fmt_editing">Editando %s</string>
|
<string name="fmt_editing">Editando %s</string>
|
||||||
<string name="lbl_appears_on">Aparece en</string>
|
<string name="lbl_appears_on">Aparece en</string>
|
||||||
|
@ -285,7 +277,6 @@
|
||||||
<string name="lbl_sort_direction">Dirección</string>
|
<string name="lbl_sort_direction">Dirección</string>
|
||||||
<string name="desc_selection_image">Selección de imágenes</string>
|
<string name="desc_selection_image">Selección de imágenes</string>
|
||||||
<string name="lbl_selection">Selección</string>
|
<string name="lbl_selection">Selección</string>
|
||||||
<string name="lbl_show_error_info">Más</string>
|
|
||||||
<string name="lbl_error_info">Información sobre el error</string>
|
<string name="lbl_error_info">Información sobre el error</string>
|
||||||
<string name="lbl_copied">Copiado</string>
|
<string name="lbl_copied">Copiado</string>
|
||||||
<string name="lbl_report">Informar</string>
|
<string name="lbl_report">Informar</string>
|
||||||
|
@ -328,5 +319,15 @@
|
||||||
<string name="def_album">Álbum desconocido</string>
|
<string name="def_album">Álbum desconocido</string>
|
||||||
<string name="cdc_unknown">Desconocido</string>
|
<string name="cdc_unknown">Desconocido</string>
|
||||||
<string name="cnt_mp4">El MPEG-4 contiene %s</string>
|
<string name="cnt_mp4">El MPEG-4 contiene %s</string>
|
||||||
<string name="cdc_alac">Apple Lossless Audio Codec (ALAC)</string>
|
<string name="cdc_alac">Códec de audio sin pérdida de Apple (ALAC)</string>
|
||||||
|
<string name="lng_empty_albums">Sus álbumes aparecerán aquí.</string>
|
||||||
|
<string name="lng_empty_artists">Sus artistas aparecerán aquí.</string>
|
||||||
|
<string name="lng_empty_genres">Sus géneros aparecerán aquí.</string>
|
||||||
|
<string name="set_locations_new">Nueva carpeta</string>
|
||||||
|
<string name="lng_empty_playlists">Sus listas de reproducción aparecerán aquí.</string>
|
||||||
|
<string name="lng_empty_songs">Sus canciones aparecerán aquí.</string>
|
||||||
|
<string name="set_cover_mode_save_space">Ahorra espacio</string>
|
||||||
|
<string name="set_cover_mode_as_is">Original</string>
|
||||||
|
<string name="set_with_hidden_desc">Incluir ficheros de audio ocultos (ej. .cache)</string>
|
||||||
|
<string name="set_with_hidden">Incluir ficheros ocultos</string>
|
||||||
</resources>
|
</resources>
|
|
@ -2,8 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="lbl_indexer">Muusika on laadimisel</string>
|
<string name="lbl_indexer">Muusika on laadimisel</string>
|
||||||
<string name="lbl_observing">Jälgime muudatusi muusikakogus</string>
|
<string name="lbl_observing">Jälgime muudatusi muusikakogus</string>
|
||||||
<string name="lbl_show_error_info">Veel</string>
|
|
||||||
<string name="lbl_grant">Anna õigused</string>
|
|
||||||
<string name="lbl_song">Pala</string>
|
<string name="lbl_song">Pala</string>
|
||||||
<string name="lbl_albums">Albumid</string>
|
<string name="lbl_albums">Albumid</string>
|
||||||
<string name="lbl_album_live">Album elavas esituses muusikaga</string>
|
<string name="lbl_album_live">Album elavas esituses muusikaga</string>
|
||||||
|
@ -57,7 +55,6 @@
|
||||||
<string name="lbl_start_playback">Alusta taasesitust</string>
|
<string name="lbl_start_playback">Alusta taasesitust</string>
|
||||||
<string name="lbl_cancel">Katkesta</string>
|
<string name="lbl_cancel">Katkesta</string>
|
||||||
<string name="lbl_save">Salvesta</string>
|
<string name="lbl_save">Salvesta</string>
|
||||||
<string name="lbl_add">Lisa</string>
|
|
||||||
<string name="lbl_path_style">Asukoha kuvamise viis</string>
|
<string name="lbl_path_style">Asukoha kuvamise viis</string>
|
||||||
<string name="lbl_path_style_absolute">Absoluutne</string>
|
<string name="lbl_path_style_absolute">Absoluutne</string>
|
||||||
<string name="lbl_about">Rakenduse teave</string>
|
<string name="lbl_about">Rakenduse teave</string>
|
||||||
|
@ -230,7 +227,7 @@
|
||||||
<string name="set_separators_comma">Koma (,)</string>
|
<string name="set_separators_comma">Koma (,)</string>
|
||||||
<string name="set_separators_semicolon">Semikoolon (;)</string>
|
<string name="set_separators_semicolon">Semikoolon (;)</string>
|
||||||
<string name="set_separators_plus">Pluss (+)</string>
|
<string name="set_separators_plus">Pluss (+)</string>
|
||||||
<string name="set_separators_and">Ampersand (&)</string>
|
<string name="set_separators_and">Ampersand (and-märk)</string>
|
||||||
<string name="set_separators_desc">Seadista tähemärke, mis eraldavad siltides mitut väärtust</string>
|
<string name="set_separators_desc">Seadista tähemärke, mis eraldavad siltides mitut väärtust</string>
|
||||||
<string name="set_separators_slash">Kaldkriips (/)</string>
|
<string name="set_separators_slash">Kaldkriips (/)</string>
|
||||||
<string name="set_separators_warning">Hoiatus: selle seadistuse kasutamisel ei pruugi mitu väärtust siltides olla alati korralikult tuvastatud; seda olukorda saad proovida lahendada täiendava prefiksi lisamisega kurakaldkriipsu näol (\\).</string>
|
<string name="set_separators_warning">Hoiatus: selle seadistuse kasutamisel ei pruugi mitu väärtust siltides olla alati korralikult tuvastatud; seda olukorda saad proovida lahendada täiendava prefiksi lisamisega kurakaldkriipsu näol (\\).</string>
|
||||||
|
@ -243,19 +240,15 @@
|
||||||
<string name="set_library">Muusikakogu</string>
|
<string name="set_library">Muusikakogu</string>
|
||||||
<string name="set_locations">Muusika kaustad</string>
|
<string name="set_locations">Muusika kaustad</string>
|
||||||
<string name="set_locations_desc">Halda kaustu, kust otsime ja laadime muusikat</string>
|
<string name="set_locations_desc">Halda kaustu, kust otsime ja laadime muusikat</string>
|
||||||
<string name="set_locations_list">Kaustad</string>
|
|
||||||
<string name="set_reindex">Värskenda muusika andmed</string>
|
<string name="set_reindex">Värskenda muusika andmed</string>
|
||||||
<string name="set_reindex_desc">Laadi muusikakogu uuesti ning kui võimalik, siis kasuta puhverdatud silte</string>
|
<string name="set_reindex_desc">Laadi muusikakogu uuesti ning kui võimalik, siis kasuta puhverdatud silte</string>
|
||||||
<string name="set_rescan">Laadi muusikakogu uuesti</string>
|
<string name="set_rescan">Laadi muusikakogu uuesti</string>
|
||||||
<string name="set_rescan_desc">Kustuta puhverdatud siltide andmed ja laadi muusikakogu tervikuna uuesti (aeglasem, aga täpsem tulemus)</string>
|
<string name="set_rescan_desc">Kustuta puhverdatud siltide andmed ja laadi muusikakogu tervikuna uuesti (aeglasem, aga täpsem tulemus)</string>
|
||||||
<string name="err_no_music">Muusikat ei leidu</string>
|
|
||||||
<string name="err_index_failed">Muusika laadimine ei õnnestunud</string>
|
<string name="err_index_failed">Muusika laadimine ei õnnestunud</string>
|
||||||
<string name="err_no_perms">Auxio vajab muusikakogu töötlemiseks õigust lugeda faile ja kaustu sinu nutiseadmes</string>
|
|
||||||
<string name="err_import_failed">Sellest failist ei õnnestu esitusloendit importida</string>
|
<string name="err_import_failed">Sellest failist ei õnnestu esitusloendit importida</string>
|
||||||
<string name="err_export_failed">Sellesse faili ei õnnestu esitusloendit eksportida</string>
|
<string name="err_export_failed">Sellesse faili ei õnnestu esitusloendit eksportida</string>
|
||||||
<string name="err_no_app">Ei leidu selle ülesande täitmiseks sobilikku rakendust</string>
|
<string name="err_no_app">Ei leidu selle ülesande täitmiseks sobilikku rakendust</string>
|
||||||
<string name="desc_track_number">Lugu %d</string>
|
<string name="desc_track_number">Lugu %d</string>
|
||||||
<string name="err_no_locations">Kaustu pole määratud</string>
|
|
||||||
<string name="err_bad_location">See kaust pole toetatud</string>
|
<string name="err_bad_location">See kaust pole toetatud</string>
|
||||||
<string name="desc_play_pause">Esita või peata</string>
|
<string name="desc_play_pause">Esita või peata</string>
|
||||||
<string name="desc_change_repeat">Muuda kordamise režiimi</string>
|
<string name="desc_change_repeat">Muuda kordamise režiimi</string>
|
||||||
|
@ -265,7 +258,6 @@
|
||||||
<string name="desc_exit">Lõpeta taasesitus</string>
|
<string name="desc_exit">Lõpeta taasesitus</string>
|
||||||
<string name="desc_queue_bar">Ava esitusjärjekord</string>
|
<string name="desc_queue_bar">Ava esitusjärjekord</string>
|
||||||
<string name="desc_tab_handle">Liiguta seda vahelehte</string>
|
<string name="desc_tab_handle">Liiguta seda vahelehte</string>
|
||||||
<string name="desc_shuffle_all">Sega kõik palad</string>
|
|
||||||
<string name="desc_remove_song">Eemalda see pala</string>
|
<string name="desc_remove_song">Eemalda see pala</string>
|
||||||
<string name="desc_song_handle">Tõsta see pala teise kohta</string>
|
<string name="desc_song_handle">Tõsta see pala teise kohta</string>
|
||||||
<string name="desc_clear_search">Tühjenda otsinguajalugu</string>
|
<string name="desc_clear_search">Tühjenda otsinguajalugu</string>
|
||||||
|
@ -288,7 +280,6 @@
|
||||||
<string name="cdc_ogg">Ogg Vorbis audio</string>
|
<string name="cdc_ogg">Ogg Vorbis audio</string>
|
||||||
<string name="cdc_mp3">MPEG-1 audio</string>
|
<string name="cdc_mp3">MPEG-1 audio</string>
|
||||||
<string name="cdc_mp4">MPEG-4 audio</string>
|
<string name="cdc_mp4">MPEG-4 audio</string>
|
||||||
<string name="cdc_mka">Matroska audio</string>
|
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="fmt_lib_song_count">Laaditud palasid: %d</string>
|
<string name="fmt_lib_song_count">Laaditud palasid: %d</string>
|
||||||
<string name="fmt_deletion_info">Kas kustutame %s? Seda tegevust ei saa tagasi pöörata.</string>
|
<string name="fmt_deletion_info">Kas kustutame %s? Seda tegevust ei saa tagasi pöörata.</string>
|
||||||
|
@ -324,4 +315,7 @@
|
||||||
<string name="lng_empty_genres">Sinu žanrid saavad olema nähtavad siin.</string>
|
<string name="lng_empty_genres">Sinu žanrid saavad olema nähtavad siin.</string>
|
||||||
<string name="lng_empty_albums">Sinu albumid saavad olema nähtavad siin.</string>
|
<string name="lng_empty_albums">Sinu albumid saavad olema nähtavad siin.</string>
|
||||||
<string name="lng_empty_playlists">Sinu esitusloendid saavad olema nähtavad siin.</string>
|
<string name="lng_empty_playlists">Sinu esitusloendid saavad olema nähtavad siin.</string>
|
||||||
|
<string name="set_with_hidden">Kaasa peidetud failid</string>
|
||||||
|
<string name="set_with_hidden_desc">Kaasa peidetud helifailid (nt. .cache)</string>
|
||||||
|
<string name="set_cover_mode_as_is">Sellisena, nagu ta on</string>
|
||||||
</resources>
|
</resources>
|
|
@ -3,7 +3,6 @@
|
||||||
<string name="lbl_indexer">بارگیری موسیقی</string>
|
<string name="lbl_indexer">بارگیری موسیقی</string>
|
||||||
<string name="info_app_desc">یک پخش کننده موسیقی ساده و منطقی برای اندروید.</string>
|
<string name="info_app_desc">یک پخش کننده موسیقی ساده و منطقی برای اندروید.</string>
|
||||||
<string name="lbl_retry">تلاش دوباره</string>
|
<string name="lbl_retry">تلاش دوباره</string>
|
||||||
<string name="lbl_grant">اجازه دادن</string>
|
|
||||||
<string name="lbl_album">آلبوم</string>
|
<string name="lbl_album">آلبوم</string>
|
||||||
<string name="lbl_album_live">آلبوم زنده</string>
|
<string name="lbl_album_live">آلبوم زنده</string>
|
||||||
<string name="lbl_album_remix">آلبوم ریمیکس</string>
|
<string name="lbl_album_remix">آلبوم ریمیکس</string>
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
<string name="lbl_indexer">Musiikki latautuu</string>
|
<string name="lbl_indexer">Musiikki latautuu</string>
|
||||||
<string name="lbl_indexing">Ladataan musiikkia</string>
|
<string name="lbl_indexing">Ladataan musiikkia</string>
|
||||||
<string name="lbl_retry">Yritä uudelleen</string>
|
<string name="lbl_retry">Yritä uudelleen</string>
|
||||||
<string name="lbl_grant">Anna lupa</string>
|
|
||||||
<string name="lbl_songs">Kappaleet</string>
|
<string name="lbl_songs">Kappaleet</string>
|
||||||
<string name="lbl_all_songs">Kaikki kappaleet</string>
|
<string name="lbl_all_songs">Kaikki kappaleet</string>
|
||||||
<string name="lbl_albums">Albumit</string>
|
<string name="lbl_albums">Albumit</string>
|
||||||
|
@ -51,7 +50,6 @@
|
||||||
<string name="lbl_cancel">Peruuta</string>
|
<string name="lbl_cancel">Peruuta</string>
|
||||||
<string name="lbl_save">Tallenna</string>
|
<string name="lbl_save">Tallenna</string>
|
||||||
<string name="lbl_reset">Palauta oletus</string>
|
<string name="lbl_reset">Palauta oletus</string>
|
||||||
<string name="lbl_add">Lisää</string>
|
|
||||||
<string name="lng_observing">Valvotaa musiikkikirjastoa muutosten varalta…</string>
|
<string name="lng_observing">Valvotaa musiikkikirjastoa muutosten varalta…</string>
|
||||||
<string name="lbl_shuffle_shortcut_short">Sekoita</string>
|
<string name="lbl_shuffle_shortcut_short">Sekoita</string>
|
||||||
<string name="lbl_shuffle_shortcut_long">Sekoita kaikki</string>
|
<string name="lbl_shuffle_shortcut_long">Sekoita kaikki</string>
|
||||||
|
@ -70,7 +68,7 @@
|
||||||
<string name="set_play_song_from_genre">Toista tyylilajista</string>
|
<string name="set_play_song_from_genre">Toista tyylilajista</string>
|
||||||
<string name="set_separators">Moniarvoerottimet</string>
|
<string name="set_separators">Moniarvoerottimet</string>
|
||||||
<string name="set_exclude_non_music_desc">Ohita äänitiedostot, jotka eivät ole musiikkia, kuten podcastit</string>
|
<string name="set_exclude_non_music_desc">Ohita äänitiedostot, jotka eivät ole musiikkia, kuten podcastit</string>
|
||||||
<string name="set_separators_and">Ja-merkki (&)</string>
|
<string name="set_separators_and">Ampersand &</string>
|
||||||
<string name="set_separators_comma">Pilkku (,)</string>
|
<string name="set_separators_comma">Pilkku (,)</string>
|
||||||
<string name="set_separators_plus">Plus (+)</string>
|
<string name="set_separators_plus">Plus (+)</string>
|
||||||
<string name="set_separators_semicolon">Puolipiste (;)</string>
|
<string name="set_separators_semicolon">Puolipiste (;)</string>
|
||||||
|
@ -89,7 +87,6 @@
|
||||||
<string name="set_locations_desc">Määritä mistä musiikki tulee ladata</string>
|
<string name="set_locations_desc">Määritä mistä musiikki tulee ladata</string>
|
||||||
<string name="set_rescan">Läpikäy musiikki uudelleen</string>
|
<string name="set_rescan">Läpikäy musiikki uudelleen</string>
|
||||||
<string name="err_no_app">Tähän tehtävään kykenevää sovellusta ei löytynyt</string>
|
<string name="err_no_app">Tähän tehtävään kykenevää sovellusta ei löytynyt</string>
|
||||||
<string name="err_no_locations">Ei kansioita</string>
|
|
||||||
<string name="desc_track_number">Raita %d</string>
|
<string name="desc_track_number">Raita %d</string>
|
||||||
<string name="desc_skip_next">Siirry seuraavaan kappaleeseen</string>
|
<string name="desc_skip_next">Siirry seuraavaan kappaleeseen</string>
|
||||||
<string name="desc_change_repeat">Muuta kertaustilaa</string>
|
<string name="desc_change_repeat">Muuta kertaustilaa</string>
|
||||||
|
@ -106,7 +103,6 @@
|
||||||
<string name="cdc_mp3">MPEG-1-ääni</string>
|
<string name="cdc_mp3">MPEG-1-ääni</string>
|
||||||
<string name="cdc_mp4">MPEG-4-ääni</string>
|
<string name="cdc_mp4">MPEG-4-ääni</string>
|
||||||
<string name="cdc_ogg">Ogg-ääni</string>
|
<string name="cdc_ogg">Ogg-ääni</string>
|
||||||
<string name="cdc_mka">Matroska-ääni</string>
|
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
<string name="clr_red">Punainen</string>
|
<string name="clr_red">Punainen</string>
|
||||||
|
@ -165,10 +161,8 @@
|
||||||
<string name="set_round_mode">Pyöristetty tila</string>
|
<string name="set_round_mode">Pyöristetty tila</string>
|
||||||
<string name="lbl_soundtracks">Elokuvamusiikit</string>
|
<string name="lbl_soundtracks">Elokuvamusiikit</string>
|
||||||
<string name="lbl_mixes">DJ-mixaukset</string>
|
<string name="lbl_mixes">DJ-mixaukset</string>
|
||||||
<string name="err_no_perms">Auxio tarvitsee luvan lukea musiikkikirjastoa</string>
|
|
||||||
<string name="set_root_title">Asetukset</string>
|
<string name="set_root_title">Asetukset</string>
|
||||||
<string name="lbl_sort">Järjestä</string>
|
<string name="lbl_sort">Järjestä</string>
|
||||||
<string name="err_no_music">Musiikkia ei löytynyt</string>
|
|
||||||
<string name="lbl_wiki">Wiki</string>
|
<string name="lbl_wiki">Wiki</string>
|
||||||
<string name="clr_grey">Harmaa</string>
|
<string name="clr_grey">Harmaa</string>
|
||||||
<string name="set_ui_desc">Muuta sovelluksen teemaa ja värejä</string>
|
<string name="set_ui_desc">Muuta sovelluksen teemaa ja värejä</string>
|
||||||
|
@ -205,11 +199,9 @@
|
||||||
<string name="set_headset_autoplay">Automaattitoisto kuulokkeilla</string>
|
<string name="set_headset_autoplay">Automaattitoisto kuulokkeilla</string>
|
||||||
<string name="set_headset_autoplay_desc">Aloita aina toisto, kun kuulokkeet yhdistetään (ei välttämättä toimi kaikilla laitteilla)</string>
|
<string name="set_headset_autoplay_desc">Aloita aina toisto, kun kuulokkeet yhdistetään (ei välttämättä toimi kaikilla laitteilla)</string>
|
||||||
<string name="desc_skip_prev">Siirry viimeiseen kappaleeseen</string>
|
<string name="desc_skip_prev">Siirry viimeiseen kappaleeseen</string>
|
||||||
<string name="set_locations_list">Kansiot</string>
|
|
||||||
<string name="desc_play_pause">Toista tai keskeytä</string>
|
<string name="desc_play_pause">Toista tai keskeytä</string>
|
||||||
<string name="err_bad_location">Tämä kansio ei ole tuettu</string>
|
<string name="err_bad_location">Tämä kansio ei ole tuettu</string>
|
||||||
<string name="desc_shuffle">Sekoitus päällä/pois</string>
|
<string name="desc_shuffle">Sekoitus päällä/pois</string>
|
||||||
<string name="desc_shuffle_all">Sekoita kaikki kappaleet</string>
|
|
||||||
<string name="desc_tab_handle">Siirry tätä välilehteä</string>
|
<string name="desc_tab_handle">Siirry tätä välilehteä</string>
|
||||||
<string name="desc_clear_search">Tyhjennä hakuehto</string>
|
<string name="desc_clear_search">Tyhjennä hakuehto</string>
|
||||||
<string name="desc_artist_image">Esittäjän %s kuva</string>
|
<string name="desc_artist_image">Esittäjän %s kuva</string>
|
||||||
|
@ -250,7 +242,6 @@
|
||||||
<string name="set_rescan_desc">Tyhjennä tunnistevälimuisti ja lataa musiikkikirjasto kokonaan uudelleen (hitaampi mutta kattavampi)</string>
|
<string name="set_rescan_desc">Tyhjennä tunnistevälimuisti ja lataa musiikkikirjasto kokonaan uudelleen (hitaampi mutta kattavampi)</string>
|
||||||
<string name="lbl_song">Kappale</string>
|
<string name="lbl_song">Kappale</string>
|
||||||
<string name="lbl_parent_detail">Näytä</string>
|
<string name="lbl_parent_detail">Näytä</string>
|
||||||
<string name="lbl_show_error_info">Lisää</string>
|
|
||||||
<string name="lbl_copied">Kopioitu</string>
|
<string name="lbl_copied">Kopioitu</string>
|
||||||
<string name="lbl_report">Ilmoita virheestä</string>
|
<string name="lbl_report">Ilmoita virheestä</string>
|
||||||
<string name="lbl_selection">Valinta</string>
|
<string name="lbl_selection">Valinta</string>
|
||||||
|
@ -315,4 +306,11 @@
|
||||||
<string name="set_locations_new">Uusi kansio</string>
|
<string name="set_locations_new">Uusi kansio</string>
|
||||||
<string name="cnt_mp4">MPEG-4 sisältäen %s</string>
|
<string name="cnt_mp4">MPEG-4 sisältäen %s</string>
|
||||||
<string name="cdc_unknown">Tuntematon</string>
|
<string name="cdc_unknown">Tuntematon</string>
|
||||||
|
<string name="lng_empty_songs">Kappaleesi tulevat näkymään tässä.</string>
|
||||||
|
<string name="lng_empty_albums">Albumisi tulevat näkymään tässä.</string>
|
||||||
|
<string name="lng_empty_artists">Esittäjäsi tulevat näkymään tässä.</string>
|
||||||
|
<string name="lng_empty_playlists">Soittolistasi tulevat näkymään tässä.</string>
|
||||||
|
<string name="lng_empty_genres">Tyylilajisi tulevat näkymään tässä.</string>
|
||||||
|
<string name="cdc_alac">Apple Lossless Audio Codec (ALAC)</string>
|
||||||
|
<string name="set_cover_mode_save_space">Säätä tilaa</string>
|
||||||
</resources>
|
</resources>
|
|
@ -51,7 +51,6 @@
|
||||||
<string name="lbl_bitrate">Tulin ng mga bit</string>
|
<string name="lbl_bitrate">Tulin ng mga bit</string>
|
||||||
<string name="lbl_sample_rate">Tulin ng sample</string>
|
<string name="lbl_sample_rate">Tulin ng sample</string>
|
||||||
<string name="lbl_shuffle_shortcut_short">Haluin</string>
|
<string name="lbl_shuffle_shortcut_short">Haluin</string>
|
||||||
<string name="lbl_add">Idagdag</string>
|
|
||||||
<string name="lbl_save">I-save</string>
|
<string name="lbl_save">I-save</string>
|
||||||
<string name="lbl_about">Tungkol</string>
|
<string name="lbl_about">Tungkol</string>
|
||||||
<string name="lbl_version">Ulat</string>
|
<string name="lbl_version">Ulat</string>
|
||||||
|
@ -88,7 +87,6 @@
|
||||||
<string name="lbl_live_group">Live</string>
|
<string name="lbl_live_group">Live</string>
|
||||||
<string name="lbl_search">Hanapin</string>
|
<string name="lbl_search">Hanapin</string>
|
||||||
<string name="lbl_singles">Mga Single</string>
|
<string name="lbl_singles">Mga Single</string>
|
||||||
<string name="lbl_grant">Bigyan</string>
|
|
||||||
<string name="lbl_genres">Mga Genre</string>
|
<string name="lbl_genres">Mga Genre</string>
|
||||||
<string name="lng_widget">Tignan at ayusin ang pagtugtog ng kanta</string>
|
<string name="lng_widget">Tignan at ayusin ang pagtugtog ng kanta</string>
|
||||||
<string name="set_theme">Tema</string>
|
<string name="set_theme">Tema</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Réessayer</string>
|
<string name="lbl_retry">Réessayer</string>
|
||||||
<string name="lbl_grant">Accorder</string>
|
|
||||||
<string name="lbl_genres">Genres</string>
|
<string name="lbl_genres">Genres</string>
|
||||||
<string name="lbl_artists">Artistes</string>
|
<string name="lbl_artists">Artistes</string>
|
||||||
<string name="lbl_albums">Albums</string>
|
<string name="lbl_albums">Albums</string>
|
||||||
|
@ -38,7 +37,6 @@
|
||||||
<string name="set_audio">Audio</string>
|
<string name="set_audio">Audio</string>
|
||||||
<string name="set_personalize">Comportement</string>
|
<string name="set_personalize">Comportement</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Pas de musique trouvée</string>
|
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
<string name="desc_track_number">Morceau %d</string>
|
<string name="desc_track_number">Morceau %d</string>
|
||||||
<string name="desc_play_pause">Lecture ou pause</string>
|
<string name="desc_play_pause">Lecture ou pause</string>
|
||||||
|
@ -85,7 +83,6 @@
|
||||||
<string name="lbl_cancel">Annuler</string>
|
<string name="lbl_cancel">Annuler</string>
|
||||||
<string name="lbl_save">Enregistrer</string>
|
<string name="lbl_save">Enregistrer</string>
|
||||||
<string name="lbl_size">Taille</string>
|
<string name="lbl_size">Taille</string>
|
||||||
<string name="lbl_add">Ajouter</string>
|
|
||||||
<string name="set_display">Affichage</string>
|
<string name="set_display">Affichage</string>
|
||||||
<string name="set_lib_tabs">Onglets de la bibliothèque</string>
|
<string name="set_lib_tabs">Onglets de la bibliothèque</string>
|
||||||
<string name="info_app_desc">Un lecteur de musique simple et rationnel pour Android.</string>
|
<string name="info_app_desc">Un lecteur de musique simple et rationnel pour Android.</string>
|
||||||
|
@ -110,7 +107,7 @@
|
||||||
<string name="lbl_compilation">Compilation</string>
|
<string name="lbl_compilation">Compilation</string>
|
||||||
<string name="lbl_live_group">Live</string>
|
<string name="lbl_live_group">Live</string>
|
||||||
<string name="lbl_indexing">Chargement de la musique</string>
|
<string name="lbl_indexing">Chargement de la musique</string>
|
||||||
<string name="lbl_observing">Suivre la librairie musicale</string>
|
<string name="lbl_observing">Suivre la bibliothèque musicale</string>
|
||||||
<string name="lbl_eps">EP</string>
|
<string name="lbl_eps">EP</string>
|
||||||
<string name="lbl_ep">EP</string>
|
<string name="lbl_ep">EP</string>
|
||||||
<string name="lbl_singles">Singles</string>
|
<string name="lbl_singles">Singles</string>
|
||||||
|
@ -125,13 +122,11 @@
|
||||||
<string name="lbl_album_remix">Album de remix</string>
|
<string name="lbl_album_remix">Album de remix</string>
|
||||||
<string name="lbl_genre">Genre</string>
|
<string name="lbl_genre">Genre</string>
|
||||||
<string name="lbl_equalizer">Égaliseur</string>
|
<string name="lbl_equalizer">Égaliseur</string>
|
||||||
<string name="desc_shuffle_all">Lecture aléatoire de tous les titres</string>
|
|
||||||
<string name="desc_auxio_icon">Icône Auxio</string>
|
<string name="desc_auxio_icon">Icône Auxio</string>
|
||||||
<string name="desc_no_cover">Couverture de l\'album</string>
|
<string name="desc_no_cover">Couverture de l\'album</string>
|
||||||
<string name="def_genre">Genre inconnu</string>
|
<string name="def_genre">Genre inconnu</string>
|
||||||
<string name="clr_dynamic">Dynamique</string>
|
<string name="clr_dynamic">Dynamique</string>
|
||||||
<string name="clr_cyan">Cyan</string>
|
<string name="clr_cyan">Cyan</string>
|
||||||
<string name="err_no_locations">Aucun dossier</string>
|
|
||||||
<string name="desc_music_location_delete">Supprimer le dossier</string>
|
<string name="desc_music_location_delete">Supprimer le dossier</string>
|
||||||
<string name="def_artist">Artiste inconnu</string>
|
<string name="def_artist">Artiste inconnu</string>
|
||||||
<string name="lbl_compilation_live">Compilation en direct</string>
|
<string name="lbl_compilation_live">Compilation en direct</string>
|
||||||
|
@ -200,13 +195,11 @@
|
||||||
<string name="set_replay_gain_mode">Stratégie de normalisation de volume</string>
|
<string name="set_replay_gain_mode">Stratégie de normalisation de volume</string>
|
||||||
<string name="set_replay_gain_mode_track">Par chanson</string>
|
<string name="set_replay_gain_mode_track">Par chanson</string>
|
||||||
<string name="set_replay_gain_mode_album">Par album</string>
|
<string name="set_replay_gain_mode_album">Par album</string>
|
||||||
<string name="set_locations_list">Dossiers</string>
|
|
||||||
<string name="set_replay_gain_mode_dynamic">Par album si un album est en lecture</string>
|
<string name="set_replay_gain_mode_dynamic">Par album si un album est en lecture</string>
|
||||||
<string name="set_library">Bibliothèque</string>
|
<string name="set_library">Bibliothèque</string>
|
||||||
<string name="set_reindex">Actualiser la musique</string>
|
<string name="set_reindex">Actualiser la musique</string>
|
||||||
<string name="set_rescan_desc">Effacer le cache des étiquettes et recharger entièrement la bibliothèque musicale (lent, mais plus complet)</string>
|
<string name="set_rescan_desc">Effacer le cache des étiquettes et recharger entièrement la bibliothèque musicale (lent, mais plus complet)</string>
|
||||||
<string name="err_no_app">Aucune application trouvée qui puisse gérer cette tâche</string>
|
<string name="err_no_app">Aucune application trouvée qui puisse gérer cette tâche</string>
|
||||||
<string name="err_no_perms">Auxio a besoin de permissions pour lire votre bibliothèque musicale</string>
|
|
||||||
<string name="set_intelligent_sorting">Tri intelligent</string>
|
<string name="set_intelligent_sorting">Tri intelligent</string>
|
||||||
<string name="set_intelligent_sorting_desc">Ignorer les nombres ou certains mots comme \"the\" en début de nom lors du tri (fonctionne au mieux avec de la musique en anglais)</string>
|
<string name="set_intelligent_sorting_desc">Ignorer les nombres ou certains mots comme \"the\" en début de nom lors du tri (fonctionne au mieux avec de la musique en anglais)</string>
|
||||||
<string name="set_rescan">Scanner à nouveau la musique</string>
|
<string name="set_rescan">Scanner à nouveau la musique</string>
|
||||||
|
@ -222,7 +215,6 @@
|
||||||
<string name="fmt_sample_rate">%d Hz</string>
|
<string name="fmt_sample_rate">%d Hz</string>
|
||||||
<string name="desc_skip_prev">Passer à la dernière chanson</string>
|
<string name="desc_skip_prev">Passer à la dernière chanson</string>
|
||||||
<string name="lbl_playlist_add">Ajouter à la liste de lecture</string>
|
<string name="lbl_playlist_add">Ajouter à la liste de lecture</string>
|
||||||
<string name="cdc_mka">Audio Matroska</string>
|
|
||||||
<string name="fmt_lib_artist_count">Artistes chargés : %d</string>
|
<string name="fmt_lib_artist_count">Artistes chargés : %d</string>
|
||||||
<string name="set_rewind_prev">Rembobiner avant de revenir en arrière</string>
|
<string name="set_rewind_prev">Rembobiner avant de revenir en arrière</string>
|
||||||
<string name="desc_artist_image">Image d\'artiste pour %s</string>
|
<string name="desc_artist_image">Image d\'artiste pour %s</string>
|
||||||
|
@ -283,7 +275,6 @@
|
||||||
<string name="lbl_sort_mode">Trier par</string>
|
<string name="lbl_sort_mode">Trier par</string>
|
||||||
<string name="lbl_sort_direction">Direction</string>
|
<string name="lbl_sort_direction">Direction</string>
|
||||||
<string name="lbl_selection">Sélection</string>
|
<string name="lbl_selection">Sélection</string>
|
||||||
<string name="lbl_show_error_info">En savoir plus</string>
|
|
||||||
<string name="lbl_copied">Copié</string>
|
<string name="lbl_copied">Copié</string>
|
||||||
<string name="lbl_report">Signaler</string>
|
<string name="lbl_report">Signaler</string>
|
||||||
<string name="lbl_error_info">Info sur l\'erreur</string>
|
<string name="lbl_error_info">Info sur l\'erreur</string>
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
<string name="lbl_singles">Sinxelo</string>
|
<string name="lbl_singles">Sinxelo</string>
|
||||||
<string name="lbl_compilations">Compilacións</string>
|
<string name="lbl_compilations">Compilacións</string>
|
||||||
<string name="lbl_compilation">Compilación</string>
|
<string name="lbl_compilation">Compilación</string>
|
||||||
<string name="lbl_grant">Permitir</string>
|
|
||||||
<string name="lbl_albums">Álbums</string>
|
<string name="lbl_albums">Álbums</string>
|
||||||
<string name="lbl_single_remix">Sinxelo remix</string>
|
<string name="lbl_single_remix">Sinxelo remix</string>
|
||||||
<string name="lbl_retry">Volver a intentar</string>
|
<string name="lbl_retry">Volver a intentar</string>
|
||||||
|
@ -93,7 +92,6 @@
|
||||||
<string name="lbl_song_detail">Ver as propiedades</string>
|
<string name="lbl_song_detail">Ver as propiedades</string>
|
||||||
<string name="lbl_props">Propiedades da canción</string>
|
<string name="lbl_props">Propiedades da canción</string>
|
||||||
<string name="lbl_save">Gardar</string>
|
<string name="lbl_save">Gardar</string>
|
||||||
<string name="lbl_add">Engadir</string>
|
|
||||||
<string name="lbl_licenses">Licenzas</string>
|
<string name="lbl_licenses">Licenzas</string>
|
||||||
<string name="lng_queue_added">Engadido á cola</string>
|
<string name="lng_queue_added">Engadido á cola</string>
|
||||||
<string name="set_personalize">Personalizar</string>
|
<string name="set_personalize">Personalizar</string>
|
||||||
|
@ -162,7 +160,6 @@
|
||||||
<string name="set_rescan_desc">Borrar a caché das etiquetas a recargar completamente a biblioteca de música (máis lento, pero máis completo)</string>
|
<string name="set_rescan_desc">Borrar a caché das etiquetas a recargar completamente a biblioteca de música (máis lento, pero máis completo)</string>
|
||||||
<string name="desc_change_repeat">Cambiar o modo de repetición</string>
|
<string name="desc_change_repeat">Cambiar o modo de repetición</string>
|
||||||
<string name="desc_shuffle">Activar ou desactivar a mezcla</string>
|
<string name="desc_shuffle">Activar ou desactivar a mezcla</string>
|
||||||
<string name="desc_shuffle_all">Mezclar todas as cancións</string>
|
|
||||||
<string name="desc_exit">Deter a reprodución</string>
|
<string name="desc_exit">Deter a reprodución</string>
|
||||||
<string name="desc_queue_bar">Abrir a cola</string>
|
<string name="desc_queue_bar">Abrir a cola</string>
|
||||||
<string name="desc_clear_search">Borrar o historial de busca</string>
|
<string name="desc_clear_search">Borrar o historial de busca</string>
|
||||||
|
@ -179,9 +176,7 @@
|
||||||
<string name="cdc_mp3">Audio MPEG-1</string>
|
<string name="cdc_mp3">Audio MPEG-1</string>
|
||||||
<string name="cdc_mp4">Audio MPEG-4</string>
|
<string name="cdc_mp4">Audio MPEG-4</string>
|
||||||
<string name="err_index_failed">Fallou a carga de música</string>
|
<string name="err_index_failed">Fallou a carga de música</string>
|
||||||
<string name="err_no_perms">Auxio necesita permiso para leer a túa biblioteca de música</string>
|
|
||||||
<string name="err_no_app">Non se atopou ningunha aplicación que poda facer esta tarefa</string>
|
<string name="err_no_app">Non se atopou ningunha aplicación que poda facer esta tarefa</string>
|
||||||
<string name="err_no_locations">Sen cartafois</string>
|
|
||||||
<string name="cdc_ogg">Audio ogg</string>
|
<string name="cdc_ogg">Audio ogg</string>
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
|
@ -227,12 +222,9 @@
|
||||||
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" ao ordenar por nome (funciona mellor con música en inglés)</string>
|
<string name="set_intelligent_sorting_desc">Ignorar palabras como \"the\" ao ordenar por nome (funciona mellor con música en inglés)</string>
|
||||||
<string name="set_locations_desc">Xestionar dende onde se carga a música</string>
|
<string name="set_locations_desc">Xestionar dende onde se carga a música</string>
|
||||||
<string name="set_repeat_pause_desc">Pausar cando se repite unha canción</string>
|
<string name="set_repeat_pause_desc">Pausar cando se repite unha canción</string>
|
||||||
<string name="set_locations_list">Cartafois</string>
|
|
||||||
<string name="def_track">Ningunha pista</string>
|
<string name="def_track">Ningunha pista</string>
|
||||||
<string name="desc_skip_prev">Saltar á última canción</string>
|
<string name="desc_skip_prev">Saltar á última canción</string>
|
||||||
<string name="err_no_music">Sen música</string>
|
|
||||||
<string name="desc_track_number">Pista %d</string>
|
<string name="desc_track_number">Pista %d</string>
|
||||||
<string name="cdc_mka">Audio Matroska</string>
|
|
||||||
<string name="lbl_mixtapes">Mixtapes (compilación de cancións)</string>
|
<string name="lbl_mixtapes">Mixtapes (compilación de cancións)</string>
|
||||||
<string name="lbl_mixtape">Mixtapes (compilación de cancións)</string>
|
<string name="lbl_mixtape">Mixtapes (compilación de cancións)</string>
|
||||||
<string name="lbl_remix_group">Remix</string>
|
<string name="lbl_remix_group">Remix</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">पुन: प्रयास करें</string>
|
<string name="lbl_retry">पुन: प्रयास करें</string>
|
||||||
<string name="lbl_grant">अनुदान</string>
|
|
||||||
<string name="lbl_artists">कलाकार</string>
|
<string name="lbl_artists">कलाकार</string>
|
||||||
<string name="lbl_albums">एल्बम</string>
|
<string name="lbl_albums">एल्बम</string>
|
||||||
<string name="lbl_songs">गीत</string>
|
<string name="lbl_songs">गीत</string>
|
||||||
|
@ -31,7 +30,6 @@
|
||||||
<string name="set_audio">ऑडियो</string>
|
<string name="set_audio">ऑडियो</string>
|
||||||
<string name="set_personalize">चाल चलन</string>
|
<string name="set_personalize">चाल चलन</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">कोई संगीत नहीं मिला</string>
|
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
<string name="desc_play_pause">चलाएं/रोकें</string>
|
<string name="desc_play_pause">चलाएं/रोकें</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
|
@ -141,7 +139,6 @@
|
||||||
<item quantity="other">%d कलाकार</item>
|
<item quantity="other">%d कलाकार</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="lbl_observing">संगीत लाइब्रेरी की निगरानी</string>
|
<string name="lbl_observing">संगीत लाइब्रेरी की निगरानी</string>
|
||||||
<string name="lbl_add">जोड़ें</string>
|
|
||||||
<string name="lbl_ep">ईपी</string>
|
<string name="lbl_ep">ईपी</string>
|
||||||
<string name="lbl_rename">नाम बदलें</string>
|
<string name="lbl_rename">नाम बदलें</string>
|
||||||
<string name="set_separators_semicolon">अर्धविराम (;)</string>
|
<string name="set_separators_semicolon">अर्धविराम (;)</string>
|
||||||
|
@ -202,12 +199,10 @@
|
||||||
<string name="set_repeat_pause_desc">जब कोई गीत दोहराया जाता है तो रुक जाएं</string>
|
<string name="set_repeat_pause_desc">जब कोई गीत दोहराया जाता है तो रुक जाएं</string>
|
||||||
<string name="set_pre_amp">रीप्लेगेन प्री-एम्प</string>
|
<string name="set_pre_amp">रीप्लेगेन प्री-एम्प</string>
|
||||||
<string name="set_pre_amp_with">टैग के साथ समायोजन</string>
|
<string name="set_pre_amp_with">टैग के साथ समायोजन</string>
|
||||||
<string name="set_locations_list">फ़ोल्डर</string>
|
|
||||||
<string name="err_index_failed">संगीत लोड करना विफल रहा</string>
|
<string name="err_index_failed">संगीत लोड करना विफल रहा</string>
|
||||||
<string name="err_bad_location">यह फ़ोल्डर समर्थित नहीं है</string>
|
<string name="err_bad_location">यह फ़ोल्डर समर्थित नहीं है</string>
|
||||||
<string name="desc_change_repeat">रिपीट मोड बदलें</string>
|
<string name="desc_change_repeat">रिपीट मोड बदलें</string>
|
||||||
<string name="desc_shuffle">शफ़ल चालू या बंद करें</string>
|
<string name="desc_shuffle">शफ़ल चालू या बंद करें</string>
|
||||||
<string name="desc_shuffle_all">सभी गीत शफ़ल करें</string>
|
|
||||||
<string name="desc_exit">प्लेबैक बंद करो</string>
|
<string name="desc_exit">प्लेबैक बंद करो</string>
|
||||||
<string name="desc_song_handle">इस गीत को इस स्थानांतरित करें</string>
|
<string name="desc_song_handle">इस गीत को इस स्थानांतरित करें</string>
|
||||||
<string name="def_genre">अज्ञात शैली</string>
|
<string name="def_genre">अज्ञात शैली</string>
|
||||||
|
@ -261,8 +256,6 @@
|
||||||
<string name="set_rewind_prev">वापस जाने से पहले रिवाइंड करें</string>
|
<string name="set_rewind_prev">वापस जाने से पहले रिवाइंड करें</string>
|
||||||
<string name="set_replay_gain_mode_track">ट्रैक को प्राथमिकता दें</string>
|
<string name="set_replay_gain_mode_track">ट्रैक को प्राथमिकता दें</string>
|
||||||
<string name="set_rescan_desc">टैग कैश साफ़ करें और संगीत लाइब्रेरी को पूरी तरह पुनः लोड करें (धीमी, लेकिन अधिक पूर्ण)</string>
|
<string name="set_rescan_desc">टैग कैश साफ़ करें और संगीत लाइब्रेरी को पूरी तरह पुनः लोड करें (धीमी, लेकिन अधिक पूर्ण)</string>
|
||||||
<string name="err_no_perms">Auxio को आपकी संगीत लाइब्रेरी पढ़ने के लिए अनुमति की आवश्यकता है</string>
|
|
||||||
<string name="err_no_locations">कोई फ़ोल्डर नहीं</string>
|
|
||||||
<string name="clr_brown">भूरा</string>
|
<string name="clr_brown">भूरा</string>
|
||||||
<string name="clr_yellow">पीला</string>
|
<string name="clr_yellow">पीला</string>
|
||||||
<string name="clr_lime">नींबू रंग</string>
|
<string name="clr_lime">नींबू रंग</string>
|
||||||
|
@ -271,7 +264,6 @@
|
||||||
<string name="desc_skip_next">अगले गाने पर जाएं</string>
|
<string name="desc_skip_next">अगले गाने पर जाएं</string>
|
||||||
<string name="desc_auxio_icon">ऑक्सियो आइकन</string>
|
<string name="desc_auxio_icon">ऑक्सियो आइकन</string>
|
||||||
<string name="cdc_ogg">Ogg ऑडियो</string>
|
<string name="cdc_ogg">Ogg ऑडियो</string>
|
||||||
<string name="cdc_mka">Matroska ऑडियो</string>
|
|
||||||
<string name="clr_pink">गुलाबी</string>
|
<string name="clr_pink">गुलाबी</string>
|
||||||
<string name="set_intelligent_sorting">बुद्धिमान छंटाई</string>
|
<string name="set_intelligent_sorting">बुद्धिमान छंटाई</string>
|
||||||
<string name="set_intelligent_sorting_desc">संख्याओं या \"the\" जैसे शब्दों से शुरू होने वाले नामों को सही ढंग से क्रमबद्ध करें (अंग्रेजी भाषा के संगीत के साथ सबसे अच्छा काम करता है)</string>
|
<string name="set_intelligent_sorting_desc">संख्याओं या \"the\" जैसे शब्दों से शुरू होने वाले नामों को सही ढंग से क्रमबद्ध करें (अंग्रेजी भाषा के संगीत के साथ सबसे अच्छा काम करता है)</string>
|
||||||
|
@ -283,7 +275,6 @@
|
||||||
<string name="lbl_error_info">त्रुटि की जानकारी</string>
|
<string name="lbl_error_info">त्रुटि की जानकारी</string>
|
||||||
<string name="lbl_report">रिपोर्ट करें</string>
|
<string name="lbl_report">रिपोर्ट करें</string>
|
||||||
<string name="lbl_copied">कापी किया गया</string>
|
<string name="lbl_copied">कापी किया गया</string>
|
||||||
<string name="lbl_show_error_info">और</string>
|
|
||||||
<string name="def_album_count">कोई एल्बम नहीं</string>
|
<string name="def_album_count">कोई एल्बम नहीं</string>
|
||||||
<string name="lbl_demo">डेमो</string>
|
<string name="lbl_demo">डेमो</string>
|
||||||
<string name="lbl_demos">डेमो</string>
|
<string name="lbl_demos">डेमो</string>
|
||||||
|
|
|
@ -48,7 +48,6 @@
|
||||||
<string name="lbl_shuffle_shortcut_long">Izmiješaj sve</string>
|
<string name="lbl_shuffle_shortcut_long">Izmiješaj sve</string>
|
||||||
<string name="lbl_ok">U redu</string>
|
<string name="lbl_ok">U redu</string>
|
||||||
<string name="lbl_cancel">Odustani</string>
|
<string name="lbl_cancel">Odustani</string>
|
||||||
<string name="lbl_add">Dodaj</string>
|
|
||||||
<string name="lbl_save">Spremi</string>
|
<string name="lbl_save">Spremi</string>
|
||||||
<string name="lbl_about">O</string>
|
<string name="lbl_about">O</string>
|
||||||
<string name="lbl_version">Inačica</string>
|
<string name="lbl_version">Inačica</string>
|
||||||
|
@ -87,16 +86,12 @@
|
||||||
<string name="set_locations_desc">Upravljaj odakle će se glazba učitati</string>
|
<string name="set_locations_desc">Upravljaj odakle će se glazba učitati</string>
|
||||||
<string name="set_observing">Automatsko ponovno učitavanje</string>
|
<string name="set_observing">Automatsko ponovno učitavanje</string>
|
||||||
<string name="set_observing_desc">Ponovo učitaj svoju zbirku glazbe čim se dogode promjene (zahtijeva stalno obavještavanje)</string>
|
<string name="set_observing_desc">Ponovo učitaj svoju zbirku glazbe čim se dogode promjene (zahtijeva stalno obavještavanje)</string>
|
||||||
<string name="err_no_music">Nijedna glazba nije pronađena</string>
|
|
||||||
<string name="err_index_failed">Greška u učitvanju glazbe</string>
|
<string name="err_index_failed">Greška u učitvanju glazbe</string>
|
||||||
<string name="err_no_perms">Auxio treba dozvolu za čitanje tvoje zbirke glazbe</string>
|
|
||||||
<string name="err_no_app">Nijedna aplikacija ne može obraditi ovaj zadatak</string>
|
<string name="err_no_app">Nijedna aplikacija ne može obraditi ovaj zadatak</string>
|
||||||
<string name="err_no_locations">Nema mapa</string>
|
|
||||||
<string name="err_bad_location">Ova mapa nije podržana</string>
|
<string name="err_bad_location">Ova mapa nije podržana</string>
|
||||||
<string name="lng_search_library">Pretraži svoju zbirku …</string>
|
<string name="lng_search_library">Pretraži svoju zbirku …</string>
|
||||||
<string name="desc_track_number">Zvučni zapis %d</string>
|
<string name="desc_track_number">Zvučni zapis %d</string>
|
||||||
<string name="desc_shuffle">Omogućite ili onemogućite miješanje</string>
|
<string name="desc_shuffle">Omogućite ili onemogućite miješanje</string>
|
||||||
<string name="desc_shuffle_all">Izmiješaj sve pjesme</string>
|
|
||||||
<string name="desc_remove_song">Ukoni ovu pjesmu iz popisa pjesama</string>
|
<string name="desc_remove_song">Ukoni ovu pjesmu iz popisa pjesama</string>
|
||||||
<string name="desc_song_handle">Premjesti ovu pjesmu u popisu pjesama</string>
|
<string name="desc_song_handle">Premjesti ovu pjesmu u popisu pjesama</string>
|
||||||
<string name="desc_tab_handle">Pomakni ovu karticu</string>
|
<string name="desc_tab_handle">Pomakni ovu karticu</string>
|
||||||
|
@ -158,7 +153,6 @@
|
||||||
<string name="lbl_retry">Pokušaj ponovo</string>
|
<string name="lbl_retry">Pokušaj ponovo</string>
|
||||||
<string name="lbl_indexer">Učitavanje glazbe</string>
|
<string name="lbl_indexer">Učitavanje glazbe</string>
|
||||||
<string name="lng_widget">Prikaži i upravljaj reprodukcijom glazbe</string>
|
<string name="lng_widget">Prikaži i upravljaj reprodukcijom glazbe</string>
|
||||||
<string name="lbl_grant">Dozvoli</string>
|
|
||||||
<string name="lbl_single_live">Singl uživo</string>
|
<string name="lbl_single_live">Singl uživo</string>
|
||||||
<string name="lbl_single_remix">Singl remiks</string>
|
<string name="lbl_single_remix">Singl remiks</string>
|
||||||
<string name="lbl_single">Singl</string>
|
<string name="lbl_single">Singl</string>
|
||||||
|
@ -167,7 +161,7 @@
|
||||||
<string name="lbl_search">Traži</string>
|
<string name="lbl_search">Traži</string>
|
||||||
<string name="lbl_filter_all">Sve</string>
|
<string name="lbl_filter_all">Sve</string>
|
||||||
<string name="lbl_queue_add">Dodaj u redoslijed</string>
|
<string name="lbl_queue_add">Dodaj u redoslijed</string>
|
||||||
<string name="lng_queue_added">Dodano u redoslijed</string>
|
<string name="lng_queue_added">Dodano u redoslijed izvođenja</string>
|
||||||
<string name="lbl_song_detail">Pogledaj svojstva</string>
|
<string name="lbl_song_detail">Pogledaj svojstva</string>
|
||||||
<string name="lbl_artist_details">Idi na izvođača</string>
|
<string name="lbl_artist_details">Idi na izvođača</string>
|
||||||
<string name="lbl_album_details">Idi na album</string>
|
<string name="lbl_album_details">Idi na album</string>
|
||||||
|
@ -191,7 +185,6 @@
|
||||||
<string name="desc_skip_prev">Preskoči na prethodnu pjesmu</string>
|
<string name="desc_skip_prev">Preskoči na prethodnu pjesmu</string>
|
||||||
<string name="desc_change_repeat">Promijeni način ponavljanja</string>
|
<string name="desc_change_repeat">Promijeni način ponavljanja</string>
|
||||||
<string name="clr_purple">Ljubičasto</string>
|
<string name="clr_purple">Ljubičasto</string>
|
||||||
<string name="cdc_mka">Matroska zvuk</string>
|
|
||||||
<string name="desc_queue_bar">Otvori redoslijed</string>
|
<string name="desc_queue_bar">Otvori redoslijed</string>
|
||||||
<string name="lbl_genre">Žanr</string>
|
<string name="lbl_genre">Žanr</string>
|
||||||
<string name="set_separators_comma">Zarez (,)</string>
|
<string name="set_separators_comma">Zarez (,)</string>
|
||||||
|
@ -233,7 +226,6 @@
|
||||||
<string name="fmt_list">%1$s, %2$s</string>
|
<string name="fmt_list">%1$s, %2$s</string>
|
||||||
<string name="lbl_reset">Resetiraj</string>
|
<string name="lbl_reset">Resetiraj</string>
|
||||||
<string name="set_replay_gain">Normalizacija glasnoće</string>
|
<string name="set_replay_gain">Normalizacija glasnoće</string>
|
||||||
<string name="set_locations_list">Mape</string>
|
|
||||||
<string name="lbl_sort_dsc">Silazno</string>
|
<string name="lbl_sort_dsc">Silazno</string>
|
||||||
<string name="set_ui_desc">Promijenite temu i boje aplikacije</string>
|
<string name="set_ui_desc">Promijenite temu i boje aplikacije</string>
|
||||||
<string name="set_personalize_desc">Prilagodite kontrole i ponašanje korisničkog sučelja</string>
|
<string name="set_personalize_desc">Prilagodite kontrole i ponašanje korisničkog sučelja</string>
|
||||||
|
@ -276,7 +268,6 @@
|
||||||
<string name="lbl_sort_direction">Smjer</string>
|
<string name="lbl_sort_direction">Smjer</string>
|
||||||
<string name="desc_selection_image">Slika odabira</string>
|
<string name="desc_selection_image">Slika odabira</string>
|
||||||
<string name="lbl_selection">Odabir</string>
|
<string name="lbl_selection">Odabir</string>
|
||||||
<string name="lbl_show_error_info">Više</string>
|
|
||||||
<string name="lbl_error_info">Podaci greške</string>
|
<string name="lbl_error_info">Podaci greške</string>
|
||||||
<string name="lbl_report">Prijavi</string>
|
<string name="lbl_report">Prijavi</string>
|
||||||
<string name="lbl_copied">Kopirano</string>
|
<string name="lbl_copied">Kopirano</string>
|
||||||
|
@ -322,4 +313,9 @@
|
||||||
<string name="cnt_mp4">MPEG-4 sadrži %s</string>
|
<string name="cnt_mp4">MPEG-4 sadrži %s</string>
|
||||||
<string name="set_cover_mode_save_space">Niža kvaliteta</string>
|
<string name="set_cover_mode_save_space">Niža kvaliteta</string>
|
||||||
<string name="set_locations_new">Nova mapa</string>
|
<string name="set_locations_new">Nova mapa</string>
|
||||||
|
<string name="lng_empty_songs">Tvoje pjesme će se ovdje prikazati.</string>
|
||||||
|
<string name="lng_empty_albums">Tvoji albumi će se ovdje prikazati.</string>
|
||||||
|
<string name="lng_empty_artists">Tvoji izvođači će se ovdje prikazati.</string>
|
||||||
|
<string name="lng_empty_playlists">Tvoji popisi pjesama će se ovdje prikazati.</string>
|
||||||
|
<string name="lng_empty_genres">Tvoji žanrovi će se ovdje prikazati.</string>
|
||||||
</resources>
|
</resources>
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Újra</string>
|
<string name="lbl_retry">Újra</string>
|
||||||
<string name="lbl_grant">Engedélyez</string>
|
|
||||||
<string name="lbl_genres">Műfajok</string>
|
<string name="lbl_genres">Műfajok</string>
|
||||||
<string name="lbl_artists">Előadók</string>
|
<string name="lbl_artists">Előadók</string>
|
||||||
<string name="lbl_albums">Albumok</string>
|
<string name="lbl_albums">Albumok</string>
|
||||||
|
@ -37,7 +36,6 @@
|
||||||
<string name="set_audio">Hang</string>
|
<string name="set_audio">Hang</string>
|
||||||
<string name="set_personalize">Testreszabás</string>
|
<string name="set_personalize">Testreszabás</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Nem található zene</string>
|
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">Keresés a könyvtárban…</string>
|
<string name="lng_search_library">Keresés a könyvtárban…</string>
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
|
@ -112,7 +110,6 @@
|
||||||
<string name="lbl_mix">DJ Mix</string>
|
<string name="lbl_mix">DJ Mix</string>
|
||||||
<string name="lbl_genre">Műfaj</string>
|
<string name="lbl_genre">Műfaj</string>
|
||||||
<string name="lbl_props">Dal tulajdonságai</string>
|
<string name="lbl_props">Dal tulajdonságai</string>
|
||||||
<string name="err_no_locations">Nincs mappa</string>
|
|
||||||
<string name="set_black_mode_desc">Tiszta fekete sötét téma használata</string>
|
<string name="set_black_mode_desc">Tiszta fekete sötét téma használata</string>
|
||||||
<string name="clr_dynamic">Dinamikus</string>
|
<string name="clr_dynamic">Dinamikus</string>
|
||||||
<string name="set_cover_mode">Album borítók</string>
|
<string name="set_cover_mode">Album borítók</string>
|
||||||
|
@ -163,7 +160,6 @@
|
||||||
<string name="lbl_rename_playlist">Lejátszólista átnevezés</string>
|
<string name="lbl_rename_playlist">Lejátszólista átnevezés</string>
|
||||||
<string name="lbl_rename">Átnevez</string>
|
<string name="lbl_rename">Átnevez</string>
|
||||||
<string name="lbl_date_added">Hozzáadás dátuma</string>
|
<string name="lbl_date_added">Hozzáadás dátuma</string>
|
||||||
<string name="set_locations_list">Mappák</string>
|
|
||||||
<string name="lbl_save">Ment</string>
|
<string name="lbl_save">Ment</string>
|
||||||
<string name="lbl_reset">Alaphelyzet</string>
|
<string name="lbl_reset">Alaphelyzet</string>
|
||||||
<string name="lbl_author_name">Fejlesztő Alexander Capehart</string>
|
<string name="lbl_author_name">Fejlesztő Alexander Capehart</string>
|
||||||
|
@ -185,7 +181,6 @@
|
||||||
<string name="def_date">Nincs dátum</string>
|
<string name="def_date">Nincs dátum</string>
|
||||||
<string name="set_cover_mode_balanced">Gyors</string>
|
<string name="set_cover_mode_balanced">Gyors</string>
|
||||||
<string name="set_exclude_non_music">A nem zenei anyagok kizárása</string>
|
<string name="set_exclude_non_music">A nem zenei anyagok kizárása</string>
|
||||||
<string name="desc_shuffle_all">Keverés minden dalból</string>
|
|
||||||
<string name="cdc_ogg">Ogg audio</string>
|
<string name="cdc_ogg">Ogg audio</string>
|
||||||
<string name="set_display">Megjelenítés</string>
|
<string name="set_display">Megjelenítés</string>
|
||||||
<string name="lbl_track">Hangsáv</string>
|
<string name="lbl_track">Hangsáv</string>
|
||||||
|
@ -206,7 +201,6 @@
|
||||||
<string name="lbl_observing">Zene könyvtár figyelése</string>
|
<string name="lbl_observing">Zene könyvtár figyelése</string>
|
||||||
<string name="desc_exit">Lejátszás megállítása</string>
|
<string name="desc_exit">Lejátszás megállítása</string>
|
||||||
<string name="info_app_desc">Egyszerű, praktikus zenelejátszó androidra.</string>
|
<string name="info_app_desc">Egyszerű, praktikus zenelejátszó androidra.</string>
|
||||||
<string name="cdc_mka">Matroska hang</string>
|
|
||||||
<string name="lbl_album">Album</string>
|
<string name="lbl_album">Album</string>
|
||||||
<string name="lbl_singles">Kislemezek</string>
|
<string name="lbl_singles">Kislemezek</string>
|
||||||
<string name="lbl_single">Kislemez</string>
|
<string name="lbl_single">Kislemez</string>
|
||||||
|
@ -222,7 +216,6 @@
|
||||||
<string name="lbl_shuffle_shortcut_short">Keverés</string>
|
<string name="lbl_shuffle_shortcut_short">Keverés</string>
|
||||||
<string name="lbl_artist">Előadó</string>
|
<string name="lbl_artist">Előadó</string>
|
||||||
<string name="lbl_remix_group">Remixek</string>
|
<string name="lbl_remix_group">Remixek</string>
|
||||||
<string name="lbl_add">Hozzáad</string>
|
|
||||||
<string name="fmt_db_pos">+%.1f dB</string>
|
<string name="fmt_db_pos">+%.1f dB</string>
|
||||||
<string name="set_separators_slash">Per jel (/)</string>
|
<string name="set_separators_slash">Per jel (/)</string>
|
||||||
<plurals name="fmt_artist_count">
|
<plurals name="fmt_artist_count">
|
||||||
|
@ -266,7 +259,6 @@
|
||||||
<string name="lbl_appears_on">Megjelenik itt,</string>
|
<string name="lbl_appears_on">Megjelenik itt,</string>
|
||||||
<string name="lbl_share">Megoszt</string>
|
<string name="lbl_share">Megoszt</string>
|
||||||
<string name="lbl_confirm_delete_playlist">Lejátszólista törlése\?</string>
|
<string name="lbl_confirm_delete_playlist">Lejátszólista törlése\?</string>
|
||||||
<string name="err_no_perms">Az Auxio engedélyt kér a zenei könyvtár olvasásához</string>
|
|
||||||
<string name="desc_remove_song">Távolítsa el ezt a dalt</string>
|
<string name="desc_remove_song">Távolítsa el ezt a dalt</string>
|
||||||
<string name="desc_auxio_icon">Auxio ikon</string>
|
<string name="desc_auxio_icon">Auxio ikon</string>
|
||||||
<string name="def_disc">Nincs lemez</string>
|
<string name="def_disc">Nincs lemez</string>
|
||||||
|
@ -280,7 +272,6 @@
|
||||||
<string name="lbl_sort_mode">Rendezés</string>
|
<string name="lbl_sort_mode">Rendezés</string>
|
||||||
<string name="lbl_selection">Kiválasztás</string>
|
<string name="lbl_selection">Kiválasztás</string>
|
||||||
<string name="desc_selection_image">Kép kiválasztás</string>
|
<string name="desc_selection_image">Kép kiválasztás</string>
|
||||||
<string name="lbl_show_error_info">További</string>
|
|
||||||
<string name="lbl_copied">Másolva</string>
|
<string name="lbl_copied">Másolva</string>
|
||||||
<string name="lbl_report">Jelentés</string>
|
<string name="lbl_report">Jelentés</string>
|
||||||
<string name="lbl_error_info">Hiba információ</string>
|
<string name="lbl_error_info">Hiba információ</string>
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="lbl_indexing">Cargante le musica</string>
|
<string name="lbl_indexing">Cargante le musica</string>
|
||||||
<string name="lbl_retry">Retentar</string>
|
<string name="lbl_retry">Retentar</string>
|
||||||
<string name="lbl_show_error_info">Plus</string>
|
|
||||||
<string name="lbl_grant">Conceder</string>
|
|
||||||
<string name="lbl_songs">Cantos</string>
|
<string name="lbl_songs">Cantos</string>
|
||||||
<string name="lbl_song">Canto</string>
|
<string name="lbl_song">Canto</string>
|
||||||
<string name="lbl_all_songs">Tote le cantos</string>
|
<string name="lbl_all_songs">Tote le cantos</string>
|
||||||
|
@ -45,7 +43,6 @@
|
||||||
<string name="lbl_play">Reproducer</string>
|
<string name="lbl_play">Reproducer</string>
|
||||||
<string name="lbl_play_next">Reproducer sequente</string>
|
<string name="lbl_play_next">Reproducer sequente</string>
|
||||||
<string name="lbl_queue_add">Adder al cauda</string>
|
<string name="lbl_queue_add">Adder al cauda</string>
|
||||||
<string name="lbl_add">Adder</string>
|
|
||||||
<string name="lbl_version">Version</string>
|
<string name="lbl_version">Version</string>
|
||||||
<string name="lbl_code">Codice fonte</string>
|
<string name="lbl_code">Codice fonte</string>
|
||||||
<string name="lbl_wiki">Wiki</string>
|
<string name="lbl_wiki">Wiki</string>
|
||||||
|
@ -119,7 +116,6 @@
|
||||||
<string name="set_play_song_none">Reproducer ab le elemento mostrate</string>
|
<string name="set_play_song_none">Reproducer ab le elemento mostrate</string>
|
||||||
<string name="set_play_song_from_artist">Reproducer ab artista</string>
|
<string name="set_play_song_from_artist">Reproducer ab artista</string>
|
||||||
<string name="set_keep_shuffle_desc">Mantener le reproduction aleatori al reproducer un nove canto</string>
|
<string name="set_keep_shuffle_desc">Mantener le reproduction aleatori al reproducer un nove canto</string>
|
||||||
<string name="err_no_perms">Auxio besonia permission pro leger tu bibliotheca de musica</string>
|
|
||||||
<string name="def_genre">Genere incognite</string>
|
<string name="def_genre">Genere incognite</string>
|
||||||
<string name="fmt_lib_genre_count">Generes cargate: %d</string>
|
<string name="fmt_lib_genre_count">Generes cargate: %d</string>
|
||||||
<string name="desc_genre_image">Imagine de genere ab %s</string>
|
<string name="desc_genre_image">Imagine de genere ab %s</string>
|
||||||
|
@ -139,11 +135,8 @@
|
||||||
<string name="set_playback">Reproduction</string>
|
<string name="set_playback">Reproduction</string>
|
||||||
<string name="set_remember_pause">Rememorar le pausa</string>
|
<string name="set_remember_pause">Rememorar le pausa</string>
|
||||||
<string name="set_locations">Dossieres de musica</string>
|
<string name="set_locations">Dossieres de musica</string>
|
||||||
<string name="set_locations_list">Dossieres</string>
|
|
||||||
<string name="set_reindex">Actualisar le musica</string>
|
<string name="set_reindex">Actualisar le musica</string>
|
||||||
<string name="err_no_music">Nulle musica trovate</string>
|
|
||||||
<string name="err_index_failed">Falleva le carga del musica</string>
|
<string name="err_index_failed">Falleva le carga del musica</string>
|
||||||
<string name="err_no_locations">Necun dossieres</string>
|
|
||||||
<string name="err_bad_location">Iste dossier non es supportate</string>
|
<string name="err_bad_location">Iste dossier non es supportate</string>
|
||||||
<string name="desc_track_number">Tracia %d</string>
|
<string name="desc_track_number">Tracia %d</string>
|
||||||
<string name="desc_play_pause">Reproducer o pausar</string>
|
<string name="desc_play_pause">Reproducer o pausar</string>
|
||||||
|
@ -164,7 +157,6 @@
|
||||||
<string name="cdc_mp4">Audio MPEG-4</string>
|
<string name="cdc_mp4">Audio MPEG-4</string>
|
||||||
<string name="cdc_mp3">Audio MPEG-1</string>
|
<string name="cdc_mp3">Audio MPEG-1</string>
|
||||||
<string name="cdc_ogg">Audio Ogg</string>
|
<string name="cdc_ogg">Audio Ogg</string>
|
||||||
<string name="cdc_mka">Audio Matroska</string>
|
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="fmt_selected">%d seligite</string>
|
<string name="fmt_selected">%d seligite</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Coba lagi</string>
|
<string name="lbl_retry">Coba lagi</string>
|
||||||
<string name="lbl_grant">Izinkan</string>
|
|
||||||
<string name="lbl_genres">Aliran</string>
|
<string name="lbl_genres">Aliran</string>
|
||||||
<string name="lbl_artists">Artis</string>
|
<string name="lbl_artists">Artis</string>
|
||||||
<string name="lbl_albums">Album</string>
|
<string name="lbl_albums">Album</string>
|
||||||
|
@ -38,7 +37,6 @@
|
||||||
<string name="set_personalize">Personalisasi</string>
|
<string name="set_personalize">Personalisasi</string>
|
||||||
<string name="set_keep_shuffle">Ingat daftar putar acak</string>
|
<string name="set_keep_shuffle">Ingat daftar putar acak</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Musik tidak ditemukan</string>
|
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">Telusuri pustaka Anda…</string>
|
<string name="lng_search_library">Telusuri pustaka Anda…</string>
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
|
@ -55,7 +53,6 @@
|
||||||
<string name="lbl_bitrate">Laju bit</string>
|
<string name="lbl_bitrate">Laju bit</string>
|
||||||
<string name="lbl_ok">OK</string>
|
<string name="lbl_ok">OK</string>
|
||||||
<string name="lbl_cancel">Batal</string>
|
<string name="lbl_cancel">Batal</string>
|
||||||
<string name="lbl_add">Tambah</string>
|
|
||||||
<string name="lbl_save">Simpan</string>
|
<string name="lbl_save">Simpan</string>
|
||||||
<string name="set_black_mode">Tema hitam</string>
|
<string name="set_black_mode">Tema hitam</string>
|
||||||
<string name="set_black_mode_desc">Gunakan tema gelap hitam murni</string>
|
<string name="set_black_mode_desc">Gunakan tema gelap hitam murni</string>
|
||||||
|
@ -136,14 +133,11 @@
|
||||||
<string name="set_pre_amp_without">Penyesuaian tanpa tag</string>
|
<string name="set_pre_amp_without">Penyesuaian tanpa tag</string>
|
||||||
<string name="set_locations">Folder musik</string>
|
<string name="set_locations">Folder musik</string>
|
||||||
<string name="set_play_song_from_artist">Putar dari artis</string>
|
<string name="set_play_song_from_artist">Putar dari artis</string>
|
||||||
<string name="err_no_perms">Auxio memerlukan izin untuk membaca perpustakaan musik Anda</string>
|
|
||||||
<string name="desc_skip_prev">Loncat ke lagu terakhir</string>
|
<string name="desc_skip_prev">Loncat ke lagu terakhir</string>
|
||||||
<string name="desc_shuffle_all">Acak semua lagu</string>
|
|
||||||
<string name="def_date">Tidak ada tanggal</string>
|
<string name="def_date">Tidak ada tanggal</string>
|
||||||
<string name="err_index_failed">Pemuatan musik gagal</string>
|
<string name="err_index_failed">Pemuatan musik gagal</string>
|
||||||
<string name="desc_album_cover">Sampul album untuk %s</string>
|
<string name="desc_album_cover">Sampul album untuk %s</string>
|
||||||
<string name="def_artist">Artis tidak dikenal</string>
|
<string name="def_artist">Artis tidak dikenal</string>
|
||||||
<string name="err_no_locations">Tidak ada folder</string>
|
|
||||||
<string name="desc_skip_next">Loncat ke lagu berikutnya</string>
|
<string name="desc_skip_next">Loncat ke lagu berikutnya</string>
|
||||||
<string name="desc_music_location_delete">Hapus folder</string>
|
<string name="desc_music_location_delete">Hapus folder</string>
|
||||||
<string name="desc_auxio_icon">Ikon Auxio</string>
|
<string name="desc_auxio_icon">Ikon Auxio</string>
|
||||||
|
@ -157,7 +151,6 @@
|
||||||
<string name="fmt_lib_total_duration">Total durasi: %s</string>
|
<string name="fmt_lib_total_duration">Total durasi: %s</string>
|
||||||
<string name="desc_genre_image">Gambar genre untuk %s</string>
|
<string name="desc_genre_image">Gambar genre untuk %s</string>
|
||||||
<string name="def_genre">Genre tidak diketahui</string>
|
<string name="def_genre">Genre tidak diketahui</string>
|
||||||
<string name="cdc_mka">Audio Matroska</string>
|
|
||||||
<string name="clr_deep_green">Hijau tua</string>
|
<string name="clr_deep_green">Hijau tua</string>
|
||||||
<string name="clr_yellow">Kuning</string>
|
<string name="clr_yellow">Kuning</string>
|
||||||
<string name="cdc_mp4">Audio MPEG-4</string>
|
<string name="cdc_mp4">Audio MPEG-4</string>
|
||||||
|
@ -187,7 +180,6 @@
|
||||||
<string name="set_cover_mode_off">Nonaktif</string>
|
<string name="set_cover_mode_off">Nonaktif</string>
|
||||||
<string name="set_cover_mode_balanced">Cepat</string>
|
<string name="set_cover_mode_balanced">Cepat</string>
|
||||||
<string name="lbl_album_remix">Album remix</string>
|
<string name="lbl_album_remix">Album remix</string>
|
||||||
<string name="set_locations_list">Folder</string>
|
|
||||||
<string name="lbl_indexing">Memuat musik</string>
|
<string name="lbl_indexing">Memuat musik</string>
|
||||||
<string name="lbl_observing">Memantau pustaka musik</string>
|
<string name="lbl_observing">Memantau pustaka musik</string>
|
||||||
<string name="lng_observing">Memantau perubahan pada pustaka musik Anda…</string>
|
<string name="lng_observing">Memantau perubahan pada pustaka musik Anda…</string>
|
||||||
|
@ -207,7 +199,6 @@
|
||||||
<string name="lbl_ep_live">EP Live</string>
|
<string name="lbl_ep_live">EP Live</string>
|
||||||
<string name="lbl_compilation">Kompilasi</string>
|
<string name="lbl_compilation">Kompilasi</string>
|
||||||
<string name="lbl_mixtapes">Kaset campuran</string>
|
<string name="lbl_mixtapes">Kaset campuran</string>
|
||||||
<string name="lbl_show_error_info">Lainnya</string>
|
|
||||||
<string name="lbl_soundtracks">Soundtrack</string>
|
<string name="lbl_soundtracks">Soundtrack</string>
|
||||||
<string name="lbl_album_live">Album live</string>
|
<string name="lbl_album_live">Album live</string>
|
||||||
<plurals name="fmt_artist_count">
|
<plurals name="fmt_artist_count">
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Info namespace | App labels -->
|
<!-- Info namespace | App labels -->
|
||||||
<string name="info_app_desc">Semplice e razionale lettore musicale per android.</string>
|
<string name="info_app_desc">Un lettore musicale semplice e razionale per android.</string>
|
||||||
<string name="lng_widget">Vedi e gestisci la riproduzione musicale</string>
|
<string name="lng_widget">Visualizza e gestisci la riproduzione musicale</string>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Riprova</string>
|
<string name="lbl_retry">Riprova</string>
|
||||||
<string name="lbl_grant">Autorizza</string>
|
|
||||||
<string name="lbl_genres">Generi</string>
|
<string name="lbl_genres">Generi</string>
|
||||||
<string name="lbl_artists">Artisti</string>
|
<string name="lbl_artists">Artisti</string>
|
||||||
<string name="lbl_albums">Album</string>
|
<string name="lbl_albums">Album</string>
|
||||||
<string name="lbl_songs">Brani</string>
|
<string name="lbl_songs">Brani</string>
|
||||||
<string name="lbl_all_songs">Tutte i brani</string>
|
<string name="lbl_all_songs">Tutti i brani</string>
|
||||||
<string name="lbl_search">Cerca</string>
|
<string name="lbl_search">Cerca</string>
|
||||||
<string name="lbl_filter">Filtro</string>
|
<string name="lbl_filter">Filtro</string>
|
||||||
<string name="lbl_filter_all">Tutto</string>
|
<string name="lbl_filter_all">Tutto</string>
|
||||||
|
@ -18,87 +17,82 @@
|
||||||
<string name="lbl_name">Nome</string>
|
<string name="lbl_name">Nome</string>
|
||||||
<string name="lbl_artist">Artista</string>
|
<string name="lbl_artist">Artista</string>
|
||||||
<string name="lbl_album">Album</string>
|
<string name="lbl_album">Album</string>
|
||||||
<string name="lbl_date">Anno</string>
|
<string name="lbl_date">Data</string>
|
||||||
<string name="lbl_sort_asc">Ascendente</string>
|
<string name="lbl_sort_asc">Crescente</string>
|
||||||
<string name="lbl_playback">Ora in riproduzione</string>
|
<string name="lbl_playback">In riproduzione</string>
|
||||||
<string name="lbl_play">Riproduci</string>
|
<string name="lbl_play">Riproduci</string>
|
||||||
<string name="lbl_shuffle">Mescola</string>
|
<string name="lbl_shuffle">Casuale</string>
|
||||||
<string name="set_play_song_from_all">Riproduci da tutti i brani</string>
|
<string name="set_play_song_from_all">Riproduci da tutti i brani</string>
|
||||||
<string name="set_play_song_from_album">Riproduci dall\'album</string>
|
<string name="set_play_song_from_album">Riproduci dall\'album</string>
|
||||||
<string name="set_play_song_from_artist">Riproduci dall\'artista</string>
|
<string name="set_play_song_from_artist">Riproduci dall\'artista</string>
|
||||||
<string name="lbl_queue">Coda</string>
|
<string name="lbl_queue">Coda</string>
|
||||||
<string name="lbl_play_next">Riproduci successivo</string>
|
<string name="lbl_play_next">Riproduci come successivo</string>
|
||||||
<string name="lbl_queue_add">Accoda</string>
|
<string name="lbl_queue_add">Aggiungi alla coda</string>
|
||||||
<string name="lng_queue_added">Accodato</string>
|
<string name="lng_queue_added">Aggiungi alla coda</string>
|
||||||
<string name="lbl_artist_details">Vai all\'artista</string>
|
<string name="lbl_artist_details">Vai all\'artista</string>
|
||||||
<string name="lbl_album_details">Vai all\'album</string>
|
<string name="lbl_album_details">Vai all\'album</string>
|
||||||
<string name="lbl_add">Aggiungi</string>
|
|
||||||
<string name="lbl_save">Salva</string>
|
<string name="lbl_save">Salva</string>
|
||||||
<string name="err_no_locations">Nessuna cartella</string>
|
|
||||||
<string name="lbl_about">Informazioni</string>
|
<string name="lbl_about">Informazioni</string>
|
||||||
<string name="lbl_version">Versione</string>
|
<string name="lbl_version">Versione</string>
|
||||||
<string name="lbl_code">Codice sorgente</string>
|
<string name="lbl_code">Codice sorgente</string>
|
||||||
<string name="lbl_licenses">Licenze</string>
|
<string name="lbl_licenses">Licenze</string>
|
||||||
<string name="lbl_author_name">Sviluppato da Alexander Capehart</string>
|
<string name="lbl_author_name">Alexander Capehart</string>
|
||||||
<string name="lbl_library_counts">Statistiche della raccolta</string>
|
<string name="lbl_library_counts">Statistiche della libreria</string>
|
||||||
<!-- Settings namespace | Settings-related labels -->
|
<!-- Settings namespace | Settings-related labels -->
|
||||||
<string name="set_root_title">Opzioni</string>
|
<string name="set_root_title">Impostazioni</string>
|
||||||
<string name="set_ui">Aspetto</string>
|
<string name="set_ui">Aspetto</string>
|
||||||
<string name="set_theme">Tema</string>
|
<string name="set_theme">Tema</string>
|
||||||
<string name="set_theme_auto">Automatico</string>
|
<string name="set_theme_auto">Sistema</string>
|
||||||
<string name="set_theme_day">Chiaro</string>
|
<string name="set_theme_day">Chiaro</string>
|
||||||
<string name="set_theme_night">Scuro</string>
|
<string name="set_theme_night">Scuro</string>
|
||||||
<string name="set_accent">Accento</string>
|
<string name="set_accent">Accento</string>
|
||||||
<string name="set_black_mode">Tema nero</string>
|
<string name="set_black_mode">Tema nero</string>
|
||||||
<string name="set_black_mode_desc">Usa tema nero puro</string>
|
<string name="set_black_mode_desc">Usa un tema scuro AMOLED</string>
|
||||||
<string name="set_display">Visualizzazione</string>
|
<string name="set_display">Visualizzazione</string>
|
||||||
<string name="set_lib_tabs">Schede libreria</string>
|
<string name="set_lib_tabs">Schede libreria</string>
|
||||||
<string name="set_lib_tabs_desc">Cambia la visibilità e l\'ordine delle schede della libreria</string>
|
<string name="set_lib_tabs_desc">Cambia la visibilità e l\'ordine delle schede della libreria</string>
|
||||||
<string name="set_round_mode">Copertine dischi arrotondate</string>
|
<string name="set_round_mode">Copertine arrotondate</string>
|
||||||
<string name="set_round_mode_desc">Abilita gli angoli arrotondati su ulteriori elementi dell\'interfaccia utente (richiede che le copertine degli album siano arrotondate)</string>
|
<string name="set_round_mode_desc">Abilita gli angoli arrotondati su ulteriori elementi dell\'interfaccia (richiede che le copertine degli album siano arrotondate)</string>
|
||||||
<string name="set_notif_action">Usa azioni notifica alternative</string>
|
<string name="set_notif_action">Personalizza azione notifica</string>
|
||||||
<string name="set_audio">Audio</string>
|
<string name="set_audio">Audio</string>
|
||||||
<string name="set_headset_autoplay">Autoplay cuffie</string>
|
<string name="set_headset_autoplay">Riproduzione automatica</string>
|
||||||
<string name="set_headset_autoplay_desc">Comincia la riproduzione ogni volta che le cuffie sono inserite (potrebbe non funzionare su tutti i dispositivi)</string>
|
<string name="set_headset_autoplay_desc">Inizia la riproduzione ogni volta che vengono connesse delle cuffie (potrebbe non funzionare su tutti i dispositivi)</string>
|
||||||
<string name="set_replay_gain_mode">Strategia ReplayGain</string>
|
<string name="set_replay_gain_mode">Modalità ReplayGain</string>
|
||||||
<string name="set_replay_gain_mode_track">Preferisci traccia</string>
|
<string name="set_replay_gain_mode_track">Preferisci traccia</string>
|
||||||
<string name="set_replay_gain_mode_album">Preferisci album</string>
|
<string name="set_replay_gain_mode_album">Preferisci album</string>
|
||||||
<string name="set_replay_gain_mode_dynamic">Preferisci l\'album se in riproduzione</string>
|
<string name="set_replay_gain_mode_dynamic">Preferisci l\'album se in riproduzione</string>
|
||||||
<string name="set_personalize">Comportamento</string>
|
<string name="set_personalize">Personalizza</string>
|
||||||
<string name="set_play_in_list_with">Quando in riproduzione dalla libreria</string>
|
<string name="set_play_in_list_with">Quando in riproduzione dalla libreria</string>
|
||||||
<string name="set_keep_shuffle">Mantieni mescolamento</string>
|
<string name="set_keep_shuffle">Ricorda riproduzione casuale</string>
|
||||||
<string name="set_keep_shuffle_desc">Mantiene il mescolamento anche se un nuovo brano è selezionato</string>
|
<string name="set_keep_shuffle_desc">Mantiene la riproduzione casuale quando viene riprodotto un nuovo brano</string>
|
||||||
<string name="set_rewind_prev">Riavvolgi prima di saltare indietro</string>
|
<string name="set_rewind_prev">Riavvolgi prima di tornare indietro</string>
|
||||||
<string name="set_rewind_prev_desc">Riavvolge prima di saltare al brano precedente</string>
|
<string name="set_rewind_prev_desc">Riavvolge il brano in riproduzione prima di passare a quello precedente</string>
|
||||||
<string name="set_repeat_pause">Pausa alla ripetizione</string>
|
<string name="set_repeat_pause">Pausa alla ripetizione</string>
|
||||||
<string name="set_repeat_pause_desc">Pausa quando un brano si ripete</string>
|
<string name="set_repeat_pause_desc">Mette in pausa quando un brano si ripete</string>
|
||||||
<string name="set_content">Contenuti</string>
|
<string name="set_content">Contenuti</string>
|
||||||
<string name="set_reindex">Aggiorna musica</string>
|
<string name="set_reindex">Aggiorna libreria</string>
|
||||||
<string name="set_reindex_desc">Ricarica la libreria musicale, usando i tag nella cache quando possibile</string>
|
<string name="set_reindex_desc">Ricarica la libreria musicale, usando i tag nella cache quando possibile</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Musica non trovata</string>
|
|
||||||
<string name="err_index_failed">Caricamento musica fallito</string>
|
<string name="err_index_failed">Caricamento musica fallito</string>
|
||||||
<string name="err_no_perms">Auxio ha bisogno del permesso per leggere la tua libreria musicale</string>
|
|
||||||
<string name="err_no_app">Nessuna app può completare questa azione</string>
|
<string name="err_no_app">Nessuna app può completare questa azione</string>
|
||||||
<string name="err_bad_location">Questa cartella non è supportata</string>
|
<string name="err_bad_location">Questa cartella non è supportata</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">Cerca nella libreria…</string>
|
<string name="lng_search_library">Cerca nella libreria…</string>
|
||||||
<!-- Description Namespace | Accessibility Strings -->
|
<!-- Description Namespace | Accessibility Strings -->
|
||||||
<string name="desc_track_number">Canzone %d</string>
|
<string name="desc_track_number">Traccia %d</string>
|
||||||
<string name="desc_play_pause">Riproduci o pausa</string>
|
<string name="desc_play_pause">Riproduci o metti in pausa</string>
|
||||||
<string name="desc_skip_next">Salta a brano successivo</string>
|
<string name="desc_skip_next">Passa al brano successivo</string>
|
||||||
<string name="desc_skip_prev">Salta a ultimo brano</string>
|
<string name="desc_skip_prev">Passa all\'ultimo brano</string>
|
||||||
<string name="desc_change_repeat">Cambia modalità ripetizione</string>
|
<string name="desc_change_repeat">Cambia modalità ripetizione</string>
|
||||||
<string name="desc_shuffle">Attiva o disattiva mescolamento</string>
|
<string name="desc_shuffle">Attiva o disattiva la riproduzione casuale</string>
|
||||||
<string name="desc_shuffle_all">Mescola tutti i brani</string>
|
|
||||||
<string name="desc_remove_song">Rimuovi questo brano</string>
|
<string name="desc_remove_song">Rimuovi questo brano</string>
|
||||||
<string name="desc_song_handle">Sposta questo brano</string>
|
<string name="desc_song_handle">Sposta questo brano</string>
|
||||||
<string name="desc_tab_handle">Muove questa scheda</string>
|
<string name="desc_tab_handle">Sposta questa scheda</string>
|
||||||
<string name="desc_clear_search">Cancella la query di ricerca</string>
|
<string name="desc_clear_search">Cancella la ricerca</string>
|
||||||
<string name="desc_music_location_delete">Rimuovi cartella</string>
|
<string name="desc_music_location_delete">Rimuovi cartella</string>
|
||||||
<string name="desc_auxio_icon">Icona Auxio</string>
|
<string name="desc_auxio_icon">Icona Auxio</string>
|
||||||
<string name="desc_no_cover">Copertina album</string>
|
<string name="desc_no_cover">Copertina album</string>
|
||||||
<string name="desc_album_cover">Copertina album per %s</string>
|
<string name="desc_album_cover">Copertina album di %s</string>
|
||||||
<string name="desc_artist_image">Immagine artista per %s</string>
|
<string name="desc_artist_image">Immagine artista per %s</string>
|
||||||
<string name="desc_genre_image">Immagine genere per %s</string>
|
<string name="desc_genre_image">Immagine genere per %s</string>
|
||||||
<!-- Default Namespace | Placeholder values -->
|
<!-- Default Namespace | Placeholder values -->
|
||||||
|
@ -106,7 +100,7 @@
|
||||||
<string name="def_genre">Genere sconosciuto</string>
|
<string name="def_genre">Genere sconosciuto</string>
|
||||||
<string name="def_date">Data sconosciuta</string>
|
<string name="def_date">Data sconosciuta</string>
|
||||||
<string name="def_track">Nessuna traccia</string>
|
<string name="def_track">Nessuna traccia</string>
|
||||||
<string name="def_playback">Nessuna canzone in riproduzione</string>
|
<string name="def_playback">Nessun brano in riproduzione</string>
|
||||||
<!-- Color Label namespace | Accent names -->
|
<!-- Color Label namespace | Accent names -->
|
||||||
<string name="clr_red">Rosso</string>
|
<string name="clr_red">Rosso</string>
|
||||||
<string name="clr_pink">Rosa</string>
|
<string name="clr_pink">Rosa</string>
|
||||||
|
@ -121,7 +115,7 @@
|
||||||
<string name="clr_deep_green">Verde scuro</string>
|
<string name="clr_deep_green">Verde scuro</string>
|
||||||
<string name="clr_lime">Lime</string>
|
<string name="clr_lime">Lime</string>
|
||||||
<string name="clr_yellow">Giallo</string>
|
<string name="clr_yellow">Giallo</string>
|
||||||
<string name="clr_orange">Arancio</string>
|
<string name="clr_orange">Arancione</string>
|
||||||
<string name="clr_brown">Marrone</string>
|
<string name="clr_brown">Marrone</string>
|
||||||
<string name="clr_grey">Grigio</string>
|
<string name="clr_grey">Grigio</string>
|
||||||
<!-- Format Namespace | Value formatting/plurals -->
|
<!-- Format Namespace | Value formatting/plurals -->
|
||||||
|
@ -146,22 +140,21 @@
|
||||||
<string name="clr_dynamic">Dinamico</string>
|
<string name="clr_dynamic">Dinamico</string>
|
||||||
<string name="fmt_db_pos">+%.1f dB</string>
|
<string name="fmt_db_pos">+%.1f dB</string>
|
||||||
<string name="fmt_sample_rate">%d Hz</string>
|
<string name="fmt_sample_rate">%d Hz</string>
|
||||||
<string name="fmt_indexing">Caricamento libreria musicale… (%1$d/%2$d)</string>
|
<string name="fmt_indexing">Caricamento della tua libreria musicale… (%1$d/%2$d)</string>
|
||||||
<string name="set_play_in_parent_with">Quando in riproduzione dai dettagli dell\'elemento</string>
|
<string name="set_play_in_parent_with">Quando riproduci dai dettagli di un elemento</string>
|
||||||
<string name="set_pre_amp_warning">Attenzione: impostare valore positivi alti può provocare distorsioni su alcune tracce.</string>
|
<string name="set_pre_amp_warning">Attenzione: impostare alti valori positivi può provocare la distorsione di alcune tracce.</string>
|
||||||
<string name="set_pre_amp_without">Regolazione senza tag</string>
|
<string name="set_pre_amp_without">Regolazione senza tag</string>
|
||||||
<string name="lbl_shuffle_shortcut_short">Mescola</string>
|
<string name="lbl_shuffle_shortcut_short">Casuale</string>
|
||||||
<string name="lbl_shuffle_shortcut_long">Mescola tutto</string>
|
<string name="lbl_shuffle_shortcut_long">Tutto in casuale</string>
|
||||||
<string name="set_pre_amp_with">Regolazione con tag</string>
|
<string name="set_pre_amp_with">Regolazione in base ai tag</string>
|
||||||
<string name="set_pre_amp_desc">Il pre-amp è applicato alla regolazione esistente durante la riproduzione</string>
|
<string name="set_pre_amp_desc">Il pre-amp è applicato alla regolazione esistente durante la riproduzione</string>
|
||||||
<string name="set_play_song_none">Riproduci dall\'elemento mostrato</string>
|
<string name="set_play_song_none">Riproduci dall\'elemento corrente</string>
|
||||||
<string name="set_locations_desc">Gestisci le cartelle da dove caricare la musica</string>
|
<string name="set_locations_desc">Gestisci le cartelle da dove caricare la musica</string>
|
||||||
<string name="set_locations">Cartelle musica</string>
|
<string name="set_locations">Cartelle musicali</string>
|
||||||
<string name="cdc_mka">Matroska audio</string>
|
|
||||||
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
<string name="cdc_flac">Free Lossless Audio Codec (FLAC)</string>
|
||||||
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
<string name="cdc_aac">Advanced Audio Coding (AAC)</string>
|
||||||
<string name="fmt_disc_no">Disco %d</string>
|
<string name="fmt_disc_no">Disco %d</string>
|
||||||
<string name="fmt_bitrate">%d kB/s</string>
|
<string name="fmt_bitrate">%d kbps</string>
|
||||||
<string name="fmt_db_neg">-%.1f dB</string>
|
<string name="fmt_db_neg">-%.1f dB</string>
|
||||||
<string name="lbl_indexer">Caricamento musica</string>
|
<string name="lbl_indexer">Caricamento musica</string>
|
||||||
<string name="lng_indexing">Caricamento libreria musicale…</string>
|
<string name="lng_indexing">Caricamento libreria musicale…</string>
|
||||||
|
@ -171,18 +164,18 @@
|
||||||
<string name="lbl_track">Traccia</string>
|
<string name="lbl_track">Traccia</string>
|
||||||
<string name="lbl_ok">OK</string>
|
<string name="lbl_ok">OK</string>
|
||||||
<string name="lbl_sample_rate">Frequenza di campionamento</string>
|
<string name="lbl_sample_rate">Frequenza di campionamento</string>
|
||||||
<string name="lbl_song_detail">Vedi proprietà</string>
|
<string name="lbl_song_detail">Visualizza proprietà</string>
|
||||||
<string name="lbl_props">Proprietà brano</string>
|
<string name="lbl_props">Proprietà brano</string>
|
||||||
<string name="lbl_format">Formato</string>
|
<string name="lbl_format">Formato</string>
|
||||||
<string name="lbl_size">Dimensione</string>
|
<string name="lbl_size">Dimensione</string>
|
||||||
<string name="lbl_bitrate">Bitrate</string>
|
<string name="lbl_bitrate">Velocità in bit</string>
|
||||||
<string name="lbl_cancel">Cancella</string>
|
<string name="lbl_cancel">Annulla</string>
|
||||||
<string name="set_pre_amp">Pre-amp ReplayGain</string>
|
<string name="set_pre_amp">Pre-amp ReplayGain</string>
|
||||||
<string name="lng_observing">Sto monitorando i cambiamenti nella tua libreria musicale…</string>
|
<string name="lng_observing">Sto monitorando i cambiamenti nella tua libreria musicale…</string>
|
||||||
<string name="set_observing_desc">Ricarica la tua libreria musicale se subisce cambiamenti (richiede notifica persistente)</string>
|
<string name="set_observing_desc">Ricarica la tua libreria musicale se subisce cambiamenti (richiede notifica persistente)</string>
|
||||||
<string name="lbl_indexing">Caricamento musica</string>
|
<string name="lbl_indexing">Caricamento musica</string>
|
||||||
<string name="lbl_observing">Monitoraggio libreria musicale</string>
|
<string name="lbl_observing">Monitoraggio libreria musicale</string>
|
||||||
<string name="lbl_date_added">Data aggiunta</string>
|
<string name="lbl_date_added">Data di aggiunta</string>
|
||||||
<string name="set_observing">Ricaricamento automatico</string>
|
<string name="set_observing">Ricaricamento automatico</string>
|
||||||
<string name="lbl_eps">EP</string>
|
<string name="lbl_eps">EP</string>
|
||||||
<string name="lbl_ep">EP</string>
|
<string name="lbl_ep">EP</string>
|
||||||
|
@ -197,32 +190,32 @@
|
||||||
<string name="lbl_single_live">Singolo live</string>
|
<string name="lbl_single_live">Singolo live</string>
|
||||||
<string name="lbl_album_live">Album live</string>
|
<string name="lbl_album_live">Album live</string>
|
||||||
<string name="lbl_ep_live">EP live</string>
|
<string name="lbl_ep_live">EP live</string>
|
||||||
<string name="lbl_compilation">Raccolta</string>
|
<string name="lbl_compilation">Compilation</string>
|
||||||
<string name="lbl_soundtracks">Colonne sonore</string>
|
<string name="lbl_soundtracks">Colonne sonore</string>
|
||||||
<string name="lbl_single_remix">Singolo remix</string>
|
<string name="lbl_single_remix">Singolo remix</string>
|
||||||
<string name="lbl_compilations">Raccolte</string>
|
<string name="lbl_compilations">Compilation</string>
|
||||||
<string name="lbl_soundtrack">Colonna sonora</string>
|
<string name="lbl_soundtrack">Colonna sonora</string>
|
||||||
<string name="lbl_equalizer">Equalizzatore</string>
|
<string name="lbl_equalizer">Equalizzatore</string>
|
||||||
<string name="desc_queue_bar">Apri la coda</string>
|
<string name="desc_queue_bar">Apri la coda</string>
|
||||||
<string name="lbl_genre">Genere</string>
|
<string name="lbl_genre">Genere</string>
|
||||||
<string name="set_bar_action">Azione personalizzata barra di riproduzione</string>
|
<string name="set_bar_action">Personalizza azione barra di riproduzione</string>
|
||||||
<string name="set_action_mode_next">Vai alla prossima</string>
|
<string name="set_action_mode_next">Passa al brano successivo</string>
|
||||||
<string name="set_action_mode_repeat">Modalità ripetizione</string>
|
<string name="set_action_mode_repeat">Modalità ripetizione</string>
|
||||||
<string name="desc_exit">Interrompi riproduzione</string>
|
<string name="desc_exit">Interrompi la riproduzione</string>
|
||||||
<string name="set_hide_collaborators">Nascondi collaboratori</string>
|
<string name="set_hide_collaborators">Nascondi collaboratori</string>
|
||||||
<string name="set_hide_collaborators_desc">Mostra solo artisti che sono direttamente accreditati in un album (funziona meglio su librerie ben taggate)</string>
|
<string name="set_hide_collaborators_desc">Mostra solo gli artisti che appaiono esplicitamente nei riconoscimenti di un album (funziona meglio su librerie ben taggate)</string>
|
||||||
<string name="set_cover_mode">Copertine album</string>
|
<string name="set_cover_mode">Copertine album</string>
|
||||||
<string name="set_cover_mode_off">Off</string>
|
<string name="set_cover_mode_off">Disattiva copertine</string>
|
||||||
<string name="set_cover_mode_balanced">Veloce</string>
|
<string name="set_cover_mode_balanced">Media qualità</string>
|
||||||
<string name="set_exclude_non_music">Escludi file non musicali</string>
|
<string name="set_exclude_non_music">Escludi i file non musicali</string>
|
||||||
<string name="set_exclude_non_music_desc">Ignora file audio non musicali, come i podcast</string>
|
<string name="set_exclude_non_music_desc">Ignora i file audio non musicali, come i podcast</string>
|
||||||
<string name="set_separators">Separatori multi-valore</string>
|
<string name="set_separators">Separatori multi-valore</string>
|
||||||
<string name="set_separators_desc">Configura caratteri che indicano valori multipli di tag</string>
|
<string name="set_separators_desc">Configura i caratteri che identificano tag con valori multipli</string>
|
||||||
<string name="set_separators_slash">Barra (/)</string>
|
<string name="set_separators_slash">Barra (/)</string>
|
||||||
<string name="set_separators_warning">Attenzione: potrebbero verificarsi degli errori nella interpretazione di alcuni tag con valori multipli. Puoi risolvere aggiungendo come prefisso la barra rovesciata (\\) ai separatori indesiderati.</string>
|
<string name="set_separators_warning">Attenzione: potrebbero verificarsi degli errori nell\'interpretazione di alcuni tag con valori multipli. Puoi risolvere questo problema aggiungendo come prefisso una barra rovesciata (\\) ai separatori indesiderati.</string>
|
||||||
<string name="set_separators_and">E commerciale (&)</string>
|
<string name="set_separators_and">E commerciale (&)</string>
|
||||||
<string name="lbl_compilation_live">Raccolte live</string>
|
<string name="lbl_compilation_live">Compilation live</string>
|
||||||
<string name="lbl_compilation_remix">Raccolta remix</string>
|
<string name="lbl_compilation_remix">Compilation remix</string>
|
||||||
<string name="lbl_mixes">Mix DJ</string>
|
<string name="lbl_mixes">Mix DJ</string>
|
||||||
<string name="lbl_mix">Mix DJ</string>
|
<string name="lbl_mix">Mix DJ</string>
|
||||||
<string name="set_cover_mode_high_quality">Alta qualità</string>
|
<string name="set_cover_mode_high_quality">Alta qualità</string>
|
||||||
|
@ -242,26 +235,25 @@
|
||||||
<string name="fmt_list">%1$s, %2$s</string>
|
<string name="fmt_list">%1$s, %2$s</string>
|
||||||
<string name="lbl_reset">Ripristina</string>
|
<string name="lbl_reset">Ripristina</string>
|
||||||
<string name="set_behavior">Comportamento</string>
|
<string name="set_behavior">Comportamento</string>
|
||||||
<string name="set_locations_list">Cartelle</string>
|
|
||||||
<string name="set_music">Musica</string>
|
<string name="set_music">Musica</string>
|
||||||
<string name="set_images">Immagini</string>
|
<string name="set_images">Immagini</string>
|
||||||
<string name="set_library">Collezione</string>
|
<string name="set_library">Libreria</string>
|
||||||
<string name="set_ui_desc">Cambia il tema e i colori dell\'app</string>
|
<string name="set_ui_desc">Cambia il tema e i colori dell\'app</string>
|
||||||
<string name="set_content_desc">Controlla come vengono caricate musica e immagini</string>
|
<string name="set_content_desc">Controlla come vengono caricate musica e immagini</string>
|
||||||
<string name="set_replay_gain">Normalizzazione del volume</string>
|
<string name="set_replay_gain">Normalizzazione del volume</string>
|
||||||
<string name="set_playback">Riproduzione</string>
|
<string name="set_playback">Riproduzione</string>
|
||||||
<string name="set_personalize_desc">Personalizza controlli e comportamento dell\'UI</string>
|
<string name="set_personalize_desc">Personalizza i controlli e il comportamento dell\'interfaccia</string>
|
||||||
<string name="set_audio_desc">Configura comportamento di suono e riproduzione</string>
|
<string name="set_audio_desc">Suono e riproduzione</string>
|
||||||
<string name="lbl_sort_dsc">Discendente</string>
|
<string name="lbl_sort_dsc">Decrescente</string>
|
||||||
<string name="lbl_playlist">Playlist</string>
|
<string name="lbl_playlist">Playlist</string>
|
||||||
<string name="lbl_playlists">Playlist</string>
|
<string name="lbl_playlists">Playlist</string>
|
||||||
<string name="set_intelligent_sorting">Ordinazione intelligente</string>
|
<string name="set_intelligent_sorting">Ordinamento intelligente</string>
|
||||||
<string name="set_intelligent_sorting_desc">Ordina correttamente i nomi che iniziano con numeri o parole come \"the\" (funziona meglio con i titoli in inglese)</string>
|
<string name="set_intelligent_sorting_desc">Ordina correttamente i titoli che iniziano con numeri o parole come \"the\" (funziona meglio con i titoli in inglese)</string>
|
||||||
<string name="desc_playlist_image">Immagine della playlist per %s</string>
|
<string name="desc_playlist_image">Immagine della playlist per %s</string>
|
||||||
<string name="lbl_new_playlist">Nuova playlist</string>
|
<string name="lbl_new_playlist">Nuova playlist</string>
|
||||||
<string name="lbl_playlist_add">Aggiungi a playlist</string>
|
<string name="lbl_playlist_add">Aggiungi alla playlist</string>
|
||||||
<string name="lng_playlist_created">Playlist creata</string>
|
<string name="lng_playlist_created">Playlist creata</string>
|
||||||
<string name="lng_playlist_added">Aggiunto a playlist</string>
|
<string name="lng_playlist_added">Aggiunto alla playlist</string>
|
||||||
<string name="def_song_count">Nessun brano</string>
|
<string name="def_song_count">Nessun brano</string>
|
||||||
<string name="fmt_def_playlist">Playlist %d</string>
|
<string name="fmt_def_playlist">Playlist %d</string>
|
||||||
<string name="lbl_delete">Elimina</string>
|
<string name="lbl_delete">Elimina</string>
|
||||||
|
@ -274,31 +266,30 @@
|
||||||
<string name="lng_playlist_renamed">Playlist rinominata</string>
|
<string name="lng_playlist_renamed">Playlist rinominata</string>
|
||||||
<string name="lbl_share">Condividi</string>
|
<string name="lbl_share">Condividi</string>
|
||||||
<string name="def_disc">Nessun disco</string>
|
<string name="def_disc">Nessun disco</string>
|
||||||
<string name="lbl_appears_on">Appare su</string>
|
<string name="lbl_appears_on">Appare in</string>
|
||||||
<string name="fmt_editing">Modifica di %s</string>
|
<string name="fmt_editing">Modificando %s</string>
|
||||||
<string name="set_square_covers">Forza copertine album quadrate</string>
|
<string name="set_square_covers">Forza copertine album quadrate</string>
|
||||||
<string name="set_square_covers_desc">Adatta tutte le copertine degli album ad una visualizzazione 1:1</string>
|
<string name="set_square_covers_desc">Adatta tutte le copertine degli album ad una visualizzazione 1:1</string>
|
||||||
<string name="lbl_song">Brano</string>
|
<string name="lbl_song">Brano</string>
|
||||||
<string name="lbl_parent_detail">Visualizza</string>
|
<string name="lbl_parent_detail">Visualizza</string>
|
||||||
<string name="set_play_song_by_itself">Riproduci brano da solo</string>
|
<string name="set_play_song_by_itself">Riproduci solo il brano</string>
|
||||||
<string name="lbl_sort_mode">Ordina per</string>
|
<string name="lbl_sort_mode">Ordina per</string>
|
||||||
<string name="lbl_imported_playlist">Playlist importata</string>
|
<string name="lbl_imported_playlist">Playlist esterna</string>
|
||||||
<string name="err_export_failed">Impossibile esportare la playlist in questo file</string>
|
<string name="err_export_failed">Impossibile esportare la playlist in questo file</string>
|
||||||
<string name="lbl_sort_direction">Direzione</string>
|
<string name="lbl_sort_direction">Ordine</string>
|
||||||
<string name="lbl_show_error_info">Espandi</string>
|
<string name="desc_selection_image">Selezione immagine</string>
|
||||||
<string name="desc_selection_image">Immagine di selezione</string>
|
|
||||||
<string name="lbl_selection">Selezione</string>
|
<string name="lbl_selection">Selezione</string>
|
||||||
<string name="lbl_copied">Copiato</string>
|
<string name="lbl_copied">Copiato</string>
|
||||||
<string name="lbl_report">Segnala</string>
|
<string name="lbl_report">Segnala</string>
|
||||||
<string name="lbl_author">Autore</string>
|
<string name="lbl_author">Autore</string>
|
||||||
<string name="lbl_donate">Dona</string>
|
<string name="lbl_donate">Dona</string>
|
||||||
<string name="lbl_supporters">Supporti</string>
|
<string name="lbl_supporters">Sostenitori</string>
|
||||||
<string name="lbl_error_info">Informazioni sull\'errore</string>
|
<string name="lbl_error_info">Informazioni sull\'errore</string>
|
||||||
<string name="def_album_count">Nessun album</string>
|
<string name="def_album_count">Nessun album</string>
|
||||||
<string name="lbl_path">Percorso</string>
|
<string name="lbl_path">Percorso</string>
|
||||||
<string name="lbl_empty_playlist">Playlist vuota</string>
|
<string name="lbl_empty_playlist">Playlist vuota</string>
|
||||||
<string name="lbl_import_playlist">Importa playlist</string>
|
<string name="lbl_import_playlist">Importa playlist</string>
|
||||||
<string name="lng_supporters_promo">Dona al progetto; il tuo nome sarà aggiunto qui!</string>
|
<string name="lng_supporters_promo">Dona al progetto, il tuo nome sarà aggiunto qui!</string>
|
||||||
<string name="err_import_failed">Impossibile importare una playlist da questo file</string>
|
<string name="err_import_failed">Impossibile importare una playlist da questo file</string>
|
||||||
<string name="lbl_import">Importa</string>
|
<string name="lbl_import">Importa</string>
|
||||||
<string name="lbl_export">Esporta</string>
|
<string name="lbl_export">Esporta</string>
|
||||||
|
@ -309,7 +300,7 @@
|
||||||
<string name="lbl_windows_paths">Usa percorsi compatibili con Windows</string>
|
<string name="lbl_windows_paths">Usa percorsi compatibili con Windows</string>
|
||||||
<string name="lng_playlist_imported">Playlist importata</string>
|
<string name="lng_playlist_imported">Playlist importata</string>
|
||||||
<string name="lng_playlist_exported">Playlist esportata</string>
|
<string name="lng_playlist_exported">Playlist esportata</string>
|
||||||
<string name="set_replay_gain_mode_off">Spento</string>
|
<string name="set_replay_gain_mode_off">Disattivato</string>
|
||||||
<string name="lbl_demo">Demo</string>
|
<string name="lbl_demo">Demo</string>
|
||||||
<string name="lbl_demos">Demo</string>
|
<string name="lbl_demos">Demo</string>
|
||||||
<string name="lbl_replaygain_track">Regolazione traccia ReplayGain</string>
|
<string name="lbl_replaygain_track">Regolazione traccia ReplayGain</string>
|
||||||
|
@ -317,5 +308,24 @@
|
||||||
<string name="set_remember_pause">Ricorda pausa</string>
|
<string name="set_remember_pause">Ricorda pausa</string>
|
||||||
<string name="set_remember_pause_desc">Mantiene riproduzione/pausa durante il cambio di brano e la modifica della coda di riproduzione</string>
|
<string name="set_remember_pause_desc">Mantiene riproduzione/pausa durante il cambio di brano e la modifica della coda di riproduzione</string>
|
||||||
<string name="lbl_start_playback">Avvia la riproduzione</string>
|
<string name="lbl_start_playback">Avvia la riproduzione</string>
|
||||||
<string name="lng_tasker_start">Avvia Auxio utilizzando le ultime impostazioni di riproduzione salvate. Se non è disponibile alcuna impostazione di riproduzione, i brani verranno riprodotti in ordine casuale. La riproduzione inizierà immediatamente.\n\nATTENZIONE: stare attenti quando si usa questa impostazione, se viene chiusa e poi si cerca di usarla nuovamente, si rischia di mandare l\'applicazione in blocco.</string>
|
<string name="lng_tasker_start">Avvia Auxio utilizzando le ultime impostazioni di riproduzione salvate. Se non è disponibile alcuna impostazione di riproduzione, i brani verranno riprodotti in ordine casuale. La riproduzione inizierà immediatamente.\n\nAttenzione: fai attenzione a controllare questa impostazione; se lo chiudi e poi provi a usarlo di nuovo, è probabile che l\'app si blocchi.</string>
|
||||||
|
<string name="lbl_music_sources">Scegli le cartelle</string>
|
||||||
|
<string name="lbl_feedback">Feedback</string>
|
||||||
|
<string name="lbl_email">Invia un\'email</string>
|
||||||
|
<string name="lbl_github">Apri un\'issue su GitHub</string>
|
||||||
|
<string name="def_album">Album sconosciuto</string>
|
||||||
|
<string name="lng_empty_genres">I tuoi generi appariranno qui.</string>
|
||||||
|
<string name="lng_empty_songs">I tuoi brani appariranno qui.</string>
|
||||||
|
<string name="lng_empty_artists">I tuoi artisti appariranno qui.</string>
|
||||||
|
<string name="lng_empty_albums">I tuoi album appariranno qui.</string>
|
||||||
|
<string name="lng_empty_playlists">Le tue playlist appariranno qui.</string>
|
||||||
|
<string name="lbl_more">Espandi</string>
|
||||||
|
<string name="set_locations_new">Nuova cartella</string>
|
||||||
|
<string name="set_cover_mode_save_space">Bassa qualità</string>
|
||||||
|
<string name="cnt_mp4">MPEG-4 contenente %s</string>
|
||||||
|
<string name="cdc_alac">Apple Lossless Audio Codec (ALAC)</string>
|
||||||
|
<string name="cdc_unknown">Sconosciuto</string>
|
||||||
|
<string name="set_cover_mode_as_is">Qualità originale</string>
|
||||||
|
<string name="set_with_hidden_desc">Include file audio nascosti (per esempio in .cache)</string>
|
||||||
|
<string name="set_with_hidden">Includi file nascosti</string>
|
||||||
</resources>
|
</resources>
|
|
@ -55,7 +55,6 @@
|
||||||
<string name="lbl_cancel">ביטול</string>
|
<string name="lbl_cancel">ביטול</string>
|
||||||
<string name="lbl_save">שמירה</string>
|
<string name="lbl_save">שמירה</string>
|
||||||
<string name="lbl_reset">אתחול</string>
|
<string name="lbl_reset">אתחול</string>
|
||||||
<string name="lbl_add">הוספה</string>
|
|
||||||
<string name="lbl_version">גרסה</string>
|
<string name="lbl_version">גרסה</string>
|
||||||
<string name="lbl_code">קוד מקור</string>
|
<string name="lbl_code">קוד מקור</string>
|
||||||
<string name="lbl_wiki">ויקי</string>
|
<string name="lbl_wiki">ויקי</string>
|
||||||
|
@ -156,7 +155,6 @@
|
||||||
<string name="set_pre_amp_desc">המגבר מוחל על ההתאמה הקיימת בזמן השמעה</string>
|
<string name="set_pre_amp_desc">המגבר מוחל על ההתאמה הקיימת בזמן השמעה</string>
|
||||||
<string name="lbl_new_playlist">רשימת השמעה חדשה</string>
|
<string name="lbl_new_playlist">רשימת השמעה חדשה</string>
|
||||||
<string name="lbl_playlist_add">הוספה לרשימת השמעה</string>
|
<string name="lbl_playlist_add">הוספה לרשימת השמעה</string>
|
||||||
<string name="lbl_grant">הענק</string>
|
|
||||||
<string name="lbl_playlist">רשימת השמעה (פלייליסט)</string>
|
<string name="lbl_playlist">רשימת השמעה (פלייליסט)</string>
|
||||||
<string name="lbl_playlists">רשימות השמעה</string>
|
<string name="lbl_playlists">רשימות השמעה</string>
|
||||||
<string name="lbl_delete">מחיקה</string>
|
<string name="lbl_delete">מחיקה</string>
|
||||||
|
@ -168,7 +166,6 @@
|
||||||
<string name="set_locations">תיקיות מוזיקה</string>
|
<string name="set_locations">תיקיות מוזיקה</string>
|
||||||
<string name="set_reindex_desc">טעינה מחדש של ספריית המוזיקה, במידה וניתן ייעשה שימוש בתגיות מהמטמון</string>
|
<string name="set_reindex_desc">טעינה מחדש של ספריית המוזיקה, במידה וניתן ייעשה שימוש בתגיות מהמטמון</string>
|
||||||
<string name="set_rescan">סריקת מוסיקה מחדש</string>
|
<string name="set_rescan">סריקת מוסיקה מחדש</string>
|
||||||
<string name="err_no_perms"> Auxio צריך הרשאות על מנת לקרוא את ספריית המוזיקה שלך</string>
|
|
||||||
<string name="desc_queue_bar">פתיחת התור</string>
|
<string name="desc_queue_bar">פתיחת התור</string>
|
||||||
<string name="fmt_lib_total_duration">משך כולל: %s</string>
|
<string name="fmt_lib_total_duration">משך כולל: %s</string>
|
||||||
<string name="fmt_def_playlist">רשימת השמעה %d</string>
|
<string name="fmt_def_playlist">רשימת השמעה %d</string>
|
||||||
|
@ -178,7 +175,6 @@
|
||||||
<string name="fmt_lib_genre_count">ז\'אנרים טעונים: %d</string>
|
<string name="fmt_lib_genre_count">ז\'אנרים טעונים: %d</string>
|
||||||
<string name="set_library">ספריה</string>
|
<string name="set_library">ספריה</string>
|
||||||
<string name="err_no_app">לא נמצא יישום שיכול לטפל במשימה זו</string>
|
<string name="err_no_app">לא נמצא יישום שיכול לטפל במשימה זו</string>
|
||||||
<string name="err_no_locations">אין תיקיות</string>
|
|
||||||
<string name="err_bad_location">תיקייה זו אינה נתמכת</string>
|
<string name="err_bad_location">תיקייה זו אינה נתמכת</string>
|
||||||
<string name="desc_skip_prev">דילוג לשיר האחרון</string>
|
<string name="desc_skip_prev">דילוג לשיר האחרון</string>
|
||||||
<string name="desc_change_repeat">שינוי מצב חזרה</string>
|
<string name="desc_change_repeat">שינוי מצב חזרה</string>
|
||||||
|
@ -203,14 +199,12 @@
|
||||||
<string name="def_song_count">אין שירים</string>
|
<string name="def_song_count">אין שירים</string>
|
||||||
<string name="clr_pink">ורוד</string>
|
<string name="clr_pink">ורוד</string>
|
||||||
<string name="lng_playlist_created">נוצרה רשימת השמעה</string>
|
<string name="lng_playlist_created">נוצרה רשימת השמעה</string>
|
||||||
<string name="set_locations_list">תיקיות</string>
|
|
||||||
<plurals name="fmt_artist_count">
|
<plurals name="fmt_artist_count">
|
||||||
<item quantity="one">אומן אחד</item>
|
<item quantity="one">אומן אחד</item>
|
||||||
<item quantity="two">שני אומנים</item>
|
<item quantity="two">שני אומנים</item>
|
||||||
<item quantity="other">%d אומנים</item>
|
<item quantity="other">%d אומנים</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="set_reindex">רענון מוזיקה</string>
|
<string name="set_reindex">רענון מוזיקה</string>
|
||||||
<string name="err_no_music">לא נמצאה מוזיקה</string>
|
|
||||||
<string name="err_index_failed">אירע כשל בטעינה מוזיקה</string>
|
<string name="err_index_failed">אירע כשל בטעינה מוזיקה</string>
|
||||||
<string name="desc_no_cover">עטיפת אלבום</string>
|
<string name="desc_no_cover">עטיפת אלבום</string>
|
||||||
<plurals name="fmt_song_count">
|
<plurals name="fmt_song_count">
|
||||||
|
@ -226,7 +220,6 @@
|
||||||
<string name="lng_playlist_renamed">שונה שם רשימת ההשמעה</string>
|
<string name="lng_playlist_renamed">שונה שם רשימת ההשמעה</string>
|
||||||
<string name="lng_playlist_deleted">רשימת השמעה נמחקה</string>
|
<string name="lng_playlist_deleted">רשימת השמעה נמחקה</string>
|
||||||
<string name="lng_playlist_added">נוסף לרשימת השמעה</string>
|
<string name="lng_playlist_added">נוסף לרשימת השמעה</string>
|
||||||
<string name="desc_shuffle_all">ערבוב כל השירים</string>
|
|
||||||
<string name="desc_auxio_icon">סמל Auxio</string>
|
<string name="desc_auxio_icon">סמל Auxio</string>
|
||||||
<string name="desc_music_location_delete">הסרת תיקייה</string>
|
<string name="desc_music_location_delete">הסרת תיקייה</string>
|
||||||
<string name="desc_playlist_image">תמונת רשימת השמעה עבור %s</string>
|
<string name="desc_playlist_image">תמונת רשימת השמעה עבור %s</string>
|
||||||
|
@ -262,7 +255,6 @@
|
||||||
<string name="clr_teal">טורקיז</string>
|
<string name="clr_teal">טורקיז</string>
|
||||||
<string name="clr_brown">חום</string>
|
<string name="clr_brown">חום</string>
|
||||||
<string name="fmt_selected">%d נבחרו</string>
|
<string name="fmt_selected">%d נבחרו</string>
|
||||||
<string name="lbl_show_error_info">עוד</string>
|
|
||||||
<string name="lbl_selection">בחירה</string>
|
<string name="lbl_selection">בחירה</string>
|
||||||
<string name="lbl_error_info">מידע על השגיאה</string>
|
<string name="lbl_error_info">מידע על השגיאה</string>
|
||||||
<string name="lbl_report">דיווח</string>
|
<string name="lbl_report">דיווח</string>
|
||||||
|
@ -275,7 +267,6 @@
|
||||||
<string name="fmt_sample_rate">%d הרץ (Hz)</string>
|
<string name="fmt_sample_rate">%d הרץ (Hz)</string>
|
||||||
<string name="fmt_bitrate">%d קילוביטים לשנייה (kbps)</string>
|
<string name="fmt_bitrate">%d קילוביטים לשנייה (kbps)</string>
|
||||||
<string name="lbl_copied">מועתק</string>
|
<string name="lbl_copied">מועתק</string>
|
||||||
<string name="cdc_mka">אודיו Matroska</string>
|
|
||||||
<string name="cdc_aac">קודק אודיו מתקדם (AAC)</string>
|
<string name="cdc_aac">קודק אודיו מתקדם (AAC)</string>
|
||||||
<string name="fmt_list">%1$s, %2$s</string>
|
<string name="fmt_list">%1$s, %2$s</string>
|
||||||
<string name="clr_lime">ליים</string>
|
<string name="clr_lime">ליים</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="lbl_retry">再試行</string>
|
<string name="lbl_retry">再試行</string>
|
||||||
<string name="info_app_desc">Android 用のシンプルで合理的な音楽プレーヤー。</string>
|
<string name="info_app_desc">Android 用のシンプルで合理的な音楽プレーヤー。</string>
|
||||||
<string name="lbl_grant">許可する</string>
|
|
||||||
<string name="lbl_artists">アーティスト</string>
|
<string name="lbl_artists">アーティスト</string>
|
||||||
<string name="lbl_genres">ジャンル</string>
|
<string name="lbl_genres">ジャンル</string>
|
||||||
<string name="lbl_duration">曲の長さ</string>
|
<string name="lbl_duration">曲の長さ</string>
|
||||||
|
@ -26,12 +25,10 @@
|
||||||
<string name="lbl_date">日付け</string>
|
<string name="lbl_date">日付け</string>
|
||||||
<string name="set_cover_mode_high_quality">高クオリティ</string>
|
<string name="set_cover_mode_high_quality">高クオリティ</string>
|
||||||
<string name="set_round_mode">ラウンドモード</string>
|
<string name="set_round_mode">ラウンドモード</string>
|
||||||
<string name="err_no_music">音楽が見つかりません</string>
|
|
||||||
<string name="err_index_failed">音楽の読み込みに失敗</string>
|
<string name="err_index_failed">音楽の読み込みに失敗</string>
|
||||||
<string name="cdc_ogg">Ogg オーディオ</string>
|
<string name="cdc_ogg">Ogg オーディオ</string>
|
||||||
<string name="clr_cyan">シアン</string>
|
<string name="clr_cyan">シアン</string>
|
||||||
<string name="clr_deep_blue">紺</string>
|
<string name="clr_deep_blue">紺</string>
|
||||||
<string name="lbl_add">追加</string>
|
|
||||||
<string name="lbl_save">保存</string>
|
<string name="lbl_save">保存</string>
|
||||||
<string name="lng_search_library">ライブラリ検索…</string>
|
<string name="lng_search_library">ライブラリ検索…</string>
|
||||||
<string name="set_theme_night">暗い</string>
|
<string name="set_theme_night">暗い</string>
|
||||||
|
@ -78,8 +75,6 @@
|
||||||
<string name="set_replay_gain_mode_track">トラックを優先</string>
|
<string name="set_replay_gain_mode_track">トラックを優先</string>
|
||||||
<string name="set_locations_desc">音楽の読み込み元を管理</string>
|
<string name="set_locations_desc">音楽の読み込み元を管理</string>
|
||||||
<string name="set_reindex">音楽の再読み込み</string>
|
<string name="set_reindex">音楽の再読み込み</string>
|
||||||
<string name="err_no_perms">Auxio は音楽ライブラリを読む許可を必要とします</string>
|
|
||||||
<string name="err_no_locations">フォルダがありません</string>
|
|
||||||
<string name="err_bad_location">このフォルダはサポートされていません</string>
|
<string name="err_bad_location">このフォルダはサポートされていません</string>
|
||||||
<string name="desc_track_number">トラック %d</string>
|
<string name="desc_track_number">トラック %d</string>
|
||||||
<string name="desc_play_pause">再生またはポーズ</string>
|
<string name="desc_play_pause">再生またはポーズ</string>
|
||||||
|
@ -149,7 +144,6 @@
|
||||||
<string name="err_no_app">このタスクを実行できるアプリが見つかりません</string>
|
<string name="err_no_app">このタスクを実行できるアプリが見つかりません</string>
|
||||||
<string name="set_content">コンテンツ</string>
|
<string name="set_content">コンテンツ</string>
|
||||||
<string name="set_rescan">音楽の再スキャン</string>
|
<string name="set_rescan">音楽の再スキャン</string>
|
||||||
<string name="cdc_mka">Matroska オーディオ</string>
|
|
||||||
<string name="cdc_aac">高度なオーディオ コーデック (AAC)</string>
|
<string name="cdc_aac">高度なオーディオ コーデック (AAC)</string>
|
||||||
<string name="cdc_flac">品質を損なうことのない無料のオーディオ コーデック (FLAC)</string>
|
<string name="cdc_flac">品質を損なうことのない無料のオーディオ コーデック (FLAC)</string>
|
||||||
<string name="clr_grey">グレイ</string>
|
<string name="clr_grey">グレイ</string>
|
||||||
|
@ -176,13 +170,11 @@
|
||||||
<string name="set_repeat_pause">ポーズと繰り返し</string>
|
<string name="set_repeat_pause">ポーズと繰り返し</string>
|
||||||
<string name="set_library">ライブラリ</string>
|
<string name="set_library">ライブラリ</string>
|
||||||
<string name="set_pre_amp_without">タグ無しで調整</string>
|
<string name="set_pre_amp_without">タグ無しで調整</string>
|
||||||
<string name="set_locations_list">フォルダ</string>
|
|
||||||
<string name="set_separators_semicolon">セミコロン (;)</string>
|
<string name="set_separators_semicolon">セミコロン (;)</string>
|
||||||
<string name="set_separators_slash">スラッシュ (/)</string>
|
<string name="set_separators_slash">スラッシュ (/)</string>
|
||||||
<string name="desc_change_repeat">繰り返しモードを変更</string>
|
<string name="desc_change_repeat">繰り返しモードを変更</string>
|
||||||
<string name="desc_shuffle">シャフルのオン・オフ</string>
|
<string name="desc_shuffle">シャフルのオン・オフ</string>
|
||||||
<string name="desc_skip_next">次の曲にスキップ</string>
|
<string name="desc_skip_next">次の曲にスキップ</string>
|
||||||
<string name="desc_shuffle_all">すべての曲をシャフル</string>
|
|
||||||
<string name="fmt_sample_rate">%d ヘルツ</string>
|
<string name="fmt_sample_rate">%d ヘルツ</string>
|
||||||
<string name="fmt_bitrate">%d kbps</string>
|
<string name="fmt_bitrate">%d kbps</string>
|
||||||
<string name="set_pre_amp_with">タグで調整</string>
|
<string name="set_pre_amp_with">タグで調整</string>
|
||||||
|
|
104
app/src/main/res/values-ka/strings.xml
Normal file
104
app/src/main/res/values-ka/strings.xml
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="lbl_retry">გამეორება</string>
|
||||||
|
<string name="lbl_ep">EP</string>
|
||||||
|
<string name="info_app_desc">მარტივი და სასიამოვნო მუსიკის დამკვრელი Android-სთვის.</string>
|
||||||
|
<string name="lbl_song">სიმღერა</string>
|
||||||
|
<string name="lbl_ep_remix">EP-ის რემიქსი</string>
|
||||||
|
<string name="lbl_indexing">მუსიკის ჩატვირთვა</string>
|
||||||
|
<string name="lbl_songs">სიმღერები</string>
|
||||||
|
<string name="lbl_observing">მუსიკის ბიბლიოთეკის მონიტორინგი</string>
|
||||||
|
<string name="lbl_albums">ალბომები</string>
|
||||||
|
<string name="lbl_eps">EP-ები</string>
|
||||||
|
<string name="lbl_all_songs">ყველა სიმღერა</string>
|
||||||
|
<string name="lbl_album">ალბომი</string>
|
||||||
|
<string name="lbl_music_sources">შეარჩიე საქაღალდეები</string>
|
||||||
|
<string name="lbl_indexer">მუსიკის ჩატვირთვა</string>
|
||||||
|
<string name="lbl_ep_live">პირდაპირი EP</string>
|
||||||
|
<string name="lbl_singles">სინგლები</string>
|
||||||
|
<string name="lbl_single">სინგლი</string>
|
||||||
|
<string name="lbl_album_live">Live ალბომები</string>
|
||||||
|
<string name="lbl_album_remix">Remix ალბომები</string>
|
||||||
|
<string name="lbl_artist">არტისტი</string>
|
||||||
|
<string name="lbl_artists">არტისტები</string>
|
||||||
|
<string name="lbl_genre">ჟანრი</string>
|
||||||
|
<string name="lbl_genres">ჟანრები</string>
|
||||||
|
<string name="lbl_playlist">დასაკრავი სია</string>
|
||||||
|
<string name="lbl_playlists">დასაკრავი სიები</string>
|
||||||
|
<string name="lbl_new_playlist">ახალი დასაკრავი სია</string>
|
||||||
|
<string name="lbl_empty_playlist">ცარიელი დასაკრავი სია</string>
|
||||||
|
<string name="lbl_import">იმპორტი</string>
|
||||||
|
<string name="lbl_export">ექსპორტი</string>
|
||||||
|
<string name="lbl_rename">სახელის გადარქმევა</string>
|
||||||
|
<string name="lbl_imported_playlist">დასაკრავი სია იმპორტირებულია</string>
|
||||||
|
<string name="lbl_import_playlist">დასაკრავი სიის იმპორტი</string>
|
||||||
|
<string name="lbl_export_playlist">დასაკრავი სიის ექსპორტი</string>
|
||||||
|
<string name="lbl_delete">წაშლა</string>
|
||||||
|
<string name="lbl_confirm_delete_playlist">დასაკრავი სიის წაშლა ?</string>
|
||||||
|
<string name="lbl_edit">ჩასწორება</string>
|
||||||
|
<string name="lbl_search">ძებნა</string>
|
||||||
|
<string name="lbl_filter">ფილტრი</string>
|
||||||
|
<string name="lbl_filter_all">ყველა</string>
|
||||||
|
<string name="lbl_name">სახელი</string>
|
||||||
|
<string name="lbl_rename_playlist">დასაკრავი სიის სახელის შეცვლა</string>
|
||||||
|
<string name="lbl_date">თარიღი</string>
|
||||||
|
<string name="lbl_duration">ხანგრძლივობა</string>
|
||||||
|
<string name="lbl_date_added">დამატების თარიღი</string>
|
||||||
|
<string name="lbl_sort">დაალაგე</string>
|
||||||
|
<string name="lbl_song_count">სიმღერების რაოდენობა</string>
|
||||||
|
<string name="lbl_sort_mode">დაალაგე</string>
|
||||||
|
<string name="lbl_sort_asc">ზრდადობით</string>
|
||||||
|
<string name="lbl_sort_dsc">კლებადობით</string>
|
||||||
|
<string name="lbl_sort_direction">მიხედვით</string>
|
||||||
|
<string name="lbl_play">დაკვრა</string>
|
||||||
|
<string name="lbl_playback">ეხლა იკვრება</string>
|
||||||
|
<string name="lbl_play_next">შემდეგი</string>
|
||||||
|
<string name="lbl_playlist_add">დამკვრელი სიაში დამატება</string>
|
||||||
|
<string name="lbl_artist_details">არტისტის ნახვა</string>
|
||||||
|
<string name="lbl_album_details">ალბომის ნახვა</string>
|
||||||
|
<string name="lbl_queue">რიგი</string>
|
||||||
|
<string name="lbl_shuffle">შემთხვევითი მუსიკა</string>
|
||||||
|
<string name="lbl_share">გაზიარება</string>
|
||||||
|
<string name="lbl_format">ფორმატი</string>
|
||||||
|
<string name="lbl_parent_detail">ნახვა</string>
|
||||||
|
<string name="lbl_props">სიმღერის პარამეტრები</string>
|
||||||
|
<string name="lbl_song_detail">პარამეტრების ნახვა</string>
|
||||||
|
<string name="lbl_size">ზომა</string>
|
||||||
|
<string name="lbl_more">მეტი</string>
|
||||||
|
<string name="lbl_cancel">გაუქმება</string>
|
||||||
|
<string name="lbl_save">შენახვა</string>
|
||||||
|
<string name="lbl_version">ვერსია</string>
|
||||||
|
<string name="lbl_about">აპლიკაციის შესახებ</string>
|
||||||
|
<string name="lbl_copied">დაკოპირებულია</string>
|
||||||
|
<string name="lbl_author">ავტორი</string>
|
||||||
|
<string name="lbl_error_info">ინფორმაცია</string>
|
||||||
|
<string name="lbl_feedback">უკუკავშირი</string>
|
||||||
|
<string name="lbl_email">ელექტრონული შეტყობინების გაგზავნა</string>
|
||||||
|
<string name="lbl_donate">დონაცია</string>
|
||||||
|
<string name="lng_indexing">სიმღერების ჩატვირთვა…</string>
|
||||||
|
<string name="lng_queue_added">დაამატე რიგში</string>
|
||||||
|
<string name="lng_playlist_imported">დასაკრავი სია იმპორტირებულია</string>
|
||||||
|
<string name="lng_playlist_renamed">დასაკრავი სიის სახელი შეცვლილია</string>
|
||||||
|
<string name="lng_search_library">ძებნა თქვენს ბიბლიოთეკაში…</string>
|
||||||
|
<string name="lng_empty_albums">ალბომები აქ გამოჩნდება.</string>
|
||||||
|
<string name="lng_empty_artists">არტისტები აქ გამოჩნდება.</string>
|
||||||
|
<string name="set_theme">თემა</string>
|
||||||
|
<string name="set_theme_day">ღია</string>
|
||||||
|
<string name="set_theme_night">მუქი</string>
|
||||||
|
<string name="set_black_mode">შავი თემა</string>
|
||||||
|
<string name="set_action_mode_next">შემდეგზე გადასვლა</string>
|
||||||
|
<string name="set_play_song_from_all">ყველა სიმღერის დაკვრა</string>
|
||||||
|
<string name="lng_playlist_deleted">დასაკრავი სია წაშლილია</string>
|
||||||
|
<string name="lng_playlist_exported">დასაკრავი სია ექსპორტირებულია</string>
|
||||||
|
<string name="lng_playlist_created">დასაკრავი სია შექმნილია</string>
|
||||||
|
<string name="lng_playlist_added">დამატებულია დასაკრავი სიაში</string>
|
||||||
|
<string name="set_theme_auto">ავტომატური</string>
|
||||||
|
<string name="lng_empty_songs">სიმღერები აქ გამოჩნდება.</string>
|
||||||
|
<string name="set_root_title">პარამეტრები</string>
|
||||||
|
<string name="set_accent">ფერები</string>
|
||||||
|
<string name="set_observing">ავტომატური ჩატვირთვა</string>
|
||||||
|
<string name="set_images">სურათები</string>
|
||||||
|
<string name="set_locations">მუსიკის საქაღალდე</string>
|
||||||
|
<string name="set_locations_new">ახალი საქაღალდე</string>
|
||||||
|
<string name="desc_skip_prev">ბოლო სიმღერაზე გადასვლა</string>
|
||||||
|
</resources>
|
|
@ -5,7 +5,6 @@
|
||||||
<string name="lng_widget">음악 재생 제어 및 상태 확인</string>
|
<string name="lng_widget">음악 재생 제어 및 상태 확인</string>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">다시 시도</string>
|
<string name="lbl_retry">다시 시도</string>
|
||||||
<string name="lbl_grant">허용</string>
|
|
||||||
<string name="lbl_genres">장르</string>
|
<string name="lbl_genres">장르</string>
|
||||||
<string name="lbl_artists">아티스트</string>
|
<string name="lbl_artists">아티스트</string>
|
||||||
<string name="lbl_albums">앨범</string>
|
<string name="lbl_albums">앨범</string>
|
||||||
|
@ -40,7 +39,6 @@
|
||||||
<string name="lbl_ok">확인</string>
|
<string name="lbl_ok">확인</string>
|
||||||
<!-- Actual string: Cancel -->
|
<!-- Actual string: Cancel -->
|
||||||
<string name="lbl_cancel">취소</string>
|
<string name="lbl_cancel">취소</string>
|
||||||
<string name="lbl_add">추가</string>
|
|
||||||
<string name="lbl_save">저장</string>
|
<string name="lbl_save">저장</string>
|
||||||
<string name="lbl_about">정보</string>
|
<string name="lbl_about">정보</string>
|
||||||
<string name="lbl_version">버전</string>
|
<string name="lbl_version">버전</string>
|
||||||
|
@ -88,11 +86,8 @@
|
||||||
<string name="set_reindex">음악 새로고침</string>
|
<string name="set_reindex">음악 새로고침</string>
|
||||||
<string name="set_reindex_desc">캐시된 태그를 사용하여 음악 라이브러리를 다시 불러옵니다.</string>
|
<string name="set_reindex_desc">캐시된 태그를 사용하여 음악 라이브러리를 다시 불러옵니다.</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">음악 없음</string>
|
|
||||||
<string name="err_index_failed">음악 불러오기 실패</string>
|
<string name="err_index_failed">음악 불러오기 실패</string>
|
||||||
<string name="err_no_perms">앱에서 음악 라이브러리를 읽을 수 있는 권한이 필요합니다.</string>
|
|
||||||
<string name="err_no_app">이 작업을 처리할 수 있는 앱을 찾을 수 없습니다.</string>
|
<string name="err_no_app">이 작업을 처리할 수 있는 앱을 찾을 수 없습니다.</string>
|
||||||
<string name="err_no_locations">폴더 없음</string>
|
|
||||||
<string name="err_bad_location">지원하지 않는 폴더입니다</string>
|
<string name="err_bad_location">지원하지 않는 폴더입니다</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
<string name="lng_search_library">라이브러리에서 검색…</string>
|
<string name="lng_search_library">라이브러리에서 검색…</string>
|
||||||
|
@ -103,7 +98,6 @@
|
||||||
<string name="desc_skip_prev">마지막 곡으로 건너뛰기</string>
|
<string name="desc_skip_prev">마지막 곡으로 건너뛰기</string>
|
||||||
<string name="desc_change_repeat">반복 방식 변경</string>
|
<string name="desc_change_repeat">반복 방식 변경</string>
|
||||||
<string name="desc_shuffle">무작위 재생 켜기 또는 끄기</string>
|
<string name="desc_shuffle">무작위 재생 켜기 또는 끄기</string>
|
||||||
<string name="desc_shuffle_all">모든 곡 무작위 재생</string>
|
|
||||||
<string name="desc_remove_song">이 곡 제거</string>
|
<string name="desc_remove_song">이 곡 제거</string>
|
||||||
<string name="desc_song_handle">이 곡 이동</string>
|
<string name="desc_song_handle">이 곡 이동</string>
|
||||||
<string name="desc_tab_handle">이 탭 이동</string>
|
<string name="desc_tab_handle">이 탭 이동</string>
|
||||||
|
@ -163,7 +157,6 @@
|
||||||
<string name="lbl_shuffle_shortcut_long">모두 무작위 재생</string>
|
<string name="lbl_shuffle_shortcut_long">모두 무작위 재생</string>
|
||||||
<string name="desc_exit">재생 중지</string>
|
<string name="desc_exit">재생 중지</string>
|
||||||
<string name="cdc_ogg">Ogg 오디오</string>
|
<string name="cdc_ogg">Ogg 오디오</string>
|
||||||
<string name="cdc_mka">Matroska 오디오</string>
|
|
||||||
<string name="fmt_sample_rate">%d Hz</string>
|
<string name="fmt_sample_rate">%d Hz</string>
|
||||||
<string name="lbl_mix">DJ믹스</string>
|
<string name="lbl_mix">DJ믹스</string>
|
||||||
<string name="lbl_compilation_live">라이브 컴필레이션</string>
|
<string name="lbl_compilation_live">라이브 컴필레이션</string>
|
||||||
|
@ -240,7 +233,6 @@
|
||||||
<string name="set_replay_gain">ReplayGain 볼륨 조정</string>
|
<string name="set_replay_gain">ReplayGain 볼륨 조정</string>
|
||||||
<string name="set_audio_desc">사운드 및 재생 동작 구성</string>
|
<string name="set_audio_desc">사운드 및 재생 동작 구성</string>
|
||||||
<string name="set_playback">재생</string>
|
<string name="set_playback">재생</string>
|
||||||
<string name="set_locations_list">폴더</string>
|
|
||||||
<string name="set_ui_desc">앱 테마 및 색상 변경</string>
|
<string name="set_ui_desc">앱 테마 및 색상 변경</string>
|
||||||
<string name="set_music">음악</string>
|
<string name="set_music">음악</string>
|
||||||
<string name="set_library">라이브러리</string>
|
<string name="set_library">라이브러리</string>
|
||||||
|
@ -281,7 +273,6 @@
|
||||||
<string name="lbl_sort_mode">정렬 기준</string>
|
<string name="lbl_sort_mode">정렬 기준</string>
|
||||||
<string name="desc_selection_image">선택 이미지</string>
|
<string name="desc_selection_image">선택 이미지</string>
|
||||||
<string name="lbl_selection">선택</string>
|
<string name="lbl_selection">선택</string>
|
||||||
<string name="lbl_show_error_info">더 보기</string>
|
|
||||||
<string name="lbl_copied">복사했습니다.</string>
|
<string name="lbl_copied">복사했습니다.</string>
|
||||||
<string name="lbl_report">오류 보고</string>
|
<string name="lbl_report">오류 보고</string>
|
||||||
<string name="lbl_error_info">오류 정보</string>
|
<string name="lbl_error_info">오류 정보</string>
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
<string name="lbl_props">Dainos ypatybės</string>
|
<string name="lbl_props">Dainos ypatybės</string>
|
||||||
<string name="lbl_save">Išsaugoti</string>
|
<string name="lbl_save">Išsaugoti</string>
|
||||||
<string name="lbl_about">Apie</string>
|
<string name="lbl_about">Apie</string>
|
||||||
<string name="lbl_add">Pridėti</string>
|
|
||||||
<string name="set_ui">Išvaizda ir pojūtis</string>
|
<string name="set_ui">Išvaizda ir pojūtis</string>
|
||||||
<string name="lbl_format">Formatas</string>
|
<string name="lbl_format">Formatas</string>
|
||||||
<string name="lbl_version">Versija</string>
|
<string name="lbl_version">Versija</string>
|
||||||
|
@ -50,7 +49,6 @@
|
||||||
<string name="lng_widget">Peržiūrėk ir valdyk muzikos įrašo perklausą</string>
|
<string name="lng_widget">Peržiūrėk ir valdyk muzikos įrašo perklausą</string>
|
||||||
<string name="lbl_genres">Žanrai</string>
|
<string name="lbl_genres">Žanrai</string>
|
||||||
<string name="lbl_retry">Pakartoti</string>
|
<string name="lbl_retry">Pakartoti</string>
|
||||||
<string name="lbl_grant">Suteikti</string>
|
|
||||||
<string name="lbl_indexing">Įkeliama muzika</string>
|
<string name="lbl_indexing">Įkeliama muzika</string>
|
||||||
<string name="lng_indexing">Įkeliamas tavo muzikos biblioteka…</string>
|
<string name="lng_indexing">Įkeliamas tavo muzikos biblioteka…</string>
|
||||||
<string name="lbl_library_counts">Bibliotekos statistika</string>
|
<string name="lbl_library_counts">Bibliotekos statistika</string>
|
||||||
|
@ -114,7 +112,6 @@
|
||||||
<string name="lbl_ep_live">Gyvai mini albumas</string>
|
<string name="lbl_ep_live">Gyvai mini albumas</string>
|
||||||
<string name="lbl_ep_remix">Remikso mini albumas</string>
|
<string name="lbl_ep_remix">Remikso mini albumas</string>
|
||||||
<string name="cdc_mp4">MPEG-4 garsas</string>
|
<string name="cdc_mp4">MPEG-4 garsas</string>
|
||||||
<string name="cdc_mka">Matroska garsas</string>
|
|
||||||
<string name="lbl_album_live">Gyvai albumas</string>
|
<string name="lbl_album_live">Gyvai albumas</string>
|
||||||
<string name="lbl_album_remix">Remikso albumas</string>
|
<string name="lbl_album_remix">Remikso albumas</string>
|
||||||
<string name="lbl_live_group">Gyvai</string>
|
<string name="lbl_live_group">Gyvai</string>
|
||||||
|
@ -122,7 +119,6 @@
|
||||||
<string name="cdc_ogg">Ogg garsas</string>
|
<string name="cdc_ogg">Ogg garsas</string>
|
||||||
<string name="lbl_author_name">Aleksandras Keiphartas (angl. Alexander Capehart)</string>
|
<string name="lbl_author_name">Aleksandras Keiphartas (angl. Alexander Capehart)</string>
|
||||||
<string name="set_replay_gain_mode_track">Pageidauti takeliui</string>
|
<string name="set_replay_gain_mode_track">Pageidauti takeliui</string>
|
||||||
<string name="err_no_locations">Nėra aplankų</string>
|
|
||||||
<string name="err_bad_location">Šis aplankas nepalaikomas.</string>
|
<string name="err_bad_location">Šis aplankas nepalaikomas.</string>
|
||||||
<string name="desc_play_pause">Leisti arba pristabdyti</string>
|
<string name="desc_play_pause">Leisti arba pristabdyti</string>
|
||||||
<string name="desc_skip_next">Praleisti į kitą dainą</string>
|
<string name="desc_skip_next">Praleisti į kitą dainą</string>
|
||||||
|
@ -138,7 +134,6 @@
|
||||||
<string name="desc_song_handle">Perkelti šią dainą</string>
|
<string name="desc_song_handle">Perkelti šią dainą</string>
|
||||||
<string name="desc_tab_handle">Perkelti šį skirtuką</string>
|
<string name="desc_tab_handle">Perkelti šį skirtuką</string>
|
||||||
<string name="err_index_failed">Nepavyko įkelti muzikos.</string>
|
<string name="err_index_failed">Nepavyko įkelti muzikos.</string>
|
||||||
<string name="err_no_perms">„Auxio“ reikia leidimo skaityti tavo muzikos biblioteką.</string>
|
|
||||||
<string name="fmt_disc_no">%d diskas</string>
|
<string name="fmt_disc_no">%d diskas</string>
|
||||||
<string name="fmt_db_pos">+%.1f dB</string>
|
<string name="fmt_db_pos">+%.1f dB</string>
|
||||||
<string name="fmt_db_neg">-%.1f dB</string>
|
<string name="fmt_db_neg">-%.1f dB</string>
|
||||||
|
@ -159,7 +154,6 @@
|
||||||
<string name="lng_search_library">Ieškok savo bibliotekoje…</string>
|
<string name="lng_search_library">Ieškok savo bibliotekoje…</string>
|
||||||
<string name="lbl_equalizer">Ekvalaizeris</string>
|
<string name="lbl_equalizer">Ekvalaizeris</string>
|
||||||
<string name="set_observing">Automatinis perkėlimas</string>
|
<string name="set_observing">Automatinis perkėlimas</string>
|
||||||
<string name="err_no_music">Muzika nerasta.</string>
|
|
||||||
<string name="desc_exit">Sustabdyti įrašo perklausą</string>
|
<string name="desc_exit">Sustabdyti įrašo perklausą</string>
|
||||||
<string name="def_track">Nėra takelio</string>
|
<string name="def_track">Nėra takelio</string>
|
||||||
<string name="set_action_mode_next">Praleisti į kitą</string>
|
<string name="set_action_mode_next">Praleisti į kitą</string>
|
||||||
|
@ -179,7 +173,6 @@
|
||||||
<string name="fmt_lib_album_count">Įkelti albumai: %d</string>
|
<string name="fmt_lib_album_count">Įkelti albumai: %d</string>
|
||||||
<string name="fmt_lib_artist_count">Įkelti atlikėjai: %d</string>
|
<string name="fmt_lib_artist_count">Įkelti atlikėjai: %d</string>
|
||||||
<string name="fmt_indexing">Įkėliamas tavo muzikos biblioteka… (%1$d/%2$d)</string>
|
<string name="fmt_indexing">Įkėliamas tavo muzikos biblioteka… (%1$d/%2$d)</string>
|
||||||
<string name="desc_shuffle_all">Maišyti visas dainas</string>
|
|
||||||
<string name="set_personalize">Suasmeninti</string>
|
<string name="set_personalize">Suasmeninti</string>
|
||||||
<string name="set_pre_amp_warning">Įspėjimas: keičiant išankstinį stiprintuvą į didelę teigiamą reikšmę, kai kuriuose garso takeliuose gali atsirasti tarpų.</string>
|
<string name="set_pre_amp_warning">Įspėjimas: keičiant išankstinį stiprintuvą į didelę teigiamą reikšmę, kai kuriuose garso takeliuose gali atsirasti tarpų.</string>
|
||||||
<string name="desc_album_cover">Albumo viršelis %s</string>
|
<string name="desc_album_cover">Albumo viršelis %s</string>
|
||||||
|
@ -245,7 +238,6 @@
|
||||||
<string name="set_images">Vaizdai</string>
|
<string name="set_images">Vaizdai</string>
|
||||||
<string name="set_playback">Įrašo perklausa</string>
|
<string name="set_playback">Įrašo perklausa</string>
|
||||||
<string name="set_replay_gain">Garso normalizavimas</string>
|
<string name="set_replay_gain">Garso normalizavimas</string>
|
||||||
<string name="set_locations_list">Aplankai</string>
|
|
||||||
<string name="lbl_sort_dsc">Mažėjantis</string>
|
<string name="lbl_sort_dsc">Mažėjantis</string>
|
||||||
<string name="set_intelligent_sorting_desc">Teisingai surūšiuok pavadinimus, kurie prasideda skaičiais arba žodžiais, tokiais kaip „the“ (geriausiai veikia su anglų kalbos muzika).</string>
|
<string name="set_intelligent_sorting_desc">Teisingai surūšiuok pavadinimus, kurie prasideda skaičiais arba žodžiais, tokiais kaip „the“ (geriausiai veikia su anglų kalbos muzika).</string>
|
||||||
<string name="set_intelligent_sorting">Išmanusis rūšiavimas</string>
|
<string name="set_intelligent_sorting">Išmanusis rūšiavimas</string>
|
||||||
|
@ -281,7 +273,6 @@
|
||||||
<string name="lbl_selection">Pasirinkimas</string>
|
<string name="lbl_selection">Pasirinkimas</string>
|
||||||
<string name="lbl_error_info">Klaidos informacija</string>
|
<string name="lbl_error_info">Klaidos informacija</string>
|
||||||
<string name="lbl_copied">Nukopijuota</string>
|
<string name="lbl_copied">Nukopijuota</string>
|
||||||
<string name="lbl_show_error_info">Daugiau</string>
|
|
||||||
<string name="lbl_report">Pranešti</string>
|
<string name="lbl_report">Pranešti</string>
|
||||||
<string name="def_album_count">Nėra albumų</string>
|
<string name="def_album_count">Nėra albumų</string>
|
||||||
<string name="lbl_demo">Demo versija</string>
|
<string name="lbl_demo">Demo versija</string>
|
||||||
|
@ -315,4 +306,22 @@
|
||||||
\nĮSPĖJIMAS: būk atsargus (-i) valdant šią paslaugą, jei ją uždarysi ir vėl bandysi naudoti, tikriausiai sutriks programėlė.</string>
|
\nĮSPĖJIMAS: būk atsargus (-i) valdant šią paslaugą, jei ją uždarysi ir vėl bandysi naudoti, tikriausiai sutriks programėlė.</string>
|
||||||
<string name="lbl_start_playback">Paleisti įrašo perklausą</string>
|
<string name="lbl_start_playback">Paleisti įrašo perklausą</string>
|
||||||
<string name="lbl_more">Daugiau</string>
|
<string name="lbl_more">Daugiau</string>
|
||||||
|
<string name="lbl_feedback">Atsiliepimai</string>
|
||||||
|
<string name="lbl_github">Sukurti problemą svetainėje „GitHub“</string>
|
||||||
|
<string name="cnt_mp4">MPEG-4, kuriame yra %s</string>
|
||||||
|
<string name="def_album">Nežinomas albumas</string>
|
||||||
|
<string name="lng_empty_songs">Čia bus rodomos jūsų dainos.</string>
|
||||||
|
<string name="lng_empty_albums">Čia bus rodomi jūsų albumai.</string>
|
||||||
|
<string name="lng_empty_artists">Čia bus rodomi jūsų atlikėjai.</string>
|
||||||
|
<string name="lng_empty_playlists">Čia bus rodomi jūsų grojaraščiai.</string>
|
||||||
|
<string name="lng_empty_genres">Čia bus rodomi jūsų žanrai.</string>
|
||||||
|
<string name="lbl_music_sources">Pasirinkti aplankus</string>
|
||||||
|
<string name="lbl_email">Siųsti el. laišką</string>
|
||||||
|
<string name="set_locations_new">Naujas aplankas</string>
|
||||||
|
<string name="cdc_alac">„Apple“ be nuostolių garso kodekas (ALAC)</string>
|
||||||
|
<string name="cdc_unknown">Nežinomas</string>
|
||||||
|
<string name="set_cover_mode_save_space">Išsaugoti vietos</string>
|
||||||
|
<string name="set_cover_mode_as_is">Kaip yra</string>
|
||||||
|
<string name="set_with_hidden">Įtraukti paslėptus failus</string>
|
||||||
|
<string name="set_with_hidden_desc">Įtraukite garso failus, kurie paslėpti (pvz., .cache)</string>
|
||||||
</resources>
|
</resources>
|
|
@ -3,7 +3,6 @@
|
||||||
<string name="lbl_save">രക്ഷിക്കുക</string>
|
<string name="lbl_save">രക്ഷിക്കുക</string>
|
||||||
<string name="set_behavior">പെരുമാറ്റം</string>
|
<string name="set_behavior">പെരുമാറ്റം</string>
|
||||||
<string name="set_content">ഉള്ളടക്കം</string>
|
<string name="set_content">ഉള്ളടക്കം</string>
|
||||||
<string name="err_no_music">സംഗീതമൊന്നും കണ്ടെത്തിയില്ല</string>
|
|
||||||
<string name="desc_queue_bar">വരി തുറക്കുക</string>
|
<string name="desc_queue_bar">വരി തുറക്കുക</string>
|
||||||
<string name="def_artist">അജ്ഞാത കലാകാരൻ</string>
|
<string name="def_artist">അജ്ഞാത കലാകാരൻ</string>
|
||||||
<string name="clr_grey">ചാരനിറം</string>
|
<string name="clr_grey">ചാരനിറം</string>
|
||||||
|
@ -23,7 +22,6 @@
|
||||||
<string name="lbl_play_next">അടുത്തത് കളിക്കുക</string>
|
<string name="lbl_play_next">അടുത്തത് കളിക്കുക</string>
|
||||||
<string name="lbl_format">രൂപകല്പന</string>
|
<string name="lbl_format">രൂപകല്പന</string>
|
||||||
<string name="lbl_size">വലിപ്പം</string>
|
<string name="lbl_size">വലിപ്പം</string>
|
||||||
<string name="lbl_add">ചേർക്കുക</string>
|
|
||||||
<string name="lbl_ok">ശരി</string>
|
<string name="lbl_ok">ശരി</string>
|
||||||
<string name="lbl_cancel">റദ്ദാക്കുക</string>
|
<string name="lbl_cancel">റദ്ദാക്കുക</string>
|
||||||
<string name="set_theme_day">വെളിച്ചം</string>
|
<string name="set_theme_day">വെളിച്ചം</string>
|
||||||
|
@ -71,7 +69,6 @@
|
||||||
<string name="lbl_indexing">സംഗീതം ലോഡ് ചെയ്യുന്നു</string>
|
<string name="lbl_indexing">സംഗീതം ലോഡ് ചെയ്യുന്നു</string>
|
||||||
<string name="lbl_observing">സംഗീത ഗ്രന്ഥശാല നിരീക്ഷിക്കുന്നു</string>
|
<string name="lbl_observing">സംഗീത ഗ്രന്ഥശാല നിരീക്ഷിക്കുന്നു</string>
|
||||||
<string name="lbl_retry">വീണ്ടും ശ്രമിക്കുക</string>
|
<string name="lbl_retry">വീണ്ടും ശ്രമിക്കുക</string>
|
||||||
<string name="lbl_grant">അനുവദിക്കുക</string>
|
|
||||||
<string name="lbl_songs">ഗാനങ്ങൾ</string>
|
<string name="lbl_songs">ഗാനങ്ങൾ</string>
|
||||||
<string name="lbl_song_count">പാട്ടുകളുടെ എണ്ണം</string>
|
<string name="lbl_song_count">പാട്ടുകളുടെ എണ്ണം</string>
|
||||||
<string name="lbl_date_added">തീയതി ചേർത്തു</string>
|
<string name="lbl_date_added">തീയതി ചേർത്തു</string>
|
||||||
|
|
|
@ -109,7 +109,6 @@
|
||||||
<string name="fmt_lib_song_count">Spor innlastet: %d</string>
|
<string name="fmt_lib_song_count">Spor innlastet: %d</string>
|
||||||
<string name="lbl_date">Dato</string>
|
<string name="lbl_date">Dato</string>
|
||||||
<string name="set_ui_desc">Endre drakten og programfargene</string>
|
<string name="set_ui_desc">Endre drakten og programfargene</string>
|
||||||
<string name="set_locations_list">Mapper</string>
|
|
||||||
<string name="clr_yellow">Gul</string>
|
<string name="clr_yellow">Gul</string>
|
||||||
<string name="set_intelligent_sorting">Intelligent sortering</string>
|
<string name="set_intelligent_sorting">Intelligent sortering</string>
|
||||||
<string name="lbl_rename">Gi nytt navn</string>
|
<string name="lbl_rename">Gi nytt navn</string>
|
||||||
|
@ -119,7 +118,6 @@
|
||||||
<string name="lbl_version">Versjon</string>
|
<string name="lbl_version">Versjon</string>
|
||||||
<string name="lbl_wiki">Wiki</string>
|
<string name="lbl_wiki">Wiki</string>
|
||||||
<string name="lbl_reset">Tilbakestill</string>
|
<string name="lbl_reset">Tilbakestill</string>
|
||||||
<string name="lbl_add">Legg til</string>
|
|
||||||
<string name="set_accent">Fargedrakt</string>
|
<string name="set_accent">Fargedrakt</string>
|
||||||
<string name="set_black_mode">Svart drakt</string>
|
<string name="set_black_mode">Svart drakt</string>
|
||||||
<string name="set_black_mode_desc">Bruk en helsvart mørk drakt</string>
|
<string name="set_black_mode_desc">Bruk en helsvart mørk drakt</string>
|
||||||
|
@ -136,7 +134,6 @@
|
||||||
<string name="set_hide_collaborators_desc">Vis kun artister som er kreditert direkte på album (fungerer best med velmerkede bibliotek)</string>
|
<string name="set_hide_collaborators_desc">Vis kun artister som er kreditert direkte på album (fungerer best med velmerkede bibliotek)</string>
|
||||||
<string name="set_rescan">Reskann musikk</string>
|
<string name="set_rescan">Reskann musikk</string>
|
||||||
<string name="set_reindex_desc">Last inn musikkbiblioteket igjen, ved bruk av hurtiglagrede etiketter når mulig</string>
|
<string name="set_reindex_desc">Last inn musikkbiblioteket igjen, ved bruk av hurtiglagrede etiketter når mulig</string>
|
||||||
<string name="err_no_locations">Ingen mapper</string>
|
|
||||||
<string name="fmt_lib_album_count">Album innlastet: %d</string>
|
<string name="fmt_lib_album_count">Album innlastet: %d</string>
|
||||||
<string name="lbl_library_counts">Bibliotekstatistikk</string>
|
<string name="lbl_library_counts">Bibliotekstatistikk</string>
|
||||||
<string name="set_cover_mode_off">Av</string>
|
<string name="set_cover_mode_off">Av</string>
|
||||||
|
@ -151,7 +148,6 @@
|
||||||
<string name="err_bad_location">Denne mappen støttes ikke</string>
|
<string name="err_bad_location">Denne mappen støttes ikke</string>
|
||||||
<string name="desc_skip_next">Hopp til neste spor</string>
|
<string name="desc_skip_next">Hopp til neste spor</string>
|
||||||
<string name="desc_skip_prev">Hopp til siste spor</string>
|
<string name="desc_skip_prev">Hopp til siste spor</string>
|
||||||
<string name="desc_shuffle_all">Omstokk alle spor</string>
|
|
||||||
<string name="desc_music_location_delete">Fjern mappe</string>
|
<string name="desc_music_location_delete">Fjern mappe</string>
|
||||||
<string name="def_genre">Ukjent sjanger</string>
|
<string name="def_genre">Ukjent sjanger</string>
|
||||||
<string name="desc_genre_image">Sjangerbilde for %s</string>
|
<string name="desc_genre_image">Sjangerbilde for %s</string>
|
||||||
|
@ -222,7 +218,6 @@
|
||||||
<string name="set_square_covers_desc">Beskjær alle albumomslag til 1:1-sideforhold</string>
|
<string name="set_square_covers_desc">Beskjær alle albumomslag til 1:1-sideforhold</string>
|
||||||
<string name="desc_play_pause">Spill av eller pause</string>
|
<string name="desc_play_pause">Spill av eller pause</string>
|
||||||
<string name="desc_artist_image">Artistbilde for %s</string>
|
<string name="desc_artist_image">Artistbilde for %s</string>
|
||||||
<string name="err_no_perms">Auxio trenger tilgang til å lese musikkbiblioteket ditt</string>
|
|
||||||
<string name="clr_pink">Rosa</string>
|
<string name="clr_pink">Rosa</string>
|
||||||
<string name="clr_grey">Grå</string>
|
<string name="clr_grey">Grå</string>
|
||||||
<string name="fmt_editing">Redigerer %s</string>
|
<string name="fmt_editing">Redigerer %s</string>
|
||||||
|
@ -239,7 +234,6 @@
|
||||||
<string name="lbl_single_live">Live-singel</string>
|
<string name="lbl_single_live">Live-singel</string>
|
||||||
<string name="lbl_indexing">Laster inn musikk</string>
|
<string name="lbl_indexing">Laster inn musikk</string>
|
||||||
<string name="lbl_observing">Holder øye med musikkbiblioteket</string>
|
<string name="lbl_observing">Holder øye med musikkbiblioteket</string>
|
||||||
<string name="lbl_grant">Bevilge</string>
|
|
||||||
<string name="lbl_singles">Singler</string>
|
<string name="lbl_singles">Singler</string>
|
||||||
<string name="lbl_songs">Spor</string>
|
<string name="lbl_songs">Spor</string>
|
||||||
<string name="lbl_album">Album</string>
|
<string name="lbl_album">Album</string>
|
||||||
|
@ -257,8 +251,6 @@
|
||||||
<string name="lng_indexing">Laster inn musikkbiblioteket ditt …</string>
|
<string name="lng_indexing">Laster inn musikkbiblioteket ditt …</string>
|
||||||
<string name="set_play_in_list_with">Ved avspilling fra bibliotek</string>
|
<string name="set_play_in_list_with">Ved avspilling fra bibliotek</string>
|
||||||
<string name="set_play_song_from_artist">Spill fra artist</string>
|
<string name="set_play_song_from_artist">Spill fra artist</string>
|
||||||
<string name="err_no_music">Fant ikke noe musikk</string>
|
|
||||||
<string name="cdc_mka">Matroska-lyd</string>
|
|
||||||
<string name="set_play_song_none">Spill fra vist element</string>
|
<string name="set_play_song_none">Spill fra vist element</string>
|
||||||
<string name="cdc_ogg">OGG-lyd</string>
|
<string name="cdc_ogg">OGG-lyd</string>
|
||||||
<string name="clr_deep_blue">Mørkeblå</string>
|
<string name="clr_deep_blue">Mørkeblå</string>
|
||||||
|
@ -286,7 +278,6 @@
|
||||||
<string name="err_export_failed">Kan ikke eksportere spillelisten til denne filen</string>
|
<string name="err_export_failed">Kan ikke eksportere spillelisten til denne filen</string>
|
||||||
<string name="lbl_demo">Demo</string>
|
<string name="lbl_demo">Demo</string>
|
||||||
<string name="lbl_demos">Demoer</string>
|
<string name="lbl_demos">Demoer</string>
|
||||||
<string name="lbl_show_error_info">Vis mer</string>
|
|
||||||
<string name="lbl_error_info">Feilopplysninger</string>
|
<string name="lbl_error_info">Feilopplysninger</string>
|
||||||
<string name="lbl_copied">Kopiert</string>
|
<string name="lbl_copied">Kopiert</string>
|
||||||
<string name="lbl_replaygain_album">ReplayGain-albumjustering</string>
|
<string name="lbl_replaygain_album">ReplayGain-albumjustering</string>
|
||||||
|
|
65
app/src/main/res/values-ne/strings.xml
Normal file
65
app/src/main/res/values-ne/strings.xml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="lbl_indexer">गीतहरु लोड हुँदै छन्</string>
|
||||||
|
<string name="info_app_desc">एन्डरोइडको लागि एक सहज, विवेकशील गीत बजाउने एप।</string>
|
||||||
|
<string name="lbl_soundtrack">साउन्डट्रयाक</string>
|
||||||
|
<string name="lbl_single">सिङ्गल</string>
|
||||||
|
<string name="lbl_ep_live">लाइभ ईपी</string>
|
||||||
|
<string name="lbl_demos">डेमोहरु</string>
|
||||||
|
<string name="lbl_compilation_remix">रीमिक्स सङ्कलन</string>
|
||||||
|
<string name="lbl_disc">डिस्क</string>
|
||||||
|
<string name="lbl_export_playlist">प्लेलिस्ट एक्सपोर्ट गर्नुहोस्</string>
|
||||||
|
<string name="lbl_filter_all">सबै</string>
|
||||||
|
<string name="lbl_date">मिति</string>
|
||||||
|
<string name="lbl_rename_playlist">प्लेलिस्टको नाम परिवर्तन गर्नुहोस्</string>
|
||||||
|
<string name="lbl_playlists">प्लेलिस्टहरु</string>
|
||||||
|
<string name="lbl_empty_playlist">खाली प्लेलिस्ट</string>
|
||||||
|
<string name="lbl_retry">पुनः प्रयास गर्नुहोस्</string>
|
||||||
|
<string name="lbl_import_playlist">प्लेलिस्ट इम्पोर्ट गर्नुहोस्</string>
|
||||||
|
<string name="lbl_album">एल्बम</string>
|
||||||
|
<string name="lbl_indexing">गीतहरु लोड गर्दै</string>
|
||||||
|
<string name="lbl_observing">सङ्गीत लाइब्रेरी निगरानी गर्दै</string>
|
||||||
|
<string name="lbl_music_sources">फोल्डर छान्नुहोस्</string>
|
||||||
|
<string name="lbl_songs">गीतहरु</string>
|
||||||
|
<string name="lbl_song">गीत</string>
|
||||||
|
<string name="lbl_all_songs">सबै गीत</string>
|
||||||
|
<string name="lbl_album_live">लाइभ एल्बम</string>
|
||||||
|
<string name="lbl_album_remix">रीमिक्स एल्बम</string>
|
||||||
|
<string name="lbl_eps">ईपीहरु</string>
|
||||||
|
<string name="lbl_ep">ईपी</string>
|
||||||
|
<string name="lbl_ep_remix">रीमिक्स ईपी</string>
|
||||||
|
<string name="lbl_singles">सिङ्गलहरु</string>
|
||||||
|
<string name="lbl_single_live">लाइभ सिङ्गल</string>
|
||||||
|
<string name="lbl_compilations">सङ्कलनहरु</string>
|
||||||
|
<string name="lbl_compilation_live">लाइभ सङ्कलन</string>
|
||||||
|
<string name="lbl_soundtracks">साउन्डट्रयाकहरु</string>
|
||||||
|
<string name="lbl_mixtapes">मिक्सटेपहरु</string>
|
||||||
|
<string name="lbl_mixtape">मिक्सटेप</string>
|
||||||
|
<string name="lbl_demo">डेमो</string>
|
||||||
|
<string name="lbl_mixes">डिजे मिक्सहरु</string>
|
||||||
|
<string name="lbl_live_group">लाइभ</string>
|
||||||
|
<string name="lbl_remix_group">रीमिक्सहरु</string>
|
||||||
|
<string name="lbl_appears_on">यीमा देखिन्छन्</string>
|
||||||
|
<string name="lbl_artist">कलाकार</string>
|
||||||
|
<string name="lbl_artists">कलाकारहरु</string>
|
||||||
|
<string name="lbl_genre">विधा</string>
|
||||||
|
<string name="lbl_genres">विधाहरु</string>
|
||||||
|
<string name="lbl_playlist">प्लेलिस्ट</string>
|
||||||
|
<string name="lbl_new_playlist">नयाँ प्लेलिस्ट</string>
|
||||||
|
<string name="lbl_imported_playlist">इम्पोर्ट गरिएको प्लेलिस्ट</string>
|
||||||
|
<string name="lbl_import">इम्पोर्ट गर्नुहोस्</string>
|
||||||
|
<string name="lbl_export">एक्सपोर्ट गर्नुहोस्</string>
|
||||||
|
<string name="lbl_rename">नाम परिवर्तन गर्नुहोस्</string>
|
||||||
|
<string name="lbl_delete">हटाउनुहोस्</string>
|
||||||
|
<string name="lbl_confirm_delete_playlist">साँचै प्लेलिस्ट हटाउने?</string>
|
||||||
|
<string name="lbl_edit">सम्पादन गर्नुहोस्</string>
|
||||||
|
<string name="lbl_search">खोज्नुहोस्</string>
|
||||||
|
<string name="lbl_duration">अवधि</string>
|
||||||
|
<string name="lbl_song_count">गीतको सङ्ख्या</string>
|
||||||
|
<string name="lbl_mix">डिजे मिक्स</string>
|
||||||
|
<string name="lbl_name">नाम</string>
|
||||||
|
<string name="lbl_filter">छान्नुहोस्</string>
|
||||||
|
<string name="lbl_albums">एल्बमहरु</string>
|
||||||
|
<string name="lbl_single_remix">रीमिक्स सिङ्गल</string>
|
||||||
|
<string name="lbl_compilation">सङ्कलन</string>
|
||||||
|
</resources>
|
File diff suppressed because it is too large
Load diff
|
@ -4,7 +4,6 @@
|
||||||
<string name="info_app_desc">Een eenvoudige, rationele muziekspeler voor Android.</string>
|
<string name="info_app_desc">Een eenvoudige, rationele muziekspeler voor Android.</string>
|
||||||
<!-- Label Namespace | Static Labels -->
|
<!-- Label Namespace | Static Labels -->
|
||||||
<string name="lbl_retry">Probeer opnieuw</string>
|
<string name="lbl_retry">Probeer opnieuw</string>
|
||||||
<string name="lbl_grant">Sta toe</string>
|
|
||||||
<string name="lbl_genres">Genres</string>
|
<string name="lbl_genres">Genres</string>
|
||||||
<string name="lbl_artists">Artiesten</string>
|
<string name="lbl_artists">Artiesten</string>
|
||||||
<string name="lbl_albums">Albums</string>
|
<string name="lbl_albums">Albums</string>
|
||||||
|
@ -27,9 +26,7 @@
|
||||||
<string name="lng_queue_added">Toegevoegd aan wachtrij</string>
|
<string name="lng_queue_added">Toegevoegd aan wachtrij</string>
|
||||||
<string name="lbl_artist_details">Ga naar artiest</string>
|
<string name="lbl_artist_details">Ga naar artiest</string>
|
||||||
<string name="lbl_album_details">Ga naar album</string>
|
<string name="lbl_album_details">Ga naar album</string>
|
||||||
<string name="lbl_add">Voeg toe</string>
|
|
||||||
<string name="lbl_save">Bewaar</string>
|
<string name="lbl_save">Bewaar</string>
|
||||||
<string name="err_no_locations">Geen mappen</string>
|
|
||||||
<string name="lbl_about">Over</string>
|
<string name="lbl_about">Over</string>
|
||||||
<string name="lbl_version">Versie</string>
|
<string name="lbl_version">Versie</string>
|
||||||
<string name="lbl_code">Broncode</string>
|
<string name="lbl_code">Broncode</string>
|
||||||
|
@ -54,9 +51,7 @@
|
||||||
<string name="set_rewind_prev_desc">Terugspoelen voor het overslaan van het vorige nummer</string>
|
<string name="set_rewind_prev_desc">Terugspoelen voor het overslaan van het vorige nummer</string>
|
||||||
<string name="set_content">Inhoud</string>
|
<string name="set_content">Inhoud</string>
|
||||||
<!-- Error Namespace | Error Labels -->
|
<!-- Error Namespace | Error Labels -->
|
||||||
<string name="err_no_music">Geen muziek aangetroffen</string>
|
|
||||||
<string name="err_index_failed">Laden van muziek mislukt</string>
|
<string name="err_index_failed">Laden van muziek mislukt</string>
|
||||||
<string name="err_no_perms">Auxio heeft toestemming nodig om uw muziekbibliotheek te lezen</string>
|
|
||||||
<string name="err_no_app">Geen app gevonden die deze taak kan uitvoeren</string>
|
<string name="err_no_app">Geen app gevonden die deze taak kan uitvoeren</string>
|
||||||
<string name="err_bad_location">Deze map wordt niet ondersteund</string>
|
<string name="err_bad_location">Deze map wordt niet ondersteund</string>
|
||||||
<!-- Hint Namespace | EditText Hints -->
|
<!-- Hint Namespace | EditText Hints -->
|
||||||
|
@ -133,7 +128,6 @@
|
||||||
<string name="desc_shuffle">Schakel shuffle aan of uit</string>
|
<string name="desc_shuffle">Schakel shuffle aan of uit</string>
|
||||||
<string name="set_reindex_desc">Laad de muziekbibliotheek opnieuw, indien mogelijk met behulp van gecashte tags</string>
|
<string name="set_reindex_desc">Laad de muziekbibliotheek opnieuw, indien mogelijk met behulp van gecashte tags</string>
|
||||||
<string name="fmt_indexing">Uw muziekbibliotheek wordt geladen… (%1$d/%2$d)</string>
|
<string name="fmt_indexing">Uw muziekbibliotheek wordt geladen… (%1$d/%2$d)</string>
|
||||||
<string name="desc_shuffle_all">Shuffle alle nummers</string>
|
|
||||||
<string name="set_repeat_pause_desc">Pauze wanneer een nummer wordt herhaald</string>
|
<string name="set_repeat_pause_desc">Pauze wanneer een nummer wordt herhaald</string>
|
||||||
<string name="set_reindex">Muziek opnieuw laden</string>
|
<string name="set_reindex">Muziek opnieuw laden</string>
|
||||||
<string name="set_pre_amp_with">Aanpassing met tags</string>
|
<string name="set_pre_amp_with">Aanpassing met tags</string>
|
||||||
|
@ -158,7 +152,6 @@
|
||||||
<string name="cdc_mp3">MPEG-1 audio</string>
|
<string name="cdc_mp3">MPEG-1 audio</string>
|
||||||
<string name="cdc_mp4">MPEG-4 audio</string>
|
<string name="cdc_mp4">MPEG-4 audio</string>
|
||||||
<string name="cdc_ogg">Ogg audio</string>
|
<string name="cdc_ogg">Ogg audio</string>
|
||||||
<string name="cdc_mka">Matroska audio</string>
|
|
||||||
<string name="fmt_lib_album_count">Albums geladen: %d</string>
|
<string name="fmt_lib_album_count">Albums geladen: %d</string>
|
||||||
<string name="fmt_lib_artist_count">Artiesten geladen: %d</string>
|
<string name="fmt_lib_artist_count">Artiesten geladen: %d</string>
|
||||||
<string name="fmt_lib_genre_count">Genres geladen: %d</string>
|
<string name="fmt_lib_genre_count">Genres geladen: %d</string>
|
||||||
|
@ -218,7 +211,6 @@
|
||||||
<string name="lbl_rename_playlist">Hernoem afspeellijst</string>
|
<string name="lbl_rename_playlist">Hernoem afspeellijst</string>
|
||||||
<string name="lbl_confirm_delete_playlist">Verwijder afspeellijst?</string>
|
<string name="lbl_confirm_delete_playlist">Verwijder afspeellijst?</string>
|
||||||
<string name="set_action_mode_repeat">Herhaalmodus</string>
|
<string name="set_action_mode_repeat">Herhaalmodus</string>
|
||||||
<string name="set_locations_list">Mappen</string>
|
|
||||||
<string name="desc_queue_bar">Open de wachtrij</string>
|
<string name="desc_queue_bar">Open de wachtrij</string>
|
||||||
<string name="fmt_deletion_info">%s verwijderen\? Dit kan niet ongedaan worden gemaakt.</string>
|
<string name="fmt_deletion_info">%s verwijderen\? Dit kan niet ongedaan worden gemaakt.</string>
|
||||||
<string name="set_cover_mode_off">Uit</string>
|
<string name="set_cover_mode_off">Uit</string>
|
||||||
|
@ -282,7 +274,6 @@
|
||||||
<string name="lbl_demo">Demo</string>
|
<string name="lbl_demo">Demo</string>
|
||||||
<string name="lbl_demos">Demo\'s</string>
|
<string name="lbl_demos">Demo\'s</string>
|
||||||
<string name="lbl_sort_mode">Sorteer op</string>
|
<string name="lbl_sort_mode">Sorteer op</string>
|
||||||
<string name="lbl_show_error_info">Meer</string>
|
|
||||||
<string name="lbl_sort_direction">Richting</string>
|
<string name="lbl_sort_direction">Richting</string>
|
||||||
<string name="lbl_replaygain_track">ReplayGain spoor aanpassing</string>
|
<string name="lbl_replaygain_track">ReplayGain spoor aanpassing</string>
|
||||||
<string name="lbl_replaygain_album">ReplayGain album aanpassing</string>
|
<string name="lbl_replaygain_album">ReplayGain album aanpassing</string>
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
<string name="lbl_shuffle_shortcut_long">Bland alle</string>
|
<string name="lbl_shuffle_shortcut_long">Bland alle</string>
|
||||||
<string name="lbl_ok">OK</string>
|
<string name="lbl_ok">OK</string>
|
||||||
<string name="lbl_start_playback">Begynn avspeling</string>
|
<string name="lbl_start_playback">Begynn avspeling</string>
|
||||||
<string name="lbl_add">Legg til</string>
|
|
||||||
<string name="lbl_path_style_absolute">Absolutt</string>
|
<string name="lbl_path_style_absolute">Absolutt</string>
|
||||||
<string name="lbl_save">Lagre</string>
|
<string name="lbl_save">Lagre</string>
|
||||||
<string name="lbl_code">Kjeldekode</string>
|
<string name="lbl_code">Kjeldekode</string>
|
||||||
|
@ -24,7 +23,6 @@
|
||||||
<string name="info_app_desc">Ein enkel, rasjonell musikkspillar for Android.</string>
|
<string name="info_app_desc">Ein enkel, rasjonell musikkspillar for Android.</string>
|
||||||
<string name="lbl_indexer">Musikk vert lasta inn</string>
|
<string name="lbl_indexer">Musikk vert lasta inn</string>
|
||||||
<string name="lbl_observing">Held auge med musikkbiblioteket</string>
|
<string name="lbl_observing">Held auge med musikkbiblioteket</string>
|
||||||
<string name="lbl_grant">Løyv</string>
|
|
||||||
<string name="lbl_songs">Spor</string>
|
<string name="lbl_songs">Spor</string>
|
||||||
<string name="lbl_song">Spor</string>
|
<string name="lbl_song">Spor</string>
|
||||||
<string name="lbl_all_songs">Alle spor</string>
|
<string name="lbl_all_songs">Alle spor</string>
|
||||||
|
@ -89,7 +87,6 @@
|
||||||
<string name="lbl_author_name">Utvikla av Alexander Capehart</string>
|
<string name="lbl_author_name">Utvikla av Alexander Capehart</string>
|
||||||
<string name="lbl_indexing">Lastar inn musikk</string>
|
<string name="lbl_indexing">Lastar inn musikk</string>
|
||||||
<string name="lbl_retry">Prøv igjen</string>
|
<string name="lbl_retry">Prøv igjen</string>
|
||||||
<string name="lbl_show_error_info">Syn meir</string>
|
|
||||||
<string name="lbl_single_live">Live-singel</string>
|
<string name="lbl_single_live">Live-singel</string>
|
||||||
<string name="lbl_soundtrack">Ljodspor</string>
|
<string name="lbl_soundtrack">Ljodspor</string>
|
||||||
<string name="lbl_album_live">Live-album</string>
|
<string name="lbl_album_live">Live-album</string>
|
||||||
|
@ -187,7 +184,6 @@
|
||||||
<string name="set_pre_amp_without">Justering utan etikettar</string>
|
<string name="set_pre_amp_without">Justering utan etikettar</string>
|
||||||
<string name="set_library">Bibliotek</string>
|
<string name="set_library">Bibliotek</string>
|
||||||
<string name="set_locations_desc">Handsam kvar musikk skal lastast inn ifrå</string>
|
<string name="set_locations_desc">Handsam kvar musikk skal lastast inn ifrå</string>
|
||||||
<string name="set_locations_list">Mapper</string>
|
|
||||||
<string name="set_reindex">Gjenoppfrisk musikk</string>
|
<string name="set_reindex">Gjenoppfrisk musikk</string>
|
||||||
<string name="err_import_failed">Kan ikkje importere ei speleliste frå denne fila</string>
|
<string name="err_import_failed">Kan ikkje importere ei speleliste frå denne fila</string>
|
||||||
<string name="desc_skip_next">Hopp til neste spor</string>
|
<string name="desc_skip_next">Hopp til neste spor</string>
|
||||||
|
@ -211,7 +207,7 @@
|
||||||
<string name="fmt_def_playlist">Speleliste %d</string>
|
<string name="fmt_def_playlist">Speleliste %d</string>
|
||||||
<string name="fmt_indexing">Lastar inn musikkbiblioteket ditt… (%1$d/%2$d)</string>
|
<string name="fmt_indexing">Lastar inn musikkbiblioteket ditt… (%1$d/%2$d)</string>
|
||||||
<string name="fmt_deletion_info">Slett %s for godt? Dette kan ikkje angrast.</string>
|
<string name="fmt_deletion_info">Slett %s for godt? Dette kan ikkje angrast.</string>
|
||||||
<string name="fmt_lib_song_count">Innlasta spår: %d</string>
|
<string name="fmt_lib_song_count">Innlasta spor: %d</string>
|
||||||
<string name="fmt_lib_genre_count">Innlasta sjangrar: %d</string>
|
<string name="fmt_lib_genre_count">Innlasta sjangrar: %d</string>
|
||||||
<plurals name="fmt_song_count">
|
<plurals name="fmt_song_count">
|
||||||
<item quantity="one">%d spor</item>
|
<item quantity="one">%d spor</item>
|
||||||
|
@ -257,10 +253,8 @@
|
||||||
<string name="set_pre_amp_warning">Åtvaring: Å endre forforsterkninga til høge positive verdier, kan forårsake forvrengning ved høge ljodtrykk på nokre spor.</string>
|
<string name="set_pre_amp_warning">Åtvaring: Å endre forforsterkninga til høge positive verdier, kan forårsake forvrengning ved høge ljodtrykk på nokre spor.</string>
|
||||||
<string name="set_locations">Musikkmapper</string>
|
<string name="set_locations">Musikkmapper</string>
|
||||||
<string name="set_reindex_desc">Last inn musikkbiblioteket på nytt og bruk hurtiglagra etikettar når mogleg</string>
|
<string name="set_reindex_desc">Last inn musikkbiblioteket på nytt og bruk hurtiglagra etikettar når mogleg</string>
|
||||||
<string name="err_no_music">Fann ikkje musikk</string>
|
|
||||||
<string name="set_rescan">Skann musikk på nytt</string>
|
<string name="set_rescan">Skann musikk på nytt</string>
|
||||||
<string name="set_rescan_desc">Tøm etiketthurtiglager og last inn heile musikkbiblioteket på nytt (tregare, men meir fullstendig)</string>
|
<string name="set_rescan_desc">Tøm etiketthurtiglager og last inn heile musikkbiblioteket på nytt (tregare, men meir fullstendig)</string>
|
||||||
<string name="err_no_perms">Auxio treng løyve til å lesa musikkbiblioteket ditt</string>
|
|
||||||
<string name="desc_artist_image">Artistbilete for %s</string>
|
<string name="desc_artist_image">Artistbilete for %s</string>
|
||||||
<string name="err_index_failed">Klarte ikkje å laste inn musikk</string>
|
<string name="err_index_failed">Klarte ikkje å laste inn musikk</string>
|
||||||
<string name="err_export_failed">Kan ikkje eksportere spelelista til denne fila</string>
|
<string name="err_export_failed">Kan ikkje eksportere spelelista til denne fila</string>
|
||||||
|
@ -269,8 +263,6 @@
|
||||||
<string name="desc_play_pause">Spel av eller pause</string>
|
<string name="desc_play_pause">Spel av eller pause</string>
|
||||||
<string name="desc_auxio_icon">Auxio-ikon</string>
|
<string name="desc_auxio_icon">Auxio-ikon</string>
|
||||||
<string name="desc_track_number">Spor %d</string>
|
<string name="desc_track_number">Spor %d</string>
|
||||||
<string name="err_no_locations">Ingen mapper</string>
|
|
||||||
<string name="desc_shuffle_all">Bland alle spor</string>
|
|
||||||
<string name="desc_remove_song">Fjern dette sporet</string>
|
<string name="desc_remove_song">Fjern dette sporet</string>
|
||||||
<string name="desc_song_handle">Flytt dette sporet</string>
|
<string name="desc_song_handle">Flytt dette sporet</string>
|
||||||
<string name="desc_skip_prev">Hopp til siste spor</string>
|
<string name="desc_skip_prev">Hopp til siste spor</string>
|
||||||
|
@ -289,7 +281,6 @@
|
||||||
<string name="clr_yellow">Gul</string>
|
<string name="clr_yellow">Gul</string>
|
||||||
<string name="clr_orange">Oransje</string>
|
<string name="clr_orange">Oransje</string>
|
||||||
<string name="def_disc">Inga plate</string>
|
<string name="def_disc">Inga plate</string>
|
||||||
<string name="cdc_mka">Matroska-ljod</string>
|
|
||||||
<string name="def_playback">Ingen musik vert spelt av</string>
|
<string name="def_playback">Ingen musik vert spelt av</string>
|
||||||
<string name="cdc_mp4">MPEG-4-ljod</string>
|
<string name="cdc_mp4">MPEG-4-ljod</string>
|
||||||
<string name="cdc_aac">Avansert audio-koding (AAC)</string>
|
<string name="cdc_aac">Avansert audio-koding (AAC)</string>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="lbl_indexing">سنگیت لوڈ کیتا جا رہا اے</string>
|
<string name="lbl_indexing">سنگیت لوڈ کیتا جا رہا اے</string>
|
||||||
<string name="lbl_retry">مُڑ لوڈ کرو</string>
|
<string name="lbl_retry">مُڑ لوڈ کرو</string>
|
||||||
<string name="lbl_grant">اِجازت دیو</string>
|
|
||||||
<string name="lbl_songs">گیت</string>
|
<string name="lbl_songs">گیت</string>
|
||||||
<string name="lbl_all_songs">سارے گیت</string>
|
<string name="lbl_all_songs">سارے گیت</string>
|
||||||
<string name="lbl_album">البم</string>
|
<string name="lbl_album">البم</string>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue