feat: donation button
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
github: edde746
|
github: edde746
|
||||||
|
liberapay: edde746
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ env:
|
|||||||
SENTRY_DART_DEFINE: ${{ github.repository == 'edde746/plezy' && '--dart-define=ENABLE_SENTRY=true' || '' }}
|
SENTRY_DART_DEFINE: ${{ github.repository == 'edde746/plezy' && '--dart-define=ENABLE_SENTRY=true' || '' }}
|
||||||
GIT_COMMIT_DART_DEFINE: --dart-define=GIT_COMMIT=${{ github.sha }}
|
GIT_COMMIT_DART_DEFINE: --dart-define=GIT_COMMIT=${{ github.sha }}
|
||||||
SENTRY_ENV_DART_DEFINE: --dart-define=SENTRY_ENVIRONMENT=github
|
SENTRY_ENV_DART_DEFINE: --dart-define=SENTRY_ENVIRONMENT=github
|
||||||
|
DONATIONS_DART_DEFINE: --dart-define=ENABLE_DONATIONS=true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-android:
|
build-android:
|
||||||
@@ -63,7 +64,7 @@ jobs:
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
- name: Build APKs
|
- name: Build APKs
|
||||||
run: flutter build apk --release --split-per-abi --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build apk --release --split-per-abi --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
|
|
||||||
- name: Clean up keystore
|
- name: Clean up keystore
|
||||||
if: always()
|
if: always()
|
||||||
@@ -131,7 +132,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build iOS (no codesign)
|
- name: Build iOS (no codesign)
|
||||||
run: flutter build ios --release --no-codesign --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build ios --release --no-codesign --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
|
|
||||||
- name: Create IPA
|
- name: Create IPA
|
||||||
run: |
|
run: |
|
||||||
@@ -189,7 +190,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build macOS
|
- name: Build macOS
|
||||||
run: flutter build macos --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build macos --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
|
|
||||||
- name: Import Code Signing Certificate
|
- name: Import Code Signing Certificate
|
||||||
env:
|
env:
|
||||||
@@ -340,7 +341,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build Windows x64
|
- name: Build Windows x64
|
||||||
run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
|
|
||||||
- name: Upload x64 build
|
- name: Upload x64 build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -377,7 +378,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build Windows arm64
|
- name: Build Windows arm64
|
||||||
run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build windows --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
|
|
||||||
- name: Upload arm64 build
|
- name: Upload arm64 build
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -521,7 +522,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build Linux x64
|
- name: Build Linux x64
|
||||||
run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
env:
|
env:
|
||||||
PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/x86_64-linux-gnu/pkgconfig
|
PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
@@ -629,7 +630,7 @@ jobs:
|
|||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Build Linux arm64
|
- name: Build Linux arm64
|
||||||
run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }}
|
run: flutter build linux --release --dart-define=ENABLE_UPDATE_CHECK=true ${{ env.SENTRY_DART_DEFINE }} ${{ env.GIT_COMMIT_DART_DEFINE }} ${{ env.SENTRY_ENV_DART_DEFINE }} ${{ env.DONATIONS_DART_DEFINE }}
|
||||||
env:
|
env:
|
||||||
PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/aarch64-linux-gnu/pkgconfig
|
PKG_CONFIG_PATH: ${{ github.workspace }}/libmpv-prefix/lib/pkgconfig:${{ github.workspace }}/libmpv-prefix/lib/aarch64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Indstillinger",
|
"title": "Indstillinger",
|
||||||
|
"supportDeveloper": "Støt Plezy",
|
||||||
|
"supportDeveloperDescription": "Doner via Liberapay for at finansiere udviklingen",
|
||||||
"language": "Sprog",
|
"language": "Sprog",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Udseende",
|
"appearance": "Udseende",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Einstellungen",
|
"title": "Einstellungen",
|
||||||
|
"supportDeveloper": "Plezy unterstützen",
|
||||||
|
"supportDeveloperDescription": "Per Liberapay spenden, um die Entwicklung zu fördern",
|
||||||
"language": "Sprache",
|
"language": "Sprache",
|
||||||
"theme": "Design",
|
"theme": "Design",
|
||||||
"appearance": "Darstellung",
|
"appearance": "Darstellung",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Settings",
|
"title": "Settings",
|
||||||
|
"supportDeveloper": "Support Plezy",
|
||||||
|
"supportDeveloperDescription": "Donate via Liberapay to fund development",
|
||||||
"language": "Language",
|
"language": "Language",
|
||||||
"theme": "Theme",
|
"theme": "Theme",
|
||||||
"appearance": "Appearance",
|
"appearance": "Appearance",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Configuración",
|
"title": "Configuración",
|
||||||
|
"supportDeveloper": "Apoya Plezy",
|
||||||
|
"supportDeveloperDescription": "Dona vía Liberapay para financiar el desarrollo",
|
||||||
"language": "Idioma",
|
"language": "Idioma",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Apariencia",
|
"appearance": "Apariencia",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Paramètres",
|
"title": "Paramètres",
|
||||||
|
"supportDeveloper": "Soutenir Plezy",
|
||||||
|
"supportDeveloperDescription": "Faites un don via Liberapay pour financer le développement",
|
||||||
"language": "Langue",
|
"language": "Langue",
|
||||||
"theme": "Thème",
|
"theme": "Thème",
|
||||||
"appearance": "Apparence",
|
"appearance": "Apparence",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Impostazioni",
|
"title": "Impostazioni",
|
||||||
|
"supportDeveloper": "Supporta Plezy",
|
||||||
|
"supportDeveloperDescription": "Dona tramite Liberapay per finanziare lo sviluppo",
|
||||||
"language": "Lingua",
|
"language": "Lingua",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Aspetto",
|
"appearance": "Aspetto",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "設定",
|
"title": "設定",
|
||||||
|
"supportDeveloper": "Plezy を支援",
|
||||||
|
"supportDeveloperDescription": "Liberapay で寄付して開発を支援",
|
||||||
"language": "言語",
|
"language": "言語",
|
||||||
"theme": "テーマ",
|
"theme": "テーマ",
|
||||||
"appearance": "外観",
|
"appearance": "外観",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "설정",
|
"title": "설정",
|
||||||
|
"supportDeveloper": "Plezy 후원하기",
|
||||||
|
"supportDeveloperDescription": "Liberapay로 후원하여 개발 지원",
|
||||||
"language": "언어",
|
"language": "언어",
|
||||||
"theme": "테마",
|
"theme": "테마",
|
||||||
"appearance": "외관",
|
"appearance": "외관",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Innstillinger",
|
"title": "Innstillinger",
|
||||||
|
"supportDeveloper": "Støtt Plezy",
|
||||||
|
"supportDeveloperDescription": "Doner via Liberapay for å finansiere utviklingen",
|
||||||
"language": "Språk",
|
"language": "Språk",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Utseende",
|
"appearance": "Utseende",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Instellingen",
|
"title": "Instellingen",
|
||||||
|
"supportDeveloper": "Steun Plezy",
|
||||||
|
"supportDeveloperDescription": "Doneer via Liberapay om de ontwikkeling te steunen",
|
||||||
"language": "Taal",
|
"language": "Taal",
|
||||||
"theme": "Thema",
|
"theme": "Thema",
|
||||||
"appearance": "Uiterlijk",
|
"appearance": "Uiterlijk",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Ustawienia",
|
"title": "Ustawienia",
|
||||||
|
"supportDeveloper": "Wesprzyj Plezy",
|
||||||
|
"supportDeveloperDescription": "Wspomóż rozwój darowizną na Liberapay",
|
||||||
"language": "Język",
|
"language": "Język",
|
||||||
"theme": "Motyw",
|
"theme": "Motyw",
|
||||||
"appearance": "Wygląd",
|
"appearance": "Wygląd",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Configurações",
|
"title": "Configurações",
|
||||||
|
"supportDeveloper": "Apoie o Plezy",
|
||||||
|
"supportDeveloperDescription": "Doe via Liberapay para financiar o desenvolvimento",
|
||||||
"language": "Idioma",
|
"language": "Idioma",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Aparência",
|
"appearance": "Aparência",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Настройки",
|
"title": "Настройки",
|
||||||
|
"supportDeveloper": "Поддержать Plezy",
|
||||||
|
"supportDeveloperDescription": "Пожертвуйте через Liberapay на развитие",
|
||||||
"language": "Язык",
|
"language": "Язык",
|
||||||
"theme": "Тема",
|
"theme": "Тема",
|
||||||
"appearance": "Внешний вид",
|
"appearance": "Внешний вид",
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
/// To regenerate, run: `dart run slang`
|
/// To regenerate, run: `dart run slang`
|
||||||
///
|
///
|
||||||
/// Locales: 15
|
/// Locales: 15
|
||||||
/// Strings: 13575 (905 per locale)
|
/// Strings: 13605 (907 per locale)
|
||||||
///
|
///
|
||||||
/// Built on 2026-04-19 at 09:09 UTC
|
/// Built on 2026-04-19 at 09:37 UTC
|
||||||
|
|
||||||
// coverage:ignore-file
|
// coverage:ignore-file
|
||||||
// ignore_for_file: type=lint, unused_import
|
// ignore_for_file: type=lint, unused_import
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsDa implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Indstillinger';
|
@override String get title => 'Indstillinger';
|
||||||
|
@override String get supportDeveloper => 'Støt Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Doner via Liberapay for at finansiere udviklingen';
|
||||||
@override String get language => 'Sprog';
|
@override String get language => 'Sprog';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Udseende';
|
@override String get appearance => 'Udseende';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsDa {
|
|||||||
'update.latestVersion' => 'Du har den nyeste version',
|
'update.latestVersion' => 'Du har den nyeste version',
|
||||||
'update.checkFailed' => 'Kunne ikke søge efter opdateringer',
|
'update.checkFailed' => 'Kunne ikke søge efter opdateringer',
|
||||||
'settings.title' => 'Indstillinger',
|
'settings.title' => 'Indstillinger',
|
||||||
|
'settings.supportDeveloper' => 'Støt Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Doner via Liberapay for at finansiere udviklingen',
|
||||||
'settings.language' => 'Sprog',
|
'settings.language' => 'Sprog',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Udseende',
|
'settings.appearance' => 'Udseende',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsDa {
|
|||||||
'libraries.noFoldersFound' => 'Ingen mapper fundet',
|
'libraries.noFoldersFound' => 'Ingen mapper fundet',
|
||||||
'libraries.folders' => 'mapper',
|
'libraries.folders' => 'mapper',
|
||||||
'libraries.tabs.recommended' => 'Anbefalet',
|
'libraries.tabs.recommended' => 'Anbefalet',
|
||||||
'libraries.tabs.browse' => 'Gennemse',
|
|
||||||
'libraries.tabs.collections' => 'Samlinger',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Gennemse',
|
||||||
|
'libraries.tabs.collections' => 'Samlinger',
|
||||||
'libraries.tabs.playlists' => 'Playlister',
|
'libraries.tabs.playlists' => 'Playlister',
|
||||||
'libraries.groupings.title' => 'Gruppering',
|
'libraries.groupings.title' => 'Gruppering',
|
||||||
'libraries.groupings.all' => 'Alle',
|
'libraries.groupings.all' => 'Alle',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsDe implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Einstellungen';
|
@override String get title => 'Einstellungen';
|
||||||
|
@override String get supportDeveloper => 'Plezy unterstützen';
|
||||||
|
@override String get supportDeveloperDescription => 'Per Liberapay spenden, um die Entwicklung zu fördern';
|
||||||
@override String get language => 'Sprache';
|
@override String get language => 'Sprache';
|
||||||
@override String get theme => 'Design';
|
@override String get theme => 'Design';
|
||||||
@override String get appearance => 'Darstellung';
|
@override String get appearance => 'Darstellung';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsDe {
|
|||||||
'update.latestVersion' => 'Aktuellste Version installiert',
|
'update.latestVersion' => 'Aktuellste Version installiert',
|
||||||
'update.checkFailed' => 'Fehler bei der Updateprüfung',
|
'update.checkFailed' => 'Fehler bei der Updateprüfung',
|
||||||
'settings.title' => 'Einstellungen',
|
'settings.title' => 'Einstellungen',
|
||||||
|
'settings.supportDeveloper' => 'Plezy unterstützen',
|
||||||
|
'settings.supportDeveloperDescription' => 'Per Liberapay spenden, um die Entwicklung zu fördern',
|
||||||
'settings.language' => 'Sprache',
|
'settings.language' => 'Sprache',
|
||||||
'settings.theme' => 'Design',
|
'settings.theme' => 'Design',
|
||||||
'settings.appearance' => 'Darstellung',
|
'settings.appearance' => 'Darstellung',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsDe {
|
|||||||
'libraries.noFoldersFound' => 'Keine Ordner gefunden',
|
'libraries.noFoldersFound' => 'Keine Ordner gefunden',
|
||||||
'libraries.folders' => 'Ordner',
|
'libraries.folders' => 'Ordner',
|
||||||
'libraries.tabs.recommended' => 'Empfohlen',
|
'libraries.tabs.recommended' => 'Empfohlen',
|
||||||
'libraries.tabs.browse' => 'Durchsuchen',
|
|
||||||
'libraries.tabs.collections' => 'Sammlungen',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Durchsuchen',
|
||||||
|
'libraries.tabs.collections' => 'Sammlungen',
|
||||||
'libraries.tabs.playlists' => 'Wiedergabelisten',
|
'libraries.tabs.playlists' => 'Wiedergabelisten',
|
||||||
'libraries.groupings.title' => 'Gruppierung',
|
'libraries.groupings.title' => 'Gruppierung',
|
||||||
'libraries.groupings.all' => 'Alle',
|
'libraries.groupings.all' => 'Alle',
|
||||||
|
|||||||
@@ -326,6 +326,12 @@ class TranslationsSettingsEn {
|
|||||||
/// en: 'Settings'
|
/// en: 'Settings'
|
||||||
String get title => 'Settings';
|
String get title => 'Settings';
|
||||||
|
|
||||||
|
/// en: 'Support Plezy'
|
||||||
|
String get supportDeveloper => 'Support Plezy';
|
||||||
|
|
||||||
|
/// en: 'Donate via Liberapay to fund development'
|
||||||
|
String get supportDeveloperDescription => 'Donate via Liberapay to fund development';
|
||||||
|
|
||||||
/// en: 'Language'
|
/// en: 'Language'
|
||||||
String get language => 'Language';
|
String get language => 'Language';
|
||||||
|
|
||||||
@@ -3293,6 +3299,8 @@ extension on Translations {
|
|||||||
'update.latestVersion' => 'You are on the latest version',
|
'update.latestVersion' => 'You are on the latest version',
|
||||||
'update.checkFailed' => 'Failed to check for updates',
|
'update.checkFailed' => 'Failed to check for updates',
|
||||||
'settings.title' => 'Settings',
|
'settings.title' => 'Settings',
|
||||||
|
'settings.supportDeveloper' => 'Support Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Donate via Liberapay to fund development',
|
||||||
'settings.language' => 'Language',
|
'settings.language' => 'Language',
|
||||||
'settings.theme' => 'Theme',
|
'settings.theme' => 'Theme',
|
||||||
'settings.appearance' => 'Appearance',
|
'settings.appearance' => 'Appearance',
|
||||||
@@ -3739,10 +3747,10 @@ extension on Translations {
|
|||||||
'libraries.noFoldersFound' => 'No folders found',
|
'libraries.noFoldersFound' => 'No folders found',
|
||||||
'libraries.folders' => 'folders',
|
'libraries.folders' => 'folders',
|
||||||
'libraries.tabs.recommended' => 'Recommended',
|
'libraries.tabs.recommended' => 'Recommended',
|
||||||
'libraries.tabs.browse' => 'Browse',
|
|
||||||
'libraries.tabs.collections' => 'Collections',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Browse',
|
||||||
|
'libraries.tabs.collections' => 'Collections',
|
||||||
'libraries.tabs.playlists' => 'Playlists',
|
'libraries.tabs.playlists' => 'Playlists',
|
||||||
'libraries.groupings.title' => 'Grouping',
|
'libraries.groupings.title' => 'Grouping',
|
||||||
'libraries.groupings.all' => 'All',
|
'libraries.groupings.all' => 'All',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsEs implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Configuración';
|
@override String get title => 'Configuración';
|
||||||
|
@override String get supportDeveloper => 'Apoya Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Dona vía Liberapay para financiar el desarrollo';
|
||||||
@override String get language => 'Idioma';
|
@override String get language => 'Idioma';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Apariencia';
|
@override String get appearance => 'Apariencia';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsEs {
|
|||||||
'update.latestVersion' => 'Ya estás en la última versión',
|
'update.latestVersion' => 'Ya estás en la última versión',
|
||||||
'update.checkFailed' => 'Error al buscar actualizaciones',
|
'update.checkFailed' => 'Error al buscar actualizaciones',
|
||||||
'settings.title' => 'Configuración',
|
'settings.title' => 'Configuración',
|
||||||
|
'settings.supportDeveloper' => 'Apoya Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Dona vía Liberapay para financiar el desarrollo',
|
||||||
'settings.language' => 'Idioma',
|
'settings.language' => 'Idioma',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Apariencia',
|
'settings.appearance' => 'Apariencia',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsEs {
|
|||||||
'libraries.noFoldersFound' => 'No se encontraron carpetas',
|
'libraries.noFoldersFound' => 'No se encontraron carpetas',
|
||||||
'libraries.folders' => 'carpetas',
|
'libraries.folders' => 'carpetas',
|
||||||
'libraries.tabs.recommended' => 'Recomendado',
|
'libraries.tabs.recommended' => 'Recomendado',
|
||||||
'libraries.tabs.browse' => 'Explorar',
|
|
||||||
'libraries.tabs.collections' => 'Colecciones',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Explorar',
|
||||||
|
'libraries.tabs.collections' => 'Colecciones',
|
||||||
'libraries.tabs.playlists' => 'Listas',
|
'libraries.tabs.playlists' => 'Listas',
|
||||||
'libraries.groupings.title' => 'Agrupación',
|
'libraries.groupings.title' => 'Agrupación',
|
||||||
'libraries.groupings.all' => 'Todo',
|
'libraries.groupings.all' => 'Todo',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsFr implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Paramètres';
|
@override String get title => 'Paramètres';
|
||||||
|
@override String get supportDeveloper => 'Soutenir Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Faites un don via Liberapay pour financer le développement';
|
||||||
@override String get language => 'Langue';
|
@override String get language => 'Langue';
|
||||||
@override String get theme => 'Thème';
|
@override String get theme => 'Thème';
|
||||||
@override String get appearance => 'Apparence';
|
@override String get appearance => 'Apparence';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsFr {
|
|||||||
'update.latestVersion' => 'Vous utilisez la dernière version',
|
'update.latestVersion' => 'Vous utilisez la dernière version',
|
||||||
'update.checkFailed' => 'Échec de la vérification des mises à jour',
|
'update.checkFailed' => 'Échec de la vérification des mises à jour',
|
||||||
'settings.title' => 'Paramètres',
|
'settings.title' => 'Paramètres',
|
||||||
|
'settings.supportDeveloper' => 'Soutenir Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Faites un don via Liberapay pour financer le développement',
|
||||||
'settings.language' => 'Langue',
|
'settings.language' => 'Langue',
|
||||||
'settings.theme' => 'Thème',
|
'settings.theme' => 'Thème',
|
||||||
'settings.appearance' => 'Apparence',
|
'settings.appearance' => 'Apparence',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsFr {
|
|||||||
'libraries.noFoldersFound' => 'Aucun dossier trouvé',
|
'libraries.noFoldersFound' => 'Aucun dossier trouvé',
|
||||||
'libraries.folders' => 'dossiers',
|
'libraries.folders' => 'dossiers',
|
||||||
'libraries.tabs.recommended' => 'Recommandé',
|
'libraries.tabs.recommended' => 'Recommandé',
|
||||||
'libraries.tabs.browse' => 'Parcourir',
|
|
||||||
'libraries.tabs.collections' => 'Collections',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Parcourir',
|
||||||
|
'libraries.tabs.collections' => 'Collections',
|
||||||
'libraries.tabs.playlists' => 'Playlists',
|
'libraries.tabs.playlists' => 'Playlists',
|
||||||
'libraries.groupings.title' => 'Regroupement',
|
'libraries.groupings.title' => 'Regroupement',
|
||||||
'libraries.groupings.all' => 'Tous',
|
'libraries.groupings.all' => 'Tous',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsIt implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Impostazioni';
|
@override String get title => 'Impostazioni';
|
||||||
|
@override String get supportDeveloper => 'Supporta Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Dona tramite Liberapay per finanziare lo sviluppo';
|
||||||
@override String get language => 'Lingua';
|
@override String get language => 'Lingua';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Aspetto';
|
@override String get appearance => 'Aspetto';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsIt {
|
|||||||
'update.latestVersion' => 'La versione installata è l\'ultima disponibile',
|
'update.latestVersion' => 'La versione installata è l\'ultima disponibile',
|
||||||
'update.checkFailed' => 'Impossibile controllare gli aggiornamenti',
|
'update.checkFailed' => 'Impossibile controllare gli aggiornamenti',
|
||||||
'settings.title' => 'Impostazioni',
|
'settings.title' => 'Impostazioni',
|
||||||
|
'settings.supportDeveloper' => 'Supporta Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Dona tramite Liberapay per finanziare lo sviluppo',
|
||||||
'settings.language' => 'Lingua',
|
'settings.language' => 'Lingua',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Aspetto',
|
'settings.appearance' => 'Aspetto',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsIt {
|
|||||||
'libraries.noFoldersFound' => 'Nessuna cartella trovata',
|
'libraries.noFoldersFound' => 'Nessuna cartella trovata',
|
||||||
'libraries.folders' => 'cartelle',
|
'libraries.folders' => 'cartelle',
|
||||||
'libraries.tabs.recommended' => 'Consigliati',
|
'libraries.tabs.recommended' => 'Consigliati',
|
||||||
'libraries.tabs.browse' => 'Esplora',
|
|
||||||
'libraries.tabs.collections' => 'Raccolte',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Esplora',
|
||||||
|
'libraries.tabs.collections' => 'Raccolte',
|
||||||
'libraries.tabs.playlists' => 'Playlist',
|
'libraries.tabs.playlists' => 'Playlist',
|
||||||
'libraries.groupings.title' => 'Raggruppamento',
|
'libraries.groupings.title' => 'Raggruppamento',
|
||||||
'libraries.groupings.all' => 'Tutti',
|
'libraries.groupings.all' => 'Tutti',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsJa implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => '設定';
|
@override String get title => '設定';
|
||||||
|
@override String get supportDeveloper => 'Plezy を支援';
|
||||||
|
@override String get supportDeveloperDescription => 'Liberapay で寄付して開発を支援';
|
||||||
@override String get language => '言語';
|
@override String get language => '言語';
|
||||||
@override String get theme => 'テーマ';
|
@override String get theme => 'テーマ';
|
||||||
@override String get appearance => '外観';
|
@override String get appearance => '外観';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsJa {
|
|||||||
'update.latestVersion' => '最新バージョンです',
|
'update.latestVersion' => '最新バージョンです',
|
||||||
'update.checkFailed' => 'アップデートの確認に失敗しました',
|
'update.checkFailed' => 'アップデートの確認に失敗しました',
|
||||||
'settings.title' => '設定',
|
'settings.title' => '設定',
|
||||||
|
'settings.supportDeveloper' => 'Plezy を支援',
|
||||||
|
'settings.supportDeveloperDescription' => 'Liberapay で寄付して開発を支援',
|
||||||
'settings.language' => '言語',
|
'settings.language' => '言語',
|
||||||
'settings.theme' => 'テーマ',
|
'settings.theme' => 'テーマ',
|
||||||
'settings.appearance' => '外観',
|
'settings.appearance' => '外観',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsJa {
|
|||||||
'libraries.noFoldersFound' => 'フォルダが見つかりません',
|
'libraries.noFoldersFound' => 'フォルダが見つかりません',
|
||||||
'libraries.folders' => 'フォルダ',
|
'libraries.folders' => 'フォルダ',
|
||||||
'libraries.tabs.recommended' => 'おすすめ',
|
'libraries.tabs.recommended' => 'おすすめ',
|
||||||
'libraries.tabs.browse' => 'ブラウズ',
|
|
||||||
'libraries.tabs.collections' => 'コレクション',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'ブラウズ',
|
||||||
|
'libraries.tabs.collections' => 'コレクション',
|
||||||
'libraries.tabs.playlists' => 'プレイリスト',
|
'libraries.tabs.playlists' => 'プレイリスト',
|
||||||
'libraries.groupings.title' => 'グループ',
|
'libraries.groupings.title' => 'グループ',
|
||||||
'libraries.groupings.all' => 'すべて',
|
'libraries.groupings.all' => 'すべて',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsKo implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => '설정';
|
@override String get title => '설정';
|
||||||
|
@override String get supportDeveloper => 'Plezy 후원하기';
|
||||||
|
@override String get supportDeveloperDescription => 'Liberapay로 후원하여 개발 지원';
|
||||||
@override String get language => '언어';
|
@override String get language => '언어';
|
||||||
@override String get theme => '테마';
|
@override String get theme => '테마';
|
||||||
@override String get appearance => '외관';
|
@override String get appearance => '외관';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsKo {
|
|||||||
'update.latestVersion' => '최신 버전을 사용 중입니다',
|
'update.latestVersion' => '최신 버전을 사용 중입니다',
|
||||||
'update.checkFailed' => '업데이트 확인 실패',
|
'update.checkFailed' => '업데이트 확인 실패',
|
||||||
'settings.title' => '설정',
|
'settings.title' => '설정',
|
||||||
|
'settings.supportDeveloper' => 'Plezy 후원하기',
|
||||||
|
'settings.supportDeveloperDescription' => 'Liberapay로 후원하여 개발 지원',
|
||||||
'settings.language' => '언어',
|
'settings.language' => '언어',
|
||||||
'settings.theme' => '테마',
|
'settings.theme' => '테마',
|
||||||
'settings.appearance' => '외관',
|
'settings.appearance' => '외관',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsKo {
|
|||||||
'libraries.noFoldersFound' => '폴더를 찾을 수 없습니다',
|
'libraries.noFoldersFound' => '폴더를 찾을 수 없습니다',
|
||||||
'libraries.folders' => '폴더',
|
'libraries.folders' => '폴더',
|
||||||
'libraries.tabs.recommended' => '추천',
|
'libraries.tabs.recommended' => '추천',
|
||||||
'libraries.tabs.browse' => '찾아보기',
|
|
||||||
'libraries.tabs.collections' => '컬렉션',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => '찾아보기',
|
||||||
|
'libraries.tabs.collections' => '컬렉션',
|
||||||
'libraries.tabs.playlists' => '재생 목록',
|
'libraries.tabs.playlists' => '재생 목록',
|
||||||
'libraries.groupings.title' => '그룹',
|
'libraries.groupings.title' => '그룹',
|
||||||
'libraries.groupings.all' => '전체',
|
'libraries.groupings.all' => '전체',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsNb implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Innstillinger';
|
@override String get title => 'Innstillinger';
|
||||||
|
@override String get supportDeveloper => 'Støtt Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Doner via Liberapay for å finansiere utviklingen';
|
||||||
@override String get language => 'Språk';
|
@override String get language => 'Språk';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Utseende';
|
@override String get appearance => 'Utseende';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsNb {
|
|||||||
'update.latestVersion' => 'Du har den nyeste versjonen',
|
'update.latestVersion' => 'Du har den nyeste versjonen',
|
||||||
'update.checkFailed' => 'Kunne ikke se etter oppdateringer',
|
'update.checkFailed' => 'Kunne ikke se etter oppdateringer',
|
||||||
'settings.title' => 'Innstillinger',
|
'settings.title' => 'Innstillinger',
|
||||||
|
'settings.supportDeveloper' => 'Støtt Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Doner via Liberapay for å finansiere utviklingen',
|
||||||
'settings.language' => 'Språk',
|
'settings.language' => 'Språk',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Utseende',
|
'settings.appearance' => 'Utseende',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsNb {
|
|||||||
'libraries.noFoldersFound' => 'Ingen mapper funnet',
|
'libraries.noFoldersFound' => 'Ingen mapper funnet',
|
||||||
'libraries.folders' => 'mapper',
|
'libraries.folders' => 'mapper',
|
||||||
'libraries.tabs.recommended' => 'Anbefalt',
|
'libraries.tabs.recommended' => 'Anbefalt',
|
||||||
'libraries.tabs.browse' => 'Bla gjennom',
|
|
||||||
'libraries.tabs.collections' => 'Samlinger',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Bla gjennom',
|
||||||
|
'libraries.tabs.collections' => 'Samlinger',
|
||||||
'libraries.tabs.playlists' => 'Spillelister',
|
'libraries.tabs.playlists' => 'Spillelister',
|
||||||
'libraries.groupings.title' => 'Gruppering',
|
'libraries.groupings.title' => 'Gruppering',
|
||||||
'libraries.groupings.all' => 'Alle',
|
'libraries.groupings.all' => 'Alle',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsNl implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Instellingen';
|
@override String get title => 'Instellingen';
|
||||||
|
@override String get supportDeveloper => 'Steun Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Doneer via Liberapay om de ontwikkeling te steunen';
|
||||||
@override String get language => 'Taal';
|
@override String get language => 'Taal';
|
||||||
@override String get theme => 'Thema';
|
@override String get theme => 'Thema';
|
||||||
@override String get appearance => 'Uiterlijk';
|
@override String get appearance => 'Uiterlijk';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsNl {
|
|||||||
'update.latestVersion' => 'Je hebt de nieuwste versie',
|
'update.latestVersion' => 'Je hebt de nieuwste versie',
|
||||||
'update.checkFailed' => 'Kon niet controleren op updates',
|
'update.checkFailed' => 'Kon niet controleren op updates',
|
||||||
'settings.title' => 'Instellingen',
|
'settings.title' => 'Instellingen',
|
||||||
|
'settings.supportDeveloper' => 'Steun Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Doneer via Liberapay om de ontwikkeling te steunen',
|
||||||
'settings.language' => 'Taal',
|
'settings.language' => 'Taal',
|
||||||
'settings.theme' => 'Thema',
|
'settings.theme' => 'Thema',
|
||||||
'settings.appearance' => 'Uiterlijk',
|
'settings.appearance' => 'Uiterlijk',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsNl {
|
|||||||
'libraries.noFoldersFound' => 'Geen mappen gevonden',
|
'libraries.noFoldersFound' => 'Geen mappen gevonden',
|
||||||
'libraries.folders' => 'mappen',
|
'libraries.folders' => 'mappen',
|
||||||
'libraries.tabs.recommended' => 'Aanbevolen',
|
'libraries.tabs.recommended' => 'Aanbevolen',
|
||||||
'libraries.tabs.browse' => 'Bladeren',
|
|
||||||
'libraries.tabs.collections' => 'Collecties',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Bladeren',
|
||||||
|
'libraries.tabs.collections' => 'Collecties',
|
||||||
'libraries.tabs.playlists' => 'Afspeellijsten',
|
'libraries.tabs.playlists' => 'Afspeellijsten',
|
||||||
'libraries.groupings.title' => 'Groepering',
|
'libraries.groupings.title' => 'Groepering',
|
||||||
'libraries.groupings.all' => 'Alles',
|
'libraries.groupings.all' => 'Alles',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsPl implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Ustawienia';
|
@override String get title => 'Ustawienia';
|
||||||
|
@override String get supportDeveloper => 'Wesprzyj Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Wspomóż rozwój darowizną na Liberapay';
|
||||||
@override String get language => 'Język';
|
@override String get language => 'Język';
|
||||||
@override String get theme => 'Motyw';
|
@override String get theme => 'Motyw';
|
||||||
@override String get appearance => 'Wygląd';
|
@override String get appearance => 'Wygląd';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsPl {
|
|||||||
'update.latestVersion' => 'Masz najnowszą wersję',
|
'update.latestVersion' => 'Masz najnowszą wersję',
|
||||||
'update.checkFailed' => 'Nie udało się sprawdzić aktualizacji',
|
'update.checkFailed' => 'Nie udało się sprawdzić aktualizacji',
|
||||||
'settings.title' => 'Ustawienia',
|
'settings.title' => 'Ustawienia',
|
||||||
|
'settings.supportDeveloper' => 'Wesprzyj Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Wspomóż rozwój darowizną na Liberapay',
|
||||||
'settings.language' => 'Język',
|
'settings.language' => 'Język',
|
||||||
'settings.theme' => 'Motyw',
|
'settings.theme' => 'Motyw',
|
||||||
'settings.appearance' => 'Wygląd',
|
'settings.appearance' => 'Wygląd',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsPl {
|
|||||||
'libraries.noFoldersFound' => 'Nie znaleziono folderów',
|
'libraries.noFoldersFound' => 'Nie znaleziono folderów',
|
||||||
'libraries.folders' => 'foldery',
|
'libraries.folders' => 'foldery',
|
||||||
'libraries.tabs.recommended' => 'Rekomendowane',
|
'libraries.tabs.recommended' => 'Rekomendowane',
|
||||||
'libraries.tabs.browse' => 'Przeglądaj',
|
|
||||||
'libraries.tabs.collections' => 'Kolekcje',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Przeglądaj',
|
||||||
|
'libraries.tabs.collections' => 'Kolekcje',
|
||||||
'libraries.tabs.playlists' => 'Playlisty',
|
'libraries.tabs.playlists' => 'Playlisty',
|
||||||
'libraries.groupings.title' => 'Grupowanie',
|
'libraries.groupings.title' => 'Grupowanie',
|
||||||
'libraries.groupings.all' => 'Wszystkie',
|
'libraries.groupings.all' => 'Wszystkie',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsPt implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Configurações';
|
@override String get title => 'Configurações';
|
||||||
|
@override String get supportDeveloper => 'Apoie o Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Doe via Liberapay para financiar o desenvolvimento';
|
||||||
@override String get language => 'Idioma';
|
@override String get language => 'Idioma';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Aparência';
|
@override String get appearance => 'Aparência';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsPt {
|
|||||||
'update.latestVersion' => 'Você está na versão mais recente',
|
'update.latestVersion' => 'Você está na versão mais recente',
|
||||||
'update.checkFailed' => 'Falha ao verificar atualizações',
|
'update.checkFailed' => 'Falha ao verificar atualizações',
|
||||||
'settings.title' => 'Configurações',
|
'settings.title' => 'Configurações',
|
||||||
|
'settings.supportDeveloper' => 'Apoie o Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Doe via Liberapay para financiar o desenvolvimento',
|
||||||
'settings.language' => 'Idioma',
|
'settings.language' => 'Idioma',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Aparência',
|
'settings.appearance' => 'Aparência',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsPt {
|
|||||||
'libraries.noFoldersFound' => 'Nenhuma pasta encontrada',
|
'libraries.noFoldersFound' => 'Nenhuma pasta encontrada',
|
||||||
'libraries.folders' => 'pastas',
|
'libraries.folders' => 'pastas',
|
||||||
'libraries.tabs.recommended' => 'Recomendados',
|
'libraries.tabs.recommended' => 'Recomendados',
|
||||||
'libraries.tabs.browse' => 'Navegar',
|
|
||||||
'libraries.tabs.collections' => 'Coleções',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Navegar',
|
||||||
|
'libraries.tabs.collections' => 'Coleções',
|
||||||
'libraries.tabs.playlists' => 'Playlists',
|
'libraries.tabs.playlists' => 'Playlists',
|
||||||
'libraries.groupings.title' => 'Agrupamento',
|
'libraries.groupings.title' => 'Agrupamento',
|
||||||
'libraries.groupings.all' => 'Todos',
|
'libraries.groupings.all' => 'Todos',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsRu implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Настройки';
|
@override String get title => 'Настройки';
|
||||||
|
@override String get supportDeveloper => 'Поддержать Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Пожертвуйте через Liberapay на развитие';
|
||||||
@override String get language => 'Язык';
|
@override String get language => 'Язык';
|
||||||
@override String get theme => 'Тема';
|
@override String get theme => 'Тема';
|
||||||
@override String get appearance => 'Внешний вид';
|
@override String get appearance => 'Внешний вид';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsRu {
|
|||||||
'update.latestVersion' => 'У вас последняя версия',
|
'update.latestVersion' => 'У вас последняя версия',
|
||||||
'update.checkFailed' => 'Не удалось проверить обновления',
|
'update.checkFailed' => 'Не удалось проверить обновления',
|
||||||
'settings.title' => 'Настройки',
|
'settings.title' => 'Настройки',
|
||||||
|
'settings.supportDeveloper' => 'Поддержать Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Пожертвуйте через Liberapay на развитие',
|
||||||
'settings.language' => 'Язык',
|
'settings.language' => 'Язык',
|
||||||
'settings.theme' => 'Тема',
|
'settings.theme' => 'Тема',
|
||||||
'settings.appearance' => 'Внешний вид',
|
'settings.appearance' => 'Внешний вид',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsRu {
|
|||||||
'libraries.noFoldersFound' => 'Папки не найдены',
|
'libraries.noFoldersFound' => 'Папки не найдены',
|
||||||
'libraries.folders' => 'папки',
|
'libraries.folders' => 'папки',
|
||||||
'libraries.tabs.recommended' => 'Рекомендуемые',
|
'libraries.tabs.recommended' => 'Рекомендуемые',
|
||||||
'libraries.tabs.browse' => 'Обзор',
|
|
||||||
'libraries.tabs.collections' => 'Коллекции',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Обзор',
|
||||||
|
'libraries.tabs.collections' => 'Коллекции',
|
||||||
'libraries.tabs.playlists' => 'Плейлисты',
|
'libraries.tabs.playlists' => 'Плейлисты',
|
||||||
'libraries.groupings.title' => 'Группировка',
|
'libraries.groupings.title' => 'Группировка',
|
||||||
'libraries.groupings.all' => 'Все',
|
'libraries.groupings.all' => 'Все',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsSv implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => 'Inställningar';
|
@override String get title => 'Inställningar';
|
||||||
|
@override String get supportDeveloper => 'Stöd Plezy';
|
||||||
|
@override String get supportDeveloperDescription => 'Donera via Liberapay för att finansiera utvecklingen';
|
||||||
@override String get language => 'Språk';
|
@override String get language => 'Språk';
|
||||||
@override String get theme => 'Tema';
|
@override String get theme => 'Tema';
|
||||||
@override String get appearance => 'Utseende';
|
@override String get appearance => 'Utseende';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsSv {
|
|||||||
'update.latestVersion' => 'Du har den senaste versionen',
|
'update.latestVersion' => 'Du har den senaste versionen',
|
||||||
'update.checkFailed' => 'Misslyckades att kontrollera uppdateringar',
|
'update.checkFailed' => 'Misslyckades att kontrollera uppdateringar',
|
||||||
'settings.title' => 'Inställningar',
|
'settings.title' => 'Inställningar',
|
||||||
|
'settings.supportDeveloper' => 'Stöd Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => 'Donera via Liberapay för att finansiera utvecklingen',
|
||||||
'settings.language' => 'Språk',
|
'settings.language' => 'Språk',
|
||||||
'settings.theme' => 'Tema',
|
'settings.theme' => 'Tema',
|
||||||
'settings.appearance' => 'Utseende',
|
'settings.appearance' => 'Utseende',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsSv {
|
|||||||
'libraries.noFoldersFound' => 'Inga mappar hittades',
|
'libraries.noFoldersFound' => 'Inga mappar hittades',
|
||||||
'libraries.folders' => 'mappar',
|
'libraries.folders' => 'mappar',
|
||||||
'libraries.tabs.recommended' => 'Rekommenderat',
|
'libraries.tabs.recommended' => 'Rekommenderat',
|
||||||
'libraries.tabs.browse' => 'Bläddra',
|
|
||||||
'libraries.tabs.collections' => 'Samlingar',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => 'Bläddra',
|
||||||
|
'libraries.tabs.collections' => 'Samlingar',
|
||||||
'libraries.tabs.playlists' => 'Spellistor',
|
'libraries.tabs.playlists' => 'Spellistor',
|
||||||
'libraries.groupings.title' => 'Gruppering',
|
'libraries.groupings.title' => 'Gruppering',
|
||||||
'libraries.groupings.all' => 'Alla',
|
'libraries.groupings.all' => 'Alla',
|
||||||
|
|||||||
@@ -194,6 +194,8 @@ class _TranslationsSettingsZh implements TranslationsSettingsEn {
|
|||||||
|
|
||||||
// Translations
|
// Translations
|
||||||
@override String get title => '设置';
|
@override String get title => '设置';
|
||||||
|
@override String get supportDeveloper => '支持 Plezy';
|
||||||
|
@override String get supportDeveloperDescription => '通过 Liberapay 捐赠支持开发';
|
||||||
@override String get language => '语言';
|
@override String get language => '语言';
|
||||||
@override String get theme => '主题';
|
@override String get theme => '主题';
|
||||||
@override String get appearance => '外观';
|
@override String get appearance => '外观';
|
||||||
@@ -1476,6 +1478,8 @@ extension on TranslationsZh {
|
|||||||
'update.latestVersion' => '已安装的版本是可用的最新版本',
|
'update.latestVersion' => '已安装的版本是可用的最新版本',
|
||||||
'update.checkFailed' => '无法检查更新',
|
'update.checkFailed' => '无法检查更新',
|
||||||
'settings.title' => '设置',
|
'settings.title' => '设置',
|
||||||
|
'settings.supportDeveloper' => '支持 Plezy',
|
||||||
|
'settings.supportDeveloperDescription' => '通过 Liberapay 捐赠支持开发',
|
||||||
'settings.language' => '语言',
|
'settings.language' => '语言',
|
||||||
'settings.theme' => '主题',
|
'settings.theme' => '主题',
|
||||||
'settings.appearance' => '外观',
|
'settings.appearance' => '外观',
|
||||||
@@ -1922,10 +1926,10 @@ extension on TranslationsZh {
|
|||||||
'libraries.noFoldersFound' => '未找到文件夹',
|
'libraries.noFoldersFound' => '未找到文件夹',
|
||||||
'libraries.folders' => '文件夹',
|
'libraries.folders' => '文件夹',
|
||||||
'libraries.tabs.recommended' => '推荐',
|
'libraries.tabs.recommended' => '推荐',
|
||||||
'libraries.tabs.browse' => '浏览',
|
|
||||||
'libraries.tabs.collections' => '合集',
|
|
||||||
_ => null,
|
_ => null,
|
||||||
} ?? switch (path) {
|
} ?? switch (path) {
|
||||||
|
'libraries.tabs.browse' => '浏览',
|
||||||
|
'libraries.tabs.collections' => '合集',
|
||||||
'libraries.tabs.playlists' => '播放列表',
|
'libraries.tabs.playlists' => '播放列表',
|
||||||
'libraries.groupings.title' => '分组',
|
'libraries.groupings.title' => '分组',
|
||||||
'libraries.groupings.all' => '全部',
|
'libraries.groupings.all' => '全部',
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Inställningar",
|
"title": "Inställningar",
|
||||||
|
"supportDeveloper": "Stöd Plezy",
|
||||||
|
"supportDeveloperDescription": "Donera via Liberapay för att finansiera utvecklingen",
|
||||||
"language": "Språk",
|
"language": "Språk",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"appearance": "Utseende",
|
"appearance": "Utseende",
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "设置",
|
"title": "设置",
|
||||||
|
"supportDeveloper": "支持 Plezy",
|
||||||
|
"supportDeveloperDescription": "通过 Liberapay 捐赠支持开发",
|
||||||
"language": "语言",
|
"language": "语言",
|
||||||
"theme": "主题",
|
"theme": "主题",
|
||||||
"appearance": "外观",
|
"appearance": "外观",
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import '../../focus/input_mode_tracker.dart';
|
|||||||
import '../../i18n/strings.g.dart';
|
import '../../i18n/strings.g.dart';
|
||||||
import '../main_screen.dart';
|
import '../main_screen.dart';
|
||||||
import '../../mixins/refreshable.dart';
|
import '../../mixins/refreshable.dart';
|
||||||
|
import '../../services/donation_service.dart';
|
||||||
import '../../services/download_storage_service.dart';
|
import '../../services/download_storage_service.dart';
|
||||||
import '../../services/file_picker_service.dart';
|
import '../../services/file_picker_service.dart';
|
||||||
import '../../services/saf_storage_service.dart';
|
import '../../services/saf_storage_service.dart';
|
||||||
@@ -46,6 +47,7 @@ class _SettingsScreenState extends State<SettingsScreen> with FocusableTab {
|
|||||||
late final FocusMemoryTracker _focusTracker;
|
late final FocusMemoryTracker _focusTracker;
|
||||||
|
|
||||||
// Focus tracking keys
|
// Focus tracking keys
|
||||||
|
static const _kDonate = 'donate';
|
||||||
static const _kAppearance = 'appearance';
|
static const _kAppearance = 'appearance';
|
||||||
static const _kPlayback = 'playback';
|
static const _kPlayback = 'playback';
|
||||||
static const _kTrakt = 'trakt';
|
static const _kTrakt = 'trakt';
|
||||||
@@ -100,7 +102,7 @@ class _SettingsScreenState extends State<SettingsScreen> with FocusableTab {
|
|||||||
@override
|
@override
|
||||||
void focusActiveTabIfReady() {
|
void focusActiveTabIfReady() {
|
||||||
if (InputModeTracker.isKeyboardMode(context)) {
|
if (InputModeTracker.isKeyboardMode(context)) {
|
||||||
_focusTracker.restoreFocus(fallbackKey: _kAppearance);
|
_focusTracker.restoreFocus(fallbackKey: DonationService.isEnabled ? _kDonate : _kAppearance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,6 +151,9 @@ class _SettingsScreenState extends State<SettingsScreen> with FocusableTab {
|
|||||||
ExcludeFocus(child: CustomAppBar(title: Text(t.settings.title), pinned: true)),
|
ExcludeFocus(child: CustomAppBar(title: Text(t.settings.title), pinned: true)),
|
||||||
SliverList(
|
SliverList(
|
||||||
delegate: SliverChildListDelegate([
|
delegate: SliverChildListDelegate([
|
||||||
|
// --- Donate (non-store builds only) ---
|
||||||
|
if (DonationService.isEnabled) _buildDonateTile(),
|
||||||
|
|
||||||
// --- Appearance (navigation tile) ---
|
// --- Appearance (navigation tile) ---
|
||||||
_buildAppearanceTile(),
|
_buildAppearanceTile(),
|
||||||
|
|
||||||
@@ -190,6 +195,22 @@ class _SettingsScreenState extends State<SettingsScreen> with FocusableTab {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _buildDonateTile() {
|
||||||
|
return ListTile(
|
||||||
|
focusNode: _focusTracker.get(_kDonate),
|
||||||
|
leading: const AppIcon(Symbols.favorite_rounded, fill: 1),
|
||||||
|
title: Text(t.settings.supportDeveloper),
|
||||||
|
subtitle: Text(t.settings.supportDeveloperDescription),
|
||||||
|
trailing: const AppIcon(Symbols.open_in_new_rounded, fill: 1),
|
||||||
|
onTap: () async {
|
||||||
|
final url = Uri.parse(DonationService.donationUrl);
|
||||||
|
if (await canLaunchUrl(url)) {
|
||||||
|
await launchUrl(url, mode: LaunchMode.externalApplication);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
Widget _buildAppearanceTile() {
|
Widget _buildAppearanceTile() {
|
||||||
return Consumer2<ThemeProvider, SettingsProvider>(
|
return Consumer2<ThemeProvider, SettingsProvider>(
|
||||||
builder: (context, themeProvider, settingsProvider, child) {
|
builder: (context, themeProvider, settingsProvider, child) {
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
class DonationService {
|
||||||
|
static const String donationUrl = 'https://liberapay.com/edde746';
|
||||||
|
|
||||||
|
static bool get isEnabled {
|
||||||
|
return const bool.fromEnvironment('ENABLE_DONATIONS', defaultValue: false);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user