189 Commits

Author SHA1 Message Date
Jagandeep Brar
322ec55546 release: v10.2.1
[skip ci]
2022-11-06 18:40:32 -05:00
Jagandeep Brar
34169bb1ff release(testflight): candidate
[skip ci]
2022-11-05 01:32:23 -04:00
Jagandeep Brar
0f4aef0e32 release(testflight): beta
[skip ci]
2022-11-04 19:39:21 -04:00
Jagandeep Brar
cf5bfca265 chore(flutter): upgrade to Flutter 3.3.7/857bd6b74c 2022-11-04 16:53:53 -04:00
Jagandeep Brar
affac3abc6 chore(flutter): update packages
[skip ci]
2022-11-04 15:43:33 -04:00
Jagandeep Brar
9826c5604d chore(node): update packages
[ski ci]
2022-11-04 15:21:26 -04:00
Jagandeep Brar
ea7a8ffc22 chore(ruby): update to Ruby@2.7.6, update gems
[skip ci]
2022-11-04 15:20:21 -04:00
Jagandeep Brar
4cb8caaa1d release(testflight): candidate
[skip ci]
2022-10-26 14:12:21 -05:00
Jagandeep Brar
53cb7f6675 release(testflight): beta
[skip ci]
2022-10-26 13:06:00 -05:00
Jagandeep Brar
123ab7f6a7 chore(locale): generate localizations 2022-10-26 11:00:53 -05:00
Jagandeep Brar
caf054aea2 chore: update CONTRIBUTORS.md
[skip ci]
2022-10-26 11:00:23 -05:00
Weblate (bot)
125596498e chore(locale): translations update from Hosted Weblate (#712)
Co-authored-by: Robert <rob2310@yahoo.de>
Co-authored-by: Florin Voicu <florin.bkk@gmail.com>
Co-authored-by: fyu0h <biiigback@gmail.com>

[skip ci]
2022-10-26 11:57:35 -04:00
Jagandeep Brar
38f2eb4cb2 fix(firebase): inject service file for older OS versions 2022-10-26 11:52:20 -04:00
Jagandeep Brar
7d437d5c3a feat(web): support local filesystem read/save actions 2022-10-25 12:32:30 -04:00
Jagandeep Brar
3d794099a5 chore(flutter): upgrade packages 2022-10-22 14:17:09 -05:00
Jagandeep Brar
b7ceebcb67 fix(android): utilize Kotlin v1.7.20 & Gradle v7.1.2 2022-10-22 14:15:56 -05:00
Jagandeep Brar
25e0d05142 fix(android): support Android 13 filesystem access 2022-10-22 13:19:36 -05:00
Jagandeep Brar
250a494903 fix(android): revert applying Google Play Services plugin during gradle build
[skip ci]
2022-10-22 13:08:57 -05:00
Jagandeep Brar
b47ef16001 chore(fastlane): update gems
[skip ci]
2022-10-22 12:50:05 -05:00
Jagandeep Brar
71f597baa7 fix(android): apply Google Play Services plugin during gradle build
[skip ci]
2022-10-21 18:36:17 -05:00
Jagandeep Brar
abf117ac92 chore(ci): fix typo in workflow configuration 2022-10-21 14:47:47 -05:00
Jagandeep Brar
f3a3f222bd fix(firebase): upgrade to Firebase v10 (#717) 2022-10-21 15:45:52 -04:00
Jagandeep Brar
f9a2a1c85c chore(flutter): lock Flutter version during CI/CD builds 2022-10-20 15:56:42 -05:00
Jagandeep Brar
7d469e7bad chore(github): update issue template links
[skip ci]
2022-10-20 15:32:33 -05:00
Mário Franco
137a52ccd4 chore(build): rename Android debug build (#714)
[skip ci]
2022-10-20 16:18:59 -04:00
Jagandeep Brar
9a1769595d release(testflight): beta
[skip ci]
2022-09-28 14:03:10 -04:00
Jagandeep Brar
9b930493d7 chore(contributors): add @osjurso for translation
[skip ci]
2022-09-28 13:05:34 -04:00
Weblate (bot)
bfe5dc77a0 chore: translations update from Hosted Weblate (#706)
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Olav Markus Sjursø <olav.markus@sjurso.no>
Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>

[skip ci]
2022-09-28 13:03:40 -04:00
Jagandeep Brar
3ac2c5d791 feat(calendar): remove option to show previous days in schedule view, now always shows them 2022-09-28 01:43:53 -04:00
Jagandeep Brar
f1226e5638 feat(calendar): scroll to selected date when switching from calendar to schedule view 2022-09-28 01:28:16 -04:00
Jagandeep Brar
ee91085b07 release(testflight): beta
[skip ci]
2022-09-27 22:59:34 -04:00
Jagandeep Brar
e287baf046 chore(window): do not initialize window manager in debug mode
[skip ci]
2022-09-27 22:57:36 -04:00
Jagandeep Brar
8788f76e5c chore(recovery): small refactoring of recovery mode implementation
[skip ci]
2022-09-27 22:53:49 -04:00
Jagandeep Brar
6eff6c902c fix(calendar): start to current date when past days are enabled 2022-09-27 02:03:21 -04:00
Jagandeep Brar
d9623e992d fix(uiux): add circular radius to linear progression bars 2022-09-26 21:02:50 -04:00
Jagandeep Brar
958e6f1568 refactor(uiux): remove forced-upper case on headers 2022-09-26 18:41:10 -04:00
Jagandeep Brar
f3931c6b08 fix(backup): edge-case where backup/restore would fail 2022-09-26 12:54:14 -04:00
Jagandeep Brar
3dd087e361 feat(modules): ability to set the boot module 2022-09-26 11:48:14 -04:00
Jagandeep Brar
ac838f99a9 refactor(settings): consolidate appearance, network, and localization pages 2022-09-26 11:44:07 -04:00
Jagandeep Brar
c9bd02b750 feat(radarr): support moving files when editing the storage path 2022-09-26 11:07:19 -04:00
Jagandeep Brar
cfbfb2b3ad docs: update platform restrictions
[skip ci]
2022-09-25 14:31:29 -04:00
Jagandeep Brar
bccd1a43c4 feat(-arr): button to open indexer information page 2022-09-23 23:51:56 -04:00
Jagandeep Brar
70ed750652 fix(calendar): label unreleased movies as unreleased instead of missing 2022-09-23 23:34:57 -04:00
Jagandeep Brar
c76418d26f feat(lidarr): add MusicBrainz to links 2022-09-23 23:25:02 -04:00
Jagandeep Brar
c062b3d786 feat: launch recovery mode on bootstrap failure 2022-09-23 17:13:37 -04:00
Jagandeep Brar
a9d551df5e chore: bump version to v10.2.1
[skip ci]
2022-09-22 14:55:24 -04:00
Jagandeep Brar
dc617ed151 chore(ci): do not overwrite PATH environmental variable
[skip ci]
2022-09-22 13:05:56 -04:00
Jagandeep Brar
9f31120cd5 release: v10.2.0
[skip ci]
2022-09-22 12:14:26 -04:00
Jagandeep Brar
e9c922ff39 chore(ci): notify Discord after successful S3 deployment
[skip ci]
2022-09-22 11:34:22 -04:00
Jagandeep Brar
2ab098962d chore(router): migrate to go_router v5
[skip ci]
2022-09-22 11:09:23 -04:00
Jagandeep Brar
863972cf86 release(testflight): candidate
[skip ci]
2022-09-22 11:06:29 -04:00
Jagandeep Brar
fd170106b4 release(testflight): beta
[skip ci]
2022-09-22 10:29:19 -04:00
Jagandeep Brar
af83820b85 chore(api): create stub APIs for remaining modules (#707) 2022-09-22 09:28:17 -04:00
Jagandeep Brar
a6be658164 feat(search): view download client queue via overlay sheet 2022-09-22 00:57:31 -04:00
Jagandeep Brar
0c59886657 feat(-arr): view download client queue via overlay sheet 2022-09-21 23:43:55 -04:00
Jagandeep Brar
a78aa001fa release(testflight): candidate
[skip ci]
2022-09-19 18:40:13 -04:00
Jagandeep Brar
1e94621ce6 release(testflight): beta
[skip ci]
2022-09-19 11:12:42 -04:00
Jagandeep Brar
e477ecafcc fix(sonarr): support Sonarr v4 API changes 2022-09-18 21:31:58 -04:00
Jagandeep Brar
da20cbb127 docs(contributors): add @carlesmu & @timrettop for translation
[skip ci]
2022-09-17 12:03:14 -04:00
Jagandeep Brar
fb5cd59d6b chore(locale): add support for Catalan
[skip ci]
2022-09-17 11:59:32 -04:00
Jagandeep Brar
d3d090e277 fix(resources): remove feedback board resource 2022-09-17 11:16:15 -04:00
Jagandeep Brar
3a5e19b02c fix(sheets): set default overlay theme for sheets, remove bottom radius clipping 2022-09-17 02:06:24 -04:00
Jagandeep Brar
83e8374c33 fix(android): support Android 13 notification prompt 2022-09-17 00:27:53 -04:00
Jagandeep Brar
82ef5f0c52 fix(notifications): correctly inject service worker for notification handling 2022-09-17 00:14:53 -04:00
Jagandeep Brar
7aae480722 fix(cache): add type-safety to LRU cache 2022-09-17 00:07:29 -04:00
Jagandeep Brar
750d96ec13 chore: upgrade to Flutter 3.3.2/a4ff2c53d8 2022-09-17 00:07:17 -04:00
Jagandeep Brar
35cba0ab27 chore: update node & ruby packages
[skip ci]
2022-09-15 15:38:22 -04:00
Jagandeep Brar
b23f8ad633 release(testflight): candidate
[skip ci]
2022-09-10 11:55:25 -04:00
Jagandeep Brar
85d9aff094 release(testflight): beta
[skip ci]
2022-09-10 11:54:26 -04:00
Jagandeep Brar
a8827b5c9e chore(ci): install Firebase configuration via pregenerated options via secrets 2022-09-08 17:33:21 -04:00
Jagandeep Brar
d76713dcd6 chore(ci): install xcodeproj gem during build 2022-09-08 15:13:57 -04:00
Jagandeep Brar
e3b771bed1 chore(ci): inject service worker only during web build 2022-09-08 14:33:17 -04:00
Jagandeep Brar
136cda5215 fix(settings): show notification settings area on web 2022-09-08 10:00:33 -04:00
Jagandeep Brar
579531c30a fix(web): correctly register notification service worker 2022-09-08 00:51:05 -04:00
Jagandeep Brar
dcb59667c1 chore: upgrade to Flutter 3.3.1/3efdf03e73 2022-09-08 00:47:58 -04:00
Jagandeep Brar
4b411107f7 feat(web): enable service worker processing of notifications
[skip ci]
2022-09-08 00:14:21 -04:00
Jagandeep Brar
c0810574ce chore(sabnzbd): remove cononical export files
[skip ci]
2022-09-07 23:55:41 -04:00
Jagandeep Brar
3c9d705f80 chore(wake_on_lan): refactor wake on LAN integration
[skip ci]
2022-09-07 23:44:07 -04:00
Jagandeep Brar
6f9e0e87ce fix(images): validate image availability before fading-in
[skip ci]
2022-09-07 23:40:08 -04:00
Jagandeep Brar
c4945351ca release(testflight): beta
[skip ci]
2022-09-03 02:22:19 -04:00
Jagandeep Brar
a1b736ae0c feat(sabnzbd): rewrite SABnzbd API interface
[skip ci]
2022-09-03 02:04:50 -04:00
David K
2adfe59bd5 refactor(remove logos): removes unused logo pngs 2022-09-02 19:43:39 -04:00
David K
113b294346 feat(logo): add Vectorized app logos 2022-09-02 19:43:39 -04:00
Jagandeep Brar
19133df94b release(testflight): beta
[skip ci]
2022-09-02 19:41:54 -04:00
Jagandeep Brar
731e3c93c8 chore(contributors): add @Slam4uk for translation
[skip ci]
2022-09-01 16:35:54 -04:00
Jagandeep Brar
a160f0941f feat(locale): support Croatian 2022-09-01 16:32:18 -04:00
Weblate (bot)
65d1478b00 chore: translations update from Hosted Weblate (#697)
Co-authored-by: Gil <almontegil@gmail.com>
Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>
Co-authored-by: Darinko Stojanovic <tee_feste.0t@icloud.com>
Co-authored-by: Александр Лахин <slam4uk@gmail.com>
2022-09-01 16:22:54 -04:00
Jagandeep Brar
b851b87515 chore(contributors): add @Irishsmurf for design
[skip ci]
2022-09-01 16:20:15 -04:00
David K
96b2b1b5b0 feat(android): add support for monochromatic adaptive icon (#701) 2022-09-01 16:18:53 -04:00
Jagandeep Brar
3d0c5209cb feat(settings): re-add option to disable Sentry logging 2022-09-01 16:14:10 -04:00
Jagandeep Brar
57bbb80a01 feat(logging): integrate Sentry logging support for all platforms 2022-09-01 16:14:10 -04:00
Jagandeep Brar
3593eb329b fix(notifications): enable in-app notifications config was inversed 2022-08-31 23:22:45 -04:00
Jagandeep Brar
f8dca60331 chore(android): target Android SDK 33 2022-08-31 23:22:45 -04:00
Jagandeep Brar
864082fd40 fix(scrolling): remove custom scrolling behaviour 2022-08-31 23:22:45 -04:00
Jagandeep Brar
b963ddf401 chore: upgrade to Flutter 3.3.0/5e9e0e0aa8 2022-08-31 23:22:45 -04:00
Jagandeep Brar
83d3ec42e3 chore(flutter): update packages 2022-08-30 09:29:39 -04:00
Jagandeep Brar
8ba4fb3b8d docs: add app ID to Algolia configuration
[skip ci]
2022-08-30 09:10:34 -04:00
Jagandeep Brar
383c728481 docs: remove Overseerr from docs homepage
[skip ci]
2022-08-30 09:07:46 -04:00
Jagandeep Brar
ea01a21189 docs: integrate Algolia search
[skip ci]
2022-08-30 09:06:25 -04:00
Jagandeep Brar
b812c7b4a1 fix(graphs): support fl_chart@0.55.1
[skip ci]
2022-08-29 23:25:38 -04:00
Jagandeep Brar
96b2067577 chore(refactor): move API models, types, controllers to root of module API
[skip ci]
2022-08-29 22:59:37 -04:00
Jagandeep Brar
1d4207ae51 feat(router): re-implementation of routing via go_router
[skip ci]
2022-08-29 22:51:21 -04:00
Jagandeep Brar
9960124d32 fix(database): prevent deadlock in database deletion actions 2022-08-29 14:56:37 -04:00
Jagandeep Brar
aed7e8526f release(testflight): candidate
[skip ci]
2022-08-21 19:20:25 -04:00
Jagandeep Brar
b67c916ac6 release(testflight): beta
[skip ci]
2022-08-21 18:52:13 -04:00
Jagandeep Brar
77b12bc969 release(testflight): edge
[skip ci]
2022-08-21 18:03:23 -04:00
Jagandeep Brar
11ae4a2644 chore(version): bump to 10.1.2
[skip ci]
2022-08-21 17:38:41 -04:00
Jagandeep Brar
21b8409d31 release: v10.1.1
[skip ci]
2022-08-21 17:06:42 -04:00
Jagandeep Brar
cf3d9bbc17 fix(indexer): remove LunaIndexerIcon from model definition 2022-08-21 16:45:38 -04:00
Jagandeep Brar
bbb8dbc3b3 chore(version): bump to 10.1.1 2022-08-21 16:21:35 -04:00
Jagandeep Brar
b02fe81df6 fix(config): log restoration error after resetting the database to default 2022-08-21 16:19:48 -04:00
Jagandeep Brar
52fd7fca0c feat(changelog): do not show changelog on first boot of new installs
[skip ci]
2022-08-21 11:52:25 -04:00
Jagandeep Brar
64d66c9f74 release: v10.1.0
[skip ci]
2022-08-21 11:49:45 -04:00
Jagandeep Brar
8092ea29ef release(testflight): candidate
[skip ci]
2022-08-20 23:29:54 -04:00
Jagandeep Brar
1cdc551318 release(testflight): beta
[skip ci]
2022-08-20 22:58:24 -04:00
Jagandeep Brar
758756fcf2 fix(database): detect and recover from database corruption 2022-08-20 21:51:16 -04:00
Jagandeep Brar
1b143bc3a1 release(testflight): candidate
[skip ci]
2022-08-18 19:34:09 -04:00
Jagandeep Brar
5a64b4348e release(testflight): beta
[skip ci]
2022-08-18 13:22:16 -04:00
Jagandeep Brar
850d77b08b chore(ci): update TestFlight build commit message format
[skip ci]
2022-08-18 13:21:47 -04:00
Jagandeep Brar
bb553c5c03 chore(ci): update release commit message format
[skip ci]
2022-08-18 13:16:10 -04:00
Jagandeep Brar
350afbf65a release: edge [skip ci] 2022-08-18 13:12:26 -04:00
Jagandeep Brar
e3b4fd5b49 chore(contributors): add @KevoM and @rogeriomendes for translations
[skip ci]
2022-08-18 13:09:56 -04:00
Weblate (bot)
0e1d6ad49d chore: translations update from Hosted Weblate (#686)
[skip ci]

Co-authored-by: Rogério Mendes <rogeriomendes.mg@gmail.com>
Co-authored-by: Maxime Leroy <lisacintosh@gmail.com>
Co-authored-by: punchy <michael@maldonado.tech>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: KevoM <lilmarsu@gmail.com>
Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>
2022-08-18 13:06:33 -04:00
Jagandeep Brar
f1dcd0c36d fix(database): safely type indexer fields and headers 2022-08-16 20:00:07 -04:00
Jagandeep Brar
450be7290b docs: do not assign group IDs to tabs
[skip ci]
2022-08-16 13:53:58 -04:00
natiz
136b92b8a7 fix(overseerr): issues/requests list view translation keys 2022-08-16 13:36:13 -04:00
Jagandeep Brar
008a849e74 release: candidate [skip ci] 2022-08-15 16:39:21 -04:00
Jagandeep Brar
7e52f64984 release: beta [skip ci] 2022-08-15 15:41:10 -04:00
Jagandeep Brar
2f60cb896a chore(contributors): add @natiz for code contribution
[skip ci]
2022-08-14 13:25:48 -04:00
natiz
b5bb300046 fix(sonarr): fanart image requests not including headers 2022-08-14 13:23:30 -04:00
Jagandeep Brar
a501132448 release: beta [skip ci] 2022-08-14 13:20:21 -04:00
Jagandeep Brar
9e37b6bdad chore(release): do not include release commits in changelog history
[skip ci]
2022-08-14 13:17:33 -04:00
Jagandeep Brar
735e5e763a chore: upgrade to Flutter 3.0.5/e85ea0e79c 2022-08-12 18:02:24 -04:00
Jagandeep Brar
9f9c0fdfb7 chore(flutter): upgrade packages
[skip ci]
2022-08-06 03:15:19 -04:00
Jagandeep Brar
ad22820d66 fix(lidarr): (history) sort list by date descending
[skip ci]
2022-08-06 03:04:54 -04:00
Jagandeep Brar
b55f625d2e docs: add reference to Homebrew Cask releases for macOS
[skip ci]
2022-07-12 12:37:20 -04:00
Jagandeep Brar
a4c52c5eea chore(release): beta release
[skip ci]
2022-07-12 12:31:34 -04:00
Jagandeep Brar
2ababbd1b3 fix(changelog): group changelog item rows by key feature change 2022-07-11 22:36:58 -04:00
Jagandeep Brar
2367050a66 refactor(changelog): do not show documentation changes in in-app changelog 2022-07-09 20:37:29 -04:00
Jagandeep Brar
22bf728a3d fix(radarr): (queue) allow loading queue list when associated movie is not found 2022-07-09 20:33:20 -04:00
Jagandeep Brar
dab455600d chore(ci): remove changelog from Discord notifications
[skip ci]
2022-07-09 18:15:49 -04:00
Jagandeep Brar
a101a70d14 chore(ci): correctly tag Docker images 2022-07-09 16:46:11 -04:00
Jagandeep Brar
c3be1c5ab7 chore: upgrade to Flutter 3.0.4/6ba2af10bb 2022-07-09 16:28:07 -04:00
Jagandeep Brar
c91ba2ce81 fix(android): correctly handle back-button to open drawer on applicable routes 2022-07-09 16:18:21 -04:00
Jagandeep Brar
df65f53a4b feat(changelog): prepare and show changelog on pre-release builds 2022-07-09 12:33:30 -04:00
Jagandeep Brar
d91cb05f66 chore(ci): skip Dart analyzer for builds
[skip ci]
2022-06-24 15:51:03 -04:00
Jagandeep Brar
d48d3d3ede chore(ci): use "latest" tag on stable Docker web releases
[skip ci]
2022-06-24 15:46:41 -04:00
Jagandeep Brar
18ef4cf1d4 fix(locale): create stub primary language localization assets 2022-06-24 12:55:04 -04:00
Jagandeep Brar
e05b17ae5e fix: display 0-length timestamps as "0 Minutes" instead of "Under a Minute" 2022-06-24 11:22:14 -04:00
Jagandeep Brar
16aa0a0dd1 chore: upgrade to Flutter 3.0.3/ffe7b86a1e
[skip ci]
2022-06-24 11:20:53 -04:00
Jagandeep Brar
925f163e15 feat(calendar): show current month in header 2022-06-24 09:21:41 -04:00
Jagandeep Brar
7ad952fbde chore(ci): remove ability to trigger specific-platform builds
[skip ci]
2022-06-22 17:29:30 -04:00
Jagandeep Brar
c71222aa7f chore(ci): fix Discord notification
[skip ci]
2022-06-22 17:05:11 -04:00
Jagandeep Brar
9f0615609d chore: update Firebase packages 2022-06-22 00:40:19 -04:00
Jagandeep Brar
141ae8f3f6 chore(ci): publish edge changelogs and update Discord embed layout 2022-06-21 23:50:25 -04:00
Jagandeep Brar
2e90ba36a9 chore: use Git commit message as changelog for edge releases 2022-06-20 22:32:08 -04:00
Jagandeep Brar
ff08010eca chore: add @Brokeos, @punchy98 to CONTRIBUTORS.md
[skip ci]
2022-06-20 22:31:20 -04:00
Weblate (bot)
904a07a2c6 chore: translations update from Hosted Weblate (#684)
[skip ci]

Co-authored-by: Brokeos <brokeos@outlook.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>
Co-authored-by: punchy <michael@maldonado.tech>
2022-06-20 22:29:22 -04:00
Jagandeep Brar
2f3e2e0819 chore: use Git commit message as changelog for edge releases 2022-06-20 14:14:24 -04:00
Jagandeep Brar
80678a75bb fix(sonarr): invalid linking to theTVDB content
[skip ci]
2022-06-20 13:12:19 -04:00
Jagandeep Brar
fb3e8e5325 fix(database): fallback to defaults on null values in profile 2022-06-18 12:58:58 -04:00
Jagandeep Brar
d4d9816c94 fix(database): utilize stricter typing for module headers map
[skip ci]
2022-06-17 02:43:46 -04:00
Jagandeep Brar
433978e1db chore(ci): utilize snapcore/action-publish@master 2022-06-17 02:34:45 -04:00
Jagandeep Brar
9c6016edc9 chore: support localization in most DateTime conversions 2022-06-17 01:20:25 -04:00
Jagandeep Brar
8b5745044e feat(locale): support Vietnamese (vi)
[skip ci]
2022-06-15 17:19:05 -04:00
Jagandeep Brar
d16ab20a50 chore: remove generated file
[skip ci]
2022-06-15 01:39:04 -04:00
Jagandeep Brar
aff6e2ca18 fix(ci): utilize latest standard for Snapcraft login
[skip ci]
2022-06-15 01:35:59 -04:00
Jagandeep Brar
d8506ee283 fix(database): validate enabled profile exists on restore 2022-06-15 00:33:14 -04:00
Jagandeep Brar
910bb432f2 chore(shaders): upgrade to Flutter 3.0.2/f15f824b57
[skip ci]
2022-06-15 00:33:14 -04:00
Jagandeep Brar
95a645c06c fix(lists): reorderable lists could not be reordered on some platforms 2022-06-15 00:33:14 -04:00
Jagandeep Brar
6ad93549b1 chore(env): remove .env
[skip ci]
2022-06-15 00:33:14 -04:00
Jagandeep Brar
a643c09667 chore(gen): remove Envify build target
[skip ci]
2022-06-14 18:06:09 -04:00
Jagandeep Brar
9fd5bb6beb chore(contributors): add @iHunterX to CONTRIBUTORS.md
[skip ci]
2022-06-14 18:04:45 -04:00
Weblate (bot)
e0fd501ba5 chore: translations update from Hosted Weblate (#679) [skip ci]
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>
Co-authored-by: Maxime Leroy <lisacintosh@gmail.com>
Co-authored-by: Dinh Xuan Loc <loc.dx2903@gmail.com>
Co-authored-by: Jagandeep Brar <me@jagandeepbrar.io>
2022-06-14 18:02:40 -04:00
Jagandeep Brar
c4dd509e32 refactor(environment): load environment using environment_config 2022-06-14 17:52:17 -04:00
Jagandeep Brar
ef9bbaf265 chore(release): v10.1.0
[skip ci]
2022-06-14 17:52:17 -04:00
Jagandeep Brar
5d52440a43 refactor(core): destructure core folder and reintegrate extensions 2022-06-14 17:52:17 -04:00
Jagandeep Brar
19475ac193 chore: separate keys and data in LunaBox accessors 2022-06-14 17:52:17 -04:00
Jagandeep Brar
16b1b991a4 chore: rewrite profile system interface 2022-06-14 17:52:17 -04:00
Jagandeep Brar
446e2308d9 chore(database): further clean-up and refactoring 2022-06-14 17:52:17 -04:00
Jagandeep Brar
9cb3fabdf1 refactor: refactored in-app purchase interface 2022-06-14 17:52:17 -04:00
Jagandeep Brar
11015f3e36 chore(core): removed additional canonical export files
[skip ci]
2022-05-31 23:58:48 -04:00
Jagandeep Brar
9f3c3f779d refactor: utilize statics and class functions for LunaModule enum
[skip ci]
2022-05-31 23:49:48 -04:00
Jagandeep Brar
8fe81d11ab fix(database): correctly store manually ordered module list 2022-05-31 23:02:04 -04:00
Jagandeep Brar
a0eaca084a refactor(database): rewrite interface to key-value database 2022-05-31 21:12:38 -04:00
Jagandeep Brar
f136f532dd chore: bump to v10.0.4
[skip ci]
2022-05-26 22:49:55 -04:00
Jagandeep Brar
89241c7093 chore(release): stable release
[skip ci]
2022-05-26 12:31:55 -04:00
Jagandeep Brar
7c93dbb3f4 chore(release): candidate release
[skip ci]
2022-05-26 08:51:37 -04:00
Jagandeep Brar
4744f4d997 chore(release): beta release
[skip ci]
2022-05-26 01:20:13 -04:00
1409 changed files with 17300 additions and 16370 deletions

View File

@@ -268,6 +268,132 @@
"contributions": [
"translation"
]
},
{
"login": "iHunterX",
"name": "iHunterX",
"avatar_url": "https://avatars.githubusercontent.com/u/16854718?v=4",
"profile": "https://github.com/iHunterX",
"contributions": [
"translation"
]
},
{
"login": "Brokeos",
"name": "Brokeos",
"avatar_url": "https://avatars.githubusercontent.com/u/8388746?v=4",
"profile": "https://github.com/Brokeos",
"contributions": [
"translation"
]
},
{
"login": "punchy98",
"name": "Michael Maldonado",
"avatar_url": "https://avatars.githubusercontent.com/u/12002902?v=4",
"profile": "https://github.com/punchy98",
"contributions": [
"translation"
]
},
{
"login": "natiz",
"name": "natiz",
"avatar_url": "https://avatars.githubusercontent.com/u/3515888?v=4",
"profile": "https://github.com/natiz",
"contributions": [
"code"
]
},
{
"login": "KevoM",
"name": "KevoM",
"avatar_url": "https://avatars.githubusercontent.com/u/8274366?v=4",
"profile": "https://github.com/KevoM",
"contributions": [
"translation"
]
},
{
"login": "rogeriomendes",
"name": "rogeriomendes",
"avatar_url": "https://avatars.githubusercontent.com/u/1494503?v=4",
"profile": "https://github.com/rogeriomendes",
"contributions": [
"translation"
]
},
{
"login": "Irishsmurf",
"name": "David K",
"avatar_url": "https://avatars.githubusercontent.com/u/587220?v=4",
"profile": "http://www.paddez.com/",
"contributions": [
"design"
]
},
{
"login": "Slam4uk",
"name": "Slam4uk",
"avatar_url": "https://avatars.githubusercontent.com/u/78175288?v=4",
"profile": "https://github.com/Slam4uk",
"contributions": [
"translation"
]
},
{
"login": "timrettop",
"name": "Tim Potter",
"avatar_url": "https://avatars.githubusercontent.com/u/434913?v=4",
"profile": "https://github.com/timrettop",
"contributions": [
"translation"
]
},
{
"login": "carlesmu",
"name": "Carles Muñoz Gorriz",
"avatar_url": "https://avatars.githubusercontent.com/u/1310090?v=4",
"profile": "https://github.com/carlesmu",
"contributions": [
"translation"
]
},
{
"login": "osjurso",
"name": "Olav Markus Sjursø",
"avatar_url": "https://avatars.githubusercontent.com/u/17827103?v=4",
"profile": "https://github.com/osjurso",
"contributions": [
"translation"
]
},
{
"login": "fyu0h",
"name": "fyu0h",
"avatar_url": "https://avatars.githubusercontent.com/u/33602841?v=4",
"profile": "https://github.com/fyu0h",
"contributions": [
"translation"
]
},
{
"login": "johnflorin",
"name": "Florin",
"avatar_url": "https://avatars.githubusercontent.com/u/45756085?v=4",
"profile": "https://github.com/johnflorin",
"contributions": [
"translation"
]
},
{
"login": "tuzumbear",
"name": "tuzumbear",
"avatar_url": "https://avatars.githubusercontent.com/u/61370405?v=4",
"profile": "https://github.com/tuzumbear",
"contributions": [
"translation"
]
}
],
"contributorsPerLine": 8,

View File

@@ -11,7 +11,8 @@
"docs",
"feat",
"fix",
"refactor"
"refactor",
"release"
]
]
}

4
.czrc
View File

@@ -9,6 +9,10 @@
"description": "Documentation only changes",
"title": "Documentation"
},
"release": {
"description": "A commit intended for publishing a new release",
"title": "Release"
},
"feat": {
"description": "A code change that implements a new feature",
"title": "Feature"

3
.env
View File

@@ -1,3 +0,0 @@
FLAVOR=edge
COMMIT=master
BUILD=9999999999

View File

@@ -1,14 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Support via Discord
- name: Feature Requests & Support via Discord
url: https://www.lunasea.app/discord
about: Chat with the developer and users on support and setup related topics.
about: Request new features and get support from the community
- name: Support via GitHub Discussions
url: https://github.com/JagandeepBrar/LunaSea/discussions
about: Ask questions and discuss with other community members
- name: Support via Reddit
url: https://www.lunasea.app/reddit
about: Ask the developer and other redditors for support and setup related topics.
- name: Feedback & Feature Requests Board
url: https://feedback.lunasea.app
about: Request new features and modules to be implemented into LunaSea.
about: Ask the developer and other redditors for support and setup related topics

View File

@@ -33,6 +33,10 @@ inputs:
description: 'Code Signing Certificate'
required: false
default: ''
firebase-service-worker:
description: 'Firebase Service Worker'
required: false
default: ''
google-play-key:
description: 'Google Play Store API Key'
required: false
@@ -46,7 +50,7 @@ runs:
using: composite
steps:
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
@@ -65,6 +69,7 @@ runs:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.3.7'
channel: stable
cache: true
cache-key: ${{ github.sha }}
@@ -115,21 +120,26 @@ runs:
- name: Setup Firebase Configuration
if: ${{ inputs.firebase-token != '' }}
shell: bash
env:
FIREBASE_TOKEN: ${{ inputs.firebase-token }}
run: |
npm install -g firebase-tools
gem install --user-install xcodeproj
dart pub global activate flutterfire_cli
flutterfire configure \
--project=comettools-lunasea \
--token=${{ inputs.firebase-token }} \
--platforms=android,ios,macos,web \
--android-package-name=app.lunasea.lunasea \
--ios-bundle-id=app.lunasea.lunasea \
--macos-bundle-id=app.lunasea.lunasea \
--out=lib/firebase/options.dart \
--platforms=android,ios,macos,web \
--no-apply-gradle-plugins \
--yes
- name: Setup Firebase Service Worker
if: ${{ inputs.firebase-service-worker != '' }}
shell: bash
run: echo ${{ inputs.firebase-service-worker }} | base64 --decode > web/firebase-messaging-sw.js
- name: Setup Android Platform
if: ${{ inputs.platform == 'android' }}
shell: bash

View File

@@ -23,16 +23,12 @@ inputs:
description: 'Google Play Store API Key'
required: false
default: ''
snapcraft-token:
description: 'Snapcraft API Key'
required: false
default: ''
runs:
using: composite
steps:
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
@@ -48,12 +44,6 @@ runs:
with:
bundler-cache: true
- name: Install Snapcraft
if: ${{ inputs.channel == 'snapcraft' }}
uses: samuelmeuli/action-snapcraft@v1
with:
snapcraft_token: ${{ inputs.snapcraft-token }}
- name: Install XCode
if: ${{ inputs.channel == 'app-store' }}
uses: maxim-lobanov/setup-xcode@v1

36
.github/scripts/notify-embed.js vendored Normal file
View File

@@ -0,0 +1,36 @@
const getRelease = () => {
const title = process.env.BUILD_TITLE;
let url = "https://builds.lunasea.app";
if (title) url += `/#${title}/`;
return `[Download](${url})`;
};
const getWeb = () => {
const flavor = process.env.BUILD_FLAVOR;
let url = "";
if (flavor !== "stable") url += `${process.env.BUILD_FLAVOR}.`;
url += "web.lunasea.app";
return `[View Deployment](https://${url})`;
};
module.exports = () => {
return JSON.stringify([
{
title: process.env.BUILD_TITLE ?? "Unknown Build",
color: 5164195,
timestamp: new Date().toISOString(),
fields: [
{
name: "Release",
value: getRelease(),
inline: true,
},
{
name: "Web",
value: getWeb(),
inline: true,
},
],
},
]);
};

View File

@@ -1,4 +1,4 @@
name: Release
name: Build
on:
push:
@@ -22,21 +22,14 @@ jobs:
name: Prepare
uses: JagandeepBrar/LunaSea/.github/workflows/prepare.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
secrets:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
validate:
name: Validate
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/validate.yml@master
flavor: ${{ inputs.flavor }}
secrets:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
build-android:
name: Build Android
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-android == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_android.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
@@ -47,8 +40,7 @@ jobs:
build-ios:
name: Build iOS
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-ios == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_ios.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
@@ -65,14 +57,12 @@ jobs:
build-linux:
name: Build Linux
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-linux == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_linux.yml@master
build-macos:
name: Build macOS
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-macos == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_macos.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
@@ -94,19 +84,18 @@ jobs:
build-web:
name: Build Web
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-web == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_web.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
flavor: ${{ github.event.inputs.flavor || 'edge' }}
secrets:
FIREBASE_SERVICE_WORKER: ${{ secrets.FIREBASE_SERVICE_WORKER }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
build-windows:
name: Build Windows
needs: [ prepare, validate ]
if: ${{ needs.prepare.outputs.enable-windows == 'true' }}
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_windows.yml@master
secrets:
CODE_SIGNING_CERTIFICATE: ${{ secrets.CODE_SIGNING_CERTIFICATE }}
@@ -119,25 +108,19 @@ jobs:
needs: [ prepare, build-android ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_android.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
GOOGLE_PLAY_API: ${{ secrets.GOOGLE_PLAY_API }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-ios:
name: Publish iOS
needs: [ prepare, build-ios ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_ios.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
@@ -145,36 +128,23 @@ jobs:
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-linux:
name: Publish Linux
needs: [ prepare, build-linux ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_linux.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
secrets:
SNAPCRAFT_TOKEN: ${{ secrets.SNAPCRAFT_TOKEN }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
publish-macos:
name: Publish macOS
needs: [ prepare, build-macos ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_macos.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
@@ -182,34 +152,23 @@ jobs:
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-web:
name: Publish Web
needs: [ prepare, build-web ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_web.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
publish-windows:
name: Publish Windows
needs: [ prepare, build-windows ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_windows.yml@master
publish-s3:
name: Publish S3
needs: [ prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_s3.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
@@ -221,26 +180,11 @@ jobs:
notify:
name: Notify
needs: [ prepare, publish-android, publish-ios, publish-linux, publish-macos, publish-web, publish-windows ]
if: |
always() &&
!cancelled() &&
(needs.publish-android.result == 'success' || needs.publish-android.result == 'skipped') &&
(needs.publish-ios.result == 'success' || needs.publish-ios.result == 'skipped') &&
(needs.publish-linux.result == 'success' || needs.publish-linux.result == 'skipped') &&
(needs.publish-macos.result == 'success' || needs.publish-macos.result == 'skipped') &&
(needs.publish-web.result == 'success' || needs.publish-web.result == 'skipped') &&
(needs.publish-windows.result == 'success' || needs.publish-windows.result == 'skipped')
needs: [ prepare, publish-s3 ]
uses: JagandeepBrar/LunaSea/.github/workflows/notify.yml@master
with:
flavor: ${{ github.event.inputs.flavor || 'edge' }}
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
enable-android: ${{ needs.prepare.outputs.enable-android && needs.publish-android.result == 'success' }}
enable-ios: ${{ needs.prepare.outputs.enable-ios && needs.publish-ios.result == 'success' }}
enable-linux: ${{ needs.prepare.outputs.enable-linux && needs.publish-linux.result == 'success' }}
enable-macos: ${{ needs.prepare.outputs.enable-macos && needs.publish-macos.result == 'success' }}
enable-web: ${{ needs.prepare.outputs.enable-web && needs.publish-web.result == 'success' }}
enable-windows: ${{ needs.prepare.outputs.enable-windows && needs.publish-windows.result == 'success' }}
secrets:
DISCORD_WEBHOOK_EDGE: ${{ secrets.DISCORD_WEBHOOK_EDGE }}
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}

View File

@@ -3,16 +3,18 @@ name: 'Build Web'
on:
workflow_call:
inputs:
build-title:
build-flavor:
required: true
type: string
flavor:
build-title:
required: true
type: string
secrets:
FIREBASE_TOKEN:
required: true
FIREBASE_SERVICE_WORKER:
required: true
jobs:
build-hosted:
@@ -23,6 +25,7 @@ jobs:
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
firebase-service-worker: ${{ secrets.FIREBASE_SERVICE_WORKER }}
platform: web
- name: Build LunaSea
@@ -68,14 +71,27 @@ jobs:
with:
platform: web
- name: Determine Tags
id: tags
uses: actions/github-script@v6
env:
BUILD_FLAVOR: ${{ inputs.build-flavor }}
BUILD_TITLE: ${{ inputs.build-title }}
with:
result-encoding: string
script: |
const tags = [];
tags.push(process.env.BUILD_FLAVOR);
tags.push(process.env.BUILD_TITLE);
if (process.env.BUILD_FLAVOR === 'stable') tags.push('latest');
return tags.map((tag) => `ghcr.io/jagandeepbrar/lunasea:${tag}`).join(',');
- name: Build LunaSea
uses: docker/build-push-action@v2
with:
context: .
outputs: type=docker,dest=${{ github.workspace}}/output/lunasea-web-docker.tar
tags: |
ghcr.io/jagandeepbrar/lunasea:${{ inputs.build-title }}
ghcr.io/jagandeepbrar/lunasea:${{ inputs.flavor }}
tags: ${{ steps.tags.outputs.result }}
- name: Upload Artifact
uses: actions/upload-artifact@v3

View File

@@ -1,20 +0,0 @@
name: Clear Flutter Cache
on:
workflow_dispatch
jobs:
clear:
name: Clear Cache
runs-on: ubuntu-latest
steps:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
cache-key: ${{ github.sha }}
- name: Flutter Doctor
working-directory: ${{ github.workspace }}
run: flutter doctor -v

View File

@@ -16,11 +16,8 @@ jobs:
issue-comment: >
Hi @{issue-author}! We use the issue tracker exclusively
for bug reports and issues. However, this issue appears
to be a feature request. Please use the following channels:
- [Feedback & Feature Requests Board](https://feedback.lunasea.app)
- [Discord](https://www.lunasea.app/discord)
to be a feature request. Please use the [Discord](https://www.lunasea.app/discord)
to request new features.
close-issue: true
lock-issue: true
issue-lock-reason: 'off-topic'

View File

@@ -3,30 +3,12 @@ name: Notify
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
flavor:
required: true
type: string
enable-android:
required: true
type: string
enable-ios:
required: true
type: string
enable-linux:
required: true
type: string
enable-macos:
required: true
type: string
enable-web:
required: true
type: string
enable-windows:
required: true
type: string
secrets:
DISCORD_WEBHOOK_EDGE:
@@ -43,6 +25,11 @@ jobs:
name: Discord
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Determine Webhook Channel
id: webhook
uses: actions/github-script@v6
@@ -51,12 +38,11 @@ jobs:
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}
DISCORD_WEBHOOK_CANDIDATE: ${{ secrets.DISCORD_WEBHOOK_CANDIDATE }}
DISCORD_WEBHOOK_STABLE: ${{ secrets.DISCORD_WEBHOOK_STABLE }}
FLAVOR: ${{ inputs.flavor }}
BUILD_FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
const ref = process.env.FLAVOR || 'edge';
switch (ref) {
switch (process.env.BUILD_FLAVOR) {
case 'beta': return process.env.DISCORD_WEBHOOK_BETA;
case 'candidate': return process.env.DISCORD_WEBHOOK_CANDIDATE;
case 'stable': return process.env.DISCORD_WEBHOOK_STABLE;
@@ -64,45 +50,20 @@ jobs:
default: return process.env.DISCORD_WEBHOOK_EDGE;
}
- name: Create Discord Message
id: message
- name: Create Discord Embed
id: embed
uses: actions/github-script@v6
env:
BUILD_FLAVOR: ${{ inputs.build-flavor }}
BUILD_TITLE: ${{ inputs.build-title }}
ANDROID: ${{ inputs.enable-android }}
IOS: ${{ inputs.enable-ios }}
LINUX: ${{ inputs.enable-linux }}
MACOS: ${{ inputs.enable-macos }}
WEB: ${{ inputs.enable-web }}
WINDOWS: ${{ inputs.enable-windows }}
with:
result-encoding: string
script: |
const { ANDROID, IOS, LINUX, MACOS, WEB, WINDOWS } = process.env;
const url = `https://builds.lunasea.app/#${ process.env.BUILD_TITLE }/`;
let _base = `[Download](${url})`;
if ( ANDROID || IOS || LINUX || MACOS || WEB || WINDOWS) {
_base += '\n\nThis release is available on the following platforms: ';
const platforms = [];
if (ANDROID === 'true') platforms.push('Android');
if (IOS === 'true') platforms.push('iOS');
if (LINUX === 'true') platforms.push('Linux');
if (MACOS === 'true') platforms.push('macOS');
if (WEB === 'true') platforms.push('Web');
if (WINDOWS === 'true') platforms.push('Windows');
_base += platforms.map((p) => `**${p}**`).join(', ');
}
return _base;
script: return require('.github/scripts/notify-embed.js')();
- name: Send Discord Message
uses: sarisia/actions-status-discord@v1
with:
webhook: ${{ steps.webhook.outputs.result }}
username: LunaSea Support
avatar_url: https://raw.githubusercontent.com/JagandeepBrar/LunaSea/master/assets/icon/icon.png
noprefix: true
color: 0x4ECCA3
title: ${{ inputs.build-title }}
description: ${{ steps.message.outputs.result }}
uses: Ilshidur/action-discord@0.3.2
env:
DISCORD_WEBHOOK: ${{ steps.webhook.outputs.result }}
DISCORD_USERNAME: LunaSea Support
DISCORD_AVATAR: https://raw.githubusercontent.com/JagandeepBrar/LunaSea/master/assets/icon/icon.png
DISCORD_EMBEDS: ${{ steps.embed.outputs.result }}

View File

@@ -8,6 +8,12 @@ on:
required: true
outputs:
build-flavor:
description: "Build Flavor"
value: ${{ jobs.build-details.outputs.build-flavor }}
build-motd:
description: "Build MOTD"
value: ${{ jobs.build-details.outputs.build-motd }}
build-number:
description: "Build Number"
value: ${{ jobs.build-details.outputs.build-number }}
@@ -17,163 +23,67 @@ on:
build-version:
description: "Build Version"
value: ${{ jobs.build-details.outputs.build-version }}
enable-android:
description: "Is Android Enabled?"
value: ${{ jobs.platform-list.outputs.android }}
enable-ios:
description: "Is iOS Enabled?"
value: ${{ jobs.platform-list.outputs.ios }}
enable-linux:
description: "Is Linux Enabled?"
value: ${{ jobs.platform-list.outputs.linux }}
enable-macos:
description: "Is macOS Enabled?"
value: ${{ jobs.platform-list.outputs.macos }}
enable-windows:
description: "Is Windows Enabled?"
value: ${{ jobs.platform-list.outputs.windows }}
enable-web:
description: "Is Web Enabled?"
value: ${{ jobs.platform-list.outputs.web }}
secrets:
FIREBASE_TOKEN:
required: true
SENTRY_DSN:
required: true
jobs:
platform-list:
name: Platform List
runs-on: ubuntu-latest
outputs:
android: ${{ steps.android.outputs.result }}
ios: ${{ steps.ios.outputs.result }}
linux: ${{ steps.linux.outputs.result }}
macos: ${{ steps.macos.outputs.result }}
windows: ${{ steps.windows.outputs.result }}
web: ${{ steps.web.outputs.result }}
steps:
- name: Check Message for Any Keywords
id: exists
uses: actions/github-script@v6
env:
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
return process.env.MESSAGE.includes("platform:");
- name: Android
id: android
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:android");
- name: iOS
id: ios
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:ios");
- name: Linux
id: linux
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:linux");
- name: macOS
id: macos
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:macos");
- name: Web
id: web
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:web");
- name: Windows
id: windows
uses: actions/github-script@v6
env:
EXISTS: ${{ steps.exists.outputs.result }}
MESSAGE: ${{ github.event.head_commit.message || '' }}
with:
result-encoding: string
script: |
if (process.env.EXISTS === "false") return true;
return process.env.MESSAGE.includes("platform:windows");
- name: Log Platform List
env:
android: ${{ steps.android.outputs.result }}
ios: ${{ steps.ios.outputs.result }}
linux: ${{ steps.linux.outputs.result }}
macos: ${{ steps.macos.outputs.result }}
windows: ${{ steps.windows.outputs.result }}
web: ${{ steps.web.outputs.result }}
run: |
echo "Android: $android"
echo "iOS: $ios"
echo "Linux: $linux"
echo "macOS: $macos"
echo "Web: $web"
echo "Windows: $windows"
build-details:
name: Build Details
runs-on: ubuntu-latest
outputs:
build-motd: ${{ steps.build-motd.outputs.result }}
build-flavor: ${{ steps.build-flavor.outputs.result }}
build-number: ${{ steps.build-number.outputs.result }}
build-title: ${{ steps.build-title.outputs.output }}
build-version: ${{ steps.build-version.outputs.current-version }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Count Commits
id: commit_count
id: commit-count
run: |
COUNT=`git rev-list HEAD --count`
echo "::set-output name=commit_count::$COUNT"
echo "::set-output name=commit-count::$COUNT"
- name: Build Flavor
id: build-flavor
uses: actions/github-script@v6
env:
FLAVOR: ${{ inputs.flavor }}
with:
result-encoding: string
script: |
const flavor = process.env.FLAVOR;
if (flavor) switch (flavor) {
case 'edge':
case 'beta':
case 'candidate':
case 'stable':
return flavor;
}
return 'edge';
- name: Build MOTD
id: build-motd
uses: actions/github-script@v6
env:
FLAVOR: ${{ steps.build-flavor.outputs.result }}
with:
result-encoding: string
script: return `Thank you for testing ${process.env.FLAVOR} release builds! All changes can be found within the application.`;
- name: Build Number
id: build-number
uses: actions/github-script@v6
env:
COUNT: ${{ steps.commit_count.outputs.commit_count }}
COUNT: ${{ steps.commit-count.outputs.commit-count }}
with:
result-encoding: string
script: |
@@ -189,18 +99,22 @@ jobs:
id: build-title
run: |
HASH=`git rev-parse --short ${{ github.sha }}`
TITLE="v${{ steps.build-version.outputs.current-version }}-${{ inputs.flavor }}-${{ steps.build-number.outputs.result }}-$HASH"
TITLE="v${{ steps.build-version.outputs.current-version }}-${{ steps.build-flavor.outputs.result }}-${{ steps.build-number.outputs.result }}-$HASH"
echo "::set-output name=output::$TITLE"
- name: Log Build Details
env:
number: ${{ steps.build-number.outputs.result }}
title: ${{ steps.build-title.outputs.output }}
version: ${{ steps.build-version.outputs.current-version }}
FLAVOR: ${{ steps.build-flavor.outputs.result }}
MOTD: ${{ steps.build-motd.outputs.result }}
NUMBER: ${{ steps.build-number.outputs.result }}
TITLE: ${{ steps.build-title.outputs.output }}
VERSION: ${{ steps.build-version.outputs.current-version }}
run: |
echo "Build Number: $number"
echo "Build Title: $title"
echo "Build Version: $version"
echo "Build MOTD: $MOTD"
echo "Build Flavor: $FLAVOR"
echo "Build Number: $NUMBER"
echo "Build Title: $TITLE"
echo "Build Version: $VERSION"
generate-files:
name: Generate Files
@@ -216,21 +130,27 @@ jobs:
- name: Generate Environment Configuration
run: |
echo FLAVOR=${{ inputs.flavor }} > .env
echo COMMIT=${{ github.sha }} >> .env
echo BUILD=${{ needs.build-details.outputs.build-number }} >> .env
export FLAVOR=${{ needs.build-details.outputs.build-flavor }}
export COMMIT=${{ github.sha }}
export BUILD=${{ needs.build-details.outputs.build-number }}
export SENTRY_DSN=${{ secrets.SENTRY_DSN }}
flutter packages pub run environment_config:generate
- name: Generate Localization
run: dart ${{github.workspace }}/scripts/generate_localization.dart
- name: Generate Changelog
run: dart ${{github.workspace }}/scripts/generate_changelog.dart ${{ needs.build-details.outputs.build-flavor }}
- name: Generate Build Runner Files
run: flutter packages pub run build_runner build
- name: Upload Core Files
uses: actions/upload-artifact@v3
with:
name: core-files
path: |
${{ github.workspace }}/.env
${{ github.workspace }}/assets/changelog.json
${{ github.workspace }}/assets/localization
${{ github.workspace }}/lib/**/*.g.dart
${{ github.workspace }}/lib/system/environment.dart

View File

@@ -3,29 +3,19 @@ name: Publish Android
on:
workflow_call:
inputs:
build-number:
build-flavor:
required: true
type: string
build-motd:
required: true
type: string
build-title:
required: true
type: string
flavor:
required: true
type: string
secrets:
GOOGLE_PLAY_API:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
play-store:
@@ -48,7 +38,7 @@ jobs:
id: channel
uses: actions/github-script@v6
env:
FLAVOR: ${{ inputs.flavor }}
FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
@@ -60,54 +50,17 @@ jobs:
case 'edge':
default: return 'internal';
}
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/android/fastlane/metadata/android/en-CA/changelogs
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/default.txt
- name: Deploy to Google Play Store
working-directory: ${{ github.workspace }}/android
env:
SUPPLY_JSON_KEY: ${{ github.workspace }}/keys/googleplay.json
run: bundle exec fastlane deploy_playstore track:${{ steps.channel.outputs.result }} aab:${{ github.workspace }}/output/lunasea-android.aab version_name:${{ inputs.build-title }}
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Android App Package
uses: actions/download-artifact@v3
with:
name: android-app-package
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_ANDROID.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}

View File

@@ -3,13 +3,10 @@ name: Publish iOS
on:
workflow_call:
inputs:
build-number:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
flavor:
build-motd:
required: true
type: string
@@ -26,16 +23,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
app-store:
@@ -53,7 +40,15 @@ jobs:
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/ios/fastlane
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/changelog.txt
- name: Deploy to App Store Connect
working-directory: ${{ github.workspace }}/ios
env:
@@ -63,49 +58,4 @@ jobs:
APPLE_STORE_CONNECT_KEY_FILEPATH: ${{ github.workspace }}/keys/appstore.p8
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.flavor }} ipa:${{ github.workspace }}/output/lunasea-ios.ipa
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download iOS App Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_IOS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} ipa:${{ github.workspace }}/output/lunasea-ios.ipa

View File

@@ -3,28 +3,12 @@ name: Publish Linux
on:
workflow_call:
inputs:
build-number:
required: true
type: string
build-title:
required: true
type: string
flavor:
build-flavor:
required: true
type: string
secrets:
SNAPCRAFT_TOKEN:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
SNAPCRAFT_STORE_CREDENTIALS:
required: true
jobs:
@@ -36,7 +20,6 @@ jobs:
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: snapcraft
snapcraft-token: ${{ secrets.SNAPCRAFT_TOKEN }}
- name: Download Snap
uses: actions/download-artifact@v3
@@ -45,49 +28,9 @@ jobs:
path: ${{ github.workspace }}/output
- name: Deploy to Snapcraft
run: snapcraft upload --release=${{ inputs.flavor }} ${{ github.workspace }}/output/lunasea-linux-amd64.snap
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Linux Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
uses: snapcore/action-publish@master
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_LINUX.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}
release: ${{ inputs.build-flavor }}
snap: ${{ github.workspace }}/output/lunasea-linux-amd64.snap

View File

@@ -3,13 +3,10 @@ name: Publish macOS
on:
workflow_call:
inputs:
build-number:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
flavor:
build-motd:
required: true
type: string
@@ -26,16 +23,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
app-store:
@@ -53,7 +40,15 @@ jobs:
with:
name: macos-appstore-package
path: ${{ github.workspace }}/output
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/macos/fastlane
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/changelog.txt
- name: Deploy to App Store Connect
working-directory: ${{ github.workspace }}/macos
env:
@@ -63,55 +58,4 @@ jobs:
APPLE_STORE_CONNECT_KEY_FILEPATH: ${{ github.workspace }}/keys/appstore.p8
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.flavor }} pkg:${{ github.workspace }}/output/lunasea-macos-amd64.pkg
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download macOS App Package
uses: actions/download-artifact@v3
with:
name: macos-app-package
path: ${{ github.workspace }}/output
- name: Download macOS Disk Image
uses: actions/download-artifact@v3
with:
name: macos-disk-image
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_MACOS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} pkg:${{ github.workspace }}/output/lunasea-macos-amd64.pkg

View File

@@ -1,17 +1,17 @@
name: Publish Windows
name: Publish S3
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
flavor:
required: true
type: string
secrets:
S3_ACCESS_KEY:
@@ -35,6 +35,42 @@ jobs:
with:
channel: s3
- name: Download Android App Package
uses: actions/download-artifact@v3
with:
name: android-app-package
path: ${{ github.workspace }}/output
- name: Download iOS App Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Download Linux Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Download macOS App Package
uses: actions/download-artifact@v3
with:
name: macos-app-package
path: ${{ github.workspace }}/output
- name: Download macOS Disk Image
uses: actions/download-artifact@v3
with:
name: macos-disk-image
path: ${{ github.workspace }}/output
- name: Download Web Archive
uses: actions/download-artifact@v3
with:
name: web-archive
path: ${{ github.workspace }}/output
- name: Download Windows App Package
uses: actions/download-artifact@v3
with:
@@ -47,6 +83,17 @@ jobs:
name: windows-msix-installer
path: ${{ github.workspace }}/output
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: |
echo ${{ inputs.build-number }} > VERSION.txt
echo ${{ inputs.build-number }} > VERSION_ANDROID.txt
echo ${{ inputs.build-number }} > VERSION_IOS.txt
echo ${{ inputs.build-number }} > VERSION_LINUX.txt
echo ${{ inputs.build-number }} > VERSION_MACOS.txt
echo ${{ inputs.build-number }} > VERSION_WEB.txt
echo ${{ inputs.build-number }} > VERSION_WINDOWS.txt
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
@@ -60,10 +107,6 @@ jobs:
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_WINDOWS.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
@@ -75,4 +118,4 @@ jobs:
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -1,31 +1,18 @@
name: Publish Web (Docker)
name: Publish Web
on:
workflow_call:
inputs:
build-number:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
flavor:
required: true
type: string
secrets:
NETLIFY_AUTH_TOKEN:
required: true
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
docker:
@@ -46,9 +33,7 @@ jobs:
path: ${{ github.workspace }}/output
- name: Load Docker Image
run: |
docker load --input ${{ github.workspace}}/output/lunasea-web-docker.tar
docker image ls -a
run: docker load --input ${{ github.workspace}}/output/lunasea-web-docker.tar
- name: Deploy to GitHub Container Registry
run: docker image push --all-tags ghcr.io/jagandeepbrar/lunasea
@@ -72,7 +57,7 @@ jobs:
id: channel
uses: actions/github-script@v6
env:
FLAVOR: ${{ inputs.flavor }}
FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
@@ -94,48 +79,3 @@ jobs:
publish-dir: ${{ github.workspace}}/output
production-deploy: true
deploy-message: ${{ inputs.build-title }}
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Web Archive
uses: actions/download-artifact@v3
with:
name: web-archive
path: ${{ github.workspace }}/output
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: echo ${{ inputs.build-number }} > VERSION_WEB.txt
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.flavor }}

View File

@@ -17,8 +17,11 @@ jobs:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: test
- name: Analyze
- name: Analyze Release
uses: invertase/github-action-dart-analyzer@v1
with:
fatal-infos: false
fatal-warnings: true
- name: Test Release
run: flutter test

4
.gitignore vendored
View File

@@ -42,6 +42,7 @@ ios/Flutter/.last_build_id
output/
*.packages
coverage/
lib/system/environment.dart
# XCode Build Artifacts
ios/build/
@@ -65,8 +66,11 @@ android/key.properties
# Firebase
android/firebase_app_id_file.json
android/app/google-services.json
ios/firebase_app_id_file.json
ios/Runner/GoogleService-Info.plist
macos/firebase_app_id_file.json
macos/Runner/GoogleService-Info.plist
# Node Dependency directories
node_modules/

View File

@@ -1,10 +1,30 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
# This file should be version controlled.
version:
revision: 7e9793dee1b85a243edd0e06cb1658e98b077561
revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
- platform: windows
create_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
base_revision: ffccd96b62ee8cec7740dab303538c5fc26ac543
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

View File

@@ -1 +1 @@
3.1.1
2.7.6

View File

@@ -24,5 +24,5 @@
"section": "Tweaks"
}
],
"releaseCommitMessageFormat": "chore(release): v{{currentTag}}\n\n[skip ci]"
"releaseCommitMessageFormat": "release: v{{currentTag}}\n\n[skip ci]"
}

9
.vscode/cspell.json vendored
View File

@@ -24,6 +24,7 @@
"cocoapods",
"codecov",
"colours",
"deinitialize",
"deintegrate",
"Discogs",
"emdash",
@@ -40,7 +41,11 @@
"leechers",
"Letterboxd",
"Lidarr",
"LunaBox",
"LunaConfig",
"lunasea",
"LunaTable",
"microtask",
"msix",
"Newznab",
"NZBGet",
@@ -50,6 +55,7 @@
"prefill",
"Radarr",
"Riverpod",
"roboto",
"SABnzbd",
"scrollview",
"sksl",
@@ -57,8 +63,11 @@
"Sonarr",
"stickied",
"subheaders",
"subroutes",
"Tautulli",
"TestFlight",
"Trakt",
"typescale",
"unencrypted",
"unignore",
"Weblate",

34
.vscode/launch.json vendored
View File

@@ -1,13 +1,23 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"request": "launch",
"type": "dart"
}
]
}
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"request": "launch",
"type": "dart",
"flutterMode": "debug"
},
{
"name": "Profile",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "Release",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
]
}

View File

@@ -1,5 +1,5 @@
{
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": "file:///Users/jagandeepbrar/Git/LunaSea/.github/workflows/deploy.yml"
"https://json.schemastore.org/github-issue-config.json": "file:///Users/jagandeepbrar/Git/LunaSea/.github/ISSUE_TEMPLATE/config.yml"
}
}

View File

@@ -2,6 +2,131 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [10.2.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.0...v10.2.1) (2022-11-06)
### Features
* **-arr:** button to open indexer information page ([bccd1a4](https://github.com/JagandeepBrar/LunaSea/commit/bccd1a43c42b349901137f8fc605f393b51d541a))
* **calendar:** remove option to show previous days in schedule view, now always shows them ([3ac2c5d](https://github.com/JagandeepBrar/LunaSea/commit/3ac2c5d791f94208a4004d161bb046c24b698345))
* **calendar:** scroll to selected date when switching from calendar to schedule view ([f1226e5](https://github.com/JagandeepBrar/LunaSea/commit/f1226e563899cfc0950865a9734448d4e00601b9))
* launch recovery mode on bootstrap failure ([c062b3d](https://github.com/JagandeepBrar/LunaSea/commit/c062b3d786e55bc3ba7fe767dd946d73efbef64f))
* **lidarr:** add MusicBrainz to links ([c76418d](https://github.com/JagandeepBrar/LunaSea/commit/c76418d26f1a5f52f5cb1e46951f1cf6726508c2))
* **modules:** ability to set the boot module ([3dd087e](https://github.com/JagandeepBrar/LunaSea/commit/3dd087e361619889057a0b037b1eef35157a0988))
* **radarr:** support moving files when editing the storage path ([c9bd02b](https://github.com/JagandeepBrar/LunaSea/commit/c9bd02b75086579f60ad8987c42ab217c12f6d43))
* **web:** support local filesystem read/save actions ([7d437d5](https://github.com/JagandeepBrar/LunaSea/commit/7d437d5c3a34a8681c372570fc366e869f0b2090))
### Bug Fixes
* **android:** apply Google Play Services plugin during gradle build ([71f597b](https://github.com/JagandeepBrar/LunaSea/commit/71f597baa7c23102b711c3ca3c1ea5b2f8e1f5e9))
* **android:** revert applying Google Play Services plugin during gradle build ([250a494](https://github.com/JagandeepBrar/LunaSea/commit/250a49490333f4de726226dc4aa15a681f32a70c))
* **android:** support Android 13 filesystem access ([25e0d05](https://github.com/JagandeepBrar/LunaSea/commit/25e0d051422b399de8c90e0fc71e57349e3355b7))
* **android:** utilize Kotlin v1.7.20 & Gradle v7.1.2 ([b7ceebc](https://github.com/JagandeepBrar/LunaSea/commit/b7ceebcb679dbca935b6a1810c0c67a14002e358))
* **backup:** edge-case where backup/restore would fail ([f3931c6](https://github.com/JagandeepBrar/LunaSea/commit/f3931c6b08025a70920039e5cbbc9cf7120c0b36))
* **calendar:** label unreleased movies as unreleased instead of missing ([70ed750](https://github.com/JagandeepBrar/LunaSea/commit/70ed750652ff419e6fed659a0785adc5064654e7))
* **calendar:** start to current date when past days are enabled ([6eff6c9](https://github.com/JagandeepBrar/LunaSea/commit/6eff6c902cd7bcd523d83be09034098234679a79))
* **firebase:** inject service file for older OS versions ([38f2eb4](https://github.com/JagandeepBrar/LunaSea/commit/38f2eb4cb2a8e400ce2ecb0b6f2854469c9626fc))
* **firebase:** upgrade to Firebase v10 ([#717](https://github.com/JagandeepBrar/LunaSea/issues/717)) ([f3a3f22](https://github.com/JagandeepBrar/LunaSea/commit/f3a3f222bd56beb4e961817b18d71f01fb7c5e81))
* **uiux:** add circular radius to linear progression bars ([d9623e9](https://github.com/JagandeepBrar/LunaSea/commit/d9623e992d2ac2039eaa4f069c739d968c921cc6))
### Tweaks
* **settings:** consolidate appearance, network, and localization pages ([ac838f9](https://github.com/JagandeepBrar/LunaSea/commit/ac838f99a9c839ce4e36e5eae80f1100e2787dc5))
* **uiux:** remove forced-upper case on headers ([958e6f1](https://github.com/JagandeepBrar/LunaSea/commit/958e6f156862c1092399649baa361cd955299c88))
## [10.2.0](https://github.com/JagandeepBrar/LunaSea/compare/v10.1.1...v10.2.0) (2022-09-22)
### Features
* **-arr:** view download client queue via overlay sheet ([0c59886](https://github.com/JagandeepBrar/LunaSea/commit/0c59886657db0ed05a9d741c82689cb1272c6ad2))
* **android:** add support for monochromatic adaptive icon ([#701](https://github.com/JagandeepBrar/LunaSea/issues/701)) ([96b2b1b](https://github.com/JagandeepBrar/LunaSea/commit/96b2b1b5b010507dd7ece3421bf02eac6ba32486))
* **locale:** support Croatian ([a160f09](https://github.com/JagandeepBrar/LunaSea/commit/a160f0941f2e0c86d2e2fab5e01a577ceba2a8f3))
* **logging:** integrate Sentry logging support for all platforms ([57bbb80](https://github.com/JagandeepBrar/LunaSea/commit/57bbb80a0188d3bed9ca70846a89df6a3c2c0953))
* **logo:** add Vectorized app logos ([113b294](https://github.com/JagandeepBrar/LunaSea/commit/113b2943469464598ce07b931818c7e29c6cc63a))
* **router:** re-implementation of routing via go_router ([1d4207a](https://github.com/JagandeepBrar/LunaSea/commit/1d4207ae5106c2a0648b77a3b3ef6508665561e8))
* **sabnzbd:** rewrite SABnzbd API interface ([a1b736a](https://github.com/JagandeepBrar/LunaSea/commit/a1b736ae0c9bf754d913e86c69d15c27f256c413))
* **search:** view download client queue via overlay sheet ([a6be658](https://github.com/JagandeepBrar/LunaSea/commit/a6be658164fed7dd2411a167dec6b4c53eab70f0))
* **settings:** re-add option to disable Sentry logging ([3d0c520](https://github.com/JagandeepBrar/LunaSea/commit/3d0c5209cb3e796629817dee986634154e7ffe9e))
* **web:** enable service worker processing of notifications ([4b41110](https://github.com/JagandeepBrar/LunaSea/commit/4b411107f74f048e6f3d571845590a5d29720ac3))
### Bug Fixes
* **android:** support Android 13 notification prompt ([83e8374](https://github.com/JagandeepBrar/LunaSea/commit/83e8374c33977c82096fcf8d5a4d94da5c291f8f))
* **cache:** add type-safety to LRU cache ([7aae480](https://github.com/JagandeepBrar/LunaSea/commit/7aae4807221184dbe1d02454f73998a0458dd7f6))
* **database:** prevent deadlock in database deletion actions ([9960124](https://github.com/JagandeepBrar/LunaSea/commit/9960124d3219e2ab72e14443a1a79a1bac6b2cd3))
* **graphs:** support fl_chart@0.55.1 ([b812c7b](https://github.com/JagandeepBrar/LunaSea/commit/b812c7b4a12b4766e04b5d4023b45320e6b7927c))
* **images:** validate image availability before fading-in ([6f9e0e8](https://github.com/JagandeepBrar/LunaSea/commit/6f9e0e87ce3d02dfff7dec439a2e975585c5b986))
* **notifications:** correctly inject service worker for notification handling ([82ef5f0](https://github.com/JagandeepBrar/LunaSea/commit/82ef5f0c529a9e30475f86f496fa63c18785e87c))
* **notifications:** enable in-app notifications config was inversed ([3593eb3](https://github.com/JagandeepBrar/LunaSea/commit/3593eb329b38fb4a5b776cf1b165ad6f463e371b))
* **resources:** remove feedback board resource ([d3d090e](https://github.com/JagandeepBrar/LunaSea/commit/d3d090e277f7dda7d4ef3d7808e7341cf79178fe))
* **scrolling:** remove custom scrolling behaviour ([864082f](https://github.com/JagandeepBrar/LunaSea/commit/864082fd4045ef7dea0e0ab6a17d41ca86015fcb))
* **settings:** show notification settings area on web ([136cda5](https://github.com/JagandeepBrar/LunaSea/commit/136cda5215ae1d44dcd898e8e8e0b1e1912b3a41))
* **sheets:** set default overlay theme for sheets, remove bottom radius clipping ([3a5e19b](https://github.com/JagandeepBrar/LunaSea/commit/3a5e19b02c048df21bd169a0a06f1e9ae741debb))
* **sonarr:** support Sonarr v4 API changes ([e477eca](https://github.com/JagandeepBrar/LunaSea/commit/e477ecafcce268d7de112f33711fc02a089a4206))
* **web:** correctly register notification service worker ([579531c](https://github.com/JagandeepBrar/LunaSea/commit/579531c30a17e2c8d53d011dbecf710f42598ec8))
### Tweaks
* **remove logos:** removes unused logo pngs ([2adfe59](https://github.com/JagandeepBrar/LunaSea/commit/2adfe59bd5cd289beb7f7c703fe26397310dbc90))
### [10.1.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.1.0...v10.1.1) (2022-08-21)
### Features
* **changelog:** do not show changelog on first boot of new installs ([52fd7fc](https://github.com/JagandeepBrar/LunaSea/commit/52fd7fca0c5076b4b98458d449a4b1f581726a52))
### Bug Fixes
* **config:** log restoration error after resetting the database to default ([b02fe81](https://github.com/JagandeepBrar/LunaSea/commit/b02fe81df697066be6172a7d423768490639593e))
* **indexer:** remove LunaIndexerIcon from model definition ([cf3d9bb](https://github.com/JagandeepBrar/LunaSea/commit/cf3d9bbc17cd67f0c5e8be22b9450563046a2127))
## [10.1.0](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.3...v10.1.0) (2022-08-21)
### Features
* **calendar:** show current month in header ([925f163](https://github.com/JagandeepBrar/LunaSea/commit/925f163e1534aeb45e5b22e8254eaf391eabd79f))
* **changelog:** prepare and show changelog on pre-release builds ([df65f53](https://github.com/JagandeepBrar/LunaSea/commit/df65f53a4b00d11abc998f681274d22d94254f14))
* **locale:** support Vietnamese (vi) ([8b57450](https://github.com/JagandeepBrar/LunaSea/commit/8b5745044e3af64a6c9bc593a9877400ac8a2dc2))
### Bug Fixes
* **android:** correctly handle back-button to open drawer on applicable routes ([c91ba2c](https://github.com/JagandeepBrar/LunaSea/commit/c91ba2ce8134fdc796d0431ba1c9134908fddd91))
* **changelog:** group changelog item rows by key feature change ([2ababbd](https://github.com/JagandeepBrar/LunaSea/commit/2ababbd1b32abd153fa73fcdfe292c7791edbf52))
* **ci:** utilize latest standard for Snapcraft login ([aff6e2c](https://github.com/JagandeepBrar/LunaSea/commit/aff6e2ca184e9539f28dd326c06478ca2dbfee4c))
* **database:** correctly store manually ordered module list ([8fe81d1](https://github.com/JagandeepBrar/LunaSea/commit/8fe81d11ab5c5aa484f0c2b471932d5364e6209c))
* **database:** detect and recover from database corruption ([758756f](https://github.com/JagandeepBrar/LunaSea/commit/758756fcf2456996c7ee02be2bd523cca91c45d3))
* **database:** fallback to defaults on null values in profile ([fb3e8e5](https://github.com/JagandeepBrar/LunaSea/commit/fb3e8e53255c457d0922505ad6c2d91f5c0fcf03))
* **database:** safely type indexer fields and headers ([f1dcd0c](https://github.com/JagandeepBrar/LunaSea/commit/f1dcd0c36d558882bfbc7f4465ed56fac0743c55))
* **database:** utilize stricter typing for module headers map ([d4d9816](https://github.com/JagandeepBrar/LunaSea/commit/d4d9816c945b1930ecfda0382d809a7c67839a26))
* **database:** validate enabled profile exists on restore ([d8506ee](https://github.com/JagandeepBrar/LunaSea/commit/d8506ee2834ca6a83394c11f6d4d329f03a3647f))
* display 0-length timestamps as "0 Minutes" instead of "Under a Minute" ([e05b17a](https://github.com/JagandeepBrar/LunaSea/commit/e05b17ae5ed35cec85ade5b910b82869cb7ad3f2))
* **lidarr:** (history) sort list by date descending ([ad22820](https://github.com/JagandeepBrar/LunaSea/commit/ad22820d6662371d3d2bc7fbf596f86619002d20))
* **lists:** reorderable lists could not be reordered on some platforms ([95a645c](https://github.com/JagandeepBrar/LunaSea/commit/95a645c06cf2a76231c4b8dbea87ec593961c205))
* **locale:** create stub primary language localization assets ([18ef4cf](https://github.com/JagandeepBrar/LunaSea/commit/18ef4cf1d4032a3f9db54b5da56158ffaf9b50c8))
* **overseerr:** issues/requests list view translation keys ([136b92b](https://github.com/JagandeepBrar/LunaSea/commit/136b92b8a7bdd5cd0ec2322444443d054df6daed))
* **radarr:** (queue) allow loading queue list when associated movie is not found ([22bf728](https://github.com/JagandeepBrar/LunaSea/commit/22bf728a3dab6b7d76c7674cb4d97dc73e849201))
* **sonarr:** fanart image requests not including headers ([b5bb300](https://github.com/JagandeepBrar/LunaSea/commit/b5bb300046431d8c1c26fd8ac4a26c42444f4f53))
* **sonarr:** invalid linking to theTVDB content ([80678a7](https://github.com/JagandeepBrar/LunaSea/commit/80678a75bb871a4835d1c73934e043564d80b6b0))
### Tweaks
* **changelog:** do not show documentation changes in in-app changelog ([2367050](https://github.com/JagandeepBrar/LunaSea/commit/2367050a66f2929d1ead17cc9191f47ddcb07f3a))
* **core:** destructure core folder and reintegrate extensions ([5d52440](https://github.com/JagandeepBrar/LunaSea/commit/5d52440a43e4b605a8ac95bcb02b909f489ef7e2))
* **database:** rewrite interface to key-value database ([a0eaca0](https://github.com/JagandeepBrar/LunaSea/commit/a0eaca084a399a2e249b142cb720cc50739a3f51))
* **environment:** load environment using environment_config ([c4dd509](https://github.com/JagandeepBrar/LunaSea/commit/c4dd509e3210847c0ddba4c7982f38099228a2d6))
* refactored in-app purchase interface ([9cb3fab](https://github.com/JagandeepBrar/LunaSea/commit/9cb3fabdf1f5fa10d65770a181ced937413642a2))
* utilize statics and class functions for LunaModule enum ([9f3c3f7](https://github.com/JagandeepBrar/LunaSea/commit/9f3c3f779dda1b2da007abe5c2079dcfa834eb99))
### [10.0.3](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.2...v10.0.3) (2022-05-26)

View File

@@ -3,7 +3,7 @@
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-29-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-43-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
@@ -14,43 +14,63 @@ Thank you to everyone who has helped contribute to LunaSea, from development to
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://www.jagandeepbrar.io"><img src="https://avatars.githubusercontent.com/u/3048295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jagandeep Brar</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=JagandeepBrar" title="Code">💻</a> <a href="#design-JagandeepBrar" title="Design">🎨</a> <a href="#ideas-JagandeepBrar" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://github.com/lightglitch"><img src="https://avatars.githubusercontent.com/u/196953?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mário Franco</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=lightglitch" title="Code">💻</a> <a href="#translation-lightglitch" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Qstick"><img src="https://avatars.githubusercontent.com/u/376117?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Qstick</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=Qstick" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AliMickey"><img src="https://avatars.githubusercontent.com/u/60691199?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Micky</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=AliMickey" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.xrths.fr"><img src="https://avatars.githubusercontent.com/u/40337934?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xrths</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=xrths" title="Documentation">📖</a></td>
<td align="center"><a href="https://pythonexplainedto.me/"><img src="https://avatars.githubusercontent.com/u/41962737?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrik Hauguth</b></sub></a><br /><a href="#translation-Phaugt" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/kingu/"><img src="https://avatars.githubusercontent.com/u/13802408?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Allan Nordhøy</b></sub></a><br /><a href="#translation-comradekingu" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/cpt-kuesel"><img src="https://avatars.githubusercontent.com/u/79487102?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cpt-kuesel</b></sub></a><br /><a href="#translation-cpt-kuesel" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/KovalevArtem"><img src="https://avatars.githubusercontent.com/u/36500228?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KovalevArtem</b></sub></a><br /><a href="#translation-KovalevArtem" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/iFelix18"><img src="https://avatars.githubusercontent.com/u/19800006?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Davide</b></sub></a><br /><a href="#translation-iFelix18" title="Translation">🌍</a></td>
<td align="center"><a href="https://ersen.srht.site/"><img src="https://avatars.githubusercontent.com/u/88676873?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Oğuz Ersen</b></sub></a><br /><a href="#translation-ersen0" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/bittin"><img src="https://avatars.githubusercontent.com/u/43197?v=4?s=100" width="100px;" alt=""/><br /><sub><b>bittin</b></sub></a><br /><a href="#translation-bittin" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/almontegil"><img src="https://avatars.githubusercontent.com/u/68232356?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gil</b></sub></a><br /><a href="#translation-almontegil" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheSander562"><img src="https://avatars.githubusercontent.com/u/14059770?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sander Lambrechts</b></sub></a><br /><a href="#translation-TheSander562" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Guilhermerrrr"><img src="https://avatars.githubusercontent.com/u/92966143?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guilhermerrrr</b></sub></a><br /><a href="#translation-Guilhermerrrr" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Ben-Wallner"><img src="https://avatars.githubusercontent.com/u/24373331?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Biber</b></sub></a><br /><a href="#translation-Ben-Wallner" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Sytom"><img src="https://avatars.githubusercontent.com/u/30535521?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sytom</b></sub></a><br /><a href="#translation-Sytom" title="Translation">🌍</a></td>
<td align="center"><a href="https://xxzj990.top"><img src="https://avatars.githubusercontent.com/u/5134154?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xxzj990</b></sub></a><br /><a href="#translation-xxzj990" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.openflixr.com"><img src="https://avatars.githubusercontent.com/u/3245077?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mark Frelink</b></sub></a><br /><a href="#translation-mfrelink" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/diemade"><img src="https://avatars.githubusercontent.com/u/174809?v=4?s=100" width="100px;" alt=""/><br /><sub><b>diemade</b></sub></a><br /><a href="#translation-diemade" title="Translation">🌍</a></td>
<td align="center"><a href="https://feikojoosten.com"><img src="https://avatars.githubusercontent.com/u/10920052?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Feiko Joosten</b></sub></a><br /><a href="#translation-FeikoJoosten" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheMaxul"><img src="https://avatars.githubusercontent.com/u/2436527?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheMaxul</b></sub></a><br /><a href="#translation-TheMaxul" title="Translation">🌍</a></td>
<td align="center"><a href="https://lisacintosh.itch.io"><img src="https://avatars.githubusercontent.com/u/6952213?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Maxime Leroy</b></sub></a><br /><a href="#translation-Lisapple" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/vc5"><img src="https://avatars.githubusercontent.com/u/13097192?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vincent</b></sub></a><br /><a href="#translation-vc5" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/gmcinalli"><img src="https://avatars.githubusercontent.com/u/9024983?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gian Marco Cinalli</b></sub></a><br /><a href="#translation-gmcinalli" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.issacc.top/"><img src="https://avatars.githubusercontent.com/u/17275050?v=4?s=100" width="100px;" alt=""/><br /><sub><b>八月的蠢</b></sub></a><br /><a href="#translation-issaccv" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/neoestremi"><img src="https://avatars.githubusercontent.com/u/1340877?v=4?s=100" width="100px;" alt=""/><br /><sub><b>neoestremi</b></sub></a><br /><a href="#translation-neoestremi" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/marcosvdiasofc"><img src="https://avatars.githubusercontent.com/u/96720080?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marcosvdiasofc</b></sub></a><br /><a href="#translation-marcosvdiasofc" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/FSCorrupt/donate"><img src="https://avatars.githubusercontent.com/u/45659314?v=4?s=100" width="100px;" alt=""/><br /><sub><b>FSCorrupt</b></sub></a><br /><a href="#translation-fscorrupt" title="Translation">🌍</a></td>
</tr>
<tbody>
<tr>
<td align="center"><a href="https://www.jagandeepbrar.io"><img src="https://avatars.githubusercontent.com/u/3048295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jagandeep Brar</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=JagandeepBrar" title="Code">💻</a> <a href="#design-JagandeepBrar" title="Design">🎨</a> <a href="#ideas-JagandeepBrar" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://github.com/lightglitch"><img src="https://avatars.githubusercontent.com/u/196953?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mário Franco</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=lightglitch" title="Code">💻</a> <a href="#translation-lightglitch" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Qstick"><img src="https://avatars.githubusercontent.com/u/376117?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Qstick</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=Qstick" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AliMickey"><img src="https://avatars.githubusercontent.com/u/60691199?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Micky</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=AliMickey" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.xrths.fr"><img src="https://avatars.githubusercontent.com/u/40337934?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xrths</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=xrths" title="Documentation">📖</a></td>
<td align="center"><a href="https://pythonexplainedto.me/"><img src="https://avatars.githubusercontent.com/u/41962737?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrik Hauguth</b></sub></a><br /><a href="#translation-Phaugt" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/kingu/"><img src="https://avatars.githubusercontent.com/u/13802408?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Allan Nordhøy</b></sub></a><br /><a href="#translation-comradekingu" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/cpt-kuesel"><img src="https://avatars.githubusercontent.com/u/79487102?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cpt-kuesel</b></sub></a><br /><a href="#translation-cpt-kuesel" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/KovalevArtem"><img src="https://avatars.githubusercontent.com/u/36500228?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KovalevArtem</b></sub></a><br /><a href="#translation-KovalevArtem" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/iFelix18"><img src="https://avatars.githubusercontent.com/u/19800006?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Davide</b></sub></a><br /><a href="#translation-iFelix18" title="Translation">🌍</a></td>
<td align="center"><a href="https://ersen.srht.site/"><img src="https://avatars.githubusercontent.com/u/88676873?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Oğuz Ersen</b></sub></a><br /><a href="#translation-ersen0" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/bittin"><img src="https://avatars.githubusercontent.com/u/43197?v=4?s=100" width="100px;" alt=""/><br /><sub><b>bittin</b></sub></a><br /><a href="#translation-bittin" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/almontegil"><img src="https://avatars.githubusercontent.com/u/68232356?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gil</b></sub></a><br /><a href="#translation-almontegil" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheSander562"><img src="https://avatars.githubusercontent.com/u/14059770?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sander Lambrechts</b></sub></a><br /><a href="#translation-TheSander562" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Guilhermerrrr"><img src="https://avatars.githubusercontent.com/u/92966143?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guilhermerrrr</b></sub></a><br /><a href="#translation-Guilhermerrrr" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Ben-Wallner"><img src="https://avatars.githubusercontent.com/u/24373331?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Biber</b></sub></a><br /><a href="#translation-Ben-Wallner" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Sytom"><img src="https://avatars.githubusercontent.com/u/30535521?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sytom</b></sub></a><br /><a href="#translation-Sytom" title="Translation">🌍</a></td>
<td align="center"><a href="https://xxzj990.top"><img src="https://avatars.githubusercontent.com/u/5134154?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xxzj990</b></sub></a><br /><a href="#translation-xxzj990" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.openflixr.com"><img src="https://avatars.githubusercontent.com/u/3245077?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mark Frelink</b></sub></a><br /><a href="#translation-mfrelink" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/diemade"><img src="https://avatars.githubusercontent.com/u/174809?v=4?s=100" width="100px;" alt=""/><br /><sub><b>diemade</b></sub></a><br /><a href="#translation-diemade" title="Translation">🌍</a></td>
<td align="center"><a href="https://feikojoosten.com"><img src="https://avatars.githubusercontent.com/u/10920052?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Feiko Joosten</b></sub></a><br /><a href="#translation-FeikoJoosten" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheMaxul"><img src="https://avatars.githubusercontent.com/u/2436527?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheMaxul</b></sub></a><br /><a href="#translation-TheMaxul" title="Translation">🌍</a></td>
<td align="center"><a href="https://lisacintosh.itch.io"><img src="https://avatars.githubusercontent.com/u/6952213?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Maxime Leroy</b></sub></a><br /><a href="#translation-Lisapple" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/vc5"><img src="https://avatars.githubusercontent.com/u/13097192?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vincent</b></sub></a><br /><a href="#translation-vc5" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/gmcinalli"><img src="https://avatars.githubusercontent.com/u/9024983?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gian Marco Cinalli</b></sub></a><br /><a href="#translation-gmcinalli" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.issacc.top/"><img src="https://avatars.githubusercontent.com/u/17275050?v=4?s=100" width="100px;" alt=""/><br /><sub><b>八月的蠢</b></sub></a><br /><a href="#translation-issaccv" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/neoestremi"><img src="https://avatars.githubusercontent.com/u/1340877?v=4?s=100" width="100px;" alt=""/><br /><sub><b>neoestremi</b></sub></a><br /><a href="#translation-neoestremi" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/marcosvdiasofc"><img src="https://avatars.githubusercontent.com/u/96720080?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marcosvdiasofc</b></sub></a><br /><a href="#translation-marcosvdiasofc" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/FSCorrupt/donate"><img src="https://avatars.githubusercontent.com/u/45659314?v=4?s=100" width="100px;" alt=""/><br /><sub><b>FSCorrupt</b></sub></a><br /><a href="#translation-fscorrupt" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/iHunterX"><img src="https://avatars.githubusercontent.com/u/16854718?v=4?s=100" width="100px;" alt=""/><br /><sub><b>iHunterX</b></sub></a><br /><a href="#translation-iHunterX" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Brokeos"><img src="https://avatars.githubusercontent.com/u/8388746?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Brokeos</b></sub></a><br /><a href="#translation-Brokeos" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/punchy98"><img src="https://avatars.githubusercontent.com/u/12002902?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Maldonado</b></sub></a><br /><a href="#translation-punchy98" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/natiz"><img src="https://avatars.githubusercontent.com/u/3515888?v=4?s=100" width="100px;" alt=""/><br /><sub><b>natiz</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=natiz" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/KevoM"><img src="https://avatars.githubusercontent.com/u/8274366?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KevoM</b></sub></a><br /><a href="#translation-KevoM" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/rogeriomendes"><img src="https://avatars.githubusercontent.com/u/1494503?v=4?s=100" width="100px;" alt=""/><br /><sub><b>rogeriomendes</b></sub></a><br /><a href="#translation-rogeriomendes" title="Translation">🌍</a></td>
<td align="center"><a href="http://www.paddez.com/"><img src="https://avatars.githubusercontent.com/u/587220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David K</b></sub></a><br /><a href="#design-Irishsmurf" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/Slam4uk"><img src="https://avatars.githubusercontent.com/u/78175288?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Slam4uk</b></sub></a><br /><a href="#translation-Slam4uk" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/timrettop"><img src="https://avatars.githubusercontent.com/u/434913?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tim Potter</b></sub></a><br /><a href="#translation-timrettop" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/carlesmu"><img src="https://avatars.githubusercontent.com/u/1310090?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Carles Muñoz Gorriz</b></sub></a><br /><a href="#translation-carlesmu" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/osjurso"><img src="https://avatars.githubusercontent.com/u/17827103?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Olav Markus Sjursø</b></sub></a><br /><a href="#translation-osjurso" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/fyu0h"><img src="https://avatars.githubusercontent.com/u/33602841?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fyu0h</b></sub></a><br /><a href="#translation-fyu0h" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/johnflorin"><img src="https://avatars.githubusercontent.com/u/45756085?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Florin</b></sub></a><br /><a href="#translation-johnflorin" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/tuzumbear"><img src="https://avatars.githubusercontent.com/u/61370405?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tuzumbear</b></sub></a><br /><a href="#translation-tuzumbear" title="Translation">🌍</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->

View File

@@ -33,7 +33,6 @@ Interested in using prerelease build channels of LunaSea? Learn the differences
- [Build Guide](https://github.com/JagandeepBrar/LunaSea/wiki/Build-Guide)
- [Documentation](https://www.lunasea.app/docs)
- [Feedback & Feature Requests Board](https://www.lunasea.app/feedback)
- [Frequently Asked Questions](https://docs.lunasea.app/getting-started/frequently-asked-questions)
## Support
@@ -41,9 +40,8 @@ Interested in using prerelease build channels of LunaSea? Learn the differences
[![Discord](https://img.shields.io/discord/673591529834807358?label=Discord&style=flat)](https://www.lunasea.app/discord)
[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/LunaSeaApp?label=r%2FLunaSeaApp&style=flat)](https://www.lunasea.app/reddit)
**Please only create an issue on GitHub for bugs and software issues**. Post in the [discussions board](https://github.com/JagandeepBrar/LunaSea/discussions) or the [feedback & feature requests board](https://www.lunasea.app/feedback) for requests and general feedback.
**Please only create an issue on GitHub for bugs and software issues**. Post in the [discussions board](https://github.com/JagandeepBrar/LunaSea/discussions) or the [Discord forum](https://www.lunasea.app/discord) for requests and general feedback.
- [Discord](https://www.lunasea.app/discord)
- [Email](mailto:hello@lunasea.app)
- [Reddit](https://www.lunasea.app/reddit)
- [Website](https://www.lunasea.app)
@@ -55,5 +53,4 @@ Interested in using prerelease build channels of LunaSea? Learn the differences
Thank you to all tools and services for offering free subscriptions for open-source projects!
- [docs.page](https://docs.page/): docs.page is used to host LunaSea's documentation
- [Hellonext](https://www.hellonext.co): Hellonext is used to host LunaSea's feedback board
- [Weblate](https://weblate.org): Weblate is used to gather community localization for LunaSea

View File

@@ -2,6 +2,8 @@ include: package:flutter_lints/flutter.yaml
analyzer:
exclude:
- 'test/**'
- 'test.g.dart'
- 'lib/**/*.g.dart'
linter:
rules:

View File

@@ -3,25 +3,25 @@ GEM
specs:
CFPropertyList (3.0.5)
rexml
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.587.0)
aws-sdk-core (3.130.2)
aws-partitions (1.655.0)
aws-sdk-core (3.166.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.59.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-s3 (1.117.1)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.0)
aws-sigv4 (1.5.2)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
@@ -34,10 +34,10 @@ GEM
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.92.3)
faraday (1.10.0)
excon (0.93.1)
faraday (1.10.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -56,8 +56,8 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
@@ -66,7 +66,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.205.2)
fastlane (2.210.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -106,9 +106,9 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.20.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
google-apis-androidpublisher_v3 (0.30.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-core (0.9.1)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -117,27 +117,27 @@ GEM
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.13.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-iamcredentials_v1 (0.16.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-playcustomapp_v1 (0.12.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.36.2)
google-cloud-errors (1.3.0)
google-cloud-storage (1.44.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.1.3)
googleauth (1.3.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
@@ -145,12 +145,12 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.4)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.1)
json (2.6.1)
jwt (2.3.0)
json (2.6.2)
jwt (2.5.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.2)
@@ -161,9 +161,9 @@ GEM
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
public_suffix (4.0.7)
public_suffix (5.0.0)
rake (13.0.6)
representable (3.1.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
@@ -173,9 +173,9 @@ GEM
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.16.1)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
@@ -192,11 +192,11 @@ GEM
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.1)
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.21.0)
xcodeproj (1.22.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -209,10 +209,10 @@ GEM
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
x86_64-darwin-21
ruby
DEPENDENCIES
fastlane
BUNDLED WITH
2.3.10
2.3.25

View File

@@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 31
compileSdkVersion 33
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -50,7 +50,7 @@ android {
defaultConfig {
applicationId "app.lunasea.lunasea"
minSdkVersion 24
targetSdkVersion 31
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -65,6 +65,10 @@ android {
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-dev"
}
release {
signingConfig signingConfigs.release
}

View File

@@ -1,7 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.lunasea.lunasea">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING" />
</manifest>

View File

@@ -36,7 +36,8 @@
android:value="2" />
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING" />
</manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="432"
android:viewportHeight="432"
android:width="108dp"
android:height="108dp">
<path
android:pathData="M262.3 163.2c2.6 -0.2 3.5 0.2 3.2 1.1 -0.3 0.6 -3.1 2.3 -6.2 3.7 -3.1 1.4 -7.9 4.5 -10.5 6.9 -2.7 2.4 -6.1 6.4 -7.5 9 -1.5 2.5 -3.5 7.2 -4.5 10.4 -1 3.1 -1.8 8 -1.8 10.7 0 2.8 0.8 7.6 1.8 10.8 1 3.1 2.9 7.7 4.4 10.2 1.4 2.5 4.8 6.5 7.4 9 2.7 2.4 7.8 5.8 11.4 7.4 5.8 2.7 7.5 3 16 3 7.5 0 10.6 -0.5 14.7 -2.2 2.9 -1.2 7.6 -3.9 10.4 -5.9 2.8 -2.1 6.8 -6.5 9.1 -9.8 2.2 -3.3 4.3 -7.2 4.6 -8.8 0.4 -1.5 1.3 -2.9 1.9 -3.2 1 -0.4 1.2 1 0.7 5.8 -0.4 3.4 -1.5 8.9 -2.6 12.2 -1.1 3.3 -3.5 8.3 -5.3 11 -1.8 2.8 -5.7 7.3 -8.6 10.1 -3 2.8 -7.4 6.2 -9.9 7.6 -2.5 1.4 -7.6 3.5 -11.5 4.7 -4.6 1.4 -9.6 2.1 -14.5 2.1 -4.1 0 -10 -0.7 -13 -1.5 -3 -0.8 -8 -2.7 -11 -4.2 -3 -1.5 -7.8 -4.7 -10.5 -7.1 -2.8 -2.3 -6.9 -7.1 -9.2 -10.5 -2.4 -3.4 -5.3 -9.1 -6.4 -12.7 -1.7 -5 -2.2 -9.1 -2.3 -17.7 -0.1 -6.2 0.2 -11.3 0.6 -11.3 0.5 0 0.8 -0.6 0.8 -1.2 0 -0.7 1.9 -5.1 4.2 -9.8 3 -6 6 -10.2 10.3 -14.4 3.8 -3.7 8.7 -7.1 13.5 -9.4 4.1 -2 7.9 -4 8.4 -4.4 0.5 -0.3 2.5 -0.8 4.5 -1.1 2 -0.2 5.3 -0.4 7.3 -0.5z"
android:fillColor="#4ECCA2" />
<path
android:pathData="M247 165.1c3.2 -0.1 2.8 0.3 -4.5 3.8 -5.3 2.6 -10 5.8 -14 9.7 -4.3 4.2 -7.3 8.4 -10.3 14.4 -2.3 4.7 -4.2 8.9 -4.2 9.5 0 0.6 -2.3 2.1 -5.2 3.5 -2.9 1.4 -7.9 4.2 -11.3 6.4 -3.3 2.1 -14.6 12.3 -25 22.5 -10.4 10.3 -20.8 20.1 -23 21.8 -2.2 1.7 -6.7 4.4 -10 6.1 -3.3 1.6 -8.8 3.8 -12.2 4.8 -3.5 1.1 -6.5 1.6 -6.8 1.2 -0.3 -0.5 1.4 -2.2 3.8 -3.9 2.3 -1.8 5.9 -5 8 -7.3 2.1 -2.3 6.2 -7 9.1 -10.6 2.9 -3.6 8.8 -11 13.2 -16.5 4.3 -5.5 9.4 -11.8 11.3 -14 1.9 -2.2 8.2 -8.7 14 -14.5 5.9 -5.8 14.2 -13 18.6 -16.1 4.4 -3.1 10.9 -7.2 14.5 -9.2 3.6 -2 8.5 -4.4 11 -5.3 2.5 -0.9 7.9 -2.7 12 -4 4.1 -1.2 9.1 -2.3 11 -2.3z"
android:fillColor="#2EA07B" />
</vector>

View File

@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="432"
android:viewportHeight="432"
android:width="108dp"
android:height="108dp">
<path
android:fillAlpha="0.6"
android:pathData="M262.3 163.2c2.6 -0.2 3.5 0.2 3.2 1.1 -0.3 0.6 -3.1 2.3 -6.2 3.7 -3.1 1.4 -7.9 4.5 -10.5 6.9 -2.7 2.4 -6.1 6.4 -7.5 9 -1.5 2.5 -3.5 7.2 -4.5 10.4 -1 3.1 -1.8 8 -1.8 10.7 0 2.8 0.8 7.6 1.8 10.8 1 3.1 2.9 7.7 4.4 10.2 1.4 2.5 4.8 6.5 7.4 9 2.7 2.4 7.8 5.8 11.4 7.4 5.8 2.7 7.5 3 16 3 7.5 0 10.6 -0.5 14.7 -2.2 2.9 -1.2 7.6 -3.9 10.4 -5.9 2.8 -2.1 6.8 -6.5 9.1 -9.8 2.2 -3.3 4.3 -7.2 4.6 -8.8 0.4 -1.5 1.3 -2.9 1.9 -3.2 1 -0.4 1.2 1 0.7 5.8 -0.4 3.4 -1.5 8.9 -2.6 12.2 -1.1 3.3 -3.5 8.3 -5.3 11 -1.8 2.8 -5.7 7.3 -8.6 10.1 -3 2.8 -7.4 6.2 -9.9 7.6 -2.5 1.4 -7.6 3.5 -11.5 4.7 -4.6 1.4 -9.6 2.1 -14.5 2.1 -4.1 0 -10 -0.7 -13 -1.5 -3 -0.8 -8 -2.7 -11 -4.2 -3 -1.5 -7.8 -4.7 -10.5 -7.1 -2.8 -2.3 -6.9 -7.1 -9.2 -10.5 -2.4 -3.4 -5.3 -9.1 -6.4 -12.7 -1.7 -5 -2.2 -9.1 -2.3 -17.7 -0.1 -6.2 0.2 -11.3 0.6 -11.3 0.5 0 0.8 -0.6 0.8 -1.2 0 -0.7 1.9 -5.1 4.2 -9.8 3 -6 6 -10.2 10.3 -14.4 3.8 -3.7 8.7 -7.1 13.5 -9.4 4.1 -2 7.9 -4 8.4 -4.4 0.5 -0.3 2.5 -0.8 4.5 -1.1 2 -0.2 5.3 -0.4 7.3 -0.5z"
android:fillColor="#4ECCA2" />
<path
android:pathData="M247 165.1c3.2 -0.1 2.8 0.3 -4.5 3.8 -5.3 2.6 -10 5.8 -14 9.7 -4.3 4.2 -7.3 8.4 -10.3 14.4 -2.3 4.7 -4.2 8.9 -4.2 9.5 0 0.6 -2.3 2.1 -5.2 3.5 -2.9 1.4 -7.9 4.2 -11.3 6.4 -3.3 2.1 -14.6 12.3 -25 22.5 -10.4 10.3 -20.8 20.1 -23 21.8 -2.2 1.7 -6.7 4.4 -10 6.1 -3.3 1.6 -8.8 3.8 -12.2 4.8 -3.5 1.1 -6.5 1.6 -6.8 1.2 -0.3 -0.5 1.4 -2.2 3.8 -3.9 2.3 -1.8 5.9 -5 8 -7.3 2.1 -2.3 6.2 -7 9.1 -10.6 2.9 -3.6 8.8 -11 13.2 -16.5 4.3 -5.5 9.4 -11.8 11.3 -14 1.9 -2.2 8.2 -8.7 14 -14.5 5.9 -5.8 14.2 -13 18.6 -16.1 4.4 -3.1 10.9 -7.2 14.5 -9.2 3.6 -2 8.5 -4.4 11 -5.3 2.5 -0.9 7.9 -2.7 12 -4 4.1 -1.2 9.1 -2.3 11 -2.3z"
android:fillColor="#2EA07B" />
</vector>

View File

@@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -4,7 +4,8 @@
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING" />
</manifest>

View File

@@ -1,12 +1,12 @@
buildscript {
ext.kotlin_version = '1.5.32'
ext.kotlin_version = '1.7.20'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

View File

@@ -29,7 +29,7 @@ Build App Bundle
[bundle exec] fastlane android build_apk
```
Build APKs
Build APK
### android deploy_playstore

View File

@@ -1,3 +0,0 @@
Thank you for testing upcoming releases of LunaSea! Please consider joining the Discord to give feedback to the developer.
Changes can be found on GitHub or by going to settings/system and tapping on the version tile!

View File

@@ -1,6 +1,5 @@
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

Binary file not shown.

View File

@@ -1,49 +1 @@
{
"motd": "This release is the first build to be built on Flutter 3, which now supports 120hz displays and is more performant across the board!",
"new": [
{
"module": "-arr",
"changes": [
"(Details) Updated UI for viewing content links"
]
},
{
"module": "LunaSea",
"changes": [
"Support 120hz displays"
]
},
{
"module": "Notifications",
"changes": [
"Option to disable in-app notifications"
]
},
{
"module": "Radarr",
"changes": [
"(Links) Added Letterboxd"
]
},
{
"module": "Settings",
"changes": [
"(System) Ability to check for updates"
]
}
],
"fixes": [
{
"module": "-arr",
"changes": [
"(Releases) Correctly calculate age of releases"
]
},
{
"module": "UI/UX",
"changes": [
"(Scrollbar) Enable interactivity on all platforms"
]
}
]
}
{}

View File

@@ -1,27 +0,0 @@
{
"motd": "",
"new": [
{
"module": "",
"changes": [
""
]
}
],
"tweaks": [
{
"module": "",
"changes": [
""
]
}
],
"fixes": [
{
"module": "",
"changes": [
""
]
}
]
}

View File

@@ -0,0 +1,111 @@
{
"motd": "Welcome to LunaSea v10.2.1!\n\nThis release adds some nice quality of life changes including the ability to set your boot module, automatic scrolling to the selected date in the calendar, and support for filesystem actions on web!\n\nThis build also includes some additional Android 13 fixes and other miscellaneous fixes and tweaks!",
"feat": {
"dashboard": [
{
"commit": "3ac2c5d791f94208a4004d161bb046c24b698345",
"message": "(calendar) always show previous days in schedule view"
},
{
"commit": "f1226e563899cfc0950865a9734448d4e00601b9",
"message": "(calendar) scroll to selected date when loading the schedule view"
}
],
"modules": [
{
"commit": "3dd087e361619889057a0b037b1eef35157a0988",
"message": "ability to set the boot module"
}
],
"-arr": [
{
"commit": "bccd1a43c42b349901137f8fc605f393b51d541a",
"message": "(releases) button to open indexer information page"
}
],
"lidarr": [
{
"commit": "c76418d26f1a5f52f5cb1e46951f1cf6726508c2",
"message": "(links) add MusicBrainz"
}
],
"radarr": [
{
"commit": "c9bd02b75086579f60ad8987c42ab217c12f6d43",
"message": "(edit) support moving files when editing the storage path"
}
],
"web": [
{
"commit": "7d437d5c3a34a8681c372570fc366e869f0b2090",
"message": "(filesystem) support local filesystem read/save actions"
}
],
"system": [
{
"commit": "c062b3d786e55bc3ba7fe767dd946d73efbef64f",
"message": "launch recovery mode on bootstrap failure"
},
{
"commit": "125596498ec9839e584912185ddc5b625602a701",
"message": "(locale) translations update from Weblate"
}
]
},
"fix": {
"firebase": [
{
"commit": "38f2eb4cb2a8e400ce2ecb0b6f2854469c9626fc",
"message": "inject service file for older OS versions"
},
{
"commit": "f3a3f222bd56beb4e961817b18d71f01fb7c5e81",
"message": "upgrade to Firebase v10"
}
],
"flutter": [
{
"commit": "3d794099a5418385dc1010f204c3f46fdbdd5503",
"message": "upgrade packages"
},
{
"commit": "cf5bfca265d03b0fd966dfb069393a4bbb24c672",
"message": "upgrade to Flutter 3.3.7/857bd6b74c"
}
],
"android": [
{
"commit": "25e0d051422b399de8c90e0fc71e57349e3355b7",
"message": "support Android 13 filesystem access"
},
{
"commit": "b7ceebcb679dbca935b6a1810c0c67a14002e358",
"message": "utilize Kotlin v1.7.20 & Gradle v7.1.2"
}
],
"calendar": [
{
"commit": "70ed750652ff419e6fed659a0785adc5064654e7",
"message": "label unreleased movies as unreleased instead of missing"
}
]
},
"refactor": {
"uiux": [
{
"commit": "958e6f156862c1092399649baa361cd955299c88",
"message": "remove forced-upper case on headers"
},
{
"commit": "d9623e992d2ac2039eaa4f069c739d968c921cc6",
"message": "add circular radius to linear progression bars"
}
],
"settings": [
{
"commit": "ac838f99a9c839ce4e36e5eae80f1100e2787dc5",
"message": "consolidate appearance, network, and localization pages"
}
]
}
}

View File

@@ -131,6 +131,20 @@
"search": [
"tvmaze"
]
},
{
"uid": "5d832b893437e33c4a22b7029c2b781b",
"css": "musicbrainz",
"code": 59401,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M475.1 106.5C469 110.1 462.8 113.7 461.1 114.5 459.5 115.2 456.5 117 454.3 118.4 449.9 121.3 436.7 129.1 426.7 134.6 423.1 136.7 408.2 145.3 393.7 153.9 379.2 162.5 366.3 170 365.1 170.5 363.9 171.1 360.9 172.9 358.5 174.5 356.1 176.1 353.1 177.9 351.9 178.5 350 179.4 330.3 191 319.9 197.2 315.9 199.6 301.8 207.7 295.5 211.2 282.4 218.4 276.4 222.1 275.9 223.2 275.6 223.8 274.8 224.3 274 224.3 273.2 224.3 263.9 229.5 253.2 235.8 242.6 242.1 232.9 247.7 231.7 248.3 230.5 248.8 227.5 250.6 225.1 252.2 222.7 253.8 219.7 255.6 218.5 256.2 214.9 258 196.6 268.8 192.3 271.6 190.2 273 187.4 274.6 186.2 275.2 185 275.8 178.7 279.4 172.3 283.1 165.8 286.9 156.9 292 152.5 294.5L144.4 298.9 144.4 500 144.4 701.1 152.5 705.5C156.9 708 165.8 713.1 172.3 716.9 178.7 720.6 185 724.2 186.2 724.8 187.4 725.4 190.2 727 192.3 728.4 196.6 731.2 214.9 742 218.5 743.8 219.7 744.4 222.7 746.2 225.1 747.8 227.5 749.4 230.5 751.2 231.7 751.7 232.9 752.3 242.6 757.9 253.2 764.2 263.9 770.5 273.2 775.7 274 775.7 274.8 775.7 275.6 776.2 275.9 776.8 276.4 777.9 282.4 781.6 295.5 788.8 301.8 792.3 315.9 800.4 319.9 802.8 330.3 809 350 820.6 351.9 821.5 353.1 822.1 356.1 823.9 358.5 825.5 360.9 827.1 363.9 828.9 365.1 829.5 366.3 830 379.2 837.5 393.7 846.1 408.2 854.7 423.1 863.3 426.7 865.4 436.7 870.9 449.9 878.7 454.3 881.6 456.5 883 459.5 884.8 461.1 885.5 462.8 886.3 469 889.9 475.1 893.5L486.1 900 486.4 700C486.6 590 486.6 410 486.4 300L486.1 100 475.1 106.5M513.2 500L513.2 900.4 520.2 896.4C524 894.2 529.6 890.9 532.6 889 535.6 887.2 538.5 885.6 538.9 885.6 539.4 885.6 543.2 883.4 547.4 880.7 557.1 874.4 570.3 866.6 571 866.6 571.3 866.6 585.4 858.5 602.2 848.5 619 838.6 633.7 830 634.9 829.5 636.1 828.9 639.1 827.1 641.5 825.5 643.9 823.9 646.9 822.1 648.1 821.5 650 820.6 669.7 809 680.1 802.8 684.1 800.4 698.2 792.3 704.5 788.8 717.6 781.6 723.6 777.9 724.1 776.8 724.4 776.2 725.2 775.7 726 775.7 726.8 775.7 736.1 770.5 746.8 764.2 757.4 757.9 767.1 752.3 768.3 751.7 769.5 751.2 772.5 749.4 774.9 747.8 777.3 746.2 780.3 744.4 781.5 743.8 785.1 742 803.4 731.2 807.7 728.4 809.8 727 812.6 725.4 813.8 724.8 815 724.2 821.3 720.6 827.7 716.9 834.2 713.1 843.1 708 847.5 705.5L855.6 701.1 855.6 500 855.6 298.9 847.5 294.5C843.1 292 834.2 286.9 827.7 283.1 821.3 279.4 815 275.8 813.8 275.2 812.6 274.6 809.8 273 807.7 271.6 803.4 268.8 785.1 258 781.5 256.2 780.3 255.6 777.3 253.8 774.9 252.2 772.5 250.6 769.5 248.8 768.3 248.3 767.1 247.7 757.4 242.1 746.8 235.8 736.1 229.5 726.8 224.3 726 224.3 725.2 224.3 724.4 223.8 724.1 223.2 723.6 222.1 717.6 218.4 704.5 211.2 698.2 207.7 684.1 199.6 680.1 197.2 669.7 191 650 179.4 648.1 178.5 646.9 177.9 643.9 176.1 641.5 174.5 639.1 172.9 636.1 171.1 634.9 170.5 633.7 170 619 161.4 602.2 151.5 585.4 141.5 571.3 133.4 571 133.4 570.3 133.4 557.1 125.6 547.4 119.3 543.2 116.6 539.4 114.4 538.9 114.4 538.5 114.4 535.6 112.8 532.6 111 529.6 109.1 524 105.8 520.2 103.6L513.2 99.6 513.2 500",
"width": 1000
},
"search": [
"musicbrainz"
]
}
]
}

View File

@@ -0,0 +1 @@
<svg id="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" viewBox="0, 0, 400,400"><g id="svgg"><path id="path0" d="M190.029 42.611 C 187.610 44.044,185.103 45.471,184.457 45.784 C 183.812 46.096,182.582 46.810,181.723 47.369 C 179.975 48.509,174.674 51.621,170.674 53.855 C 169.223 54.666,163.284 58.136,157.478 61.566 C 151.672 64.996,146.525 67.990,146.041 68.219 C 145.557 68.447,144.370 69.156,143.402 69.794 C 142.434 70.432,141.240 71.155,140.748 71.401 C 140.019 71.765,132.107 76.395,127.957 78.886 C 126.362 79.843,120.705 83.073,118.182 84.468 C 112.956 87.356,110.547 88.836,110.362 89.274 C 110.254 89.528,109.910 89.736,109.597 89.736 C 109.284 89.736,105.545 91.796,101.288 94.313 C 97.031 96.830,93.152 99.077,92.669 99.305 C 92.185 99.533,90.997 100.242,90.029 100.879 C 89.062 101.517,87.874 102.240,87.390 102.486 C 85.978 103.203,78.623 107.531,76.923 108.645 C 76.067 109.206,74.971 109.853,74.487 110.083 C 74.003 110.313,71.496 111.741,68.915 113.257 C 66.334 114.772,62.771 116.811,60.997 117.788 L 57.771 119.564 57.771 200.000 L 57.771 280.436 60.997 282.212 C 62.771 283.189,66.334 285.228,68.915 286.743 C 71.496 288.259,74.003 289.687,74.487 289.917 C 74.971 290.147,76.067 290.794,76.923 291.355 C 78.623 292.469,85.978 296.797,87.390 297.514 C 87.874 297.760,89.062 298.483,90.029 299.121 C 90.997 299.758,92.185 300.467,92.669 300.695 C 93.152 300.923,97.031 303.170,101.288 305.687 C 105.545 308.204,109.284 310.264,109.597 310.264 C 109.910 310.264,110.254 310.472,110.362 310.726 C 110.547 311.164,112.956 312.644,118.182 315.532 C 120.705 316.927,126.362 320.157,127.957 321.114 C 132.107 323.605,140.019 328.235,140.748 328.599 C 141.240 328.845,142.434 329.568,143.402 330.206 C 144.370 330.844,145.557 331.553,146.041 331.781 C 146.525 332.010,151.672 335.004,157.478 338.434 C 163.284 341.864,169.223 345.334,170.674 346.145 C 174.674 348.379,179.975 351.491,181.723 352.631 C 182.582 353.190,183.812 353.904,184.457 354.216 C 185.103 354.529,187.610 355.956,190.029 357.389 L 194.428 359.994 194.577 279.997 C 194.659 235.999,194.659 164.001,194.577 120.003 L 194.428 40.006 190.029 42.611 M205.279 200.000 L 205.279 360.167 208.065 358.562 C 209.597 357.679,211.835 356.348,213.038 355.604 C 214.241 354.861,215.384 354.252,215.578 354.252 C 215.772 354.252,217.295 353.370,218.962 352.291 C 222.855 349.773,228.101 346.628,228.408 346.628 C 228.539 346.628,234.144 343.381,240.863 339.413 C 247.582 335.445,253.475 332.011,253.959 331.782 C 254.443 331.553,255.630 330.844,256.598 330.206 C 257.566 329.568,258.760 328.845,259.252 328.599 C 259.981 328.235,267.893 323.605,272.043 321.114 C 273.638 320.157,279.295 316.927,281.818 315.532 C 287.044 312.644,289.453 311.164,289.638 310.726 C 289.746 310.472,290.090 310.264,290.403 310.264 C 290.716 310.264,294.455 308.204,298.712 305.687 C 302.969 303.170,306.848 300.923,307.331 300.695 C 307.815 300.467,309.003 299.758,309.971 299.121 C 310.938 298.483,312.126 297.760,312.610 297.514 C 314.022 296.797,321.377 292.469,323.077 291.355 C 323.933 290.794,325.029 290.147,325.513 289.917 C 325.997 289.687,328.504 288.259,331.085 286.743 C 333.666 285.228,337.229 283.189,339.003 282.212 L 342.229 280.436 342.229 200.000 L 342.229 119.564 339.003 117.788 C 337.229 116.811,333.666 114.772,331.085 113.257 C 328.504 111.741,325.997 110.313,325.513 110.083 C 325.029 109.853,323.933 109.206,323.077 108.645 C 321.377 107.531,314.022 103.203,312.610 102.486 C 312.126 102.240,310.938 101.517,309.971 100.879 C 309.003 100.242,307.815 99.533,307.331 99.305 C 306.848 99.077,302.969 96.830,298.712 94.313 C 294.455 91.796,290.716 89.736,290.403 89.736 C 290.090 89.736,289.746 89.528,289.638 89.274 C 289.453 88.836,287.044 87.356,281.818 84.468 C 279.295 83.073,273.638 79.843,272.043 78.886 C 267.893 76.395,259.981 71.765,259.252 71.401 C 258.760 71.155,257.566 70.432,256.598 69.794 C 255.630 69.156,254.443 68.447,253.959 68.218 C 253.475 67.989,247.582 64.555,240.863 60.587 C 234.144 56.619,228.539 53.372,228.408 53.372 C 228.101 53.372,222.855 50.227,218.962 47.709 C 217.295 46.630,215.772 45.748,215.578 45.748 C 215.384 45.748,214.241 45.139,213.038 44.396 C 211.835 43.652,209.597 42.321,208.065 41.438 L 205.279 39.833 205.279 200.000 " stroke="none" fill="#000000" fill-rule="evenodd"></path></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

125
assets/localization/ca.json Normal file
View File

@@ -0,0 +1,125 @@
{
"radarr.AddMovie": "Afegeix una pel·lícula",
"radarr.AddMovieAndSearch": "Afegeix i cerca",
"radarr.AddedTag": "S'ha afegit l'etiqueta",
"radarr.Age": "Edat",
"radarr.All": "Tot",
"radarr.Alphabetical": "Alfabètic",
"radarr.Approved": "Aprovat",
"radarr.Audio": "Àudio",
"radarr.Automatic": "Automàtic",
"radarr.AvailabilityUnknown": "Disponibilitat desconeguda",
"radarr.AvailableIn": "Disponible a {}",
"radarr.AvailableToday": "Disponible avui",
"radarr.BackupDatabase": "Còpia de seguretat de la Base de Dades",
"radarr.BitDepth": "Profunditat de bits",
"radarr.Channels": "Canals",
"radarr.CinemaDateUnknown": "Data en cinemes desconeguda",
"radarr.Codec": "Còdec",
"radarr.Configure": "Configura",
"radarr.Copy": "Copia",
"radarr.CopyFull": "Enllaç fort/Copia fitxers",
"radarr.CutoffUnmet": "Data límit no trobada",
"radarr.DateAdded": "Data d'alta",
"radarr.DigitalRelease": "Versió digital",
"radarr.DirectoryNotFound": "Directori no trobat",
"radarr.Discover": "Descobreix",
"radarr.Disks": "Discs",
"radarr.DownloadFailed": "La baixada ha fallat",
"radarr.DownloadIgnored": "Descàrrega ignorada",
"radarr.DynamicRange": "Interval dinàmic",
"radarr.EditMovie": "Edita la pel·lícula",
"radarr.FPS": "FPS",
"radarr.FailedToAddTag": "No s'ha pogut afegir l'etiqueta",
"radarr.FileBrowser": "Explorador d'arxius…",
"radarr.FilterCatalogue": "Filtra el catàleg",
"radarr.GrabbedFrom": "Obtingut de {}",
"radarr.History": "Historial",
"radarr.HistoryDescription": "Mostra l'activitat recent",
"radarr.Import": "Importa",
"radarr.ImportMode": "Mode d'importació",
"radarr.InCinemas": "Als cinemes",
"radarr.InCinemasIn": "Als cinemes el {}",
"radarr.InCinemasToday": "Als cinemes avui",
"radarr.Interactive": "Interactiu",
"radarr.Language": "Idioma",
"radarr.Languages": "Llengues",
"radarr.ManualImport": "Importació manual",
"radarr.ManualImportDescription": "Importa pel·lícules des del sistema de fitxers",
"radarr.MinimumAvailability": "Disponibilitat mínima",
"radarr.Missing": "Perdudes",
"radarr.Monitor": "Segueix",
"radarr.MonitorMovie": "Segueix la pel·lícula",
"radarr.Monitored": "Seguida",
"radarr.MonitoredDescription": "Segueix les noves versions",
"radarr.More": "Més",
"radarr.Move": "Mou",
"radarr.MoveFull": "Mou fitxers",
"radarr.Movie": "Pel·lícula",
"radarr.MovieFileDeleted": "S'ha suprimit el fitxer de la pel·lícula",
"radarr.MovieFileRenamed": "S'ha reanomenat el fitxer de la pel·lícula",
"radarr.MovieImported": "S'ha importat la pel·lícula ({})",
"radarr.MovieNotFound": "No s'ha trobat la pel·lícula",
"radarr.MoviePath": "Camí de la pel·lícula",
"radarr.Movies": "Pel·lícules",
"radarr.NoDisksFound": "No s'han trobat discs",
"radarr.NoFilesFound": "No s'ha trobat cap fitxer",
"radarr.NoHistoryFound": "No s'ha trobat l'historial",
"radarr.NoMoviesFound": "No s'han trobat pel·lícules",
"radarr.NoResultsFound": "No s'ha trobat cap resultat",
"radarr.NoRootFoldersFound": "No s'han trobat carpetes arrel",
"radarr.NoSubdirectoriesFound": "No s'han trobat subdirectoris",
"radarr.NoSummaryIsAvailable": "El resum no està disponible.",
"radarr.NoTagsFound": "No s'han trobat etiquetes",
"radarr.Other": "Altri",
"radarr.ParentDirectory": "Directori superior",
"radarr.PhysicalRelease": "Versió física",
"radarr.Quality": "Qualitat",
"radarr.QualityProfile": "Perfil de qualitat",
"radarr.Queue": "Posa a la cua",
"radarr.QueueDescription": "Mostra actius i en la cua",
"radarr.Quick": "Ràpid",
"radarr.RefreshMovie": "Refresca la pel·lícula",
"radarr.Rejected": "Rebutjada",
"radarr.Released": "Estrenada",
"radarr.ReleasedToday": "Estrenada avui",
"radarr.Releases": "Versions",
"radarr.RemoveMovie": "Elimina la pel·lícula",
"radarr.Resolution": "Resolució",
"radarr.RootFolder": "Carpeta arrel",
"radarr.RootFolders": "Carpetes arrels",
"radarr.RunRSSSync": "Executa la sincronització RSS",
"radarr.Runtime": "Durada",
"radarr.ScanType": "Tipus d'escaneig",
"radarr.Search": "Cerca",
"radarr.SearchAllMissing": "Cerca tots els que falten",
"radarr.SearchFor": "Cerca {}",
"radarr.Seeders": "Llavors",
"radarr.SelectLanguage": "Selecciona els idiomes",
"radarr.SelectMovie": "Seleccioneu la pel·lícula",
"radarr.SelectQuality": "Selecciona la qualitat",
"radarr.Size": "Mida",
"radarr.SortCatalogue": "Ordena el catàleg",
"radarr.StartSearchFor": "Inicia la cerca de…",
"radarr.StartSearchForMissingMovie": "Comença a buscar una pel·lícula que falta",
"radarr.Streams": "Fluxos de reproducció",
"radarr.Studio": "Estudi",
"radarr.Subtitles": "Subtítols",
"radarr.SystemStatus": "Estat del sistema",
"radarr.SystemStatusDescription": "Estat del sistema i espai al disc",
"radarr.Tags": "Etiquetes",
"radarr.TagsDescription": "Gestiona les teves etiquetes",
"radarr.Type": "Tipus",
"radarr.UnmappedFolder": "1 carpeta no assignada",
"radarr.UnmappedFolders": "{} carpetes no assignades",
"radarr.UnmonitorMovie": "Deixa de seguir la pel·lícula",
"radarr.Unmonitored": "Deixa de seguir",
"radarr.Upcoming": "Proper",
"radarr.UpdateLibrary": "Actualitza la biblioteca",
"radarr.UpdateMovie": "Actualitza la pel·lícula",
"radarr.Video": "Vídeo",
"radarr.ViewWebGUI": "Mostra la GUI de la WEB",
"radarr.Wanted": "Volgudes",
"radarr.Weight": "Mida",
"radarr.Year": "Any"
}

View File

@@ -33,7 +33,9 @@
"lunasea.BuyMeASoda": "Kauf mir eine Limonade",
"lunasea.Cancel": "Abbrechen",
"lunasea.ChangeProfiles": "Profile wechseln",
"lunasea.Changelog": "Änderungsprotokoll",
"lunasea.CheckLogsMessage": "Überprüfe die Protokolle für mehr Details",
"lunasea.Chores": "Aufgaben",
"lunasea.Clear": "Entfernen",
"lunasea.Close": "Schließen",
"lunasea.ComingSoon": "Bald verfügbar",
@@ -61,7 +63,6 @@
"lunasea.New": "Neu",
"lunasea.NoModulesEnabled": "Keine Module aktiviert",
"lunasea.NotSet": "Nicht gesetzt",
"lunasea.OneHourAgo": "Vor einer Stunde",
"lunasea.Options": "Optionen",
"lunasea.Page": "Seite",
"lunasea.PlatformSpecific": "Plattformspezifisch",
@@ -130,6 +131,7 @@
"radarr.Codec": "Kodec",
"radarr.Configure": "Konfigurieren",
"radarr.Copy": "Kopieren",
"radarr.CopyFiles": "Dateien Kopieren",
"radarr.CopyFull": "Hardlink/Dateien kopieren",
"radarr.CutoffUnmet": "Cutoff nicht erreicht",
"radarr.DateAdded": "Hinzugefügt am",
@@ -165,7 +167,9 @@
"radarr.Monitored": "Überwacht",
"radarr.MonitoredDescription": "Neue Veröffentlichungen überwachen",
"radarr.More": "Mehr",
"radarr.Move": "Übertragen",
"radarr.Move": "Verschieben",
"radarr.MoveFiles": "Datei verschieben",
"radarr.MoveFilesDescription": "Möchten Sie die Dateien verschieben?",
"radarr.MoveFull": "Dateien übertragen",
"radarr.Movie": "Film",
"radarr.MovieFileDeleted": "Filmdatei gelöscht",
@@ -234,6 +238,30 @@
"radarr.Wanted": "Gesucht",
"radarr.Weight": "Gewicht",
"radarr.Year": "Jahr",
"sabnzbd.Age": "Alter",
"sabnzbd.All": "Alle",
"sabnzbd.Ascending": "Aufsteigend",
"sabnzbd.CategoryDefault": "Standard Kategorie",
"sabnzbd.Completed": "Abgeschlossen",
"sabnzbd.Descending": "Absteigend",
"sabnzbd.Duplicate": "Duplikat",
"sabnzbd.Failed": "fehlgeschlagen",
"sabnzbd.Force": "erzwingen",
"sabnzbd.HibernatePC": "Ruhezustand",
"sabnzbd.High": "Hoch",
"sabnzbd.Low": "Niedrig",
"sabnzbd.Name": "Name",
"sabnzbd.None": "Keines",
"sabnzbd.Normal": "Normal",
"sabnzbd.Paused": "Pausiert",
"sabnzbd.Repair": "Reparieren",
"sabnzbd.RepairUnpack": "Reparieren/Entpacken",
"sabnzbd.RepairUnpackDelete": "Reparieren/Entpacken/Löschen",
"sabnzbd.Size": "Größe",
"sabnzbd.ShutdownPC": "PC Herunterfahren",
"sabnzbd.ShutdownSABnzbd": "SABnzbd Herunterfahren",
"sabnzbd.StandbyPC": "PC in den Standbymodus setzten",
"sabnzbd.Stop": "Stopp",
"search.NoCategoriesFound": "Keine Kategorien gefunden",
"search.FailedToSend": "Senden fehlgeschlagen",
"search.FailedToDownloadNZB": "Herunterladen der NZB fehlgeschlagen",
@@ -456,9 +484,7 @@
"settings.SortCategory": "Kategorie sortieren",
"settings.SortDirection": "Sortierrichtung",
"settings.ViewRecentChanges": "Letzte Änderungen anzeigen",
"settings.DiscordDescription": "Chat & Diskussionen",
"settings.Documentation": "Dokumentation",
"settings.FeedbackBoard": "Feedback-Seite",
"settings.GitHubDescription": "Sieh dir den Quellcode an",
"settings.SystemStatus": "Systemstatus",
"settings.SystemStatusDescription": "Statusseite für gehostete Dienste",
@@ -467,7 +493,6 @@
"settings.RedditDescription": "Stelle Fragen und erhalte Unterstützung",
"settings.TestBuildsDescription": "Vorabversionen von LunaSea installieren",
"settings.DocumentationDescription": "Sieh dir die Dokumentation an",
"settings.FeedbackBoardDescription": "Neue Funktionen anfragen",
"settings.WeblateDescription": "Hilf LunaSea zu lokalisieren",
"settings.Website": "Webseite",
"settings.CalendarSettings": "Kalendereinstellungen",
@@ -485,6 +510,35 @@
"settings.Home": "Startseite",
"settings.PasswordHint1": "Wenn Ihr Passwort Sonderzeichen enthält, sollten Sie stattdessen einen Basic Authentication Header mit Ihrem Benutzernamen und Passwort hinzufügen, um eine bessere Unterstützung zu gewährleisten",
"settings.QuickActionsBannerLine1": "Mit den Schnellaktionen können Sie direkt vom Startbildschirm oder dem Launcher Ihres Geräts in die Module springen, indem Sie lange auf das LunaSea-Symbol drücken.",
"settings.EmailValidation": "Falsche E-Mail Adresse",
"settings.Channel": "Kanal",
"settings.FailedToUpdateEmail": "E-Mail konnte nicht aktualisiert werden",
"settings.NoAdditionalProfilesAdded": "Es wurden keine zusätzlichen Profile hinzugefügt",
"settings.DatabaseCorruptionDetected": "Datenbankbeschädigung erkannt",
"settings.DatabaseCorruptionDetectedMessageLine1": "Datenbankbeschädigung wurde erkannt und Ihre Konfiguration wurde gelöscht.",
"settings.DatabaseCorruptionDetectedMessageLine2": "Entschuldigen Sie die Unannehmlichkeiten, alle zuvor erstellten Sicherungen sollten wiederherstellbar sein, auch wenn sie zuvor mit einer beschädigten Datenbank exportiert wurden.",
"settings.NoProfilesFound": "Keine Profile gefunden",
"settings.Platform": "Plattform",
"settings.BuildChannels": "Build Kanäle",
"settings.BuildChannelsDescription": "Erfahre mehr über zusätzliche Build-Kanäle",
"settings.FailedToUpdatePassword": "Passwort konnte nicht aktualisiert werden",
"settings.NewPassword": "Neues Passwort",
"settings.PasswordUpdated": "Passwort aktualisiert",
"settings.PleaseSignInAgain": "Bitte erneut anmelden",
"settings.RestoreFromDeviceDescription": "Konfigurationsdaten wiederherstellen",
"settings.AddedProfile": "Profil hinzugefügt",
"settings.Build": "Build",
"settings.ChangedProfile": "Profil geändert",
"settings.CurrentPassword": "Aktuelles Passwort",
"settings.DeletedProfile": "Profil gelöscht",
"settings.ProfileToProfile": "\"{}\" zu \"{}\"",
"settings.RenamedProfile": "Profil umbenannt",
"settings.RestoreFromDevice": "Vom Gerät wiederherstellen",
"settings.BackupToDevice": "Sicherung auf Gerät",
"settings.BackupToDeviceDescription": "Konfigurationsdaten sichern",
"settings.DownloadUpdate": "Update herunterladen",
"settings.EmailUpdated": "E-Mail aktualisiert",
"settings.EnableInAppNotifications": "App-Benachrichtigungen Aktivieren",
"sonarr.AddSeries": "Serie hinzufügen",
"sonarr.AddToExclusionList": "Zur Ignorierliste hinzufügen",
"sonarr.AllSeasons": "Alle Staffeln",

View File

@@ -36,41 +36,65 @@
"lunasea.Changelog": "Changelog",
"lunasea.ChangeProfiles": "Change Profiles",
"lunasea.CheckLogsMessage": "Check the logs for more details",
"lunasea.Chores": "Chores",
"lunasea.Clear": "Clear",
"lunasea.Close": "Close",
"lunasea.ComingSoon": "Coming Soon",
"lunasea.Copied": "Copied",
"lunasea.CopiedContentToTheClipboard": "Copied Content to the Clipboard",
"lunasea.Critical": "Critical",
"lunasea.Dashboard": "Dashboard",
"lunasea.Days": "{} Days",
"lunasea.DaysAgo": "{} Days Ago",
"lunasea.Debug": "Debug",
"lunasea.Delete": "Delete",
"lunasea.Descending": "Descending",
"lunasea.Develop": "Develop",
"lunasea.Disable": "Disable",
"lunasea.Disabled": "Disabled",
"lunasea.Dismiss": "Dismiss",
"lunasea.Docs": "Docs",
"lunasea.DownloadClient": "Download Client",
"lunasea.Edge": "Edge",
"lunasea.Error": "Error",
"lunasea.ExternalModules": "External Modules",
"lunasea.Features": "Features",
"lunasea.Fixes": "Fixes",
"lunasea.FullChangelog": "Full Changelog",
"lunasea.GoBack": "Go Back",
"lunasea.GoToSettings": "Go to Settings",
"lunasea.GridView": "Grid View",
"lunasea.Home": "Home",
"lunasea.Hours": "{} Hours",
"lunasea.HoursAgo": "{} Hours Ago",
"lunasea.IncorrectEncryptionKey": "Incorrect encryption key",
"lunasea.Internal": "Internal",
"lunasea.InvalidFileTypeSelected": "Invalid File Type Selected",
"lunasea.JustNow": "Just Now",
"lunasea.Minutes": "{} Minutes",
"lunasea.MinutesAgo": "{} Minutes Ago",
"lunasea.Module": "Module",
"lunasea.ModuleIsNotEnabled": "{} Is Not Enabled",
"lunasea.Months": "{} Months",
"lunasea.MonthsAgo": "{} Months Ago",
"lunasea.New": "New",
"lunasea.No": "No",
"lunasea.NotSet": "Not Set",
"lunasea.NoModulesEnabled": "No Modules Enabled",
"lunasea.OneDay": "1 Day",
"lunasea.OneDayAgo": "1 Day Ago",
"lunasea.OneHour": "1 Hour",
"lunasea.OneHourAgo": "1 Hour Ago",
"lunasea.OneMinute": "1 Minute",
"lunasea.OneMinuteAgo": "1 Minute Ago",
"lunasea.OneMonth": "1 Month",
"lunasea.OneMonthAgo": "1 Month Ago",
"lunasea.OneSecond": "1 Second",
"lunasea.OneSecondAgo": "1 Second Ago",
"lunasea.OneYear": "1 Year",
"lunasea.OneYearAgo": "1 Year Ago",
"lunasea.Options": "Options",
"lunasea.Other": "Other",
"lunasea.Page": "Page",
"lunasea.PlatformSpecific": "Platform-Specific",
"lunasea.PleaseTryAgain": "Please Try Again",
@@ -83,19 +107,28 @@
"lunasea.Retry": "Retry",
"lunasea.ReturnToDashboard": "Return to Dashboard",
"lunasea.SearchTextBar": "Search…",
"lunasea.Seconds": "{} Seconds",
"lunasea.SecondsAgo": "{} Seconds Ago",
"lunasea.Set": "Set",
"lunasea.Settings": "Settings",
"lunasea.Stable": "Stable",
"lunasea.StartingView": "Starting View",
"lunasea.Today": "Today",
"lunasea.TransactionFailure": "Transaction Failure",
"lunasea.TryAgain": "Try Again",
"lunasea.Tweaks": "Tweaks",
"lunasea.UnderAMinute": "Under a Minute",
"lunasea.Unknown": "Unknown",
"lunasea.UnknownDate": "Unknown Date",
"lunasea.UnknownError": "Unknown Error",
"lunasea.UnknownModule": "Unknown Module",
"lunasea.Update": "Update",
"lunasea.View": "View",
"lunasea.Warning": "Warning",
"lunasea.Website": "Website",
"lunasea.Years": "{} Years",
"lunasea.YearsAgo": "{} Years Ago",
"lunasea.Yes": "Yes",
"overseerr.Audio": "Audio",
"overseerr.Approved": "Approved",
"overseerr.Available": "Available",
@@ -141,6 +174,7 @@
"radarr.Codec": "Codec",
"radarr.Configure": "Configure",
"radarr.Copy": "Copy",
"radarr.CopyFiles": "Hardlink/Copy Files",
"radarr.CopyFull": "Hardlink/Copy Files",
"radarr.CutoffUnmet": "Cutoff Unmet",
"radarr.DateAdded": "Date Added",
@@ -177,6 +211,8 @@
"radarr.MonitorMovie": "Monitor Movie",
"radarr.More": "More",
"radarr.Move": "Move",
"radarr.MoveFiles": "Move Files",
"radarr.MoveFilesDescription": "Would you like to move the files?",
"radarr.MoveFull": "Move Files",
"radarr.Movie": "Movie",
"radarr.Movies": "Movies",
@@ -237,6 +273,7 @@
"radarr.UnmappedFolders": "{} Unmapped Folders",
"radarr.Unmonitored": "Unmonitored",
"radarr.UnmonitorMovie": "Unmonitor Movie",
"radarr.Unreleased": "Unreleased",
"radarr.Upcoming": "Upcoming",
"radarr.UpdateLibrary": "Update Library",
"radarr.UpdateMovie": "Update Movie",
@@ -245,6 +282,30 @@
"radarr.Wanted": "Wanted",
"radarr.Weight": "Weight",
"radarr.Year": "Year",
"sabnzbd.Age": "Age",
"sabnzbd.All": "All",
"sabnzbd.Ascending": "Ascending",
"sabnzbd.CategoryDefault": "Category Default",
"sabnzbd.Completed": "Completed",
"sabnzbd.Descending": "Descending",
"sabnzbd.Duplicate": "Duplicate",
"sabnzbd.Failed": "Failed",
"sabnzbd.Force": "Force",
"sabnzbd.HibernatePC": "Hibernate PC",
"sabnzbd.High": "High",
"sabnzbd.Low": "Low",
"sabnzbd.Name": "Name",
"sabnzbd.None": "None",
"sabnzbd.Normal": "Normal",
"sabnzbd.Paused": "Paused",
"sabnzbd.Repair": "Repair",
"sabnzbd.RepairUnpack": "Repair/Unpack",
"sabnzbd.RepairUnpackDelete": "Repair/Unpack/Delete",
"sabnzbd.Size": "Size",
"sabnzbd.ShutdownPC": "Shutdown PC",
"sabnzbd.ShutdownSABnzbd": "Shutdown SABnzbd",
"sabnzbd.StandbyPC": "Standby PC",
"sabnzbd.Stop": "Stop",
"search.Age": "Age",
"search.AllSubcategories": "All Subcategories",
"search.Alphabetical": "Alphabetical",
@@ -280,6 +341,7 @@
"settings.AddModuleSuccess": "Module Added",
"settings.AddProfile": "Add Profile",
"settings.AddProfileDescription": "Add a New Profile",
"settings.AddedProfile": "Added Profile",
"settings.AllFieldsAreRequired": "All fields are required",
"settings.AmoledTheme": "AMOLED Theme",
"settings.AmoledThemeBorders": "AMOLED Theme Borders",
@@ -309,6 +371,7 @@
"settings.BasicAuthenticationHint1": "The username must not contain a colon",
"settings.BasicAuthenticationHint2": "The password can contain a colon",
"settings.BasicAuthenticationHint3": "The username and password are automatically converted to base64 encoding",
"settings.BootModule": "Boot Module",
"settings.BroadcastAddress": "Broadcast Address",
"settings.BroadcastAddressHint1": "This is the broadcast address of your local network",
"settings.BroadcastAddressHint2": "Typically this is the IP address of your machine with the last octet set to 255",
@@ -318,6 +381,7 @@
"settings.BuildChannels": "Build Channels",
"settings.BuildChannelsDescription": "Learn About Additional Build Channels",
"settings.CalendarSettings": "Calendar Settings",
"settings.ChangedProfile": "Changed Profile",
"settings.Channel": "Channel",
"settings.ClearConfiguration": "Clear Configuration",
"settings.ClearConfigurationHint1": "Are you sure you want to clear your configuration?",
@@ -341,6 +405,9 @@
"settings.CustomHeader": "Custom Header",
"settings.CustomHeaders": "Custom Headers",
"settings.CustomHeadersDescription": "Add Custom Headers to Requests",
"settings.DatabaseCorruptionDetected": "Database Corruption Detected",
"settings.DatabaseCorruptionDetectedMessageLine1": "Database corruption has been detected and your configuration has been cleared.",
"settings.DatabaseCorruptionDetectedMessageLine2": "Sorry about the inconvenience, all previously created backups should be restorable even when previously exported with a corrupted database.",
"settings.DaysOne": "1 Day",
"settings.DaysCount": "{} Days",
"settings.DefaultPage": "Default Page",
@@ -354,6 +421,7 @@
"settings.DecryptBackupHint1": "Please enter the encryption key for this backup.",
"settings.DebugMenu": "Debug Menu",
"settings.DebugMenuDescription": "Debug and Development Utilities",
"settings.DeletedProfile": "Deleted Profile",
"settings.DeleteAccount": "Delete Account",
"settings.DeleteAccountDescription": "Permanently Delete Your Account",
"settings.DeleteAccountHint1": "Are you sure you want to delete your LunaSea account?",
@@ -372,7 +440,7 @@
"settings.DeleteModuleSuccess": "Module Deleted",
"settings.DeleteProfile": "Delete Profile",
"settings.DeleteProfileDescription": "Delete an Existing Profile",
"settings.DiscordDescription": "Chat & Discussions",
"settings.DiscordDescription": "Request Features & Get Support",
"settings.DismissBanners": "Dismiss Banners",
"settings.DismissBannersHint1": "Are you sure you want to dismiss all tooltip banners?",
"settings.DismissBannersHint2": "The tooltip banners will give you tips and hints for features available within LunaSea.",
@@ -398,11 +466,11 @@
"settings.FailedToDeleteAccount": "Failed to Delete Account",
"settings.FailedToUpdateEmail": "Failed to Update Email",
"settings.FailedToUpdatePassword": "Failed to Update Password",
"settings.FeedbackBoard": "Feedback Board",
"settings.FeedbackBoardDescription": "Request New Features",
"settings.FilterCategory": "Filter Category",
"settings.ForgotYourPassword": "Forgot Your Password?",
"settings.FutureDays": "Future Days",
"settings.General": "General",
"settings.GeneralDescription": "Customize LunaSea",
"settings.GitHubDescription": "View the Source Code",
"settings.HeaderAdded": "Header Added",
"settings.HeaderDeleted": "Header Deleted",
@@ -444,9 +512,11 @@
"settings.NewPassword": "New Password",
"settings.Notifications": "Notifications",
"settings.NotificationsDescription": "Set up Webhooks for Push Notifications",
"settings.NoAdditionalProfilesAdded": "No additional profiles have been added",
"settings.NoBackupsFound": "No Backups Found",
"settings.NoExternalModulesFound": "No External Modules Found",
"settings.NoHeadersAdded": "No Headers Added",
"settings.NoProfilesFound": "No Profiles Found",
"settings.OpenLinksIn": "Open Links In…",
"settings.Password": "Password",
"settings.PasswordHint1": "If your password includes special characters, considering adding a basic authentication header with your username and password instead for better support",
@@ -463,6 +533,7 @@
"settings.ProfileAlreadyExists": "Profile Already Exists",
"settings.ProfileName": "Profile Name",
"settings.ProfileNameRequired": "Profile Name Required",
"settings.ProfileToProfile": "\"{}\" to \"{}\"",
"settings.QuickActions": "Quick Actions",
"settings.QuickActionsDescription": "Quick Actions on the Home Screen",
"settings.QuickActionsBannerLine1": "Quick actions allow you to quickly jump into modules directly from the home screen or launcher on your device by long pressing LunaSea's icon.",
@@ -471,6 +542,7 @@
"settings.Register": "Register",
"settings.RegisteredFailure": "Failed to Register",
"settings.RegisteredSuccess": "Registered",
"settings.RenamedProfile": "Renamed Profile",
"settings.RenameProfile": "Rename Profile",
"settings.RenameProfileDescription": "Rename an Existing Profile",
"settings.ResetPassword": "Reset Password",
@@ -483,6 +555,8 @@
"settings.RestoreFromCloudSuccessMessage": "Your configuration has been restored",
"settings.RestoreFromDevice": "Restore from Device",
"settings.RestoreFromDeviceDescription": "Restore Configuration Data",
"settings.SentryLogging": "Sentry Logging",
"settings.SentryLoggingDescription": "Upload Errors & Crashes to Sentry",
"settings.SignedInFailure": "Failed to Sign In",
"settings.SignedInSuccess": "Successfully Signed In",
"settings.SignedOutFailure": "Failed to Sign Out",
@@ -514,6 +588,7 @@
"settings.UsernameValidation": "Username Required",
"settings.Version": "Version",
"settings.ViewRecentChanges": "View Recent Changes",
"settings.ViewTypeLogs": "View {} Logs",
"settings.WeblateDescription": "Help Localize LunaSea",
"settings.Website": "Website",
"settings.WebsiteDescription": "Visit LunaSea's Website",

View File

@@ -18,40 +18,113 @@
"dashboard.Monday": "Lunes",
"dashboard.NoNewContent": "No contenido nuevo",
"dashboard.OneMonth": "Un mes",
"lidarr.StartSearchFor": "Iniciar búsqueda de…",
"lidarr.StartSearchForMissingAlbums": "Iniciar la búsqueda de álbumes que faltan",
"lunasea.Add": "Añadir",
"lunasea.Alpha": "Alfa",
"lunasea.AnErrorHasOccurred": "Se ha producido un error",
"lunasea.Ascending": "Ascendente",
"lunasea.BackUp": "Respaldar",
"lunasea.Beta": "Beta",
"lunasea.BlockView": "Vista de bloque",
"lunasea.BuyMeABeer": "Cómprame una cerveza",
"lunasea.BuyMeABurger": "Cómprame una hamburguesa",
"lunasea.BuyMeACoffee": "cómprame un café",
"lunasea.BuyMeASoda": "Cómprame un refresco",
"lunasea.Cancel": "Cancelar",
"lunasea.Candidate": "Candidato",
"lunasea.ChangeProfiles": "Cambiar perfiles",
"lunasea.Changelog": "Registro de cambios",
"lunasea.CheckLogsMessage": "Consulte los registros para más detalles",
"lunasea.Chores": "Quehaceres",
"lunasea.Clear": "Borrar",
"lunasea.Close": "Cerrar",
"lunasea.ComingSoon": "Próximamente",
"lunasea.Copied": "Copiado",
"lunasea.CopiedContentToTheClipboard": "Contenido copiado en el portapapeles",
"lunasea.Critical": "Crítica",
"lunasea.Dashboard": "Tablero",
"lunasea.Days": "{} Días",
"lunasea.DaysAgo": "Hace {} días",
"lunasea.Debug": "Depurar",
"lunasea.Delete": "Eliminar",
"lunasea.Descending": "Descendente",
"lunasea.Develop": "Desarrollar",
"lunasea.Disable": "Desactivar",
"lunasea.Disabled": "Desactivado",
"lunasea.Dismiss": "Descartar",
"lunasea.Docs": "Documentos",
"lunasea.Edge": "Borde",
"lunasea.Error": "Error",
"lunasea.ExternalModules": "Módulos externos",
"lunasea.Features": "Características",
"lunasea.Fixes": "Arreglos",
"lunasea.FullChangelog": "Registro completo de cambios",
"lunasea.GoBack": "Regresar",
"lunasea.GoToSettings": "Ve a Configuración",
"lunasea.GridView": "Vista de cuadrícula",
"lunasea.Home": "Inicio",
"lunasea.Hours": "{} horas",
"lunasea.HoursAgo": "Hace {} horas",
"lunasea.IncorrectEncryptionKey": "Clave de cifrado incorrecta",
"lunasea.Internal": "Interno",
"lunasea.InvalidFileTypeSelected": "Tipo de archivo seleccionado no válido",
"lunasea.JustNow": "Ahora mismo",
"lunasea.Minutes": "{} minutos",
"lunasea.MinutesAgo": "Hace {} minutos",
"lunasea.Module": "Módulo",
"lunasea.ModuleIsNotEnabled": "{} No está habilitado",
"lunasea.Months": "{} meses",
"lunasea.MonthsAgo": "Hace {} meses",
"lunasea.New": "Nuevo",
"lunasea.NoModulesEnabled": "Sin módulos habilitados",
"lunasea.NotSet": "No establecido",
"lunasea.OneDay": "1 día",
"lunasea.OneDayAgo": "Hace 1 día",
"lunasea.OneHour": "1 hora",
"lunasea.OneHourAgo": "Hace 1 hora",
"lunasea.OneMinute": "1 minuto",
"lunasea.OneMinuteAgo": "Hace 1 minuto",
"lunasea.OneMonth": "1 mes",
"lunasea.OneMonthAgo": "Hace 1 mes",
"lunasea.OneSecond": "1 segundo",
"lunasea.OneSecondAgo": "Hace 1 segundo",
"lunasea.OneYear": "1 año",
"lunasea.OneYearAgo": "Hace 1 año",
"lunasea.Options": "Opciones",
"lunasea.Other": "Otro",
"lunasea.Page": "Página",
"lunasea.PleaseTryAgain": "Por favor, inténtelo de nuevo",
"lunasea.Production": "Producción",
"lunasea.Refresh": "Actualizar",
"lunasea.Refreshing": "Refrescando…",
"lunasea.Remove": "Eliminar",
"lunasea.Rename": "Renombrar",
"lunasea.Restore": "Restaurar",
"lunasea.Retry": "Reintentar",
"lunasea.ReturnToDashboard": "Regresar al Tablero",
"lunasea.SearchTextBar": "Buscar…",
"lunasea.Seconds": "{} segundos",
"lunasea.SecondsAgo": "Hace {} segundos",
"lunasea.Set": "Establecer",
"lunasea.Settings": "Configuración",
"lunasea.Stable": "Estable",
"lunasea.StartingView": "Vista inicial",
"lunasea.Today": "Hoy",
"lunasea.TransactionFailure": "Error de transacción",
"lunasea.TryAgain": "Volver a intentar",
"lunasea.Tweaks": "Ajustes",
"lunasea.UnderAMinute": "Menos de un minuto",
"lunasea.Unknown": "Desconocido",
"lunasea.UnknownDate": "Fecha desconocida",
"lunasea.UnknownError": "Error desconocido",
"lunasea.UnknownModule": "Módulo desconocido",
"lunasea.Update": "Actualizar",
"lunasea.View": "Ver",
"lunasea.Warning": "Aviso",
"lunasea.Website": "Sitio web",
"lunasea.Years": "{} años",
"lunasea.YearsAgo": "Hace {} años",
"overseerr.NoRequests": "Sin solicitudes",
"overseerr.OneRequest": "1 solicitud",
"overseerr.SomeRequests": "{} solicitudes",
@@ -60,18 +133,41 @@
"overseerr.UnknownUser": "Usuario desconocido",
"overseerr.NoUsersFound": "No se encontraron usuarios",
"overseerr.Users": "Usuarios",
"overseerr.Audio": "Audio",
"overseerr.Issues": "Incidencias",
"overseerr.Open": "Abrir",
"overseerr.OpenedBy": "Abierto por {}",
"overseerr.Other": "Otro",
"overseerr.Processing": "Procesando",
"overseerr.Resolved": "Resuelto",
"overseerr.Requested": "Solicitado",
"overseerr.RequestedBy": "Solicitado por {}",
"overseerr.Subtitle": "Subtítulo",
"overseerr.Video": "Vídeo",
"overseerr.NoIssuesFound": "No se han encontrado incidencias",
"overseerr.NoIssues": "No hay Incidencias",
"overseerr.Approved": "Aprobado",
"overseerr.Available": "Disponible",
"overseerr.Declined": "Rechazado",
"overseerr.PartiallyAvailable": "Parcialmente disponible",
"overseerr.Pending": "Pendiente",
"radarr.AddMovie": "Añadir película",
"radarr.AddMovieAndSearch": "Añadir y Buscar",
"radarr.AddedTag": "Etiqueta añadida",
"radarr.Age": "Edad",
"radarr.All": "Todo",
"radarr.Alphabetical": "Alfabético",
"radarr.Approved": "Aprobado",
"radarr.Audio": "Audio",
"radarr.Automatic": "Automático",
"radarr.AvailabilityUnknown": "Disponibilidad desconocida",
"radarr.AvailableIn": "Disponible en {}",
"radarr.AvailableToday": "Disponible hoy",
"radarr.BackupDatabase": "Respaldar base de datos",
"radarr.BitDepth": "Profundidad de bits",
"radarr.Channels": "Canales",
"radarr.CinemaDateUnknown": "Fecha de cine desconocida",
"radarr.Codec": "Códec",
"radarr.Configure": "Configurar",
"radarr.Copy": "Copiar",
"radarr.CopyFull": "Enlazar/Copiar archivos",
@@ -80,9 +176,13 @@
"radarr.DigitalRelease": "Publicación digital",
"radarr.DirectoryNotFound": "Directorio no encontrado",
"radarr.Discover": "Descubra",
"radarr.Disks": "Discos",
"radarr.DownloadFailed": "Descarga fracasó",
"radarr.DownloadIgnored": "Descarga ignorada",
"radarr.DynamicRange": "Rango dinámico",
"radarr.EditMovie": "Editar película",
"radarr.FPS": "FPS",
"radarr.FailedToAddTag": "Error al agregar etiqueta",
"radarr.FileBrowser": "Explorador de archivos…",
"radarr.FilterCatalogue": "Catálogo de filtros",
"radarr.GrabbedFrom": "Tomada de {}",
@@ -100,6 +200,7 @@
"radarr.ManualImportDescription": "Importar películas desde el sistema de archivos",
"radarr.MinimumAvailability": "Disponibilidad mínima",
"radarr.Missing": "Falta",
"radarr.Monitor": "Monitor",
"radarr.MonitorMovie": "Monitorear película",
"radarr.Monitored": "Monitoreada",
"radarr.MonitoredDescription": "Monitorear nuevos lanzamientos",
@@ -113,12 +214,16 @@
"radarr.MovieNotFound": "Película no encontrada",
"radarr.MoviePath": "Ruta de la película",
"radarr.Movies": "Películas",
"radarr.NoDisksFound": "No se han encontrado discos",
"radarr.NoFilesFound": "No se encontraron archivos",
"radarr.NoHistoryFound": "No se encontró historial",
"radarr.NoMoviesFound": "No se encontraron películas",
"radarr.NoResultsFound": "No se encontraron resultados",
"radarr.NoRootFoldersFound": "No se han encontrado carpetas raíz",
"radarr.NoSubdirectoriesFound": "No se encontraron subdirectorios",
"radarr.NoSummaryIsAvailable": "No hay resumen disponible.",
"radarr.NoTagsFound": "No se han encontrado etiquetas",
"radarr.Other": "Otro",
"radarr.ParentDirectory": "Directorio principal",
"radarr.PhysicalRelease": "Estreno Físico",
"radarr.Quality": "Calidad",
@@ -130,10 +235,14 @@
"radarr.Rejected": "Rechazado",
"radarr.Released": "Estrenada",
"radarr.ReleasedToday": "Estrena hoy",
"radarr.Releases": "Comunicados",
"radarr.RemoveMovie": "Eliminar película",
"radarr.Resolution": "Resolución",
"radarr.RootFolder": "Carpeta raíz",
"radarr.RootFolders": "Carpetas raíz",
"radarr.RunRSSSync": "Ejecutar sincronización RSS",
"radarr.Runtime": "Duración",
"radarr.ScanType": "Tipo de escáner",
"radarr.Search": "Buscar",
"radarr.SearchAllMissing": "Búsqueda que falta",
"radarr.SearchFor": "Buscar {}",
@@ -143,21 +252,36 @@
"radarr.SelectQuality": "Seleccionar calidad",
"radarr.Size": "Tamaño",
"radarr.SortCatalogue": "Ordenar catálogo",
"radarr.StartSearchFor": "Iniciar la búsqueda de…",
"radarr.StartSearchForMissingMovie": "Iniciar la búsqueda de la película perdida",
"radarr.Streams": "Arroyos",
"radarr.Studio": "Estudio",
"radarr.Subtitles": "Subtítulos",
"radarr.SystemStatus": "Estado del sistema",
"radarr.SystemStatusDescription": "Estado del sistema y tamaño de disco",
"radarr.Tags": "Etiquetas",
"radarr.TagsDescription": "Administre sus etiquetas",
"radarr.Type": "Tipo",
"radarr.UnmappedFolder": "1 Carpeta sin mapear",
"radarr.UnmappedFolders": "{} Carpetas no asignadas",
"radarr.UnmonitorMovie": "No monitorear",
"radarr.Unmonitored": "No monitoreadas",
"radarr.Upcoming": "Próximamente",
"radarr.UpdateLibrary": "Actualizar librería",
"radarr.UpdateMovie": "Actualizar película",
"radarr.Video": "Vídeo",
"radarr.ViewWebGUI": "Ver GUI web",
"radarr.Wanted": "Se busca",
"radarr.Weight": "Peso",
"radarr.Year": "Año",
"sabnzbd.Age": "Años",
"sabnzbd.All": "Todos",
"sabnzbd.Ascending": "Ascendente",
"sabnzbd.CategoryDefault": "Categoría Predeterminada",
"sabnzbd.Completed": "Terminado",
"sabnzbd.Descending": "Descendente",
"sabnzbd.Duplicate": "Duplicado",
"sabnzbd.Failed": "Fallido",
"search.Alphabetical": "Alfabética",
"search.Category": "Categoria",
"search.Comments": "Comentarios",
@@ -217,7 +341,7 @@
"settings.ConfigureModule": "Configurar {}",
"settings.Configuration": "Configuración",
"settings.ConfigurationDescription": "Configurar LunaSea",
"settings.ConnectedSuccessfully": "Conectado exitosamente",
"settings.ConnectedSuccessfully": "Conectado",
"settings.ConnectedSuccessfullyMessage": "{} está listo para usar con LunaSea!",
"settings.ConnectionDetails": "Detalles de conexión",
"settings.ConnectionDetailsDescription": "Detalles de conexión para {}",
@@ -267,7 +391,7 @@
"settings.HostValidation": "Servidor debe incluir http:// o https://",
"settings.DisplayName": "Nombre para mostrar",
"settings.ImageBackgroundOpacity": "Opacidad de las imágenes de fondo",
"settings.InvalidEmail": "Email invalido",
"settings.InvalidEmail": "Dirección de correo invalida",
"settings.InvalidEmailMessage": "La dirección de correo es invalida",
"settings.InvalidPasswordMessage": "La contraseña es invalida",
"settings.Language": "Idioma",
@@ -292,7 +416,7 @@
"settings.QuickActions": "Acciones rápidas",
"settings.QuickActionsDescription": "Acciones rápidas en la pantalla principal",
"settings.RegisteredFailure": "Registro fallido",
"settings.RegisteredSuccess": "Registrado exitosamente",
"settings.RegisteredSuccess": "Registrado",
"settings.RenameProfile": "Renombrar perfil",
"settings.ResetPassword": "Restablecer contraseña",
"settings.Resources": "Recursos",
@@ -333,7 +457,7 @@
"settings.Custom": "Personalizar…",
"settings.DeleteHeaderHint1": "¿Está seguro de que desea eliminar esta cabecera?",
"settings.DeleteCloudBackup": "Borrar copia de seguridad en la nube",
"settings.DeleteCloudBackupSuccess": "Eliminado exitosamente",
"settings.DeleteCloudBackupSuccess": "Eliminado",
"settings.DismissBannersHint2": "Los banners le darán consejos y sugerencias sobre las funciones disponibles en LunaSea.",
"settings.DeleteModule": "Eliminar módulo",
"settings.ImageBackgroundOpacityHint1": "Configura la opacidad de las imágenes de fondo.",
@@ -349,6 +473,213 @@
"settings.RestoreFromCloudDescription": "Restaurar datos de configuración",
"settings.RestoreFromCloudFailure": "Falló la restauración",
"settings.BannersNotificationModuleSupportBody": "Actualmente, las notificaciones basadas en webhook solo se admiten en los módulos que se enumeran a continuación.\n\n¡El soporte para módulos adicionales vendrá en el futuro!",
"settings.AccountDeleted": "Cuenta borrada",
"settings.AccountSettings": "Configuración de la cuenta",
"settings.BuildChannels": "Construir canales",
"settings.BuildChannelsDescription": "Aprender acerca de canales adicionales de construir",
"settings.Add": "Añadir",
"settings.AddProfileDescription": "Añadir un nuevo perfil",
"settings.AddedProfile": "Perfil añadido",
"settings.ChangedProfile": "Perfil cambiado",
"settings.ClearImageCacheHint1": "¿Estás seguro de que quieres borrar todas las imágenes de la caché?",
"settings.ClearImageCache": "Borrar la caché de imágenes",
"settings.BackupToDevice": "Copia de seguridad en el dispositivo",
"settings.BackupToDeviceDescription": "Copia de seguridad de los datos de configuración",
"settings.CalendarSettings": "Configuración del calendario",
"settings.AccountDeletedMessage": "Borrado su cuenta de LunaSea",
"settings.Channel": "Canal",
"settings.Build": "Construir",
"settings.DeleteProfileDescription": "Eliminar un perfil existente",
"settings.EmailValidation": "Dirección de correo electrónico no válida",
"settings.EnableModule": "Habilitar {}",
"settings.CurrentPassword": "Contraseña actual",
"settings.DaysOne": "1 Día",
"settings.DaysCount": "{} Días",
"settings.DeleteAccountWarning1": "Este proceso es irreversible",
"settings.DeletedProfile": "Perfil eliminado",
"settings.Documentation": "Documentación",
"settings.DocumentationDescription": "Ver la documentación",
"settings.DownloadUpdate": "Descargar actualización",
"settings.EmailUpdated": "Correo electrónico actualizado",
"settings.DeleteAccount": "Eliminar cuenta",
"settings.DeleteAccountDescription": "Eliminar permanentemente su cuenta",
"settings.DeleteAccountHint1": "¿Estás seguro de que quieres eliminar tu cuenta de LunaSea?",
"settings.DeleteAccountHint2": "Este proceso también eliminará todas las copias de seguridad almacenadas en la nube y los datos adjuntos a esta cuenta.",
"settings.Version": "Versión",
"settings.FilterCategory": "Filtrar categoría",
"settings.FutureDays": "Días futuros",
"settings.EnableInAppNotifications": "Activar notificaciones en la app",
"settings.UpdateEmail": "Actualizar correo",
"settings.SortCategory": "Ordenar categoría",
"settings.ProfileToProfile": "\"{}\" a \"{}\"",
"settings.Network": "Red",
"settings.GitHubDescription": "Ver código fuente",
"settings.NetworkDescription": "Personalizar funciones de red",
"settings.NewPassword": "Nueva contraseña",
"settings.StartingView": "Vista inicial",
"settings.PasswordUpdated": "Contraseña actualizada",
"settings.PastDays": "Días pasados",
"settings.Platform": "Plataforma",
"settings.RenameProfileDescription": "Renombrar un perfil existente",
"settings.RestoreFromDevice": "Restaurar desde el dispositivo",
"settings.RestoreFromDeviceDescription": "Restaurar la configuración",
"settings.ViewTypeLogs": "Ver registros de {}",
"settings.Home": "Inicio",
"settings.UpdatePassword": "Actualizar contraseña",
"settings.UpToDate": "Al día",
"settings.Use24HourTime": "Usar horario de 24 horas",
"settings.ViewRecentChanges": "Ver cambios recientes",
"settings.WeblateDescription": "Ayuda a traducir a LunaSea",
"settings.Website": "Página web",
"settings.WebsiteDescription": "Visitar la página web de LunaSea",
"settings.PleaseSignInAgain": "Por favor, inicie sesión de nuevo",
"settings.SystemStatus": "Estado de sistema",
"settings.RenamedProfile": "Perfil renombrado",
"settings.SortDirection": "Ordenar Dirección",
"sonarr.AddedOn": "Añadido",
"sonarr.AddedTag": "Etiqueta añadida",
"sonarr.AddSeries": "Añadir serie",
"sonarr.AddToExclusionList": "Añadir a la lista de exclusión",
"sonarr.Age": "Edad",
"sonarr.AllSeasons": "Todas las temporadas",
"sonarr.Approved": "Aprobado",
"sonarr.Audio": "Audio",
"sonarr.Automatic": "Automático",
"sonarr.AutomaticSearch": "Búsqueda automática",
"sonarr.Bitrate": "Bitrate",
"sonarr.Client": "Cliente",
"sonarr.DeleteFile": "Eliminar archivo",
"sonarr.DeleteFiles": "Borrar archivos",
"sonarr.DeleteEpisodeFile": "Eliminar archivo del episodio",
"sonarr.Continuing": "Continuando",
"sonarr.Destination": "Destino",
"sonarr.EditSeries": "Editar serie",
"sonarr.Ended": "Terminado",
"sonarr.Episode": "Episodio",
"sonarr.Episodes": "Episodios",
"sonarr.EpisodesAvailable": "Episodios disponibles",
"sonarr.EpisodeFileDeleted": "Archivo del episodio eliminado",
"sonarr.EpisodeNumber": "Episodio {}",
"sonarr.FilterCatalogue": "Filtrar catálogo",
"sonarr.FPS": "FPS",
"sonarr.FilterReleases": "Filtrar lanzamientos",
"sonarr.History": "Historia",
"sonarr.HistoryDescription": "Ver actividad reciente",
"sonarr.Indexer": "Indexador",
"sonarr.Interactive": "Interactivo",
"sonarr.InteractiveSearch": "Búsqueda interactiva",
"sonarr.Language": "Idioma",
"sonarr.Languages": "Idiomas",
"sonarr.Monitored": "Monitoreado",
"sonarr.MonitorEpisode": "Monitorear episodio",
"sonarr.Monitor": "Monitorear",
"sonarr.More": "Más",
"sonarr.Name": "Nombre",
"sonarr.Other": "Otro",
"sonarr.OneSeason": "1 temporada",
"sonarr.Path": "Ruta",
"sonarr.Quality": "Calidad",
"sonarr.PublishedDate": "Fecha de publicación",
"sonarr.QualityProfile": "Perfil de calidad",
"sonarr.Queue": "Cola",
"sonarr.Reason": "Razón",
"sonarr.QueueDescription": "Ver contenido activo y en cola",
"sonarr.RefreshSeries": "Actualizar serie",
"sonarr.Releases": "Lanzamientos",
"sonarr.RelativePath": "Ruta relativa",
"sonarr.ReleaseGroup": "Grupo de lanzamiento",
"sonarr.RemoveSeries": "Eliminar la serie",
"sonarr.RemovedSeries": "Serie eliminada",
"sonarr.RootFolder": "Carpeta raíz",
"sonarr.Resolution": "Resolución",
"sonarr.Search": "Buscar",
"sonarr.Searching": "Buscando {}",
"sonarr.SearchingForEpisode": "Buscando el episodio…",
"sonarr.Season": "Temporada",
"sonarr.SearchFor": "Buscar {}",
"sonarr.Seasons": "Temporadas",
"sonarr.SearchingForSeason": "Buscando la temporada…",
"sonarr.SearchingDescription": "Buscando todos los episodios faltantes",
"sonarr.Seeders": "Seeders",
"sonarr.SeasonFolders": "Carpetas de temporada",
"sonarr.SeasonDetails": "Detalles de la temporada",
"sonarr.SeasonNumber": "Temporada {}",
"sonarr.SeriesDetails": "Detalles de la serie",
"sonarr.SeriesEnded": "Serie ha terminado",
"sonarr.SeriesNotFound": "Serie no encontrada",
"sonarr.SeriesPath": "Ruta de la serie",
"sonarr.SortCatalogue": "Ordenar catálogo",
"sonarr.Size": "Tamaño",
"sonarr.SeriesType": "Tipo de serie",
"sonarr.Source": "Fuente",
"sonarr.SortReleases": "Ordenar lanzamientos",
"sonarr.SourceTitle": "Título de la fuente",
"sonarr.StartSearchFor": "Comenzar búsqueda por…",
"sonarr.Tags": "Etiquetas",
"sonarr.Unaired": "No emitido",
"sonarr.Unmonitored": "No monitoreada",
"sonarr.Upcoming": "Próximamente",
"sonarr.UpdateLibrary": "Actualizar biblioteca",
"sonarr.UseSeasonFolders": "Usar carpetas de temporada",
"sonarr.UpdateSeries": "Actualizar serie",
"sonarr.UpdatingLibrary": "Actualización de la biblioteca",
"sonarr.Queued": "En cola",
"sonarr.PendingWithMessage": "Pendiente: {}",
"sonarr.Pending": "Pendiente",
"sonarr.Paused": "Pausada",
"sonarr.Files": "Archivos",
"sonarr.Missing": "Falta",
"sonarr.Rejected": "Rechazado",
"sonarr.MissingEpisodes": "Episodios faltantes",
"sonarr.RemoveFromQueue": "Eliminar de la cola",
"sonarr.RemovedFromQueue": "Eliminada de la cola",
"sonarr.SearchMonitored": "Búsqueda monitorizada",
"sonarr.SearchingForMonitoredEpisodes": "Buscando episodios monitoreados…",
"sonarr.RemoveFromDownloadClient": "Eliminar del cliente de descarga",
"sonarr.Series": "Series",
"sonarr.StartSearchForMissingEpisodes": "Comenzar búsqueda por episodios faltantes",
"sonarr.Title": "Título",
"sonarr.TimeLeft": "Tiempo restante",
"sonarr.Video": "Vídeo",
"sonarr.Subtitles": "Subtítulos",
"sonarr.Torrent": "Torrente",
"sonarr.Usenet": "Usenet",
"sonarr.SystemStatus": "Estado de sistema",
"sonarr.SystemStatusDescription": "Estado de sistema y Espacio de disco",
"sonarr.AddedSeries": "Series añadidas",
"sonarr.Download": "Descargar",
"sonarr.Downloaded": "Descargado",
"sonarr.DownloadedWaitingToProcess": "Descargado: Esperando para procesar",
"sonarr.UpdatedSeries": "Serie actualizada",
"sonarr.Monitoring": "Monitoreando",
"sonarr.Specials": "Especiales",
"sonarr.ManySeasons": "{} temporadas",
"sonarr.MonitorSeries": "Monitorear serie",
"sonarr.ManualImport": "Importación manual",
"sonarr.SourceRelative": "Fuente relativa",
"sonarr.All": "Todo",
"sonarr.Channels": "Canales",
"sonarr.Codec": "Códec",
"sonarr.DestinationRelative": "Destino relativo",
"sonarr.DownloadedImporting": "Descargado: Importando",
"sonarr.DownloadedWaitingToImport": "Descargado: Esperando para importar",
"sonarr.Downloading": "Descargando",
"sonarr.DownloadingWithMessage": "Descargando: {}",
"sonarr.DownloadClientUnavailable": "El cliente de descarga no está disponible",
"sonarr.DownloadIgnored": "Descarga ignorada",
"sonarr.DownloadWarningWithMessage": "Advertencia de descarga: {}",
"sonarr.DownloadingRelease": "Descargando lanzamiento…",
"sonarr.Leechers": "Leechers",
"sonarr.LanguageProfile": "Perfil de idioma",
"sonarr.Messages": "Mensajes",
"sonarr.Import": "Importar",
"sonarr.Message": "Mensaje",
"sonarr.BackupDatabase": "Respaldar base de datos",
"sonarr.ImportedTo": "Importado a",
"sonarr.Runtime": "Duración",
"sonarr.Streams": "Transmisiones",
"sonarr.DownloadID": "ID de descarga",
"sonarr.DownloadFailed": "Descarga fracasó",
"tautulli.Quality": "Calidad",
"tautulli.None": "Ninguno",
"tautulli.Terminate": "Terminar",
@@ -416,5 +747,8 @@
"tautulli.Throttled": "Acelerado",
"tautulli.Transcode": "Transcodificar",
"tautulli.Transcodes": "Transcodificaciones",
"tautulli.ETA": "Tiempo Restante"
"tautulli.ETA": "Tiempo Restante",
"wake_on_lan.MagicPacketSent": "Paquete mágico enviado",
"wake_on_lan.MagicPacketSentMessage": "¡Su máquina debería estar despertando!",
"wake_on_lan.MagicPacketFailedToSend": "Error al enviar Magic Packet"
}

View File

@@ -34,38 +34,65 @@
"lunasea.Cancel": "Annuler",
"lunasea.Candidate": "Candidat",
"lunasea.ChangeProfiles": "Changer de profil",
"lunasea.Changelog": "Changements",
"lunasea.CheckLogsMessage": "Vérifier les journaux pour plus de détails",
"lunasea.Chores": "Tâches",
"lunasea.Clear": "Nettoyer",
"lunasea.Close": "Fermer",
"lunasea.ComingSoon": "Prochainement",
"lunasea.Copied": "Copié",
"lunasea.CopiedContentToTheClipboard": "Contenu copié dans le presse-papiers",
"lunasea.Critical": "Critique",
"lunasea.Dashboard": "Tableau de bord",
"lunasea.Days": "{} Jours",
"lunasea.DaysAgo": "Il y a {} jours",
"lunasea.Debug": "Debug",
"lunasea.Delete": "Supprimer",
"lunasea.Descending": "Décroissant",
"lunasea.Develop": "Développer",
"lunasea.Disable": "Désactiver",
"lunasea.Disabled": "Désactivé",
"lunasea.Dismiss": "Rejeter",
"lunasea.Docs": "Documents",
"lunasea.Edge": "Limite",
"lunasea.Error": "Erreur",
"lunasea.ExternalModules": "Modules externes",
"lunasea.Features": "Fonctionnalités",
"lunasea.Fixes": "Corrections",
"lunasea.FullChangelog": "Liste complète des changements",
"lunasea.GoBack": "Retour en arrière",
"lunasea.GoToSettings": "Ouvrir les paramètres",
"lunasea.GridView": "Vue en grille",
"lunasea.Home": "Accueil",
"lunasea.Hours": "{} Heures",
"lunasea.HoursAgo": "Il y a {} heures",
"lunasea.IncorrectEncryptionKey": "Clé de chiffrement incorrecte",
"lunasea.Internal": "Interne",
"lunasea.InvalidFileTypeSelected": "Type de fichier sélectionné invalide",
"lunasea.JustNow": "À l'instant",
"lunasea.Minutes": "{} Minutes",
"lunasea.MinutesAgo": "Il y a {} minutes",
"lunasea.Module": "Module",
"lunasea.ModuleIsNotEnabled": "{} n'est pas activé",
"lunasea.Months": "{} Mois",
"lunasea.MonthsAgo": "Il y a {} mois",
"lunasea.New": "Nouveau",
"lunasea.NoModulesEnabled": "Aucun module activé",
"lunasea.NotSet": "Non défini",
"lunasea.OneHourAgo": "Il y a une heure",
"lunasea.OneDay": "1 Jour",
"lunasea.OneDayAgo": "Il y a 1 jour",
"lunasea.OneHour": "1 Heure",
"lunasea.OneHourAgo": "Il y a 1 heure",
"lunasea.OneMinute": "1 Minute",
"lunasea.OneMinuteAgo": "Il y a 1 minute",
"lunasea.OneMonth": "1 mois",
"lunasea.OneMonthAgo": "Il y a 1 mois",
"lunasea.OneSecond": "1 Seconde",
"lunasea.OneSecondAgo": "Il y a 1 seconde",
"lunasea.OneYear": "1 année",
"lunasea.OneYearAgo": "Il y a 1 année",
"lunasea.Options": "Options",
"lunasea.Other": "Autre",
"lunasea.Page": "Page",
"lunasea.PlatformSpecific": "Spécifique à la plateforme",
"lunasea.PleaseTryAgain": "Veuillez réessayer",
@@ -78,19 +105,27 @@
"lunasea.Retry": "Réessayer",
"lunasea.ReturnToDashboard": "Retour au tableau de bord",
"lunasea.SearchTextBar": "Rechercher…",
"lunasea.Seconds": "{} Secondes",
"lunasea.SecondsAgo": "Il y a {} Secondes",
"lunasea.Set": "Définir",
"lunasea.Settings": "Réglages",
"lunasea.Stable": "Stable",
"lunasea.StartingView": "Page d'accueil",
"lunasea.Today": "Aujourd'hui",
"lunasea.TransactionFailure": "Transaction échouée",
"lunasea.TryAgain": "Réessayer",
"lunasea.Tweaks": "Ajustements",
"lunasea.UnderAMinute": "Moins d'une Minute",
"lunasea.Unknown": "Inconnu",
"lunasea.UnknownDate": "Date inconnue",
"lunasea.UnknownError": "Erreur inconnue",
"lunasea.UnknownModule": "Module inconnu",
"lunasea.Update": "Mettre à jour",
"lunasea.View": "Vue",
"lunasea.Warning": "Attention",
"lunasea.Website": "Site web",
"lunasea.Years": "{} années",
"lunasea.YearsAgo": "Il y a {} années",
"overseerr.Users": "Utilisateurs",
"overseerr.UnknownUser": "Utilisateur inconnu",
"overseerr.NoUsersFound": "Aucun utilisateur trouvé",
@@ -463,16 +498,13 @@
"settings.TLSCertificateValidationDescription": "Valider les certificats dans les connexions TLS",
"settings.ViewRecentChanges": "Afficher les changements récents",
"settings.DocumentationDescription": "Voir la documentation",
"settings.FeedbackBoard": "Page des remarques",
"settings.RedditDescription": "Poser des questions et obtenir de l'aide",
"settings.TestBuilds": "Versions de tests",
"settings.Documentation": "Documentation",
"settings.WeblateDescription": "Aidez à traduire LunaSea",
"settings.DiscordDescription": "Tchat et discussions",
"settings.SystemStatus": "État du système",
"settings.SystemStatusDescription": "Page d'état pour les services hébergés",
"settings.TestBuildsDescription": "Installer les versions préliminaires de LunaSea",
"settings.FeedbackBoardDescription": "Demander de nouvelles fonctionnalités",
"settings.Website": "Site web",
"settings.GitHubDescription": "Afficher le code source",
"settings.WebsiteDescription": "Visitez le site web de LunaSea",
@@ -507,6 +539,26 @@
"settings.UpdateEmail": "Modifier le courriel",
"settings.BuildChannels": "Canal de compilation",
"settings.BuildChannelsDescription": "En savoir plus sur les canaux de compilation",
"settings.AddedProfile": "Profils ajoutés",
"settings.Channel": "Canal",
"settings.DeletedProfile": "Profil supprimé",
"settings.DownloadUpdate": "Télécharger la mise à jour",
"settings.EnableInAppNotifications": "Activer les notifications In-App",
"settings.NoAdditionalProfilesAdded": "Aucun profil supplémentaire n'a été ajouté",
"settings.ProfileToProfile": "\"{}\" à \"{}\"",
"settings.UpToDate": "A jour",
"settings.ViewTypeLogs": "Voir {} journaux",
"settings.ChangedProfile": "Profil modifié",
"settings.Build": "Compilation",
"settings.NoProfilesFound": "Aucun profil trouvé",
"settings.RenamedProfile": "Profil renommé",
"settings.Platform": "Plateforme",
"settings.Version": "Version",
"settings.SentryLogging": "Journaux de Sentry",
"settings.SentryLoggingDescription": "Soumettre toutes les erreurs et plantages à Sentry",
"settings.DatabaseCorruptionDetectedMessageLine1": "Une corruption de la base de données a été détectée et votre configuration a été effacée.",
"settings.DatabaseCorruptionDetectedMessageLine2": "Désolé pour ce problème, toutes les sauvegardes devraient pouvoir être restaurés même celles créés avec une base de données corrompue.",
"settings.DatabaseCorruptionDetected": "Base de données corrompue détectée",
"sonarr.AddedOn": "Ajouté le",
"sonarr.AddedSeries": "Série ajoutée",
"sonarr.AddedTag": "Étiquette ajoutée",

View File

@@ -0,0 +1,21 @@
{
"dashboard.Calendar": "Kalendar",
"dashboard.Friday": "Petak",
"dashboard.FutureDays": "Budući dani",
"dashboard.FutureDaysDescription": "Postavi broj dana da se ubuduće dohvate unosi iz kalendara.",
"dashboard.MinimumOfOneDay": "Najmanje 1 dan",
"dashboard.Modules": "Moduli",
"dashboard.Monday": "Ponedjeljak",
"dashboard.NoNewContent": "Bez novog sadrzaja",
"dashboard.OneMonth": "Jedan mjesec",
"dashboard.OneWeek": "Jedan tjedan",
"dashboard.PastDays": "Prošli dani",
"dashboard.PastDaysDescription": "Postavi broj dana iz prošlosti da se dohvate unosi iz kalendara.",
"dashboard.Saturday": "Subota",
"dashboard.Schedule": "Raspored",
"dashboard.Sunday": "Nedjelja",
"dashboard.Thursday": "Četvrtak",
"dashboard.Tuesday": "Utorak",
"dashboard.TwoWeeks": "Dva tjedna",
"dashboard.Wednesday": "Srijeda"
}

View File

@@ -64,7 +64,6 @@
"lunasea.New": "Új",
"lunasea.NoModulesEnabled": "Nincs engedélyezett modul",
"lunasea.NotSet": "Nincs beállítva",
"lunasea.OneHourAgo": "1 órával ezelőtt",
"lunasea.Options": "Opciók",
"lunasea.Page": "Oldal",
"lunasea.PlatformSpecific": "Platform-specifikus",
@@ -445,7 +444,6 @@
"settings.DaysOne": "1 nap",
"settings.DefaultPages": "Alapértelmezett oldalak",
"settings.DocumentationDescription": "Tekintse meg a Dokumentációt",
"settings.FeedbackBoardDescription": "Kérjen új funkciókat",
"settings.ProfilesBannerLine1": "A profilok lehetővé teszik több modulpéldány hozzáadását a LunaSea-hoz. A fő navigációs fiókban válthat a profilok között.",
"settings.PasswordHint1": "Ha a jelszava speciális karaktereket tartalmaz, fontolja meg egy alapvető hitelesítési fejléc hozzáadását felhasználónevével és jelszavával a jobb támogatás érdekében",
"settings.PasswordUpdated": "Jelszó frissítve",
@@ -477,13 +475,11 @@
"settings.DefaultSortingAndFilteringDescription": "Állítsa be az alapértelmezett rendezési és szűrési módszereket",
"settings.DeleteAccountDescription": "A Fiók végleges törlése",
"settings.DeleteProfileDescription": "Meglévő profil törlése",
"settings.DiscordDescription": "Csevegés és beszélgetések",
"settings.Documentation": "Dokumentáció",
"settings.EnableModule": "Engedélyezze {}",
"settings.FailedToDeleteAccount": "Nem sikerült törölni a fiókot",
"settings.FailedToUpdateEmail": "Nem sikerült frissíteni az e-mailt",
"settings.FailedToUpdatePassword": "Nem sikerült frissíteni a jelszót",
"settings.FeedbackBoard": "Visszajelzési tábla",
"settings.Home": "Főképernyő",
"settings.PastDays": "Elmúlt napokban",
"settings.PleaseSignInAgain": "Kérem jelentkezzen be újra",

View File

@@ -62,7 +62,6 @@
"lunasea.New": "Nuovo",
"lunasea.NoModulesEnabled": "Nessun modulo abilitato",
"lunasea.NotSet": "Non impostato",
"lunasea.OneHourAgo": "1 ora fa",
"lunasea.Options": "Opzioni",
"lunasea.Page": "Pagina",
"lunasea.PlatformSpecific": "Specifico della piattaforma",

View File

@@ -59,7 +59,6 @@
"lunasea.New": "Ny",
"lunasea.NoModulesEnabled": "Ingen påslåtte moduler",
"lunasea.NotSet": "Ikke satt",
"lunasea.OneHourAgo": "Én time siden",
"lunasea.Options": "Innstillinger",
"lunasea.Page": "Side",
"lunasea.PlatformSpecific": "Plattformsspesifikk",
@@ -85,61 +84,101 @@
"lunasea.Website": "Nettside",
"radarr.AddMovie": "Legg til film",
"radarr.AddMovieAndSearch": "Legg til + søk",
"radarr.AddedTag": "La til emne",
"radarr.Age": "Alder",
"radarr.All": "Alle",
"radarr.Alphabetical": "Alfabetisk",
"radarr.Approved": "Godkjent",
"radarr.Audio": "Lyd",
"radarr.Automatic": "Automatisk",
"radarr.AvailabilityUnknown": "Ukjent tilgjengelighet",
"radarr.AvailableIn": "Tilgjengelig i {}",
"radarr.AvailableToday": "Tilgjengelig i dag",
"radarr.BackupDatabase": "Sikkerhetskopier database",
"radarr.Channels": "Kanaler",
"radarr.CinemaDateUnknown": "Kinodato ukjent",
"radarr.Codec": "Kodek",
"radarr.Configure": "Konfigurer",
"radarr.Copy": "Kopier",
"radarr.CutoffUnmet": "Ikke oppfylt",
"radarr.DateAdded": "Dato lagt til",
"radarr.DirectoryNotFound": "Mappe ble ikke funnet",
"radarr.Discover": "Oppdag",
"radarr.Disks": "Disker",
"radarr.DownloadFailed": "Nedlasting mislyktes",
"radarr.DownloadIgnored": "Nedlasting ignorert",
"radarr.DynamicRange": "Dynamisk rekkevidde",
"radarr.EditMovie": "Rediger fil",
"radarr.FailedToAddTag": "Klarte ikke legge til emne",
"radarr.FileBrowser": "Filutforsker …",
"radarr.FilterCatalogue": "Filtrer katalog",
"radarr.GrabbedFrom": "Hentat fra {}",
"radarr.History": "Historikk",
"radarr.HistoryDescription": "Vis nylig historikk",
"radarr.Import": "Importer",
"radarr.ImportMode": "Importmodus",
"radarr.InCinemasIn": "På kino {}",
"radarr.InCinemasToday": "På kino i dag",
"radarr.Interactive": "Interaktiv",
"radarr.Language": "Språk",
"radarr.Languages": "Språk",
"radarr.ManualImport": "Manuell import",
"radarr.ManualImportDescription": "Importer filmer fra filsystemet",
"radarr.MinimumAvailability": "Minimumstilgjengelighet",
"radarr.Missing": "Mangler",
"radarr.MonitorMovie": "Hold oppsyn med film",
"radarr.Monitored": "På oppsynsliste",
"radarr.MonitoredDescription": "Hold oppsyn med nye utgivelser",
"radarr.More": "Mer",
"radarr.Move": "Flytt",
"radarr.MoveFull": "Flytt filer",
"radarr.Movie": "Film",
"radarr.MovieFileDeleted": "Filmfil slettet",
"radarr.MovieFileRenamed": "Filmfilsnavn endret",
"radarr.MovieImported": "Film importert ({})",
"radarr.MovieNotFound": "Fant ikke filmen",
"radarr.MoviePath": "Filmsti",
"radarr.Movies": "Filmer",
"radarr.NoDisksFound": "Ingen disker funnet",
"radarr.NoFilesFound": "Ingen filer funnet",
"radarr.NoHistoryFound": "Fant ingen historikk",
"radarr.NoMoviesFound": "Fant ingen filmer",
"radarr.NoResultsFound": "Resultatløst",
"radarr.NoRootFoldersFound": "Ingen rotmapper funnet",
"radarr.NoSubdirectoriesFound": "Ingen undermapper funnet",
"radarr.NoSummaryIsAvailable": "Mangler sammendrag.",
"radarr.NoTagsFound": "Ingen emner funnet",
"radarr.Other": "Annet",
"radarr.Quality": "Kvalitet",
"radarr.QualityProfile": "Kvalitetsprofil",
"radarr.Queue": "Kø",
"radarr.QueueDescription": "Vis aktivt og køplassert innhold",
"radarr.Quick": "Rask",
"radarr.RefreshMovie": "Gjenoppfrisk film",
"radarr.Rejected": "Forkastet",
"radarr.Released": "Utgitt",
"radarr.ReleasedToday": "Utgitt i dag",
"radarr.Releases": "Utgivelser",
"radarr.RemoveMovie": "Fjern film",
"radarr.Resolution": "Oppløsning",
"radarr.RootFolder": "Rotmappe",
"radarr.RootFolders": "Rotmapper",
"radarr.RunRSSSync": "Kjør RSS-synkronisering",
"radarr.Runtime": "Spilletid",
"radarr.ScanType": "Skannetype",
"radarr.Search": "Søk",
"radarr.SearchAllMissing": "Søk i alle manglende",
"radarr.SearchFor": "Søkk etter {}",
"radarr.Seeders": "Delere",
"radarr.SelectLanguage": "Velg språk",
"radarr.SelectMovie": "Velg film",
"radarr.SelectQuality": "Velg kvalitet",
"radarr.Size": "Størrelse",
"radarr.SortCatalogue": "Sorter katelog",
"radarr.StartSearchFor": "Start søk etter …",
"radarr.StartSearchForMissingMovie": "Start søk etter manglende film",
"radarr.Studio": "Studio",
"radarr.Subtitles": "Undertekster",
"radarr.SystemStatus": "Systemstatus",
"radarr.SystemStatusDescription": "Systemstatus og diskplass",
"radarr.Tags": "Etiketter",
@@ -150,10 +189,35 @@
"radarr.Upcoming": "Kommende",
"radarr.UpdateLibrary": "Oppdater bibliotek",
"radarr.UpdateMovie": "Oppdater film",
"radarr.Video": "Video",
"radarr.ViewWebGUI": "Vis vev-grensesnitt",
"radarr.Wanted": "Ønsket",
"radarr.Weight": "Vekt",
"radarr.Year": "År",
"sabnzbd.All": "Alle",
"sabnzbd.Completed": "Fullført",
"sabnzbd.Descending": "Synkende",
"sabnzbd.Duplicate": "Duplikat",
"sabnzbd.Failed": "Feilet",
"sabnzbd.Force": "Tving",
"sabnzbd.HibernatePC": "Dvalemodus",
"sabnzbd.Name": "Navn",
"sabnzbd.RepairUnpack": "Reparer/Pakk ut",
"sabnzbd.RepairUnpackDelete": "Reparer/Pakk ut/Slett",
"sabnzbd.Size": "Størrelse",
"sabnzbd.ShutdownPC": "Skru av PC",
"sabnzbd.StandbyPC": "Ventemodus",
"sabnzbd.Stop": "Stopp",
"sabnzbd.Age": "Alder",
"sabnzbd.Ascending": "Stigende",
"sabnzbd.CategoryDefault": "Standardkategori",
"sabnzbd.High": "Høy",
"sabnzbd.Low": "Lav",
"sabnzbd.None": "Ingen",
"sabnzbd.Paused": "Pauset",
"sabnzbd.Normal": "Normal",
"sabnzbd.Repair": "Reparer",
"sabnzbd.ShutdownSABnzbd": "Skru av SABnzbd",
"search.NoCategoriesFound": "Fant ingen kategorier",
"search.Subcategories": "Underkategorier",
"search.Search": "Søk",
@@ -276,7 +340,7 @@
"settings.HeaderKey": "Hode-nøkkel",
"settings.HeaderKeyValidation": "Hodenøkkel påkrevd",
"settings.Email": "E-post",
"tautulli.ETA": "Estimert tid til ankomst",
"tautulli.ETA": "Estimert tid igjen",
"tautulli.Throttled": "Strupet",
"tautulli.TerminationAttachMessage": "Du kan alternativt legge ved en avsluttingsmelding nedenfor.",
"tautulli.Location": "Sted",

View File

@@ -0,0 +1 @@
{}

View File

@@ -19,45 +19,104 @@
"dashboard.Friday": "Sexta-feira",
"dashboard.Calendar": "Calendário",
"lunasea.Add": "Adicionar",
"lunasea.Alpha": "Alpha",
"lunasea.AnErrorHasOccurred": "Ocorreu um erro",
"lunasea.Ascending": "Ascendente",
"lunasea.BackUp": "Back Up",
"lunasea.Beta": "Beta",
"lunasea.BlockView": "Visualização em bloco",
"lunasea.BuyMeABeer": "Compre-me uma cerveja",
"lunasea.BuyMeABurger": "Compre-me um hambúrguer",
"lunasea.BuyMeACoffee": "Compre-me um café",
"lunasea.BuyMeASoda": "Compre-me um refrigerante",
"lunasea.Cancel": "Cancelar",
"lunasea.ChangeProfiles": "Mudar de Perfil",
"lunasea.Changelog": "Alterações",
"lunasea.CheckLogsMessage": "Verifique os registos para mais detalhes",
"lunasea.Clear": "Limpar",
"lunasea.Close": "Fechar",
"lunasea.ComingSoon": "Em Breve",
"lunasea.Copied": "Copiado",
"lunasea.CopiedContentToTheClipboard": "Conteúdo copiado para a área de transferência",
"lunasea.Critical": "Crítico",
"lunasea.Dashboard": "Painel de Controle",
"lunasea.Days": "{} Dias",
"lunasea.DaysAgo": "{} Dias atrás",
"lunasea.Debug": "Depurar",
"lunasea.Delete": "Eliminar",
"lunasea.Descending": "Descendente",
"lunasea.Develop": "Desenvolver",
"lunasea.Disable": "Desativar",
"lunasea.Disabled": "Desativado",
"lunasea.Dismiss": "Dispensar",
"lunasea.Edge": "Edge",
"lunasea.Error": "Erro",
"lunasea.ExternalModules": "Módulos Externos",
"lunasea.FullChangelog": "Registro de alterações completo",
"lunasea.GoBack": "Voltar",
"lunasea.GoToSettings": "Ir para as Definições",
"lunasea.GridView": "Visualização em Grade",
"lunasea.Home": "Home",
"lunasea.Hours": "{} Horas",
"lunasea.HoursAgo": "{} Horas atrás",
"lunasea.IncorrectEncryptionKey": "Chave de encriptação incorreta",
"lunasea.Internal": "Interno",
"lunasea.InvalidFileTypeSelected": "Tipo de arquivo selecionado inválido",
"lunasea.JustNow": "Agora mesmo",
"lunasea.Minutes": "{} Minutos",
"lunasea.MinutesAgo": "{} Minutos atrás",
"lunasea.Module": "Módulo",
"lunasea.ModuleIsNotEnabled": "{} Não Está Ativo",
"lunasea.Months": "{} Meses",
"lunasea.MonthsAgo": "{} Meses atrás",
"lunasea.New": "Novo",
"lunasea.NoModulesEnabled": "Nenhum Módulo Ativado",
"lunasea.NotSet": "Não Definido",
"lunasea.OneDay": "1 Dia",
"lunasea.OneDayAgo": "1 Dia atrás",
"lunasea.OneHour": "1 Hora",
"lunasea.OneHourAgo": "1 Hora atrás",
"lunasea.OneMinute": "1 Minuto",
"lunasea.OneMinuteAgo": "1 Minuto atrás",
"lunasea.OneMonth": "1 Mês",
"lunasea.OneMonthAgo": "1 Mês atrás",
"lunasea.OneSecond": "1 Segundo",
"lunasea.OneSecondAgo": "1 Segundo atrás",
"lunasea.OneYear": "1 Ano",
"lunasea.OneYearAgo": "1 Ano atrás",
"lunasea.Options": "Opções",
"lunasea.Page": "Página",
"lunasea.PlatformSpecific": "Específico da plataforma",
"lunasea.PleaseTryAgain": "Por favor, tente novamente",
"lunasea.Production": "Produção",
"lunasea.Refresh": "Atualizar",
"lunasea.Refreshing": "Atualizando…",
"lunasea.Remove": "Remover",
"lunasea.Rename": "Renomear",
"lunasea.Restore": "Restaurar",
"lunasea.Retry": "Repetir",
"lunasea.ReturnToDashboard": "Voltar ao painel de aplicações",
"lunasea.SearchTextBar": "Procurar…",
"lunasea.Seconds": "{} Segundos",
"lunasea.SecondsAgo": "{} Segundos atrás",
"lunasea.Set": "Definir",
"lunasea.Settings": "Definições",
"lunasea.Stable": "Estável",
"lunasea.Today": "Hoje",
"lunasea.TransactionFailure": "Falha na transação",
"lunasea.TryAgain": "Tente novamente",
"lunasea.Tweaks": "Ajustes",
"lunasea.UnderAMinute": "Em menos de um minuto",
"lunasea.Unknown": "Desconhecido",
"lunasea.UnknownDate": "Data Desconhecida",
"lunasea.UnknownError": "Erro Desconhecido",
"lunasea.UnknownModule": "Módulo Desconhecido",
"lunasea.Update": "Atualizar",
"lunasea.View": "Visão",
"lunasea.Warning": "Aviso",
"lunasea.Website": "Website",
"lunasea.Years": "{} Anos",
"lunasea.YearsAgo": "{} Anos atrás",
"overseerr.NoRequestsFound": "Nenhum Pedido Encontrado",
"overseerr.Requests": "Pedidos",
"overseerr.NoUsersFound": "Nenhum Usuário Encontrado",
@@ -67,18 +126,80 @@
"overseerr.UnknownUser": "Usuário Desconhecido",
"overseerr.Users": "Usuários",
"radarr.AddMovie": "Adicionar Filme",
"radarr.AddMovieAndSearch": "Adicionar + Pesquisar",
"radarr.AddedTag": "Etiqueta adicionada",
"radarr.Age": "Idade",
"radarr.All": "Todos",
"radarr.Alphabetical": "Alfabética",
"radarr.Approved": "Aprovado",
"radarr.Audio": "Áudio",
"radarr.Automatic": "Automático",
"radarr.AvailabilityUnknown": "Disponibilidade Desconhecida",
"radarr.AvailableIn": "Disponível em {}",
"radarr.AvailableToday": "Disponível Hoje",
"radarr.BackupDatabase": "Backup do Banco de dados",
"radarr.Channels": "Canais",
"radarr.CinemaDateUnknown": "Data nos Cinemas Desconhecida",
"radarr.Codec": "Codec",
"radarr.Configure": "Configurar",
"radarr.Copy": "Copiar",
"radarr.CopyFull": "Cópia Física/Copiar Arquivos",
"radarr.Discover": "Descobrir",
"radarr.Disks": "Discos",
"radarr.DownloadFailed": "Download falhou",
"radarr.DownloadIgnored": "Download ignorado",
"radarr.EditMovie": "Editar Filme",
"radarr.FPS": "FPS",
"radarr.FailedToAddTag": "Falha ao adicionar etiqueta",
"radarr.FilterCatalogue": "Filtrar Catálogo",
"radarr.GrabbedFrom": "Obtido de {}",
"radarr.History": "Histórico",
"radarr.HistoryDescription": "Ver atividade recente",
"radarr.Import": "Importar",
"radarr.ImportMode": "Modo de importação",
"radarr.InCinemas": "No cinema",
"radarr.InCinemasIn": "No cinema em {}",
"radarr.InCinemasToday": "Hoje no cinema",
"radarr.Interactive": "Interativo",
"radarr.Language": "Idioma",
"radarr.Languages": "Idiomas",
"radarr.ManualImport": "Importação manual",
"radarr.ManualImportDescription": "Importar filmes do sistema de arquivos",
"radarr.MinimumAvailability": "Disponibilidade mínima",
"radarr.More": "Mais",
"radarr.Movie": "Filme",
"radarr.MovieFileDeleted": "Arquivo do filme excluído",
"radarr.MovieFileRenamed": "Arquivo do filme renomeado",
"radarr.MovieImported": "Filme importado ({})",
"radarr.MovieNotFound": "Filme não encontrado",
"radarr.MoviePath": "Caminho do filme",
"radarr.Movies": "Filmes",
"radarr.NoDisksFound": "Nenhum disco encontrado",
"radarr.NoFilesFound": "Nenhum arquivo encontrado",
"radarr.NoHistoryFound": "Nenhum histórico encontrado",
"radarr.NoMoviesFound": "Nenhum filme encontrado",
"radarr.NoResultsFound": "Nenhum resultado encontrado",
"radarr.NoRootFoldersFound": "Nenhuma pasta raiz encontrada",
"radarr.NoSubdirectoriesFound": "Nenhum subdiretório encontrado",
"radarr.NoSummaryIsAvailable": "Nenhum resumo está disponível.",
"radarr.NoTagsFound": "Nenhuma etiqueta encontrada",
"radarr.Other": "Outro",
"radarr.ParentDirectory": "Diretório Parental",
"radarr.PhysicalRelease": "Lançamento Físico",
"radarr.Quality": "Qualidade",
"radarr.QualityProfile": "Perfil de qualidade",
"radarr.Queue": "Fila",
"radarr.QueueDescription": "Ver conteúdo ativo e enfileirado",
"radarr.RefreshMovie": "Atualizar filme",
"radarr.Rejected": "Rejeitado",
"radarr.Released": "Lançado",
"radarr.ReleasedToday": "Lançado hoje",
"radarr.Releases": "Lançamentos",
"radarr.RemoveMovie": "Remover filme",
"radarr.Resolution": "Resolução",
"radarr.RootFolder": "Pasta raiz",
"radarr.RootFolders": "Pastas raiz",
"radarr.Runtime": "Tempo de execução",
"search.Subcategories": "Subcategorias",
"search.Size": "Tamanho",
"search.SentTo": "Enviar para {}",
@@ -296,11 +417,8 @@
"settings.DefaultOptions": "Opções padrão",
"settings.DefaultOptionsDescription": "Definir opções de classificação, filtragem e visualização",
"settings.DeleteProfileDescription": "Excluir um perfil existente",
"settings.DiscordDescription": "Bate-papo e discussões",
"settings.EmailUpdated": "E-mail atualizado",
"settings.FailedToUpdatePassword": "Falha ao atualizar a senha",
"settings.FeedbackBoard": "Painel de comentários",
"settings.FeedbackBoardDescription": "Solicitar novos recursos",
"settings.FilterCategory": "Categoria de filtro",
"settings.FutureDays": "Dias futuros",
"settings.GitHubDescription": "Veja o código fonte",
@@ -329,6 +447,36 @@
"settings.Documentation": "Documentação",
"settings.AccountDeletedMessage": "Deletar sua Conta LunaSea",
"settings.ConfigurationDescription": "Ajustar e Configurar LunaSea",
"settings.SortCategory": "Classificar categoria",
"settings.SortDirection": "Direção de classificação",
"settings.TLSCertificateValidation": "Validação do certificado TLS",
"settings.DatabaseCorruptionDetectedMessageLine1": "Banco de dados corrompido foi detectado e sua configurações foram limpas.",
"settings.DatabaseCorruptionDetectedMessageLine2": "Desculpe a inconveniência, todos os backups criados anteriormente devem ser restaurados mesmo quando exportados anteriormente com um banco de dados corrompido.",
"settings.DatabaseCorruptionDetected": "Detectado banco de dados corrompido",
"settings.AddedProfile": "Perfil Adicionado",
"settings.ChangedProfile": "Perfil Alterado",
"settings.DeletedProfile": "Perfil Excluído",
"settings.NoAdditionalProfilesAdded": "Nenhum perfil adicional foi adicionado",
"settings.NoProfilesFound": "Nenhum perfil encontrado",
"settings.Platform": "Plataforma",
"settings.ProfileToProfile": "\"{}\" para \"{}\"",
"settings.RenamedProfile": "Perfil Renomeado",
"settings.SystemStatusDescription": "Página de status para serviços hospedados",
"settings.Version": "Versão",
"settings.UpToDate": "Atualizado",
"settings.WeblateDescription": "Ajude a localizar o LunaSea",
"settings.ViewRecentChanges": "Ver alterações recentes",
"settings.Website": "Site",
"settings.WebsiteDescription": "Visitar o site da LunaSea",
"settings.ViewTypeLogs": "Ver {} registros",
"settings.Build": "Build",
"settings.Channel": "Canal",
"settings.DownloadUpdate": "Baixar Atualização",
"settings.EnableInAppNotifications": "Ativar notificações no aplicativo",
"settings.SystemStatus": "Status do Sistema",
"settings.TLSCertificateValidationDescription": "Validar certificados em conexões TLS",
"settings.UpdateEmail": "Atualizar e-mail",
"settings.UpdatePassword": "Atualizar senha",
"sonarr.AddedTag": "Tag Adicionada",
"sonarr.AddSeries": "Adicionar Série",
"sonarr.DeleteFile": "Deletar Arquivo",
@@ -376,6 +524,31 @@
"sonarr.NoEpisodesFound": "Nenhum Episódio Encontrado",
"sonarr.AddedOn": "Adicionado Em",
"sonarr.AddedSeries": "Séries Adicionadas",
"sonarr.Destination": "Destino",
"sonarr.All": "Tudo",
"sonarr.Approved": "Aprovado",
"sonarr.Automatic": "Automático",
"sonarr.BackingUpDatabase": "Fazendo backup do banco de dados{}",
"sonarr.BackingUpDatabaseDescription": "Fazendo backup do banco de dados em segundo plano",
"sonarr.Channels": "Canais",
"sonarr.Client": "Cliente",
"sonarr.Continuing": "Continuando",
"sonarr.DeleteReasonUpgrade": "O arquivo foi excluído para importar uma atualização",
"sonarr.DestinationRelative": "Destino relativo",
"sonarr.Download": "Baixar",
"sonarr.BackupDatabase": "Backup do banco de dados",
"sonarr.CheckDownloadClient": "Verifique o cliente de download para obter mais detalhes",
"sonarr.DeleteReasonMissingFromDisk": "O Sonarr não conseguiu encontrar o arquivo no disco, então ele foi removido",
"sonarr.EditSeries": "Editar séries",
"sonarr.DownloadingWithMessage": "Baixando: {}",
"sonarr.Downloading": "Baixando",
"sonarr.FailedToBackupDatabase": "Falha ao fazer backup do banco de dados",
"sonarr.DownloadClientUnavailable": "Cliente de download não está disponível",
"sonarr.Downloaded": "Baixado",
"sonarr.DownloadedImporting": "Baixado: Importando",
"sonarr.DownloadedWaitingToImport": "Baixado: Aguardando para importar",
"sonarr.DownloadedWaitingToProcess": "Baixado: Aguardando para processar",
"sonarr.EmptyQueue": "Fila vazia",
"tautulli.Terminate": "Terminar",
"tautulli.Subtitle": "Legenda",
"tautulli.Stream": "Transmissão",
@@ -433,5 +606,15 @@
"tautulli.Users": "Utilizadores",
"tautulli.Video": "Vídeo",
"tautulli.ViewWebGUI": "Ver WEB GUI",
"tautulli.Year": "Ano"
"tautulli.Year": "Ano",
"tautulli.TerminationAttachMessage": "Opcionalmente, você pode anexar uma mensagem de rescisão abaixo.",
"tautulli.TerminationConfirmMessage": "Deseja encerrar esta sessão?",
"tautulli.TerminationMessage": "Mensagem de Rescisão",
"tautulli.Transcode": "Transcodificar",
"tautulli.TerminateSession": "Encerrar Sessão",
"tautulli.TerminatedSession": "Sessão Encerrada",
"tautulli.TerminateSessionFailed": "Falha ao encerrar a sessão",
"wake_on_lan.MagicPacketSent": "Pacote mágico enviado",
"wake_on_lan.MagicPacketSentMessage": "Sua máquina deve estar acordando!",
"wake_on_lan.MagicPacketFailedToSend": "Falha ao enviar pacote mágico"
}

View File

@@ -0,0 +1,17 @@
{
"dashboard.Modules": "Module",
"dashboard.Calendar": "Calendar",
"dashboard.Friday": "Vineri",
"dashboard.OneMonth": "O lună",
"dashboard.OneWeek": "O săptămână",
"dashboard.PastDays": "Zile trecute",
"dashboard.Saturday": "Sâmbătă",
"dashboard.Schedule": "Program",
"dashboard.Sunday": "Duminică",
"dashboard.Thursday": "Joi",
"dashboard.Tuesday": "Marți",
"dashboard.TwoWeeks": "Două săptămâni",
"dashboard.Wednesday": "Miercuri",
"dashboard.FutureDays": "Zile în viitor",
"dashboard.Monday": "Luni"
}

View File

@@ -153,6 +153,37 @@
"settings.AccountHelp": "Аккаунт LunaSea",
"settings.AccountDescription": "Ваш аккаунт в LunaSea",
"settings.Account": "Аккаунт",
"sonarr.AddedOn": "Добавлено на",
"sonarr.AddedSeries": "Добавленны серии",
"sonarr.AddedTag": "Добавить Тег",
"sonarr.AddSeries": "Добавить серии",
"sonarr.Audio": "Аудио",
"sonarr.Automatic": "Автоматически",
"sonarr.Channels": "Каналы",
"sonarr.Codec": "Кодек",
"sonarr.Client": "Клиент",
"sonarr.DeleteReasonManual": "Файл был удален с помощью пользовательского интерфейса",
"sonarr.BackingUpDatabase": "Резервное копирование базы данных{}",
"sonarr.Approved": "Одобрено",
"sonarr.AutomaticSearch": "Автоматический поиск",
"sonarr.BackingUpDatabaseDescription": "Резервное копирование базы данных в фоновом режиме",
"sonarr.Bitrate": "Битрейт",
"sonarr.Continuing": "Продолжение",
"sonarr.Age": "Возраст",
"sonarr.All": "Все",
"sonarr.AllSeasons": "Все Сезоны",
"sonarr.DeleteReasonMissingFromDisk": "Sonarr не смог найти файл на диске, поэтому он был удален",
"sonarr.AddReleaseToBlocklist": "Добавить Релиз в Блок-Лист",
"sonarr.DeleteReasonUpgrade": "Файл был удален для импорта обновления",
"sonarr.BackupDatabase": "Резервная база данных",
"sonarr.CheckDownloadClient": "Проверьте клиент загрузки для получения более подробной информации",
"sonarr.BitDepth": "Битовая глубина",
"sonarr.DeleteEpisodeFileHint1": "Вы уверены, что хотите удалить этот файл?",
"sonarr.DeleteFiles": "Удалить файлы",
"sonarr.DeleteEpisodeFile": "Удалить файл эпизода",
"sonarr.DeleteFile": "Удалить файл",
"sonarr.Destination": "Назначение",
"sonarr.DestinationRelative": "Относительное назначение",
"tautulli.Year": "Год",
"tautulli.Video": "Видео",
"tautulli.Users": "Пользователи",

View File

@@ -34,38 +34,67 @@
"lunasea.Cancel": "İptal",
"lunasea.Candidate": "Aday",
"lunasea.ChangeProfiles": "Profilleri Değiştir",
"lunasea.Changelog": "Değişiklik Günlüğü",
"lunasea.CheckLogsMessage": "Daha fazla ayrıntı için günlük kayıtlarına bakın",
"lunasea.Chores": "İşler",
"lunasea.Clear": "Temizle",
"lunasea.Close": "Kapat",
"lunasea.ComingSoon": "Yakında Gelecek",
"lunasea.Copied": "Kopyalandı",
"lunasea.CopiedContentToTheClipboard": "İçerik Panoya Kopyalandı",
"lunasea.Critical": "Kritik",
"lunasea.Dashboard": "Denetim Paneli",
"lunasea.Days": "{} Gün",
"lunasea.DaysAgo": "{} Gün Önce",
"lunasea.Debug": "Hata Ayıklama",
"lunasea.Delete": "Sil",
"lunasea.Descending": "Azalan",
"lunasea.Develop": "Geliştir",
"lunasea.Disable": "Devre Dışı Bırak",
"lunasea.Disabled": "Devre Dışı",
"lunasea.Dismiss": "Kapat",
"lunasea.Docs": "Belgeler",
"lunasea.DownloadClient": "İstemciyi İndir",
"lunasea.Edge": "Kenar",
"lunasea.Error": "Hata",
"lunasea.ExternalModules": "Harici Modüller",
"lunasea.Features": "Özellikler",
"lunasea.Fixes": "Düzeltmeler",
"lunasea.FullChangelog": "Tam Değişiklik Günlüğü",
"lunasea.GoBack": "Geri Git",
"lunasea.GoToSettings": "Ayarlara Git",
"lunasea.GridView": "Izgara Görünümü",
"lunasea.Home": "Ana Ekran",
"lunasea.Hours": "{} Saat",
"lunasea.HoursAgo": "{} Saat Önce",
"lunasea.IncorrectEncryptionKey": "Yanlış şifreleme anahtarı",
"lunasea.Internal": "Dahili",
"lunasea.InvalidFileTypeSelected": "Geçersiz Dosya Türü Seçildi",
"lunasea.JustNow": "Az Önce",
"lunasea.Minutes": "{} Dakika",
"lunasea.MinutesAgo": "{} Dakika Önce",
"lunasea.Module": "Modül",
"lunasea.ModuleIsNotEnabled": "{} Etkin Değil",
"lunasea.Months": "{} Ay",
"lunasea.MonthsAgo": "{} Ay Önce",
"lunasea.New": "Yeni",
"lunasea.No": "Hayır",
"lunasea.NoModulesEnabled": "Etkin Modül Yok",
"lunasea.NotSet": "Ayarlanmadı",
"lunasea.OneDay": "1 Gün",
"lunasea.OneDayAgo": "1 Gün Önce",
"lunasea.OneHour": "1 Saat",
"lunasea.OneHourAgo": "1 Saat Önce",
"lunasea.OneMinute": "1 Dakika",
"lunasea.OneMinuteAgo": "1 Dakika Önce",
"lunasea.OneMonth": "1 Ay",
"lunasea.OneMonthAgo": "1 Ay Önce",
"lunasea.OneSecond": "1 Saniye",
"lunasea.OneSecondAgo": "1 Saniye Önce",
"lunasea.OneYear": "1 Yıl",
"lunasea.OneYearAgo": "1 Yıl Önce",
"lunasea.Options": "Seçenekler",
"lunasea.Other": "Diğer",
"lunasea.Page": "Sayfa",
"lunasea.PlatformSpecific": "Platforma Özgü",
"lunasea.PleaseTryAgain": "Lütfen Tekrar Deneyin",
@@ -78,19 +107,28 @@
"lunasea.Retry": "Yeniden dene",
"lunasea.ReturnToDashboard": "Denetim Paneline Dön",
"lunasea.SearchTextBar": "Ara…",
"lunasea.Seconds": "{} Saniye",
"lunasea.SecondsAgo": "{} Saniye Önce",
"lunasea.Set": "Ayarla",
"lunasea.Settings": "Ayarlar",
"lunasea.Stable": "Kararlı",
"lunasea.StartingView": "Başlangıç Görünümü",
"lunasea.Today": "Bugün",
"lunasea.TransactionFailure": "İşlem Hatası",
"lunasea.TryAgain": "Tekrar Deneyin",
"lunasea.Tweaks": "İnce Ayarlar",
"lunasea.UnderAMinute": "Bir Dakikanın Altında",
"lunasea.Unknown": "Bilinmeyen",
"lunasea.UnknownDate": "Bilinmeyen Tarih",
"lunasea.UnknownError": "Bilinmeyen Hata",
"lunasea.UnknownModule": "Bilinmeyen Modül",
"lunasea.Update": "Güncelle",
"lunasea.View": "Görünüm",
"lunasea.Warning": "Uyarı",
"lunasea.Website": "Web Sitesi",
"lunasea.Years": "{} Yıl",
"lunasea.YearsAgo": "{} Yıl Önce",
"lunasea.Yes": "Evet",
"overseerr.Users": "Kullanıcılar",
"overseerr.UnknownUser": "Bilinmeyen Kullanıcı",
"overseerr.NoUsersFound": "Kullanıcı Bulunamadı",
@@ -136,6 +174,7 @@
"radarr.Codec": "Kodek",
"radarr.Configure": "Yapılandır",
"radarr.Copy": "Kopyala",
"radarr.CopyFiles": "Dosyaları Kopyala/Sabit Bağlantı Oluştur",
"radarr.CopyFull": "Dosyaları Kopyala/Sabit Bağlantı Oluştur",
"radarr.CutoffUnmet": "Karşılanmayanı Kes",
"radarr.DateAdded": "Eklenme Tarihi",
@@ -172,6 +211,8 @@
"radarr.MonitoredDescription": "Yeni yayınlar için takip edin",
"radarr.More": "Daha Fazla",
"radarr.Move": "Taşı",
"radarr.MoveFiles": "Dosyaları Taşı",
"radarr.MoveFilesDescription": "Dosyaları taşımak istiyor musunuz?",
"radarr.MoveFull": "Dosyaları Taşı",
"radarr.Movie": "Film",
"radarr.MovieFileDeleted": "Film Dosyası Silindi",
@@ -232,6 +273,7 @@
"radarr.UnmappedFolders": "{} Eşlenmeyen Klasörler",
"radarr.UnmonitorMovie": "Filmi Takip Etmeyi Bırak",
"radarr.Unmonitored": "Takip Edilmeyen",
"radarr.Unreleased": "Yayınlanmadı",
"radarr.Upcoming": "Yakında",
"radarr.UpdateLibrary": "Kütüphaneyi Güncelle",
"radarr.UpdateMovie": "Filmi Güncelle",
@@ -471,11 +513,9 @@
"settings.BackupToDevice": "Aygıta Yedekle",
"settings.BackupToDeviceDescription": "Yapılandırma Verilerini Yedekle",
"settings.CalendarSettings": "Takvim Ayarları",
"settings.DiscordDescription": "Sohbet & Tartışma",
"settings.DaysOne": "1 Gün",
"settings.DaysCount": "{} Gün",
"settings.EmailValidation": "Geçersiz E-posta Adresi",
"settings.FeedbackBoard": "Geri Bildirim Panosu",
"settings.FailedToUpdatePassword": "Parola Güncellenemedi",
"settings.FailedToUpdateEmail": "E-posta Güncellenemedi",
"settings.GitHubDescription": "Kaynak Kodu Görüntüleyin",
@@ -487,7 +527,6 @@
"settings.Use24HourTimeDescription": "Zaman Damgalarını 24 Saat Tarzında Göster",
"settings.WeblateDescription": "LunaSea'yi Yerelleştirmeye Yardım Edin",
"settings.Website": "Web Sitesi",
"settings.FeedbackBoardDescription": "Yeni Özellikler İsteyin",
"settings.RestoreFromDevice": "Aygıttan Geri Yükle",
"settings.FutureDays": "Gelecek Günler",
"settings.QuickActionsBannerLine2": "Bir seferde sınırlı sayıda hızlı eylem ayarlanabilir ve başlatıcınızın destekleyebileceğinden fazlasını etkinleştirmenin bir etkisi olmayacaktır.",
@@ -505,6 +544,30 @@
"settings.PasswordHint1": "Parolanız özel karakterler içeriyorsa, daha iyi destek için kullanıcı adınız ve parolanızla temel bir kimlik doğrulama başlığı eklemeyi düşünün",
"settings.ProfilesBannerLine1": "Profiller, LunaSea'ye birden fazla modül örneği eklemenize izin verir. Ana gezinme çekmecesinde profiller arasında geçiş yapabilirsiniz.",
"settings.ProfilesBannerLine2": "Newznab dizin oluşturucu arama ve harici modüller etkinleştirilir ve tüm profillerde paylaşılır.",
"settings.DownloadUpdate": "Güncellemeyi İndir",
"settings.Platform": "Platform",
"settings.Build": "İnşa",
"settings.EnableInAppNotifications": "Uygulama İçi Bildirimleri Etkinleştir",
"settings.UpToDate": "Güncel",
"settings.Version": "Sürüm",
"settings.Channel": "Kanal",
"settings.AddedProfile": "Profil Eklendi",
"settings.ChangedProfile": "Profil Değiştirildi",
"settings.NoAdditionalProfilesAdded": "Başka profil eklenmedi",
"settings.ProfileToProfile": "\"{}\" ila \"{}\"",
"settings.ViewTypeLogs": "{} Günlüklerini Görüntüle",
"settings.RenamedProfile": "Profil Yeniden Adlandırıldı",
"settings.DeletedProfile": "Profil Silindi",
"settings.NoProfilesFound": "Profil Bulunamadı",
"settings.SentryLogging": "Sentry Günlüğü",
"settings.SentryLoggingDescription": "Hataları ve Çökmeleri Sentry'ye Yükleyin",
"settings.DatabaseCorruptionDetected": "Veri Tabanı Bozulması Tespit Edildi",
"settings.DatabaseCorruptionDetectedMessageLine1": "Veri tabanı bozulması tespit edildi ve yapılandırmanız temizlendi.",
"settings.DatabaseCorruptionDetectedMessageLine2": "Rahatsızlık için özür dileriz, daha önce oluşturulan tüm yedeklemeler, daha önce bozuk bir veri tabanı ile dışa aktarılmış olsa bile geri yüklenebilir olmalıdır.",
"settings.DiscordDescription": "Özellik İsteyin & Destek Alın",
"settings.BootModule": "Önyükleme Modülü",
"settings.GeneralDescription": "LunaSea'yi Özelleştirin",
"settings.General": "Genel",
"sonarr.AddedSeries": "Eklenen Diziler",
"sonarr.Age": "Yıl",
"sonarr.All": "Her Şey",

View File

@@ -0,0 +1,6 @@
{
"lunasea.Add": "Thêm",
"lunasea.ChangeProfiles": "Thay đổi thông tin",
"lunasea.Changelog": "Bản ghi các thay đổi",
"lunasea.CopiedContentToTheClipboard": "Nội dung đã được sao chép vào Clipboard"
}

View File

@@ -34,38 +34,67 @@
"lunasea.Cancel": "取消",
"lunasea.Candidate": "候选",
"lunasea.ChangeProfiles": "更改配置文件",
"lunasea.Changelog": "变更日志",
"lunasea.CheckLogsMessage": "检查日志以获取更多详细信息",
"lunasea.Chores": "日常事务",
"lunasea.Clear": "清除",
"lunasea.Close": "关闭",
"lunasea.ComingSoon": "即将推出",
"lunasea.Copied": "已复制",
"lunasea.CopiedContentToTheClipboard": "将内容复制到剪贴板",
"lunasea.Critical": "临界",
"lunasea.Dashboard": "仪表盘",
"lunasea.Days": "{} 天",
"lunasea.DaysAgo": "{} 几天前",
"lunasea.Debug": "调试",
"lunasea.Delete": "删除",
"lunasea.Descending": "降序",
"lunasea.Develop": "开发版",
"lunasea.Disable": "禁用",
"lunasea.Disabled": "不可用",
"lunasea.Dismiss": "解散",
"lunasea.Docs": "文档",
"lunasea.DownloadClient": "下载客户端",
"lunasea.Edge": "边缘",
"lunasea.Error": "错误",
"lunasea.ExternalModules": "外部模块",
"lunasea.Features": "特征",
"lunasea.Fixes": "修复",
"lunasea.FullChangelog": "完整更新日志",
"lunasea.GoBack": "返回",
"lunasea.GoToSettings": "前往设置",
"lunasea.GridView": "网格视图",
"lunasea.Home": "首页",
"lunasea.Hours": "{} 小时",
"lunasea.HoursAgo": "{} 小时前",
"lunasea.IncorrectEncryptionKey": "不正确的加密密匙",
"lunasea.Internal": "内部的",
"lunasea.InvalidFileTypeSelected": "不正确的文件类型",
"lunasea.JustNow": "刚才",
"lunasea.Minutes": "{} 分钟",
"lunasea.MinutesAgo": "{} 几分钟前",
"lunasea.Module": "模块",
"lunasea.ModuleIsNotEnabled": "{}未启用",
"lunasea.Months": "{} 个月",
"lunasea.MonthsAgo": "{} 几个月前",
"lunasea.New": "新的",
"lunasea.No": "否",
"lunasea.NoModulesEnabled": "未启用模块",
"lunasea.NotSet": "未设置",
"lunasea.OneDay": "1天",
"lunasea.OneDayAgo": "1天前",
"lunasea.OneHour": "1小时",
"lunasea.OneHourAgo": "1小时前",
"lunasea.OneMinute": "1分钟",
"lunasea.OneMinuteAgo": "1 分钟前",
"lunasea.OneMonth": "1个月",
"lunasea.OneMonthAgo": "1个月前",
"lunasea.OneSecond": "1秒",
"lunasea.OneSecondAgo": "1 秒前",
"lunasea.OneYear": "1年",
"lunasea.OneYearAgo": "1年前",
"lunasea.Options": "选项",
"lunasea.Other": "其它",
"lunasea.Page": "页",
"lunasea.PlatformSpecific": "平台特定",
"lunasea.PleaseTryAgain": "请重试",
@@ -78,19 +107,28 @@
"lunasea.Retry": "重试",
"lunasea.ReturnToDashboard": "返回仪表板",
"lunasea.SearchTextBar": "搜索…",
"lunasea.Seconds": "{} 秒",
"lunasea.SecondsAgo": "{} 秒前",
"lunasea.Set": "确定",
"lunasea.Settings": "设置",
"lunasea.Stable": "稳定的",
"lunasea.StartingView": "开始视图",
"lunasea.Today": "今天",
"lunasea.TransactionFailure": "交易失败",
"lunasea.TryAgain": "再试一次",
"lunasea.Tweaks": "调整",
"lunasea.UnderAMinute": "不到一分钟",
"lunasea.Unknown": "未知",
"lunasea.UnknownDate": "未知日期",
"lunasea.UnknownError": "未知错误",
"lunasea.UnknownModule": "未知模块",
"lunasea.Update": "更新",
"lunasea.View": "视图",
"lunasea.Warning": "警告",
"lunasea.Website": "网站",
"lunasea.Years": "{} 年",
"lunasea.YearsAgo": "{} 年前",
"lunasea.Yes": "是",
"overseerr.NoRequests": "没有请求",
"overseerr.OneRequest": "1个请求",
"overseerr.SomeRequests": "{} 请求",
@@ -136,6 +174,7 @@
"radarr.Codec": "编解码器",
"radarr.Configure": "配置",
"radarr.Copy": "复制",
"radarr.CopyFiles": "硬链接/复制文件",
"radarr.CopyFull": "硬链接/复制文件",
"radarr.CutoffUnmet": "截止未满足",
"radarr.DateAdded": "添加日期",
@@ -172,6 +211,8 @@
"radarr.MonitoredDescription": "监控新版本",
"radarr.More": "更多",
"radarr.Move": "移动",
"radarr.MoveFiles": "移动文件",
"radarr.MoveFilesDescription": "确定要移动这些文件吗?",
"radarr.MoveFull": "移动文件",
"radarr.Movie": "电影",
"radarr.MovieFileDeleted": "电影文件已删除",
@@ -232,6 +273,7 @@
"radarr.UnmappedFolders": "{} 未映射的文件夹",
"radarr.UnmonitorMovie": "监控电影",
"radarr.Unmonitored": "不受监控",
"radarr.Unreleased": "未发布",
"radarr.Upcoming": "即将到来",
"radarr.UpdateLibrary": "更新库",
"radarr.UpdateMovie": "更新电影",
@@ -240,6 +282,30 @@
"radarr.Wanted": "需要",
"radarr.Weight": "轻重",
"radarr.Year": "年",
"sabnzbd.CategoryDefault": "默认类别",
"sabnzbd.Completed": "完成",
"sabnzbd.Ascending": "升序",
"sabnzbd.Paused": "暂停",
"sabnzbd.Normal": "一般",
"sabnzbd.Name": "名称",
"sabnzbd.None": "没有",
"sabnzbd.RepairUnpack": "纠正/拆包",
"sabnzbd.All": "全部",
"sabnzbd.Descending": "降序",
"sabnzbd.Duplicate": "复制",
"sabnzbd.Failed": "失败",
"sabnzbd.Age": "时代",
"sabnzbd.Force": "强制",
"sabnzbd.HibernatePC": "电脑休眠",
"sabnzbd.High": "高",
"sabnzbd.Low": "低",
"sabnzbd.Repair": "纠正",
"sabnzbd.RepairUnpackDelete": "纠正/拆包/删除",
"sabnzbd.Size": "大小",
"sabnzbd.ShutdownPC": "关机",
"sabnzbd.ShutdownSABnzbd": "关闭SABnzbd",
"sabnzbd.StandbyPC": "备用PC",
"sabnzbd.Stop": "停止",
"search.AllSubcategories": "所有子类别",
"search.Alphabetical": "字母顺序",
"search.Categories": "类别",
@@ -463,16 +529,13 @@
"settings.TLSCertificateValidation": "TLS 证书验证",
"settings.ViewRecentChanges": "查看最近的更改",
"settings.DocumentationDescription": "查看文档",
"settings.FeedbackBoard": "反馈板",
"settings.GitHubDescription": "查看源代码",
"settings.TestBuilds": "测试构建",
"settings.TestBuildsDescription": "安装 LunaSea 的预发布版本",
"settings.Website": "网站",
"settings.WebsiteDescription": "访问 LunaSea 的网站",
"settings.FeedbackBoardDescription": "请求新功能",
"settings.RedditDescription": "提出问题并获得支持",
"settings.WeblateDescription": "帮助 LunaSea 本地化",
"settings.DiscordDescription": "聊天和讨论",
"settings.Documentation": "文档",
"settings.SystemStatus": "系统状况",
"settings.SystemStatusDescription": "托管服务的状态页面",
@@ -507,6 +570,29 @@
"settings.CurrentPassword": "当前密码",
"settings.BuildChannelsDescription": "了解其他构建渠道",
"settings.BuildChannels": "构建渠道",
"settings.Platform": "平台",
"settings.Build": "构建",
"settings.Channel": "渠道",
"settings.DownloadUpdate": "下载更新",
"settings.EnableInAppNotifications": "启用应用内通知",
"settings.UpToDate": "最新",
"settings.Version": "版本",
"settings.AddedProfile": "添加配置文件",
"settings.ChangedProfile": "更改配置文件",
"settings.DeletedProfile": "已删除的个人资料",
"settings.NoAdditionalProfilesAdded": "未添加其他配置文件",
"settings.NoProfilesFound": "未找到配置文件",
"settings.ProfileToProfile": "\"{}\" 至 \"{}\"",
"settings.RenamedProfile": "重命名配置文件",
"settings.ViewTypeLogs": "查看 {} 日志",
"settings.DatabaseCorruptionDetected": "检测到数据库损坏",
"settings.DatabaseCorruptionDetectedMessageLine1": "已检测到数据库损坏,并且已清除您的配置。",
"settings.DatabaseCorruptionDetectedMessageLine2": "很抱歉给您带来不便,即使以前导出的数据库已损坏,所有以前创建的备份都应该是可恢复的。",
"settings.SentryLogging": "哨兵日志记录",
"settings.SentryLoggingDescription": "上传错误崩溃到Sentry",
"settings.DiscordDescription": "请求功能获得支持",
"settings.General": "通用",
"settings.GeneralDescription": "自定义LunaSea",
"sonarr.AddSeries": "添加系列",
"sonarr.AddedOn": "添加于",
"sonarr.Age": "年龄",

View File

@@ -0,0 +1 @@
{}

View File

@@ -5,14 +5,6 @@ targets:
- pubspec.*
- $package$
builders:
# Envify
envify_generator|envify:
enabled: true
generate_for:
exclude:
- lib
include:
- lib/system/environment.dart
# Hive
hive_generator:
enabled: true

View File

@@ -4,6 +4,11 @@
"logo": "/assets/logo.png",
"logoDark": "/assets/logo.png",
"theme": "#4ECCA3",
"docsearch": {
"apiKey": "58e5f38cec4d05c99cc2e20f557c5463",
"indexName": "lunasea",
"appId": "W0TEIU1RA4"
},
"sidebar": [
[
"Overview",

View File

@@ -15,7 +15,6 @@ The software, or as used in LunaSea, _Modules_, are all pieces of software that
I take all requests into consideration! If you would like to request a feature there are a few ways I recommend:
- [Feedback Board](https://www.lunasea.app/feedback): The feedback board allows users to create, comment on, and vote on new features and general requests! This is the ideal way to request a new feature, as it allows other users to see active requests, it allows discussions to stay per-request, and the voting system gives me a good indication on the active demand for a feature.
- [Discord](https://www.lunasea.app/discord)
- [Email](mailto:hello@lunasea.app)
- [Reddit](https://www.lunasea.app/reddit)
@@ -34,7 +33,7 @@ Support for torrent clients is easily the most requested new module, and I defin
Torrent support is not completely off the table and may come in the future! But at the moment, over 90% of the active user base is using iOS-based devices and it is hard to justify building a module (that takes a lot of time) that the mass majority of the user base would not be able to use.
> I am actively thinking of methods to get around this limitation, if you have any ideas consider commenting on the torrent client support [feedback board request](https://feedback.lunasea.app/b/New-Modules/p/torrent-clients-support).
> I am actively thinking of methods to get around this limitation, if you have any ideas consider commenting on the torrent client support [Discord Forum post](https://discord.com/channels/673591529834807358/1020181897973874748).
## Development
@@ -69,7 +68,6 @@ I tried to make it as stable as possible, but bugs obviously will always be ther
I consider all feedback and actively try to integrate new features that are requested by the community, big or small! You have a few ways to request new features for LunaSea:
- [Feedback Board](https://www.lunasea.app/feedback): The feedback board allows users to create, comment on, and vote on new features and general requests! This is the ideal way to request a new feature, as it allows other users to see active requests, it allows discussions to stay per-request, and the voting system gives me a good indication on the active demand for a feature.
- [Discord](https://www.lunasea.app/discord)
- [Email](mailto:hello@lunasea.app)
- [Reddit](https://www.lunasea.app/reddit)

View File

@@ -7,7 +7,7 @@ description: Breaking down what is and isn't supported on different platforms
The tables below showcases which modules or features may not be supported on each platform. If a module or feature is not listed, you can assume that every platform has full support for said module or feature!
> Work will continuously be down to try to achieve 100% feature parity between all platforms when possible!
> Work will continuously be done to try to achieve 100% feature parity between all platforms when possible!
## Module Support
@@ -20,11 +20,10 @@ The tables below showcases which modules or features may not be supported on eac
## Feature Support
| Feature | Android | iOS | Linux | macOS | Windows | Web (Hosted) | Web (Self-Hosted) |
| :--------------------: | :-----: | :-: | :---: | :---: | :-----: | :----------: | :---------------: |
| Local Backup & Restore | ✅ | ✅ | | ✅ | | | ❌ |
| LunaSea Accounts | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| Notifications | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Feature | Android | iOS | Linux | macOS | Windows | Web (Hosted) | Web (Self-Hosted) |
| :--------------: | :-----: | :-: | :---: | :---: | :-----: | :----------: | :---------------: |
| LunaSea Accounts | ✅ | ✅ | | ✅ | | | ❌ |
| Notifications | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
## Web-Specific Restrictions

View File

@@ -19,7 +19,6 @@ LunaSea is a fully featured, open source self-hosted controller focused on givin
- [Newznab Search + NZBHydra2](/modules/newznab-search)
- [NZBGet](/modules/nzbget)
- [Radarr](/modules/radarr)
- [Overseerr (WIP)](/modules/radarr)
- [SABnzbd](/modules/sabnzbd)
- [Sonarr](/modules/sonarr)
- [Tautulli](/modules/tautulli)

View File

@@ -18,7 +18,6 @@ _Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
The easiest way for most users with Android devices would be to download releases of LunaSea directly from the [Google Play Store](https://www.lunasea.app/playstore)!
<Tabs
groupId="channel"
defaultValue="stable"
values={[
{ label: "Stable", value: "stable" },

View File

@@ -24,7 +24,6 @@ _Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
The easiest way for most users with iOS devices to use test channels is using the [TestFlight](https://apps.apple.com/app/testflight/id899247664) platform!
<Tabs
groupId="channel"
defaultValue="stable"
values={[
{ label: "Stable", value: "stable" },

View File

@@ -16,7 +16,6 @@ _Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_
The easiest way for most users with macOS devices would be to download releases of LunaSea using the [TestFlight](https://apps.apple.com/app/testflight/id899247664) platform!
<Tabs
groupId="channel"a
defaultValue="stable"
values={[
{ label: "Stable", value: "stable" },
@@ -54,6 +53,12 @@ _Format(s): `.dmg`, `.zip`_
All macOS releases are available in the [Build Bucket](https://builds.lunasea.app/#latest/)!
## Homebrew Cask
_Channel(s): `Stable`_<br/>
All stable releases are available via [Homebrew Cask](https://formulae.brew.sh/cask/lunasea)!
## GitHub Releases
_Channel(s): `Stable`_<br/>

View File

@@ -14,7 +14,6 @@ _Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
All web releases of LunaSea are available on hosted instances by the LunaSea team! All communication and data stored is client-side, but there are some limitations of the platform which can be [viewed here](/getting-started/platform-restrictions).
<Tabs
groupId="channel"
defaultValue="stable"
values={[
{ label: "Stable", value: "stable" },
@@ -44,7 +43,6 @@ _Channel(s): `Stable`, `Candidate`, `Beta`, `Edge`_<br/>
All web releases of LunaSea are also available in officially hosted Docker images! There is currently only one value that needs to be configured which is the port mapping. LunaSea functions as a frontend application with all data being stored client-side.
<Tabs
groupId="channel"
defaultValue="stable"
values={[
{ label: "Stable", value: "stable" },

22
environment_config.yaml Normal file
View File

@@ -0,0 +1,22 @@
environment_config:
path: system/environment.dart
class: LunaEnvironment
fields:
build:
type: int
default: 9999999999
env_var: BUILD
commit:
type: String
default: master
env_var: COMMIT
flavor:
type: String
default: edge
env_var: FLAVOR
sentryDSN:
type: String
default: ""
env_var: SENTRY_DSN

View File

@@ -3,34 +3,34 @@ GEM
specs:
CFPropertyList (3.0.5)
rexml
activesupport (6.1.6)
activesupport (6.1.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.587.0)
aws-sdk-core (3.130.2)
aws-partitions (1.655.0)
aws-sdk-core (3.166.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.59.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-s3 (1.117.1)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.0)
aws-sigv4 (1.5.2)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
@@ -81,13 +81,13 @@ GEM
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
dotenv (2.8.1)
emoji_regex (3.2.3)
escape (0.0.4)
ethon (0.15.0)
ffi (>= 1.15.0)
excon (0.92.3)
faraday (1.10.0)
excon (0.93.1)
faraday (1.10.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -106,8 +106,8 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
@@ -116,7 +116,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.205.2)
fastlane (2.210.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -159,9 +159,9 @@ GEM
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.20.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
google-apis-androidpublisher_v3 (0.30.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-core (0.9.1)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -170,27 +170,27 @@ GEM
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.13.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-iamcredentials_v1 (0.16.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-playcustomapp_v1 (0.12.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.36.2)
google-cloud-errors (1.3.0)
google-cloud-storage (1.44.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.1.3)
googleauth (1.3.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
@@ -198,18 +198,18 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.4)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.10.0)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
jmespath (1.6.1)
json (2.6.1)
jwt (2.3.0)
json (2.6.2)
jwt (2.5.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.2)
minitest (5.15.0)
minitest (5.16.3)
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.0.0)
@@ -222,7 +222,7 @@ GEM
plist (3.6.0)
public_suffix (4.0.7)
rake (13.0.6)
representable (3.1.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
@@ -233,9 +233,9 @@ GEM
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.16.1)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
@@ -251,16 +251,16 @@ GEM
tty-cursor (~> 0.7)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.4)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.1)
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.21.0)
xcodeproj (1.22.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -271,14 +271,14 @@ GEM
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
zeitwerk (2.5.4)
zeitwerk (2.6.4)
PLATFORMS
x86_64-darwin-21
ruby
DEPENDENCIES
cocoapods
fastlane
BUNDLED WITH
2.3.10
2.3.25

View File

@@ -1,5 +1,5 @@
platform :ios, '11.0'
$FirebaseSDKVersion = '8.15.0'
$FirebaseSDKVersion = '10.0.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -37,19 +37,26 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target_is_resource_bundle = target.respond_to?(:product_type) && target.product_type == 'com.apple.product-type.bundle'
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_SPEECH_RECOGNIZER=0',
'PERMISSION_SENSORS=0',
'PERMISSION_MEDIA_LIBRARY=0',
'PERMISSION_EVENTS=0',
'PERMISSION_CONTACTS=0',
'PERMISSION_REMINDERS=0',
'PERMISSION_MICROPHONE=0'
]
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_SPEECH_RECOGNIZER=0',
'PERMISSION_SENSORS=0',
'PERMISSION_MEDIA_LIBRARY=0',
'PERMISSION_EVENTS=0',
'PERMISSION_CONTACTS=0',
'PERMISSION_REMINDERS=0',
'PERMISSION_MICROPHONE=0'
]
if target_is_resource_bundle
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO'
config.build_settings['CODE_SIGNING_IDENTITY'] = '-'
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = '-'
end
end
end
end

View File

@@ -1,16 +1,17 @@
PODS:
- cloud_firestore (3.1.16):
- Firebase/Firestore (= 8.15.0)
- cloud_firestore (4.0.4):
- Firebase/Firestore (= 10.0.0)
- firebase_core
- Flutter
- DKImagePickerController/Core (4.3.3):
- nanopb (< 2.30910.0, >= 2.30908.0)
- DKImagePickerController/Core (4.3.4):
- DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource
- DKImagePickerController/ImageDataManager (4.3.3)
- DKImagePickerController/PhotoGallery (4.3.3):
- DKImagePickerController/ImageDataManager (4.3.4)
- DKImagePickerController/PhotoGallery (4.3.4):
- DKImagePickerController/Core
- DKPhotoGallery
- DKImagePickerController/Resource (4.3.3)
- DKImagePickerController/Resource (4.3.4)
- DKPhotoGallery (0.0.17):
- DKPhotoGallery/Core (= 0.0.17)
- DKPhotoGallery/Model (= 0.0.17)
@@ -37,119 +38,130 @@ PODS:
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Firebase/Auth (8.15.0):
- Firebase/Auth (10.0.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 8.15.0)
- Firebase/CoreOnly (8.15.0):
- FirebaseCore (= 8.15.0)
- Firebase/Firestore (8.15.0):
- FirebaseAuth (~> 10.0.0)
- Firebase/CoreOnly (10.0.0):
- FirebaseCore (= 10.0.0)
- Firebase/Firestore (10.0.0):
- Firebase/CoreOnly
- FirebaseFirestore (~> 8.15.0)
- Firebase/Messaging (8.15.0):
- FirebaseFirestore (~> 10.0.0)
- Firebase/Messaging (10.0.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 8.15.0)
- Firebase/Storage (8.15.0):
- FirebaseMessaging (~> 10.0.0)
- Firebase/Storage (10.0.0):
- Firebase/CoreOnly
- FirebaseStorage (~> 8.15.0)
- firebase_auth (3.3.18):
- Firebase/Auth (= 8.15.0)
- FirebaseStorage (~> 10.0.0)
- firebase_auth (4.1.1):
- Firebase/Auth (= 10.0.0)
- firebase_core
- Flutter
- firebase_core (1.17.0):
- Firebase/CoreOnly (= 8.15.0)
- firebase_core (2.1.1):
- Firebase/CoreOnly (= 10.0.0)
- Flutter
- firebase_messaging (11.4.0):
- Firebase/Messaging (= 8.15.0)
- firebase_messaging (14.0.4):
- Firebase/Messaging (= 10.0.0)
- firebase_core
- Flutter
- firebase_storage (10.2.16):
- Firebase/Storage (= 8.15.0)
- firebase_storage (11.0.4):
- Firebase/Storage (= 10.0.0)
- firebase_core
- Flutter
- FirebaseAuth (8.15.0):
- FirebaseCore (~> 8.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/Environment (~> 7.7)
- GTMSessionFetcher/Core (~> 1.5)
- FirebaseCore (8.15.0):
- FirebaseCoreDiagnostics (~> 8.0)
- GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Logger (~> 7.7)
- FirebaseCoreDiagnostics (8.15.0):
- GoogleDataTransport (~> 9.1)
- GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Logger (~> 7.7)
- nanopb (~> 2.30908.0)
- FirebaseFirestore (8.15.0):
- FirebaseFirestore/AutodetectLeveldb (= 8.15.0)
- FirebaseFirestore/AutodetectLeveldb (8.15.0):
- FirebaseAppCheckInterop (10.1.0)
- FirebaseAuth (10.0.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GTMSessionFetcher/Core (~> 2.1)
- FirebaseAuthInterop (10.1.0)
- FirebaseCore (10.0.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/Logger (~> 7.8)
- FirebaseCoreExtension (10.1.0):
- FirebaseCore (~> 10.0)
- FirebaseCoreInternal (10.1.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- FirebaseFirestore (10.0.0):
- FirebaseFirestore/AutodetectLeveldb (= 10.0.0)
- FirebaseFirestore/AutodetectLeveldb (10.0.0):
- FirebaseFirestore/Base
- FirebaseFirestore/WithLeveldb
- FirebaseFirestore/Base (8.15.0)
- FirebaseFirestore/WithLeveldb (8.15.0):
- FirebaseFirestore/Base (10.0.0)
- FirebaseFirestore/WithLeveldb (10.0.0):
- FirebaseFirestore/Base
- FirebaseInstallations (8.15.0):
- FirebaseCore (~> 8.0)
- GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/UserDefaults (~> 7.7)
- PromisesObjC (< 3.0, >= 1.2)
- FirebaseMessaging (8.15.0):
- FirebaseCore (~> 8.0)
- FirebaseInstallations (~> 8.0)
- GoogleDataTransport (~> 9.1)
- GoogleUtilities/AppDelegateSwizzler (~> 7.7)
- GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Reachability (~> 7.7)
- GoogleUtilities/UserDefaults (~> 7.7)
- nanopb (~> 2.30908.0)
- FirebaseStorage (8.15.0):
- FirebaseCore (~> 8.0)
- GTMSessionFetcher/Core (~> 1.5)
- FirebaseInstallations (10.1.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- PromisesObjC (~> 2.1)
- FirebaseMessaging (10.0.0):
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleDataTransport (~> 9.2)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/Reachability (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseStorage (10.0.0):
- FirebaseAppCheckInterop (~> 10.0)
- FirebaseAuthInterop (~> 10.0)
- FirebaseCore (~> 10.0)
- FirebaseCoreExtension (~> 10.0)
- GTMSessionFetcher/Core (~> 2.1)
- Flutter (1.0.0)
- flutter_native_splash (0.0.1):
- Flutter
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- GoogleDataTransport (9.1.4):
- GoogleDataTransport (9.2.0):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/AppDelegateSwizzler (7.7.0):
- GoogleUtilities/AppDelegateSwizzler (7.8.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (7.7.0):
- GoogleUtilities/Environment (7.8.0):
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.7.0):
- GoogleUtilities/Logger (7.8.0):
- GoogleUtilities/Environment
- GoogleUtilities/Network (7.7.0):
- GoogleUtilities/Network (7.8.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.7.0)"
- GoogleUtilities/Reachability (7.7.0):
- "GoogleUtilities/NSData+zlib (7.8.0)"
- GoogleUtilities/Reachability (7.8.0):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (7.7.0):
- GoogleUtilities/UserDefaults (7.8.0):
- GoogleUtilities/Logger
- GTMSessionFetcher/Core (1.7.2)
- GTMSessionFetcher/Core (2.2.0)
- in_app_purchase_storekit (0.0.1):
- Flutter
- nanopb (2.30908.0):
- nanopb/decode (= 2.30908.0)
- nanopb/encode (= 2.30908.0)
- nanopb/decode (2.30908.0)
- nanopb/encode (2.30908.0)
- nanopb (2.30909.0):
- nanopb/decode (= 2.30909.0)
- nanopb/encode (= 2.30909.0)
- nanopb/decode (2.30909.0)
- nanopb/encode (2.30909.0)
- package_info_plus (0.4.5):
- Flutter
- path_provider_ios (0.0.1):
- Flutter
- PromisesObjC (2.1.0)
- PromisesObjC (2.1.1)
- quick_actions_ios (0.0.1):
- Flutter
- SDWebImage (5.12.5):
- SDWebImage/Core (= 5.12.5)
- SDWebImage/Core (5.12.5)
- SDWebImage (5.13.5):
- SDWebImage/Core (= 5.13.5)
- SDWebImage/Core (5.13.5)
- Sentry (7.30.0):
- Sentry/Core (= 7.30.0)
- Sentry/Core (7.30.0)
- sentry_flutter (0.0.1):
- Flutter
- FlutterMacOS
- Sentry (~> 7.30.0)
- share_plus (0.0.1):
- Flutter
- shared_preferences_ios (0.0.1):
@@ -169,13 +181,14 @@ DEPENDENCIES:
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `8.15.0`)
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.0.0`)
- Flutter (from `Flutter`)
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
- in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
- sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
@@ -186,9 +199,12 @@ SPEC REPOS:
- DKImagePickerController
- DKPhotoGallery
- Firebase
- FirebaseAppCheckInterop
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreExtension
- FirebaseCoreInternal
- FirebaseInstallations
- FirebaseMessaging
- FirebaseStorage
@@ -199,6 +215,7 @@ SPEC REPOS:
- nanopb
- PromisesObjC
- SDWebImage
- Sentry
- SwiftyGif
EXTERNAL SOURCES:
@@ -216,7 +233,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/firebase_storage/ios"
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 8.15.0
:tag: 10.0.0
Flutter:
:path: Flutter
flutter_native_splash:
@@ -229,6 +246,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/path_provider_ios/ios"
quick_actions_ios:
:path: ".symlinks/plugins/quick_actions_ios/ios"
sentry_flutter:
:path: ".symlinks/plugins/sentry_flutter/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_ios:
@@ -241,44 +260,49 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS:
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 8.15.0
:tag: 10.0.0
SPEC CHECKSUMS:
cloud_firestore: c85ca781dc18eed0b05c90973b4b030e6802acc4
DKImagePickerController: 72fd378f244cef3d27288e0aebf217a4467e4012
cloud_firestore: 62c5fa0e5ce5373be25d6233e8edbbe991fa973d
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: 3e6c3790de664ccf9b882732d9db5eaf6b8d4eb1
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
firebase_auth: ace975b530600827bd901a9a18584f7cdaf6d160
firebase_core: aa1b92020533f5c23955e388c347c58fd64f8627
firebase_messaging: 8957bf304b47daf8bf12d0b111fdecc5b33e77a3
firebase_storage: 9708f24db0c21dadf7e5494f27406326c0d4ab53
FirebaseAuth: 3e73bf8abf4fbb40f8b421f361f4cc48ee57388c
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
FirebaseFirestore: 3a0a7e1e72e4359b92d4c38de06d84e4c4900c0a
FirebaseInstallations: 40bd9054049b2eae9a2c38ef1c3dd213df3605cd
FirebaseMessaging: 5e5118a2383b3531e730d974680954c679ca0a13
FirebaseStorage: 8019af461599b2c3bc61c6a5dbdfa3d2de66a4d9
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
Firebase: 1b810f3d0c0532e27a48f1961f8c0400a668a2cf
firebase_auth: dd33e93fce72a1c72040f7380dacf06e89db5705
firebase_core: 5c0bb0ca7d0e70480a68a6e9ad9bf55d1edd5305
firebase_messaging: bf848602391fa6ee68d86e337f81be14be120aaf
firebase_storage: 5cf5e677fd9793e26ec5d006100c25e28cd21c05
FirebaseAppCheckInterop: 53eec3c354a95f8fe6ff947dd9518ea17f624914
FirebaseAuth: 493382cf533cc45e2862b00e9aa4cfe4c98daf71
FirebaseAuthInterop: 15b2c717321d5e46a60562e388c4d1b039ea7e28
FirebaseCore: 97f48a3a567a72b8d4daa0f03c3aadb78df4e995
FirebaseCoreExtension: 69b966c399abc4ca6dc75006ab87160f81512725
FirebaseCoreInternal: 96d75228e10fd369564da51bd898414eb0f54df5
FirebaseFirestore: d1b97d497a6e6c31bb38dff714af8e606395b959
FirebaseInstallations: 99d24bac0243cf8b0e96cf5426340d211f0bcc80
FirebaseMessaging: 8916bf5edb1dbfac74665a181e4d1ab3a78a08a2
FirebaseStorage: 8b0b0630e11b9f3e4a479a26cfccb70ec790ec50
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
GoogleDataTransport: 5fffe35792f8b96ec8d6775f5eccd83c998d5a3b
GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1
GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba
GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f
GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7
GTMSessionFetcher: d62ffccea5108bb9e7762ee121ae63bbdd2c6303
in_app_purchase_storekit: d7fcf4646136ec258e237872755da8ea6c1b6096
nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
PromisesObjC: 99b6f43f9e1044bd87a95a60beff28c2c44ddb72
quick_actions_ios: 622e9076602c57f1f937f1c13e5c59c3379347e9
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e
PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
quick_actions_ios: 56c03753992beabaa6c598e470e12d430d6e5e2f
SDWebImage: 23d714cd599354ee7906dbae26dff89b421c4370
Sentry: dcd74a503a6d4594ef5d6ab28cf30895a2c19a40
sentry_flutter: d6f51618010b194d871b063903b1bb8170d396fb
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
PODFILE CHECKSUM: 7a22f48d9087be0dcce286c190633d1278ba71d3
PODFILE CHECKSUM: 0f2923ed3bf0e590c5af6cab3b1cde48e6ae0eec
COCOAPODS: 1.11.3

View File

@@ -8,10 +8,10 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
371E6475B0A3BE94B2BDF716 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 44EF78720B687FDBE9001C4D /* Pods_Runner.framework */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
424B7ABEB5E8977E2C9348C9 /* Pods_ImageNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBE50693502CA51C5722409A /* Pods_ImageNotification.framework */; };
5A2FBF43F4CBC30F9BB6CD42 /* Pods_ImageNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
7CC186B9F7C97544AB5A3652 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E77E818ADBC103F6D1C4AFB /* Pods_Runner.framework */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@@ -57,15 +57,14 @@
/* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
1BCD1F1FE3F6ADC35307EFFA /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
1DC3657D308C3947A9F2F611 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
2ED7BA47F325235F982A481E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4138476BBE83653B0BA39DBD /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = "<group>"; };
5E77E818ADBC103F6D1C4AFB /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
44EF78720B687FDBE9001C4D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
702080D64FE7B3882B9842A3 /* Pods-ImageNotification.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.profile.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.profile.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
790CC1D00BE20DFE7C2083D2 /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ImageNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -81,9 +80,10 @@
9C7092B125E77E470056AE0B /* NotificationService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationService.h; sourceTree = "<group>"; };
9C7092B225E77E470056AE0B /* NotificationService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationService.m; sourceTree = "<group>"; };
9C7092B425E77E470056AE0B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B81386416199320075C0A6F7 /* Pods-ImageNotification.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.profile.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.profile.xcconfig"; sourceTree = "<group>"; };
DBE50693502CA51C5722409A /* Pods_ImageNotification.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ImageNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F661F08997AF1C71DD925940 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
ACC178F98C7426A348E138DD /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = "<group>"; };
AD9EB60D5E1FDD26501B69CA /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
D010600D97E23D1BE9FBA1CC /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = "<group>"; };
DB821AD0857E62B21015D760 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -92,7 +92,7 @@
buildActionMask = 2147483647;
files = (
9C2991242453FE3100B93AB2 /* StoreKit.framework in Frameworks */,
7CC186B9F7C97544AB5A3652 /* Pods_Runner.framework in Frameworks */,
371E6475B0A3BE94B2BDF716 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -100,7 +100,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
424B7ABEB5E8977E2C9348C9 /* Pods_ImageNotification.framework in Frameworks */,
5A2FBF43F4CBC30F9BB6CD42 /* Pods_ImageNotification.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -179,8 +179,8 @@
isa = PBXGroup;
children = (
9C2991232453FE3100B93AB2 /* StoreKit.framework */,
DBE50693502CA51C5722409A /* Pods_ImageNotification.framework */,
5E77E818ADBC103F6D1C4AFB /* Pods_Runner.framework */,
7DFFCA57A5DC71BDB2499BC1 /* Pods_ImageNotification.framework */,
44EF78720B687FDBE9001C4D /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -188,12 +188,12 @@
F5D05D221249C73674C5DB0D /* Pods */ = {
isa = PBXGroup;
children = (
4138476BBE83653B0BA39DBD /* Pods-ImageNotification.debug.xcconfig */,
790CC1D00BE20DFE7C2083D2 /* Pods-ImageNotification.release.xcconfig */,
B81386416199320075C0A6F7 /* Pods-ImageNotification.profile.xcconfig */,
1BCD1F1FE3F6ADC35307EFFA /* Pods-Runner.debug.xcconfig */,
1DC3657D308C3947A9F2F611 /* Pods-Runner.release.xcconfig */,
F661F08997AF1C71DD925940 /* Pods-Runner.profile.xcconfig */,
ACC178F98C7426A348E138DD /* Pods-ImageNotification.debug.xcconfig */,
D010600D97E23D1BE9FBA1CC /* Pods-ImageNotification.release.xcconfig */,
702080D64FE7B3882B9842A3 /* Pods-ImageNotification.profile.xcconfig */,
2ED7BA47F325235F982A481E /* Pods-Runner.debug.xcconfig */,
DB821AD0857E62B21015D760 /* Pods-Runner.release.xcconfig */,
AD9EB60D5E1FDD26501B69CA /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@@ -205,7 +205,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
7C0016EE04018FCDF93CC641 /* [CP] Check Pods Manifest.lock */,
1AF231CBAF75F471E97C5E3F /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
@@ -213,8 +213,8 @@
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
9C7092B825E77E470056AE0B /* Embed App Extensions */,
913957052D339C057C94DD82 /* [CP] Embed Pods Frameworks */,
4E567F66AD2DF12CB40B820B /* [CP] Copy Pods Resources */,
4C0D8B6E700C55D46B0878AF /* [CP] Embed Pods Frameworks */,
7B696945E0B5C5F36D81D6B3 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -230,7 +230,7 @@
isa = PBXNativeTarget;
buildConfigurationList = 9C7092BC25E77E470056AE0B /* Build configuration list for PBXNativeTarget "ImageNotification" */;
buildPhases = (
D66928A8628A516248435A06 /* [CP] Check Pods Manifest.lock */,
1B47C8D8F52BAFB243086F88 /* [CP] Check Pods Manifest.lock */,
9C7092AB25E77E470056AE0B /* Sources */,
9C7092AC25E77E470056AE0B /* Frameworks */,
9C7092AD25E77E470056AE0B /* Resources */,
@@ -308,39 +308,7 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
4E567F66AD2DF12CB40B820B /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
"${PODS_ROOT}/FirebaseFirestore/FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
7C0016EE04018FCDF93CC641 /* [CP] Check Pods Manifest.lock */ = {
1AF231CBAF75F471E97C5E3F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -362,89 +330,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
913957052D339C057C94DD82 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/DKImagePickerController/DKImagePickerController.framework",
"${BUILT_PRODUCTS_DIR}/DKPhotoGallery/DKPhotoGallery.framework",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAuth/FirebaseAuth.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseStorage/FirebaseStorage.framework",
"${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework",
"${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework",
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
"${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework",
"${BUILT_PRODUCTS_DIR}/in_app_purchase_storekit/in_app_purchase_storekit.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
"${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
"${BUILT_PRODUCTS_DIR}/quick_actions_ios/quick_actions_ios.framework",
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences_ios/shared_preferences_ios.framework",
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKImagePickerController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKPhotoGallery.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuth.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreDiagnostics.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseStorage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/in_app_purchase_storekit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/quick_actions_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
D66928A8628A516248435A06 /* [CP] Check Pods Manifest.lock */ = {
1B47C8D8F52BAFB243086F88 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -466,6 +352,130 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
4C0D8B6E700C55D46B0878AF /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/DKImagePickerController/DKImagePickerController.framework",
"${BUILT_PRODUCTS_DIR}/DKPhotoGallery/DKPhotoGallery.framework",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAppCheckInterop/FirebaseAppCheckInterop.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAuth/FirebaseAuth.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAuthInterop/FirebaseAuthInterop.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseStorage/FirebaseStorage.framework",
"${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework",
"${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/Sentry/Sentry.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework",
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
"${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework",
"${BUILT_PRODUCTS_DIR}/in_app_purchase_storekit/in_app_purchase_storekit.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
"${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
"${BUILT_PRODUCTS_DIR}/quick_actions_ios/quick_actions_ios.framework",
"${BUILT_PRODUCTS_DIR}/sentry_flutter/sentry_flutter.framework",
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences_ios/shared_preferences_ios.framework",
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKImagePickerController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKPhotoGallery.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAppCheckInterop.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuth.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuthInterop.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseStorage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sentry.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/in_app_purchase_storekit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/quick_actions_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sentry_flutter.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
7B696945E0B5C5F36D81D6B3 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
"${PODS_ROOT}/FirebaseFirestore/FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */

View File

@@ -81,7 +81,7 @@ platform :ios do
connect_appstore_connect
upload_to_testflight(
changelog: "Thank you for testing pre-release builds of LunaSea! Please consider joining the Discord to give feedback to the developer.\n\nChanges can be found on GitHub or by going to settings/system and tapping on the version tile!",
changelog: File.read("./changelog.txt"),
distribute_external: true,
groups: options[:groups],
ipa: options[:ipa],

27
lib/api/lidarr/api.dart Normal file
View File

@@ -0,0 +1,27 @@
import 'package:lunasea/vendor.dart';
part 'api.g.dart';
String _baseUrl(String host) {
String base = host.endsWith('/') ? host.substring(0, host.length - 1) : host;
return '$base/api/v3/';
}
@RestApi()
abstract class LidarrAPI {
factory LidarrAPI({
required String host,
required String apiKey,
Map<String, dynamic> headers = const {},
}) {
Dio dio = Dio(BaseOptions(
headers: headers,
followRedirects: true,
maxRedirects: 5,
queryParameters: {
if (apiKey.isNotEmpty) 'apikey': apiKey,
},
));
return _LidarrAPI(dio, baseUrl: _baseUrl(host));
}
}

69
lib/api/nzbget/api.dart Normal file
View File

@@ -0,0 +1,69 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:lunasea/api/nzbget/models/status.dart';
import 'package:lunasea/api/nzbget/models/version.dart';
import 'package:retrofit/retrofit.dart';
part 'api.g.dart';
String _baseUrl(String host, String user, String password) {
String base = host.endsWith('/') ? host.substring(0, host.length - 1) : host;
if (user.isNotEmpty && password.isNotEmpty) {
return '$base/$user:$password/jsonrpc/';
}
return '$base/jsonrpc/';
}
void _attachInterceptor(Dio dio) {
dio.interceptors.add(InterceptorsWrapper(
onRequest: (options, handler) {
options.data = json.encode({
'jsonrpc': '2.0',
'method': options.queryParameters['method'],
'params': options.queryParameters['params'] ?? [],
'id': 1,
});
options.queryParameters = const {};
return handler.next(options);
},
));
}
void _setResponseTransformer(Dio dio) {
(dio.transformer as DefaultTransformer).jsonDecodeCallback = (data) {
final parsed = json.decode(data);
final result = parsed['result'];
if (result is Map) return result;
return {'result': result};
};
}
@RestApi()
abstract class NZBGetAPI {
factory NZBGetAPI({
required String host,
required String username,
required String password,
Map<String, dynamic> headers = const {},
}) {
Dio dio = Dio(BaseOptions(
headers: headers,
followRedirects: true,
maxRedirects: 5,
));
_attachInterceptor(dio);
_setResponseTransformer(dio);
return _NZBGetAPI(dio, baseUrl: _baseUrl(host, username, password));
}
@POST('')
Future<NZBGetVersion> getVersion({
@Query('method') String method = 'version',
});
@POST('')
Future<NZBGetStatus> getStatus({
@Query('method') String method = 'status',
});
}

View File

@@ -0,0 +1,37 @@
import 'dart:convert';
import 'package:json_annotation/json_annotation.dart';
part 'status.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class NZBGetStatus {
@JsonKey(name: 'DownloadPaused')
bool paused;
@JsonKey(name: 'DownloadRate')
int speed;
@JsonKey(name: 'DownloadLimit')
int speedLimit;
@JsonKey(name: 'RemainingSizeMB')
int remainingSize;
NZBGetStatus({
required this.paused,
required this.speed,
required this.speedLimit,
required this.remainingSize,
});
@override
String toString() => json.encode(this.toJson());
factory NZBGetStatus.fromJson(Map<String, dynamic> json) {
return _$NZBGetStatusFromJson(json);
}
Map<String, dynamic> toJson() {
return _$NZBGetStatusToJson(this);
}
}

View File

@@ -0,0 +1,25 @@
import 'dart:convert';
import 'package:json_annotation/json_annotation.dart';
part 'version.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class NZBGetVersion {
@JsonKey(name: 'result')
String version;
NZBGetVersion({
required this.version,
});
@override
String toString() => json.encode(this.toJson());
factory NZBGetVersion.fromJson(Map<String, dynamic> json) {
return _$NZBGetVersionFromJson(json);
}
Map<String, dynamic> toJson() {
return _$NZBGetVersionToJson(this);
}
}

View File

@@ -1,12 +1,21 @@
import 'package:dio/dio.dart';
import 'package:retrofit/retrofit.dart';
import 'package:lunasea/modules/overseerr/api/models.dart';
import 'package:lunasea/api/overseerr/models/content/movie.dart';
import 'package:lunasea/api/overseerr/models/content/series.dart';
import 'package:lunasea/api/overseerr/models/issues/issue.dart';
import 'package:lunasea/api/overseerr/models/issues/issue_page.dart';
import 'package:lunasea/api/overseerr/models/requests/request.dart';
import 'package:lunasea/api/overseerr/models/requests/request_count.dart';
import 'package:lunasea/api/overseerr/models/requests/request_page.dart';
import 'package:lunasea/api/overseerr/models/status/status.dart';
import 'package:lunasea/api/overseerr/models/status/status_appdata.dart';
import 'package:lunasea/api/overseerr/models/users/user_page.dart';
import 'package:lunasea/api/overseerr/models/users/user_quota.dart';
import 'package:lunasea/vendor.dart';
part 'overseerr.g.dart';
part 'api.g.dart';
@RestApi()
abstract class Overseerr {
factory Overseerr({
abstract class OverseerrAPI {
factory OverseerrAPI({
required String host,
required String apiKey,
Map<String, dynamic> headers = const {},
@@ -22,7 +31,7 @@ abstract class Overseerr {
maxRedirects: 5,
),
);
return _Overseerr(_dio, baseUrl: _baseUrl);
return _OverseerrAPI(_dio, baseUrl: _baseUrl);
}
@GET('issue')
@@ -34,13 +43,13 @@ abstract class Overseerr {
});
@GET('issue/{id}')
Future<OverseerrIssue> getIssue({
@Path('id') required int id,
});
Future<OverseerrIssue> getIssue(
@Path('id') int id,
);
@GET('movie/{id}')
Future<OverseerrMovie> getMovie({
@Path('id') required int id,
Future<OverseerrMovie> getMovie(
@Path('id') int id, {
@Query('language') String? language,
});
@@ -54,9 +63,9 @@ abstract class Overseerr {
});
@GET('request/{id}')
Future<OverseerrRequest> getRequest({
@Path('id') required String id,
});
Future<OverseerrRequest> getRequest(
@Path('id') String id,
);
@GET('request/count')
Future<OverseerrRequestCount> getRequestCount();
@@ -68,8 +77,8 @@ abstract class Overseerr {
Future<OverseerrStatusAppData> getStatusAppData();
@GET('tv/{id}')
Future<OverseerrSeries> getSeries({
@Path('id') required int id,
Future<OverseerrSeries> getSeries(
@Path('id') int id, {
@Query('language') String? language,
});
@@ -81,12 +90,12 @@ abstract class Overseerr {
});
@GET('user/{id}')
Future<OverseerrUserPage> getUser({
@Path('id') required String id,
});
Future<OverseerrUserPage> getUser(
@Path('id') String id,
);
@GET('user/{id}/quota')
Future<OverseerrUserQuota> getUserQuota({
@Path('id') required String id,
});
Future<OverseerrUserQuota> getUserQuota(
@Path('id') String id,
);
}

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