Compare commits
366 Commits
Author | SHA1 | Date |
---|---|---|
|
e19526dbf6 | |
|
f6192881d3 | |
|
309c6aa890 | |
|
9f6ac90074 | |
|
8d4418bf2b | |
|
3d85e74957 | |
|
fda17ee8fe | |
|
5696809c1d | |
|
e03147c6da | |
|
7c695f5f82 | |
|
1c6f7858ca | |
|
1ef0389997 | |
|
1c54d44a22 | |
|
724b43ca4d | |
|
ed3d978b03 | |
|
af53071b08 | |
|
bd8e2a50d9 | |
|
e5c918af51 | |
|
4077c5bc55 | |
|
2b43f32772 | |
|
1e0eafef9b | |
|
45b35d0718 | |
|
a9286ab150 | |
|
fcb1974e78 | |
|
2456e8f782 | |
|
ce4913452b | |
|
e605dd8417 | |
|
8434f9ee00 | |
|
61bb7d962d | |
|
35aec32070 | |
|
274bcc8be7 | |
|
ce70df5137 | |
|
d9dca3ef23 | |
|
e3635c3f01 | |
|
2cdabbcb70 | |
|
d5ad9b181b | |
|
540fb3e2dc | |
|
edbe65593b | |
|
d5f394dfea | |
|
d5a5fdf52e | |
|
a7f9256947 | |
|
d769729901 | |
|
b2026c8784 | |
|
b29de141ef | |
|
6d4772da75 | |
|
2344fe0942 | |
|
7c309b68b8 | |
|
c8c5e56a17 | |
|
cef227ba42 | |
|
02296b038a | |
|
b76a4cfcf5 | |
|
f168f101bc | |
|
2e8a86fe20 | |
|
fe0d2fe726 | |
|
9b322cc922 | |
|
346656e53d | |
|
6e6187175a | |
|
5e832fa046 | |
|
34007d4507 | |
|
fd400f025e | |
|
f3f474ee13 | |
|
d971032d52 | |
|
961c77103e | |
|
b22b21c47a | |
|
6d70bd758a | |
|
087ac92f15 | |
|
99fe789f30 | |
|
10892f92f1 | |
|
0a919c85ab | |
|
761abc013f | |
|
327f6f0e8d | |
|
d6f1a360d2 | |
|
24ec69d7f7 | |
|
c80692bd34 | |
|
b5e9f70be6 | |
|
d446081331 | |
|
8178cff72c | |
|
950d99b5de | |
|
b7855cb1a2 | |
|
b298fbfa3e | |
|
d83929f80a | |
|
b932ed2c13 | |
|
36073d340d | |
|
0e14540b69 | |
|
57327a8ad0 | |
|
bbfa278d6b | |
|
439decf6a9 | |
|
2277cc5f05 | |
|
4204ffccee | |
|
31407e709d | |
|
44d26bb1cf | |
|
8a8a433023 | |
|
5c27292543 | |
|
e475348d39 | |
|
9f8358e471 | |
|
4fd8d42d85 | |
|
498990c48a | |
|
1cddf26c9a | |
|
325a239b86 | |
|
2c4ef9c3ce | |
|
4dbd191c4f | |
|
01e489da10 | |
|
53a7062c6d | |
|
3425e1e593 | |
|
9970635ff8 | |
|
c1f174a5b8 | |
|
3587e7c524 | |
|
3911ad15a6 | |
|
d40b35da59 | |
|
ccb6e184cc | |
|
74e45b1820 | |
|
0a1336f0e0 | |
|
d5a0dcb980 | |
|
83e7c41ca0 | |
|
1d1b0c11a9 | |
|
3b2c4e2ac6 | |
|
2d77fe580f | |
|
7ae20f43f8 | |
|
f03c1b206b | |
|
d99a58f2cf | |
|
5aeaf7f34b | |
|
af0b484d16 | |
|
0a6791b752 | |
|
e73e306d05 | |
|
52189abbff | |
|
d721f12d74 | |
|
69f28bb647 | |
|
2b2295d831 | |
|
179586b8c4 | |
|
1afad9e06a | |
|
59c73fd864 | |
|
6820344750 | |
|
680504791c | |
|
41e500a8f8 | |
|
448af1ef9a | |
|
041e8c0bd6 | |
|
0b7300e93a | |
|
94c5f5a705 | |
|
fa2f8a7b05 | |
|
aeb288142e | |
|
635c43f458 | |
|
d36138431b | |
|
9cdf857730 | |
|
52a6152af6 | |
|
9d3312c081 | |
|
1146236f46 | |
|
ec19ee1e55 | |
|
cc37e40158 | |
|
bdd12de34d | |
|
e64692d0d3 | |
|
7da8c0f664 | |
|
fc41c077dc | |
|
50800da4b9 | |
|
a9219e8a91 | |
|
5eedadef47 | |
|
14cde8e625 | |
|
1f2ecd591d | |
|
9a2eb6cd49 | |
|
aa38514bcb | |
|
f2fddfb16c | |
|
05300682c1 | |
|
a3714a4ecf | |
|
500584b9ef | |
|
33ac822957 | |
|
1f6107e238 | |
|
2b7639599c | |
|
dedf7b0163 | |
|
88b5a83fb1 | |
|
efd6b0088f | |
|
ccb5cd20b1 | |
|
668e41bc9b | |
|
46123fa7d6 | |
|
b079965de8 | |
|
842ab914a4 | |
|
fcb93b7dc6 | |
|
f1420fe29e | |
|
23f8674adc | |
|
76a4aa5ae6 | |
|
85ffb4064b | |
|
73c9e639b6 | |
|
5172695784 | |
|
fcc10f97b5 | |
|
0a12020fd8 | |
|
e9c10b17e0 | |
|
f4698f1312 | |
|
1690507a18 | |
|
fbeb87e29e | |
|
de14e95e90 | |
|
35c5713b0a | |
|
413792087e | |
|
21c53d2b4d | |
|
5757a8b1d8 | |
|
680bdf7bd2 | |
|
6911fbd124 | |
|
9fdffc9709 | |
|
0b722a5ecc | |
|
6ae42ffefe | |
|
3a8c82ce63 | |
|
04c2b277ce | |
|
962462ff84 | |
|
964b0f2690 | |
|
4b25b61680 | |
|
61c3735e57 | |
|
b0e29c0ba4 | |
|
e7f55aace9 | |
|
2955206b07 | |
|
b59d97279d | |
|
7d9e299940 | |
|
e15252a0f8 | |
|
e0907f1dc8 | |
|
1107391c43 | |
|
2500035c33 | |
|
24ad4dbc0f | |
|
550394a5e4 | |
|
720c13fa2d | |
|
a02b8b79c1 | |
|
c2f99e130d | |
|
250aa03e9a | |
|
dd7d253a1b | |
|
f2b46fffe0 | |
|
60630cc4ea | |
|
85164c18e9 | |
|
3634e5e232 | |
|
f7d44cb547 | |
|
85b89507db | |
|
7415b752cc | |
|
0a52060223 | |
|
1024b1e6f9 | |
|
23fc061711 | |
|
bfa3ede06b | |
|
c7f6cdc8c6 | |
|
58f280d347 | |
|
0715824ae1 | |
|
5540c8cacc | |
|
14efbdd08f | |
|
7ceb04d548 | |
|
e9608f63db | |
|
64e1c7ca81 | |
|
7823b30900 | |
|
1e45e4454c | |
|
1dd3a193c5 | |
|
30416837a9 | |
|
363132d331 | |
|
ebc0d744ed | |
|
d685031ee8 | |
|
3ea012f62e | |
|
9a06f5660b | |
|
dff76aada1 | |
|
50a9f8a1b0 | |
|
8ff3b81112 | |
|
38f73a5d60 | |
|
15f6835a0c | |
|
84e3264726 | |
|
dbd068d95f | |
|
acba219e44 | |
|
c8e7c23855 | |
|
f0ff8a6feb | |
|
91a1380fef | |
|
3351ef7d91 | |
|
564cda58a5 | |
|
3233fe673d | |
|
8cc8b284ce | |
|
3ecdedc17c | |
|
8f361c605a | |
|
9d599e8b57 | |
|
9c676d8002 | |
|
d3ffc32d9b | |
|
8c95554d8e | |
|
3ed5248c2a | |
|
32990932ad | |
|
6d0a47903c | |
|
05eaa196b4 | |
|
2cd076bfb8 | |
|
02cd267cae | |
|
21394cb585 | |
|
73cd48b94a | |
|
ea2cf58e5f | |
|
2f3e29b037 | |
|
33d597c2c0 | |
|
66afb3f4ee | |
|
dad94d753d | |
|
1727bebf58 | |
|
37576c69ce | |
|
b8f83a7227 | |
|
3a14abaf2e | |
|
0e03a55aef | |
|
931fb30330 | |
|
b893dc9c4f | |
|
f6ddd99449 | |
|
ddcbbfe670 | |
|
0f7438fa54 | |
|
fbbab1db68 | |
|
15725dceb0 | |
|
1bcbcec8b8 | |
|
c3e475be6f | |
|
150a81adc6 | |
|
a984607ee8 | |
|
2bf929986e | |
|
860edec2e6 | |
|
90cfcbb7ae | |
|
c63048730f | |
|
55bbafdbb5 | |
|
0923a07e42 | |
|
431c21e066 | |
|
17c84f6c37 | |
|
58f10d9372 | |
|
a6dfd842e3 | |
|
dfdda7627f | |
|
1711826c43 | |
|
4627de23b4 | |
|
023ab2d4b2 | |
|
2a375318ea | |
|
fee593d059 | |
|
fe3546e282 | |
|
b61b6868a6 | |
|
2f8ecd1f3e | |
|
8a9ead3f0d | |
|
43e2762d4d | |
|
8ab237a957 | |
|
ffa5d0883a | |
|
14f0a47f52 | |
|
4c1e466866 | |
|
24c6f79b51 | |
|
8c958a2563 | |
|
02cc00780d | |
|
d13cce3997 | |
|
985835429b | |
|
00751cedab | |
|
c4e85a7161 | |
|
253b61fb11 | |
|
54ffbe2e15 | |
|
86d9ba930c | |
|
fb96efc8cf | |
|
aaac1652e9 | |
|
c8fc98ee71 | |
|
4457259dfd | |
|
6dbb11f6e9 | |
|
08a4b4b49a | |
|
4afd2ca341 | |
|
0c048877e0 | |
|
825a74de4a | |
|
79ca0ceb88 | |
|
a5ccc9bf6f | |
|
685467266a | |
|
599e53b10c | |
|
029b8b57ae | |
|
631264eb57 | |
|
e7eef5b760 | |
|
59741e5979 | |
|
0f38ad180a | |
|
fdc6e6e325 | |
|
ed9e79496a | |
|
4f909417f1 | |
|
aecb4034ad | |
|
f0335d96d2 | |
|
65f3886355 | |
|
8e2f1fb8fe | |
|
852cfee310 | |
|
6620a12957 | |
|
11e8135cbd | |
|
824c4e0cbb | |
|
9af7934448 | |
|
4ffa027e8d | |
|
7e8ab3359a | |
|
8e72655731 | |
|
5c098857bd |
|
@ -0,0 +1,10 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: tom79
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: tom79
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@ -0,0 +1,17 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: inactive
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
|
@ -9,5 +9,4 @@
|
|||
.cxx
|
||||
/app/release/
|
||||
/app/fdroid_full/release/
|
||||
/app/google_full/
|
||||
/app/google_acad/
|
||||
/frostwire-jlibtorrent/
|
||||
|
|
|
@ -76,11 +76,11 @@ assembleDebug:
|
|||
|
||||
# Basic android and gradle stuff
|
||||
# Check linting
|
||||
lintFdroid_acadDebug:
|
||||
lintfdroid_acadDebug:
|
||||
interruptible: true
|
||||
stage: build
|
||||
script:
|
||||
- ./gradlew -Pci --console=plain :app:lintFdroid_acadDebug -PbuildDir=lint
|
||||
- ./gradlew -Pci --console=plain :app:lintfdroid_acadDebug -PbuildDir=lint
|
||||
except:
|
||||
- tags
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
# 1.5.2
|
||||
|
||||
### Added:
|
||||
- Enable/disable auto playback
|
||||
- Enter in full-screen automatically (default disabled)
|
||||
- Back press pauses the video in full-screen
|
||||
|
||||
### Fixed:
|
||||
- Public timelines don't honor muted accounts
|
||||
- Comments are not removed when switching to a video without comments
|
||||
- Some other fixes
|
||||
|
||||
--------
|
||||
|
||||
# 1.5.1
|
||||
|
||||
- Fix some issues
|
||||
- New translations
|
||||
|
||||
--------
|
||||
|
||||
# 1.5.0
|
||||
|
||||
- Custom default instance depending of the country
|
||||
- Full managements of comments and their replies (read/post/delete)
|
||||
- Profile for accounts (displays their channels & videos)
|
||||
- Fix some issues when posting a comment
|
||||
- Fix videos not paused after screen lock
|
|
@ -0,0 +1,17 @@
|
|||
CONTRIBUTING
|
||||
============
|
||||
|
||||
### Localizations:
|
||||
|
||||
TubeLab works only with [Crowdin](https://crowdin.com/project/tubelab), which offers nice tools for helping in translations.
|
||||
New translations will be automatically merged in a branch.
|
||||
If your language is not listed, please ask me to add it. If you prefer to work on an XML file, you should be able [to upload it with Crowdin](https://support.crowdin.com/xml-configuration/).
|
||||
Crowdin will not pick up changes in develop branch, that's why all translations should be done with this tool.
|
||||
|
||||
### Issues:
|
||||
|
||||
Issues are handled on Framagit at: https://framagit.org/imattau/fedilab-tube/-/issues, before opening an issue, please check it has not yet been submitted by someone else
|
||||
|
||||
### Contribution to code:
|
||||
|
||||
Your contributions are welcomed, but please, use this repo https://framagit.org/tom79/fedilab-tube. You can create PR to the dev branch.
|
26
README.md
|
@ -6,7 +6,10 @@ The other app is **[TubeLab](#TubeLab)** a Peertube Android app working for all
|
|||
|
||||
## <a name="TubeLab">TubeLab</a>
|
||||
|
||||
Tubelab is an Android app for Peertube (GNU GPLv3).
|
||||
Tubelab is an Android app for Peertube (GNU GPLv3). <img src='https://img.shields.io/f-droid/v/app.fedilab.tubelab?include_prereleases' />
|
||||
|
||||
[<img alt='Get it on Google Play' src='./images/get-it-on-play.png' height="80"/>](https://play.google.com/store/apps/details?id=app.fedilab.tubelab)
|
||||
[<img alt='Get it on F-Droid' src='./images/get-it-on-fdroid.png' height="80"/>](https://f-droid.org/packages/app.fedilab.tubelab/)
|
||||
|
||||
### Not authenticated mode
|
||||
|
||||
|
@ -34,6 +37,11 @@ Many features are available with this mode:
|
|||
|
||||
TubeAcad est une application Android open source (GNU GPLv3) pour les instances Peertube académiques. L’authentification se fait par adresse mail, l’instance est automatiquement détectée. Il est également possible sur certaines instances de créer son compte depuis l’application.
|
||||
|
||||
|
||||
[<img alt='Get it on Google Play' src='./images/get-it-on-play.png' height="80"/>](https://play.google.com/store/apps/details?id=app.fedilab.fedilabtube)
|
||||
[<img alt='Get it on F-Droid' src='./images/get-it-on-fdroid.png' height="80"/>](https://f-droid.org/packages/app.fedilab.fedilabtube/)
|
||||
|
||||
|
||||
### Mode non authentifié
|
||||
|
||||
Ce mode permet de visionner les vidéos sur différentes instances (en sélectionnant une instance académique). Cependant, vous ne pourrez pas interagir totalement avec les vidéos. Vous pourrez :
|
||||
|
@ -60,19 +68,3 @@ Si vous connectez votre compte, vous pourrez interagir avec les vidéos :
|
|||
- Signaler des vidéos ou des comptes
|
||||
- Voir l'historique
|
||||
|
||||
### Downloads
|
||||
|
||||
#### TubeAcad
|
||||
|
||||
[Fdroid](https://f-droid.org/packages/app.fedilab.fedilabtube/)
|
||||
|
||||
[GooglePlay](https://play.google.com/store/apps/details?id=app.fedilab.fedilabtube)
|
||||
|
||||
|
||||
|
||||
#### TubeLab
|
||||
|
||||
[Fdroid](https://f-droid.org/packages/app.fedilab.tubelab/)
|
||||
|
||||
[GooglePlay](https://play.google.com/store/apps/details?id=app.fedilab.tubelab)
|
||||
|
||||
|
|
144
app/build.gradle
|
@ -1,18 +1,17 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
apply plugin: "androidx.navigation.safeargs"
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.2"
|
||||
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 30
|
||||
versionCode 21
|
||||
versionName "1.5.2"
|
||||
targetSdkVersion 31
|
||||
versionCode 45
|
||||
versionName "1.15.0"
|
||||
multiDexEnabled true
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
@ -32,7 +31,7 @@ android {
|
|||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
viewBinding true
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
|
@ -40,45 +39,88 @@ android {
|
|||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
//boolean full_instances if set to false means TubeAcad
|
||||
productFlavors {
|
||||
fdroid_acad {
|
||||
applicationId "app.fedilab.fedilabtube"
|
||||
resValue "string", "app_name", "TubeAcad"
|
||||
resValue "string", "app_id", "app.fedilab.fedilabtube"
|
||||
buildConfigField "String", "version", "\"fdroid_acad\""
|
||||
buildConfigField "boolean", "full_instances", "false"
|
||||
buildConfigField "boolean", "google_restriction", "false"
|
||||
buildConfigField "boolean", "surfing_mode", "false"
|
||||
buildConfigField "boolean", "sepia_search", "false"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "false"
|
||||
buildConfigField "boolean", "google_cast_lib", "false"
|
||||
buildConfigField "int", "cast_enabled", "0"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
google_acad {
|
||||
applicationId "app.fedilab.fedilabtube"
|
||||
resValue "string", "app_name", "TubeAcad"
|
||||
resValue "string", "app_id", "app.fedilab.fedilabtube"
|
||||
buildConfigField "String", "version", "\"google_acad\""
|
||||
buildConfigField "boolean", "full_instances", "false"
|
||||
buildConfigField "boolean", "google_restriction", "true"
|
||||
buildConfigField "boolean", "surfing_mode", "false"
|
||||
buildConfigField "boolean", "sepia_search", "false"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "false"
|
||||
buildConfigField "boolean", "google_cast_lib", "true"
|
||||
buildConfigField "int", "cast_enabled", "1"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
fdroid_full {
|
||||
applicationId "app.fedilab.tubelab"
|
||||
resValue "string", "app_name", "TubeLab"
|
||||
resValue "string", "app_id", "app.fedilab.tubelab"
|
||||
buildConfigField "String", "version", "\"fdroid_full\""
|
||||
buildConfigField "boolean", "full_instances", "true"
|
||||
buildConfigField "boolean", "google_restriction", "false"
|
||||
buildConfigField "boolean", "surfing_mode", "true"
|
||||
buildConfigField "boolean", "sepia_search", "true"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "true"
|
||||
buildConfigField "boolean", "google_cast_lib", "false"
|
||||
buildConfigField "int", "cast_enabled", "0"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
google_full {
|
||||
applicationId "app.fedilab.tubelab"
|
||||
resValue "string", "app_name", "TubeLab"
|
||||
resValue "string", "app_id", "app.fedilab.tubelab"
|
||||
buildConfigField "String", "version", "\"google_full\""
|
||||
buildConfigField "boolean", "full_instances", "true"
|
||||
buildConfigField "boolean", "google_restriction", "true"
|
||||
buildConfigField "boolean", "surfing_mode", "true"
|
||||
buildConfigField "boolean", "sepia_search", "true"
|
||||
buildConfigField "boolean", "instance_switcher", "true"
|
||||
buildConfigField "boolean", "allow_remote_connections", "true"
|
||||
buildConfigField "boolean", "google_cast_lib", "true"
|
||||
buildConfigField "int", "cast_enabled", "1"
|
||||
buildConfigField "int", "default_theme", "2"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
|
||||
fdroid_acad {
|
||||
res.srcDirs = ['src/main/res', 'src/acad/res']
|
||||
res.srcDirs = ['src/main/res', 'src/no_google_cast_lib/res', 'src/acad/res']
|
||||
java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java', 'src/no_google_cast_lib/java']
|
||||
}
|
||||
google_acad {
|
||||
res.srcDirs = ['src/main/res', 'src/acad/res']
|
||||
res.srcDirs = ['src/main/res', 'src/google_cast_lib/res', 'src/acad/res']
|
||||
java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java', 'src/google_cast_lib/java']
|
||||
}
|
||||
fdroid_full {
|
||||
res.srcDirs = ['src/main/res', 'src/full/res']
|
||||
res.srcDirs = ['src/main/res', 'src/no_google_cast_lib/res', 'src/full/res']
|
||||
java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java', 'src/no_google_cast_lib/java']
|
||||
}
|
||||
google_full {
|
||||
res.srcDirs = ['src/main/res', 'src/full/res']
|
||||
res.srcDirs = ['src/main/res', 'src/google_donation/res', 'src/google_cast_lib/res', 'src/full/res']
|
||||
java.srcDirs = ['src/main/java', 'src/full/java', 'src/google_donation/java', 'src/google_cast_lib/java']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -94,39 +136,77 @@ allprojects {
|
|||
dependencies {
|
||||
implementation "androidx.multidex:multidex:2.0.1"
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
implementation 'com.google.android.material:material:1.2.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
||||
implementation 'androidx.preference:preference:1.2.0'
|
||||
implementation 'com.google.android.material:material:1.5.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
|
||||
implementation 'androidx.navigation:navigation-fragment:2.3.0'
|
||||
implementation "androidx.fragment:fragment:1.2.5"
|
||||
implementation 'androidx.navigation:navigation-ui:2.3.0'
|
||||
implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.3.0")
|
||||
implementation 'androidx.navigation:navigation-fragment:2.4.2'
|
||||
implementation "androidx.fragment:fragment:1.4.1"
|
||||
implementation 'androidx.navigation:navigation-ui:2.4.2'
|
||||
implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.4.2")
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
testImplementation 'junit:junit:4.13'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
implementation 'androidx.browser:browser:1.4.0'
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
|
||||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
|
||||
implementation 'com.github.GrenderG:Toasty:1.4.2'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.10.6'
|
||||
implementation 'com.google.android.exoplayer:extension-mediasession:2.10.6'
|
||||
implementation 'com.github.amoskorir:avatarimagegenerator:1.5.0'
|
||||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
|
||||
implementation 'com.github.GrenderG:Toasty:1.5.2'
|
||||
implementation 'com.google.android.exoplayer:exoplayer:2.12.2'
|
||||
implementation 'com.google.android.exoplayer:extension-mediasession:2.12.2'
|
||||
implementation "com.github.mabbas007:TagsEditText:1.0.5"
|
||||
implementation "com.github.bumptech.glide:glide:4.11.0"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:4.11.0"
|
||||
implementation 'jp.wasabeef:glide-transformations:4.0.0'
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||
implementation "net.gotev:uploadservice:3.5.2"
|
||||
implementation "net.gotev:uploadservice-okhttp:3.5.2"
|
||||
implementation "net.gotev:uploadservice:4.5.1"
|
||||
implementation "net.gotev:uploadservice-okhttp:4.5.1"
|
||||
implementation "com.google.code.gson:gson:2.8.6"
|
||||
implementation 'androidx.media:media:1.2.0'
|
||||
implementation 'androidx.media:media:1.6.0'
|
||||
implementation 'com.github.ybq:Android-SpinKit:1.4.0'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.github.mancj:MaterialSearchBar:0.8.5'
|
||||
|
||||
|
||||
implementation "io.github.kobakei:ratethisapp:1.2.0"
|
||||
implementation 'com.github.HITGIF:TextFieldBoxes:1.4.5'
|
||||
implementation 'com.github.vkay94:DoubleTapPlayerView:1.0.0'
|
||||
|
||||
implementation "androidx.work:work-runtime:2.7.1"
|
||||
|
||||
|
||||
//************ DONATION GOOGLE ONLY **************//
|
||||
google_fullImplementation "com.android.billingclient:billing:4.1.0"
|
||||
|
||||
//************ MATOMO --> acad instances only **************//
|
||||
|
||||
fdroid_acadImplementation 'org.matomo.sdk:tracker:4.1.2'
|
||||
google_acadImplementation 'org.matomo.sdk:tracker:4.1.2'
|
||||
|
||||
//************ CAST **************///
|
||||
|
||||
//---> Google libs (google_full)
|
||||
google_acadImplementation "com.google.android.gms:play-services-cast-tv:19.0.1"
|
||||
google_acadImplementation "com.google.android.gms:play-services-cast:21.0.1"
|
||||
google_acadImplementation "androidx.mediarouter:mediarouter:1.3.0"
|
||||
google_acadImplementation 'com.google.android.gms:play-services-cast-framework:21.0.1'
|
||||
|
||||
google_fullImplementation "com.google.android.gms:play-services-cast-tv:19.0.1"
|
||||
google_fullImplementation "com.google.android.gms:play-services-cast:21.0.1"
|
||||
google_fullImplementation "androidx.mediarouter:mediarouter:1.3.0"
|
||||
google_fullImplementation 'com.google.android.gms:play-services-cast-framework:21.0.1'
|
||||
|
||||
//----> Other flavors
|
||||
fdroid_acadImplementation 'su.litvak.chromecast:api-v2:0.11.3'
|
||||
fdroid_acadImplementation 'com.fasterxml.jackson.core:jackson-core:2.12.0'
|
||||
fdroid_acadImplementation 'org.slf4j:slf4j-simple:1.7.30'
|
||||
fdroid_acadImplementation 'com.github.evozi:Cyanea:1.0.7'
|
||||
|
||||
fdroid_fullImplementation 'su.litvak.chromecast:api-v2:0.11.3'
|
||||
fdroid_fullImplementation 'com.fasterxml.jackson.core:jackson-core:2.12.0'
|
||||
fdroid_fullImplementation 'org.slf4j:slf4j-simple:1.7.30'
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2020 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
|
||||
|
||||
import org.matomo.sdk.Matomo;
|
||||
import org.matomo.sdk.Tracker;
|
||||
import org.matomo.sdk.TrackerBuilder;
|
||||
|
||||
|
||||
|
||||
public class FedilabTube extends BaseFedilabTube {
|
||||
|
||||
private Tracker mMatomoTracker;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
}
|
||||
|
||||
public synchronized Tracker getTracker() {
|
||||
if (mMatomoTracker != null) return mMatomoTracker;
|
||||
mMatomoTracker = TrackerBuilder.createDefault("https://wa.phm.education.gouv.fr/snp/matomo.php", 11).build(Matomo.getInstance(this));
|
||||
return mMatomoTracker;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2020 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
|
||||
import org.matomo.sdk.Tracker;
|
||||
import org.matomo.sdk.extra.TrackHelper;
|
||||
|
||||
public class Matomo {
|
||||
|
||||
public static void sendScreen(Context _mcontext, String path, String title) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().screen(path).title(title).with(tracker);
|
||||
}
|
||||
|
||||
public static void sendEvent(Context _mcontext, String category, String action, String label, float value) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().event(category, action).name(label).value(value).with(tracker);
|
||||
}
|
||||
|
||||
|
||||
public static void sendValue(Context _mcontext, String path, int index, String dimensionValue) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().screen(path).dimension(index, dimensionValue).with(tracker);
|
||||
}
|
||||
|
||||
|
||||
public static void trackInstall(Context _mcontext) {
|
||||
Tracker tracker = ((FedilabTube) ((Activity) _mcontext).getApplication()).getTracker();
|
||||
TrackHelper.track().download().with(tracker);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package app.fedilab.fedilabtube.activities;
|
||||
/* Copyright 2022 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package app.fedilab.fedilabtube.helper;
|
||||
/* Copyright 2022 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import app.fedilab.fedilabtube.R;
|
||||
|
||||
public class Theme {
|
||||
|
||||
public static void setTheme(AppCompatActivity activity, String instance, boolean noActionBar) {
|
||||
|
||||
switch (instance) {
|
||||
case "tube-institutionnel.apps.education.fr":
|
||||
activity.setTheme(noActionBar? R.style.InstitutionnelNoActionBar:R.style.Institutionnel);
|
||||
break;
|
||||
case "tube-maternelle.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.MaternelleNoActionBar:R.style.Maternelle);
|
||||
break;
|
||||
case "tube-arts-lettres-sciences-humaines.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.ArtNoActionBar:R.style.Art);
|
||||
break;
|
||||
case "tube-sciences-technologies.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.SciencesNoActionBar:R.style.Sciences);
|
||||
break;
|
||||
case "tube-education-physique-et-sportive.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.EducationNoActionBar:R.style.Education);
|
||||
break;
|
||||
case "tube-enseignement-professionnel.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.EnseignementProNoActionBar:R.style.EnseignementPro);
|
||||
break;
|
||||
case "tube-langues-vivantes.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.LanguesNoActionBar:R.style.Langues);
|
||||
break;
|
||||
case "tube-action-educative.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.ActionEducativeNoActionBar:R.style.ActionEducative);
|
||||
break;
|
||||
case "tube-cycle-2.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.Cycle2NoActionBar:R.style.Cycle2);
|
||||
break;
|
||||
case "tube-cycle-3.apps.education.fr":
|
||||
activity.setTheme(noActionBar?R.style.Cycle3NoActionBar:R.style.Cycle3);
|
||||
break;
|
||||
default:
|
||||
activity.setTheme(noActionBar?R.style.AppThemeNoActionBar:R.style.AppTheme);
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 720 B After Width: | Height: | Size: 720 B |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 491 B |
Before Width: | Height: | Size: 937 B After Width: | Height: | Size: 937 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,145 @@
|
|||
<resources>
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
|
||||
<style name="BaseTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
</style>
|
||||
<style name="BaseThemeNoAction" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
</style>
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="BaseTheme">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="BaseThemeNoAction">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<!-- Institutionnel theme. -->
|
||||
<style name="Institutionnel" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<style name="InstitutionnelNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<!-- Maternelle theme. -->
|
||||
<style name="Maternelle" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<style name="MaternelleNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<!-- Art theme. -->
|
||||
<style name="Art" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<style name="ArtNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<!-- Sciences theme. -->
|
||||
<style name="Sciences" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<style name="SciencesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<!-- Education theme. -->
|
||||
<style name="Education" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<style name="EducationNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<!-- Enseignement Pro theme. -->
|
||||
<style name="EnseignementPro" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<style name="EnseignementProNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<!-- Langues theme. -->
|
||||
<style name="Langues" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<style name="LanguesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<!-- ActionEducative theme. -->
|
||||
<style name="ActionEducative" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<style name="ActionEducativeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<!-- Cycle 2 theme. -->
|
||||
<style name="Cycle2" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<style name="Cycle2NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<!-- Cycle 3 theme. -->
|
||||
<style name="Cycle3" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="Cycle3NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.DayNight" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarDark" />
|
||||
</resources>
|
|
@ -1,13 +1,61 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="colorPrimary">#512DA8</color>
|
||||
<color name="colorPrimaryDark">#4527A0</color>
|
||||
<color name="colorAccent">#9C27B0</color>
|
||||
|
||||
<!-- Institutionnel -->
|
||||
<color name="colorPrimary_institutionnel">#1B2E35</color>
|
||||
<color name="colorPrimaryDark_institutionnel">#1B2E35</color>
|
||||
<color name="colorAccent_institutionnel">#35A8E0</color>
|
||||
<!-- maternelle -->
|
||||
<color name="colorPrimary_maternelle">#341047</color>
|
||||
<color name="colorPrimaryDark_maternelle">#341047</color>
|
||||
<color name="colorAccent_maternelle">#D3135D</color>
|
||||
<!-- art -->
|
||||
<color name="colorPrimary_art">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_art">#0d3b5f</color>
|
||||
<color name="colorAccent_art">#E61B72</color>
|
||||
<!-- sciences -->
|
||||
<color name="colorPrimary_sciences">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_sciences">#0d3b5f</color>
|
||||
<color name="colorAccent_sciences">#59b700</color>
|
||||
<!-- education -->
|
||||
<color name="colorPrimary_education">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_education">#0d3b5f</color>
|
||||
<color name="colorAccent_education">#EA3700</color>
|
||||
<!-- enseignement pro -->
|
||||
<color name="colorPrimary_enseignement_pro">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_enseignement_pro">#0d3b5f</color>
|
||||
<color name="colorAccent_enseignement_pro">#730FBA</color>
|
||||
<!-- langues -->
|
||||
<color name="colorPrimary_langues">#0d3b5f</color>
|
||||
<color name="colorPrimaryDark_langues">#0d3b5f</color>
|
||||
<color name="colorAccent_langues">#F69622</color>
|
||||
<!-- Action éducative -->
|
||||
<color name="colorPrimary_action_educative">#1B2E35</color>
|
||||
<color name="colorPrimaryDark_action_educative">#1B2E35</color>
|
||||
<color name="colorAccent_action_educative">#E52928</color>
|
||||
<!-- cycle2 -->
|
||||
<color name="colorPrimary_cycle2">#341047</color>
|
||||
<color name="colorPrimaryDark_cycle2">#341047</color>
|
||||
<color name="colorAccent_cycle2">#39A935</color>
|
||||
<!-- cycle3 -->
|
||||
<color name="colorPrimary_cycle3">#341047</color>
|
||||
<color name="colorPrimaryDark_cycle3">#341047</color>
|
||||
<color name="colorAccent_cycle3">#C1661B</color>
|
||||
|
||||
|
||||
|
||||
<color name="tag_color">#bbF2690D</color>
|
||||
<color name="tag_color_text">#FAFAFA</color>
|
||||
<color name="positive_thumbs">#2b90d9</color>
|
||||
<color name="favorite">#ca8f04</color>
|
||||
<color name="bookmark">#795548</color>
|
||||
<color name="negative_thumbs">#F44336</color>
|
||||
|
||||
<color name="backgroundLight">#DDFFFFFF</color>
|
||||
<color name="backgroundDark">#DD222222</color>
|
||||
<color name="red_1">#F44336</color>
|
||||
<color name="gray_light">#80808080</color>
|
||||
</resources>
|
|
@ -0,0 +1,145 @@
|
|||
<resources>
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
|
||||
|
||||
<style name="BaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<item name="backgroundView">@color/backgroundLight</item>
|
||||
</style>
|
||||
<style name="BaseThemeNoAction" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="backgroundView">@color/backgroundLight</item>
|
||||
</style>
|
||||
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<!-- Institutionnel theme. -->
|
||||
<style name="Institutionnel" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<style name="InstitutionnelNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_institutionnel</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_institutionnel</item>
|
||||
<item name="colorAccent">@color/colorAccent_institutionnel</item>
|
||||
</style>
|
||||
<!-- Maternelle theme. -->
|
||||
<style name="Maternelle" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<style name="MaternelleNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_maternelle</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_maternelle</item>
|
||||
<item name="colorAccent">@color/colorAccent_maternelle</item>
|
||||
</style>
|
||||
<!-- Art theme. -->
|
||||
<style name="Art" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<style name="ArtNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_art</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_art</item>
|
||||
<item name="colorAccent">@color/colorAccent_art</item>
|
||||
</style>
|
||||
<!-- Sciences theme. -->
|
||||
<style name="Sciences" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<style name="SciencesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_sciences</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_sciences</item>
|
||||
<item name="colorAccent">@color/colorAccent_sciences</item>
|
||||
</style>
|
||||
<!-- Education theme. -->
|
||||
<style name="Education" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<style name="EducationNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_education</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_education</item>
|
||||
<item name="colorAccent">@color/colorAccent_education</item>
|
||||
</style>
|
||||
<!-- Enseignement Pro theme. -->
|
||||
<style name="EnseignementPro" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<style name="EnseignementProNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_enseignement_pro</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_enseignement_pro</item>
|
||||
<item name="colorAccent">@color/colorAccent_enseignement_pro</item>
|
||||
</style>
|
||||
<!-- Langues theme. -->
|
||||
<style name="Langues" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<style name="LanguesNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_langues</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_langues</item>
|
||||
<item name="colorAccent">@color/colorAccent_langues</item>
|
||||
</style>
|
||||
<!-- ActionEducative theme. -->
|
||||
<style name="ActionEducative" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<style name="ActionEducativeNoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_action_educative</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_action_educative</item>
|
||||
<item name="colorAccent">@color/colorAccent_action_educative</item>
|
||||
</style>
|
||||
<!-- Cycle 2 theme. -->
|
||||
<style name="Cycle2" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<style name="Cycle2NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle2</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle2</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle2</item>
|
||||
</style>
|
||||
<!-- Cycle 3 theme. -->
|
||||
<style name="Cycle3" parent="BaseTheme">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="Cycle3NoActionBar" parent="BaseThemeNoAction">
|
||||
<item name="colorPrimary">@color/colorPrimary_cycle3</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_cycle3</item>
|
||||
<item name="colorAccent">@color/colorAccent_cycle3</item>
|
||||
</style>
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.DayNight" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarDark" />
|
||||
</resources>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths>
|
||||
<external-path
|
||||
name="my_images"
|
||||
path="/TubeAcad/" />
|
||||
|
||||
<external-path
|
||||
name="external_files"
|
||||
path="/"/>
|
||||
|
||||
</paths>
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.fedilab.fedilabtube">
|
||||
|
||||
|
||||
<application
|
||||
android:name=".FedilabTube"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".activities.MainActivity"
|
||||
tools:node="merge"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:scheme="file" />
|
||||
<data android:host="*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:pathPattern=".*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</application>
|
||||
</manifest>
|
|
@ -1 +0,0 @@
|
|||
https://fedilab.app
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,5 +0,0 @@
|
|||
- Nouvelles options :
|
||||
- Mode plein écran automatique
|
||||
- Désactiver la lecture automatique des vidéos
|
||||
|
||||
- Quelques corrections de bugs
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.fedilab.fedilabtube">
|
||||
|
||||
|
||||
<application
|
||||
android:name=".FedilabTube"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".activities.PeertubeActivity"
|
||||
android:exported="true"
|
||||
tools:node="mergeOnlyAttributes">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<!-- The app is a good candidate for URL in https://domain.name/videos/watch/xxxxx-->
|
||||
<data
|
||||
android:host="*"
|
||||
android:pathPrefix="/videos/watch/"
|
||||
android:scheme="https" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</application>
|
||||
</manifest>
|
|
@ -1 +0,0 @@
|
|||
https://fedilab.app
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1 +0,0 @@
|
|||
TubeLab est une application Peertube pour les instances académiques.
|
|
@ -1,22 +0,0 @@
|
|||
*Not authenticated mode*
|
||||
|
||||
It's a limited mode where you can do some actions:
|
||||
|
||||
- Switch instance,
|
||||
- Share videos,
|
||||
- Download videos.
|
||||
|
||||
|
||||
*Authenticated mode*
|
||||
|
||||
Many features are available with this mode:
|
||||
|
||||
- Write/delete comments
|
||||
- Upload/remove/edit videos
|
||||
- Manage (create/edit/remove) channels and playlists
|
||||
- Follow/unfollow channels
|
||||
- Thumbs-up/down
|
||||
- Check notifications
|
||||
- Mute/unmute channels
|
||||
- Report videos/accounts
|
||||
- Check your history
|
|
@ -1,8 +0,0 @@
|
|||
Added:
|
||||
- Enable/disable auto playback
|
||||
- Enter in fullscreen automatically (default disabled)
|
||||
- Back press pauses the video in fullscreen
|
||||
|
||||
Fixes:
|
||||
- Public timelines don't honor muted accounts
|
||||
- Comments are not removed when switching to a video without comments
|
|
@ -0,0 +1,20 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2020 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
|
||||
|
||||
public class FedilabTube extends BaseFedilabTube {
|
||||
}
|
|
@ -14,29 +14,28 @@ package app.fedilab.fedilabtube;
|
|||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
import androidx.multidex.MultiDex;
|
||||
import androidx.multidex.MultiDexApplication;
|
||||
|
||||
import net.gotev.uploadservice.UploadService;
|
||||
@SuppressWarnings({"unused", "RedundantSuppression"})
|
||||
public class Matomo {
|
||||
|
||||
import app.fedilab.fedilabtube.helper.Helper;
|
||||
import app.fedilab.fedilabtube.helper.ThemeHelper;
|
||||
public static void sendScreen(Context _mcontext, String path, String title) {
|
||||
//Do nothing
|
||||
}
|
||||
|
||||
public class FedilabTube extends MultiDexApplication {
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
super.attachBaseContext(base);
|
||||
|
||||
MultiDex.install(FedilabTube.this);
|
||||
|
||||
UploadService.NAMESPACE = BuildConfig.APPLICATION_ID;
|
||||
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
int themePref = sharedpreferences.getInt(Helper.SET_THEME, Helper.DEFAULT_MODE);
|
||||
ThemeHelper.switchTo(themePref);
|
||||
public static void sendEvent(Context _mcontext, String category, String action, String label, float value) {
|
||||
//Do nothing
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public static void sendValue(Context _mcontext, String path, int index, String dimensionValue) {
|
||||
//Do nothing
|
||||
}
|
||||
|
||||
|
||||
public static void trackInstall(Context _mcontext) {
|
||||
//Do nothing
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package app.fedilab.fedilabtube.activities;
|
||||
/* Copyright 2022 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package app.fedilab.fedilabtube.helper;
|
||||
/* Copyright 2022 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import app.fedilab.fedilabtube.R;
|
||||
|
||||
public class Theme {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public static void setTheme(AppCompatActivity activity, String instance, boolean noActionBar) {
|
||||
activity.setTheme(noActionBar?R.style.AppThemeNoActionBar:R.style.AppTheme);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="#FFFFFF"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:scaleX="1.104"
|
||||
android:scaleY="1.104"
|
||||
android:translateX="-1.248"
|
||||
android:translateY="-1.248">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M10,16.5l6,-4.5 -6,-4.5v9zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z" />
|
||||
</group>
|
||||
</vector>
|
After Width: | Height: | Size: 720 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 937 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,273 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="set_autoplay">Automatic playback</string>
|
||||
<string name="set_autoplay_description">If enabled, videos will be played automatically</string>
|
||||
<string name="set_fullscreen">Fullscreen</string>
|
||||
<string name="set_fullscreen_description">Automatically open videos in fullscreen</string>
|
||||
<string name="add_public_reply">Ajouter une réponse publique</string>
|
||||
<plurals name="number_of_replies">
|
||||
<item quantity="one">%d réponse</item>
|
||||
<item quantity="other">%d réponses</item>
|
||||
</plurals>
|
||||
<string name="reply">Réponse</string>
|
||||
<string name="set_theme">Thème</string>
|
||||
<string name="set_theme_description">Permet de changer le thème de l\'application</string>
|
||||
<string name="federation_issue">La vidéo ne peut pas être fédérée !</string>
|
||||
<string name="title_home">Locale</string>
|
||||
<string name="title_local">Locale</string>
|
||||
<string name="title_discover">Découvrir</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Nouveautés</string>
|
||||
<string name="title_trending">Tendances</string>
|
||||
<string name="title_most_liked">Plus aimées</string>
|
||||
<string name="toast_error">Une erreur s\'est produite !</string>
|
||||
<string name="title_muted">Sourdine</string>
|
||||
<string name="title_channel">Chaînes</string>
|
||||
<string name="do_not_list">Ne pas lister</string>
|
||||
<string name="blur">Estomper</string>
|
||||
<string name="display">Afficher</string>
|
||||
<string name="no_opinion">Pas d\'opinion</string>
|
||||
<string name="instance_choice">Choisissez une instance</string>
|
||||
<string name="not_valide_instance">Cette instance ne semble pas être valide !</string>
|
||||
<string name="no_videos">Aucune vidéo !</string>
|
||||
<string name="no_notifications">Aucune notification !</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Ouvrir avec</string>
|
||||
<string name="action_playlist_edit">Modifier une liste de lecture</string>
|
||||
<string name="close">Fermer</string>
|
||||
<string name="upload_video">Téléverser</string>
|
||||
<string name="image_preview">Aperçu de l\'image</string>
|
||||
<string name="file_to_upload">Sélectionnez un fichier à transférer</string>
|
||||
<string name="channel">Chaîne</string>
|
||||
<string name="videos">Vidéos</string>
|
||||
<string name="channels">Chaînes</string>
|
||||
<string name="yes">Oui</string>
|
||||
<string name="no">Non</string>
|
||||
<string name="cancel">Annuler</string>
|
||||
<string name="download">Télécharger</string>
|
||||
<string name="profile_picture">Photo du profil</string>
|
||||
<string name="update_video">Mettre à jour la vidéo</string>
|
||||
<string name="remove_from_playlist">Supprimer de la liste de lecture</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d min</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d j</string>
|
||||
<string name="number_view_video">%s vues</string>
|
||||
<string name="title_instance_login">Domaine de l\'instance</string>
|
||||
<string name="uploading">Transfert en cours, veuillez patienter …</string>
|
||||
<string name="upload_video_success">La vidéo a été transférée !</string>
|
||||
<string name="toast_cancelled">Transfert annulé !</string>
|
||||
<string name="video_uploaded_action">Cliquez ici pour éditer les données de la vidéo.</string>
|
||||
<string name="toot_select_image_error">Une erreur s’est produite lors de la sélection du média !</string>
|
||||
<string name="download_file">Télécharger %1$s</string>
|
||||
<string name="action_privacy">Confidentialité</string>
|
||||
<string name="action_logout">Déconnexion</string>
|
||||
<string name="login">Connexion</string>
|
||||
<string name="password">Mot de passe</string>
|
||||
<string name="email">Courriel</string>
|
||||
<string name="tags">Étiquettes</string>
|
||||
<string name="validate">Valider</string>
|
||||
<string name="share_with">Partager avec</string>
|
||||
<string name="shared_via">Partagé via TubeLab</string>
|
||||
<string name="username">Nom d’utilisateur</string>
|
||||
<string name="settings">Paramètres</string>
|
||||
<string name="logout_account_confirmation">Voulez-vous vraiment déconnecter le compte @%1$s@%2$s ?</string>
|
||||
<string name="following">Suit</string>
|
||||
<string name="followers">Abonné·e·s</string>
|
||||
<string name="client_error">Impossible d’obtenir l’id du client !</string>
|
||||
<string name="toast_error_loading_account">Une erreur s’est produite pendant le chargement du compte !</string>
|
||||
<string name="toast_error_search">Une erreur s’est produite lors de la recherche !</string>
|
||||
<string name="nothing_to_do">Aucune action ne peut être réalisée</string>
|
||||
<string name="action_follow">S\'abonner</string>
|
||||
<string name="action_mute">Mettre en sourdine</string>
|
||||
<string name="search">Chercher</string>
|
||||
<string name="delete">Supprimer</string>
|
||||
<string name="action_lists_confirm_delete">Êtes-vous sûr de vouloir supprimer définitivement cette liste de lecture ?</string>
|
||||
<string name="action_lists_delete">Supprimer la liste de lecture</string>
|
||||
<string name="no_comments">Soyez le·a premier·ère à laisser un commentaire sur cette vidéo en utilisant le bouton supérieur droit !</string>
|
||||
<string name="comment_no_allowed_peertube">Les commentaires sur cette vidéos ont été désactivés !</string>
|
||||
<string name="pickup_resolution">Choisissez une résolution</string>
|
||||
<string name="bookmark_add_peertube">La vidéo est rajoutée aux favoris !</string>
|
||||
<string name="bookmark_remove_peertube">La vidéo a été retirée de vos favoris !</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo de l’application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Abonnements</string>
|
||||
<string name="delete_comment">Supprimer le commentaire</string>
|
||||
<string name="delete_comment_confirm">Etes-vous sûr de vouloir supprimer ce commentaire ?</string>
|
||||
<string name="set_video_mode">Mode pour les vidéos</string>
|
||||
<string name="filter">Filtrer</string>
|
||||
<string name="sepia_search">Recherche sépia</string>
|
||||
<string name="sepia_element_nsfw">Afficher le contenu sensible</string>
|
||||
<string name="sepia_element_published_date">Date de publication</string>
|
||||
<string name="any">Toutes</string>
|
||||
<string name="today">Aujourd\'hui</string>
|
||||
<string name="last_7_days">Les 7 derniers jours</string>
|
||||
<string name="last_30_days">Les 30 derniers jours</string>
|
||||
<string name="last_365_days">Les 365 derniers jours</string>
|
||||
<string name="sepia_element_duration">Durée</string>
|
||||
<string name="duration_short"><![CDATA[Courte (<4 min)]]></string>
|
||||
<string name="duration_medium"><![CDATA[Moyenne (4-10 min)]]></string>
|
||||
<string name="duration_long"><![CDATA[Longue (> 10 min)]]></string>
|
||||
<string name="display_all_categories">Afficher toutes les catégories</string>
|
||||
<string name="display_all_licenses">Afficher toutes les licences</string>
|
||||
<string name="display_all_languages">Afficher toutes les langues</string>
|
||||
<string name="all_of_these_tags">Tous ces labels</string>
|
||||
<string name="one_of_these_tags">Un de ces labels</string>
|
||||
<string name="apply_filter">Appliquer le filtre</string>
|
||||
<string-array name="sort_by_array">
|
||||
<item>Meilleurs résultats</item>
|
||||
<item>Les plus récentes</item>
|
||||
<item>Les moins récentes</item>
|
||||
</string-array>
|
||||
<string name="sort_by">Trier par</string>
|
||||
<string name="sepia_search_hint">Mot-clé, chaîne, vidéo, etc.</string>
|
||||
<string name="sepia_indication">La recherche Sepia affiche les vidéos et les chaînes qui correspondent à votre recherche mais qui n\'est pas l\'éditeur, ni le propriétaire. Si vous remarquez des problèmes avec une vidéo, signalez-la aux administrateurs sur le site Web de PeerTube où la vidéo est publiée.</string>
|
||||
<string name="my_videos">Mes vidéos</string>
|
||||
<string name="title">Titre</string>
|
||||
<string name="license">Licence</string>
|
||||
<string name="category">Catégorie</string>
|
||||
<string name="language">Langue</string>
|
||||
<string name="peertube_nsfw">Cette vidéo contient du contenu pour adultes</string>
|
||||
<string name="peertube_enable_comments">Activer les commentaires</string>
|
||||
<string name="description">Libellé</string>
|
||||
<string name="toast_peertube_video_updated">La vidéo a été mise à jour !</string>
|
||||
<string name="register_account">Créer un compte</string>
|
||||
<string name="email_address">Adresse mèl</string>
|
||||
<string name="preview">Aperçu</string>
|
||||
<string name="change_preview">Modifier l\'aperçu</string>
|
||||
<string name="name">Nom</string>
|
||||
<string name="display_more">Afficher plus</string>
|
||||
<string name="no_channels">Aucune chaîne !</string>
|
||||
<string name="report_helper">Quelques explications concernant votre signalement…</string>
|
||||
<string name="report_video">Signaler la vidéo</string>
|
||||
<string name="report">Signaler</string>
|
||||
<string name="change_instance">Changer d\'instance</string>
|
||||
<string name="my_history">Historique</string>
|
||||
<string name="edit">Modifier</string>
|
||||
<string name="video_settings">Réglages des vidéos</string>
|
||||
<string name="app_interface">Interface</string>
|
||||
<string name="set_cache_mode">Cache</string>
|
||||
<string name="set_video_cache_description">Définir le cache pour les vidéos (par défaut 100Mo)</string>
|
||||
<string name="set_video_quality_description">Définir une qualité par défaut pour les vidéos</string>
|
||||
<string name="set_quality_mode">Résolution pour les vidéos</string>
|
||||
<string name="video_cache_value">Cache vidéo : %d Mo</string>
|
||||
<string name="captions">Légendes</string>
|
||||
<string name="pickup_captions">Options d\'envoi</string>
|
||||
<string name="none">Aucune</string>
|
||||
<string name="set_video_mode_description">Permet de changer le mode de lecture pour les vidéos (normal, streaming ou via un navigateur).</string>
|
||||
<string name="delete_account_comment">Supprimer les commentaires du compte</string>
|
||||
<string name="delete_account_comment_confirm">Êtes-vous sûr de vouloir supprimer tous les commentaires de ce compte ?</string>
|
||||
<string name="delete_video">Supprimer la vidéo</string>
|
||||
<string name="delete_video_confirmation">Êtes-vous sûr de vouloir supprimer cette vidéo ?</string>
|
||||
<string name="no_video_to_display">Aucune vidéo n’est disponible !</string>
|
||||
<string name="share">Partager</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> a commenté votre vidéo <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> suit votre chaîne <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> suit votre compte]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Votre vidéo <b>%1$s</b> a été publiée]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[L’importation de votre vidéo <b>%1$s</b> a réussi]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Échec lors de l’importation de votre vidéo <b>%1$s</b>]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> a publié une nouvelle vidéo : <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Votre vidéo <b>%1$s</b> a été blacklisté]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Votre vidéo <b>%1$s</b> n’est plus blacklisté]]></string>
|
||||
<string name="peertube_video_report_success"><![CDATA[Your abuse report <b>%1$s</b> has been accepted]]></string>
|
||||
<string name="peertube_video_abuse"><![CDATA[Nouveau signalement pour la vidéo : <b>%1$s</b>]]></string>
|
||||
<string name="add_public_comment">Ajouter un commentaire public</string>
|
||||
<string name="send_comment">Envoyer un commentaire</string>
|
||||
<string name="all">Tout</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Listes de lecture</string>
|
||||
<string name="display_name">Nom d\'affichage</string>
|
||||
<string name="action_playlist_add">Vous n\'avez aucune liste de lecture. Cliquez sur l\'icône « + » pour en ajouter une</string>
|
||||
<string name="error_display_name">Vous devez fournir un nom d\'affichage !</string>
|
||||
<string name="error_channel_mandatory">Une chaîne est requise lorsque la liste de lecture est publique.</string>
|
||||
<string name="action_playlist_create">Créer une liste de lecture</string>
|
||||
<string name="action_playlist_empty_content">Cette liste de lecture est vide.</string>
|
||||
<string name="password_confirm">Confirmer le mot de passe</string>
|
||||
<string name="agreement_check">J\'accepte les %1$s et les %2$s</string>
|
||||
<string name="server_rules">règles du serveur</string>
|
||||
<string name="tos">conditions de service</string>
|
||||
<string name="sign_up">S’inscrire</string>
|
||||
<string name="all_field_filled">Veuillez remplir tous les champs !</string>
|
||||
<string name="password_error">Les mots de passe ne sont pas identiques !</string>
|
||||
<string name="email_error">L\'e-mail ne semble pas être valide !</string>
|
||||
<string name="email_indicator">Vous recevrez un e-mail de confirmation</string>
|
||||
<string name="password_indicator">Utilisez au moins 8 caractères</string>
|
||||
<string name="password_too_short">Le mot de passe doit contenir au moins 8 caractères</string>
|
||||
<string name="username_error">Le nom d\'utilisateur·rice doit être en minuscule, contenir uniquement des lettres, des chiffres, des points et des caractères de soulignement</string>
|
||||
<string name="account_created">Compte créé !</string>
|
||||
<string name="account_created_message">Votre compte est créé !\n\nVous allez recevoir un email de confirmation à l\'adresse <b>%1$s</b>.\n\nCliquez sur le lien présent dans le mail pour valider votre compte.</string>
|
||||
<string name="account">Compte</string>
|
||||
<string name="report_account">Signaler le compte</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Streaming</item>
|
||||
<item>Flux direct</item>
|
||||
</string-array>
|
||||
<string-array name="settings_theme">
|
||||
<item>Lumière</item>
|
||||
<item>Foncé</item>
|
||||
<item>Automatique</item>
|
||||
</string-array>
|
||||
<string-array name="settings_video_quality">
|
||||
<item>Élevée</item>
|
||||
<item>Moyenne</item>
|
||||
<item>Faible</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Voulez-vous vous désabonner de ce compte ?</string>
|
||||
<string name="title_video_peertube">Titre de la vidéo</string>
|
||||
<string name="join_peertube">Rejoignez Peertube</string>
|
||||
<string name="agreement_check_peertube">J\'ai au moins 16 ans et je suis d\'accord avec les %1$s de cette instance</string>
|
||||
<string name="edit_profile">Éditer le profil</string>
|
||||
<string name="make_an_action">Faire une action</string>
|
||||
<string name="action_unfollow">Se désabonner</string>
|
||||
<string name="display_nsfw_videos">Afficher les vidéos sensibles</string>
|
||||
<string name="fullscreen">Vidéo plein écran</string>
|
||||
<string name="bookmark_peertube_empty">Il n’y a aucune vidéo Peertube dans vos favoris !</string>
|
||||
<string name="delete_channel">Supprimer la chaîne</string>
|
||||
<string name="action_channel_confirm_delete">Êtes-vous sûr de vouloir supprimer définitivement cette chaîne ?</string>
|
||||
<string name="modify_playlists">Vidéo dans les listes de lecture</string>
|
||||
<string name="no_muted">Aucun compte en sourdine !</string>
|
||||
<string name="error_display_name_channel">Vous devez fournir un nom d\'affichage et un nom pour la chaîne!</string>
|
||||
<string name="action_channel_create">Créer une chaîne</string>
|
||||
<string name="action_channel_edit">Modifier une chaîne</string>
|
||||
<string name="email_error_domain">Les adresses mails %1$s ne sont pas autorisées !</string>
|
||||
<string name="report_comment_size">Veuillez préciser les raisons.</string>
|
||||
<string name="not_logged_in">Vous devez être connecté.e pour effectuer cette action !</string>
|
||||
<string name="successful_report">Le compte a été signalé !</string>
|
||||
<string name="successful_report_comment">Le commentaire a été signalé !</string>
|
||||
<string name="successful_video_report">La vidéo a été signalée !</string>
|
||||
<string name="password_length_error">Le mot de passe doit contenir 6 caractères !</string>
|
||||
<string name="muted_done">Le compte a été mis en sourdine !</string>
|
||||
<string name="edit_video">Modifier une vidéo</string>
|
||||
<string name="create_an_account">Créer un compte</string>
|
||||
<string name="followers_count">%1$s Abonné·e·s</string>
|
||||
<string name="developer">Développeur</string>
|
||||
<string name="about_vesrion">Version %1$s</string>
|
||||
<string name="about_the_app">À propos de l’application</string>
|
||||
<string name="Donate">Faire un don</string>
|
||||
<string name="source_code">Code source</string>
|
||||
<string name="issue_tracker">Suivi des tickets</string>
|
||||
<string name="action_instance_empty_content">Aucune instance ne correspond à ces critères</string>
|
||||
<string name="instances_picker">Sélecteur d\'instances</string>
|
||||
<string name="pickup_instance">Choisissez une instance</string>
|
||||
<string name="sensitive_video"> Vidéos sensibles</string>
|
||||
<string name="sensitive_content">Contenu sensible : %1$s</string>
|
||||
<string name="followers_instance">%1$s instances suiveuses</string>
|
||||
<string name="help">Aide</string>
|
||||
<string name="pickup_categories">Sélection des catégories</string>
|
||||
<string name="pickup_languages">Sélection des langues</string>
|
||||
<string name="notification_channel_name">Mise à jour des informations</string>
|
||||
<string name="add_account">Ajouter un compte</string>
|
||||
<string name="list_of_accounts">Liste des comptes</string>
|
||||
<string name="pause">Pause</string>
|
||||
<string name="play">Jouer</string>
|
||||
<string name="minimize">Minimiser</string>
|
||||
<string name="fast_rewind">Rembobinage rapide</string>
|
||||
<string name="fast_forward">Avance rapide</string>
|
||||
<string name="set_video_minimize">Minimiser la taille des vidéos</string>
|
||||
<string name="set_video_minimize_description">Minimiser la taille des vidéos lorsque l\'application est en arrière-plan (Android N+)</string>
|
||||
<string name="set_video_language">Filtre de langue</string>
|
||||
<string name="set_video_language_description">Filtrer les vidéos avec différentes langues</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,6 +1,6 @@
|
|||
<resources>
|
||||
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
|
@ -8,7 +8,9 @@
|
|||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
<item name="android:windowBackground">@android:color/black</item>
|
||||
<item name="android:colorBackground">@android:color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||
|
@ -16,13 +18,22 @@
|
|||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
|
||||
<item name="backgroundView">@color/backgroundDark</item>
|
||||
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||
<item name="android:windowBackground">@android:color/black</item>
|
||||
<item name="android:colorBackground">@android:color/black</item>
|
||||
</style>
|
||||
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark"/>
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.Dark"/>
|
||||
|
||||
|
||||
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarDark" />
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -1,199 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="title_home">Home</string>
|
||||
<string name="title_discover">Discover</string>
|
||||
<string name="title_notifications">Notifications</string>
|
||||
<string name="title_recently_added">Recently added</string>
|
||||
<string name="title_trending">Trending</string>
|
||||
<string name="title_most_liked">Most liked</string>
|
||||
<string name="toast_error">Oops! An error occurred!</string>
|
||||
<string name="title_muted">Muted</string>
|
||||
<string name="title_channel">Channels</string>
|
||||
<string name="do_not_list">Do not list</string>
|
||||
<string name="blur">Blur</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="no_opinion">No opinion</string>
|
||||
<string name="instance_choice">Pickup an instance</string>
|
||||
<string name="not_valide_instance">This instance does not seem to be valid!</string>
|
||||
<string name="no_videos">No videos!</string>
|
||||
<string name="favicon">Favicon</string>
|
||||
<string name="open_with">Open with</string>
|
||||
<string name="action_playlist_edit">Edit a playlist</string>
|
||||
<string name="close">Close</string>
|
||||
<string name="upload_video">Upload</string>
|
||||
<string name="image_preview">Image preview</string>
|
||||
<string name="file_to_upload">Select the file to upload</string>
|
||||
<string name="channel">Channel</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="channels">Channels</string>
|
||||
<string name="yes">Yes</string>
|
||||
<string name="no">No</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="profile_picture">Profile picture</string>
|
||||
<string name="update_video">Update video</string>
|
||||
<string name="date_seconds">%d s</string>
|
||||
<string name="date_minutes">%d m</string>
|
||||
<string name="date_hours">%d h</string>
|
||||
<string name="date_day">%d d</string>
|
||||
<string name="number_view_video">%s views</string>
|
||||
<string name="title_instance_login">Instance host</string>
|
||||
<string name="uploading">Uploading, please wait…</string>
|
||||
<string name="upload_video_success">The video has been uploaded!</string>
|
||||
<string name="toast_cancelled">Upload cancelled!</string>
|
||||
<string name="video_uploaded_action">Tap here to edit the video data.</string>
|
||||
<string name="toot_select_image_error">An error occurred while selecting the media!</string>
|
||||
<string name="download_file">Download %1$s</string>
|
||||
<string name="action_privacy">Privacy</string>
|
||||
<string name="action_logout">Logout</string>
|
||||
<string name="login">Login</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="tags">Tags</string>
|
||||
<string name="validate">Validate</string>
|
||||
<string name="share_with">Share with</string>
|
||||
<string name="shared_via">Shared via TubeLab</string>
|
||||
<string name="username">User name</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="logout_account_confirmation">Are you sure you want to logout @%1$s@%2$s?</string>
|
||||
<string name="following">Following</string>
|
||||
<string name="followers">Followers</string>
|
||||
<string name="client_error">Unable to get client id!</string>
|
||||
<string name="toast_error_loading_account">An error occurred while switching between accounts!</string>
|
||||
<string name="toast_error_search">An error occurred while searching!</string>
|
||||
<string name="nothing_to_do">No action can be taken</string>
|
||||
<string name="action_follow">Follow</string>
|
||||
<string name="action_mute">Mute</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="action_lists_confirm_delete">Are you sure you want to permanently delete this list?</string>
|
||||
<string name="action_lists_delete">Delete list</string>
|
||||
<string name="no_comments">Be the first to leave a comment on this video with the top right button!</string>
|
||||
<string name="comment_no_allowed_peertube">Comments are not enabled on this video!</string>
|
||||
<string name="pickup_resolution">Pick up a resolution</string>
|
||||
<string name="bookmark_add_peertube">The video has been added to bookmarks!</string>
|
||||
<string name="bookmark_remove_peertube">The video has been removed from bookmarks!</string>
|
||||
<string name="information" tools:ignore="UnusedResources">Information</string>
|
||||
<string name="app_logo">Logo of the application</string>
|
||||
<!-- languages not translated -->
|
||||
<string name="subscriptions">Subscriptions</string>
|
||||
<string name="delete_comment">Delete a comment</string>
|
||||
<string name="delete_comment_confirm">Are you sure to delete this comment?</string>
|
||||
<string name="set_video_mode">Mode for videos</string>
|
||||
<string name="my_videos">My videos</string>
|
||||
<string name="title">Title</string>
|
||||
<string name="license">License</string>
|
||||
<string name="category">Category</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="peertube_nsfw">This video contains mature or explicit content</string>
|
||||
<string name="peertube_enable_comments">Enable video comments</string>
|
||||
<string name="description">Description</string>
|
||||
<string name="toast_peertube_video_updated">The video has been updated!</string>
|
||||
<string name="register_account">Register an account</string>
|
||||
<string name="email_address">Email address</string>
|
||||
<string name="preview">Preview</string>
|
||||
<string name="change_preview">Change preview</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="display_more">Display more</string>
|
||||
<string name="no_channels">No channels!</string>
|
||||
<string name="report_helper">Some explanations about your report…</string>
|
||||
<string name="report_video">Report video</string>
|
||||
<string name="report">Report</string>
|
||||
<string name="change_instance">Pickup another instance</string>
|
||||
<string name="my_history">History</string>
|
||||
<string name="edit">Edit</string>
|
||||
<string name="set_video_mode_description">Allows to change mode for playing videos (default, streaming or via a browser).</string>
|
||||
<string name="delete_video">Delete video</string>
|
||||
<string name="delete_video_confirmation">Are you sure to delete this video?</string>
|
||||
<string name="no_video_to_display">No videos to display!</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="peertube_comment_on_video"><![CDATA[<b>%1$s</b> commented your video <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_channel"><![CDATA[<b>%1$s</b> is following your channel <b>%2$s</b>]]></string>
|
||||
<string name="peertube_follow_account"><![CDATA[<b>%1$s</b> is following your account]]></string>
|
||||
<string name="peertube_video_published"><![CDATA[Your video <b>%1$s</b> has been published]]></string>
|
||||
<string name="peertube_video_import_success"><![CDATA[Your video import <b>%1$s</b> succeeded]]></string>
|
||||
<string name="peertube_video_import_error"><![CDATA[Your video import <b>%1$s</b> failed]]></string>
|
||||
<string name="peertube_video_from_subscription"><![CDATA[<b>%1$s</b> published a new video: <b>%2$s</b>]]></string>
|
||||
<string name="peertube_video_blacklist"><![CDATA[Your video <b>%1$s</b> has been blacklisted]]></string>
|
||||
<string name="peertube_video_unblacklist"><![CDATA[Your video <b>%1$s</b> has been unblacklisted]]></string>
|
||||
<string name="add_public_comment">Add a public comment</string>
|
||||
<string name="send_comment">Send comment</string>
|
||||
<string name="all">All</string>
|
||||
<!-- end languages -->
|
||||
<string name="playlists">Playlists</string>
|
||||
<string name="display_name">Display name</string>
|
||||
<string name="action_playlist_add">You don\'t have any playlists. Tap on the \"+\" icon to add a new playlist</string>
|
||||
<string name="error_display_name">You must provide a display name!</string>
|
||||
<string name="error_channel_mandatory">The channel is required when the playlist is public.</string>
|
||||
<string name="action_playlist_create">Create a playlist</string>
|
||||
<string name="action_playlist_empty_content">There is nothing in this playlist yet.</string>
|
||||
<string name="password_confirm">Confirm password</string>
|
||||
<string name="agreement_check">I agree to %1$s and %2$s</string>
|
||||
<string name="server_rules">server rules</string>
|
||||
<string name="tos">terms of service</string>
|
||||
<string name="sign_up">Sign up</string>
|
||||
<string name="all_field_filled">Please, fill all the fields!</string>
|
||||
<string name="password_error">Passwords don\'t match!</string>
|
||||
<string name="email_error">The email doesn\'t seem to be valid!</string>
|
||||
<string name="email_indicator">You will be sent a confirmation e-mail</string>
|
||||
<string name="password_indicator">Use at least 8 characters</string>
|
||||
<string name="password_too_short">Password should contain at least 8 characters</string>
|
||||
<string name="username_error">Username should only contain letters, numbers and underscores</string>
|
||||
<string name="account_created">Account created!</string>
|
||||
<string name="account_created_message"> Your account has been created!\n\n
|
||||
Think to validate your email within the 48 next hours.\n\n
|
||||
You can now connect your account by writing <b>%1$s</b> in the first field and tap on <b>Connect</b>.\n\n
|
||||
<b>Important</b>: If your instance required validation, you will receive an email once it is validated!
|
||||
</string>
|
||||
<string name="account">Account</string>
|
||||
<string name="report_account">Report account</string>
|
||||
<string-array name="settings_video_mode">
|
||||
<item>Normal</item>
|
||||
<item>Webview</item>
|
||||
<item>Direct stream</item>
|
||||
</string-array>
|
||||
<string name="unfollow_confirm">Do you want to unfollow this account?</string>
|
||||
<string name="title_video_peertube">Title for the video</string>
|
||||
<string name="join_peertube">Join Peertube</string>
|
||||
<string name="agreement_check_peertube">I am at least 16 years old and agree to the %1$s of this instance</string>
|
||||
<string name="edit_profile">Edit profile</string>
|
||||
<string name="make_an_action">Make an action</string>
|
||||
<string name="action_unfollow">Unfollow</string>
|
||||
<string name="display_nsfw_videos">Display sensitive videos</string>
|
||||
<string name="fullscreen">Fullscreen</string>
|
||||
<string name="bookmark_peertube_empty">There are no videos in your favourites!</string>
|
||||
<string name="delete_channel">Remove channel</string>
|
||||
<string name="action_channel_confirm_delete">Are you sure to permanently delete this channel?</string>
|
||||
<string name="no_muted">No muted accounts!</string>
|
||||
<string name="error_display_name_channel">You must define a name and a display name for this channel!</string>
|
||||
<string name="action_channel_create">Create a channel</string>
|
||||
<string name="action_channel_edit">Edit channel</string>
|
||||
<string name="email_error_domain">Email addresses in %1$s are not allowed!</string>
|
||||
<string name="report_comment_size">Please, specify the reasons</string>
|
||||
<string name="not_logged_in">You must be authenticated to proceed to this action!</string>
|
||||
<string name="successful_report">The account has been reported!</string>
|
||||
<string name="successful_video_report">The video has been reported!</string>
|
||||
<string name="password_length_error">The password must contain at least 6 characters!</string>
|
||||
<string name="muted_done">The account has been muted!</string>
|
||||
<string name="edit_video">Edit video</string>
|
||||
<string name="create_an_account">Create an account</string>
|
||||
<string name="followers_count">%1$s Subscribers</string>
|
||||
<string name="developer">Developer</string>
|
||||
<string name="about_vesrion">Release %1$s</string>
|
||||
<string name="about_the_app">About the app</string>
|
||||
<string name="Donate">Donate</string>
|
||||
<string name="source_code">Source code</string>
|
||||
<string name="issue_tracker">Issue tracker</string>
|
||||
<string name="action_instance_empty_content">No instances match these criteria</string>
|
||||
<string name="instances_picker">Instances picker</string>
|
||||
<string name="pickup_instance">Pickup this instance</string>
|
||||
<string name="sensitive_video"> Sensitive videos</string>
|
||||
<string name="sensitive_content">Sensitive content: %1$s</string>
|
||||
<string name="followers_instance">%1$s followers instances</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="pickup_categories">Pickup categories</string>
|
||||
<string name="pickup_languages">Pickup languages</string>
|
||||
<string name="notification_channel_name">Update information</string>
|
||||
<string name="add_account">Add an account</string>
|
||||
<string name="list_of_accounts">List of accounts</string>
|
||||
</resources>
|
|
@ -7,6 +7,9 @@
|
|||
<color name="tag_color_text">#FAFAFA</color>
|
||||
<color name="positive_thumbs">#2b90d9</color>
|
||||
<color name="negative_thumbs">#F44336</color>
|
||||
|
||||
<color name="favorite">#ca8f04</color>
|
||||
<color name="bookmark">#795548</color>
|
||||
<color name="backgroundDark">#DD000000</color>
|
||||
<color name="red_1">#F44336</color>
|
||||
<color name="gray_light">#80808080</color>
|
||||
</resources>
|
|
@ -1,5 +1,5 @@
|
|||
<resources>
|
||||
|
||||
<attr name="backgroundView" format="color" />
|
||||
|
||||
<!-- Base application theme. -->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
|
@ -8,6 +8,7 @@
|
|||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||
<item name="backgroundView">@color/white</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
|
@ -15,13 +16,18 @@
|
|||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
|
||||
<item name="android:textColor">?attr/colorOnBackground</item>
|
||||
<item name="backgroundView">@color/white</item>
|
||||
</style>
|
||||
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark"/>
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.Light"/>
|
||||
<style name="theme" parent="@style/ThemeOverlay.AppCompat.Dark" />
|
||||
|
||||
<style name="popupTheme" parent="@style/ThemeOverlay.AppCompat.Light" />
|
||||
|
||||
<style name="progress" parent="SpinKitView.Circle" />
|
||||
|
||||
<style name="progressBottom" parent="SpinKitView.ThreeBounce" />
|
||||
|
||||
<style name="searchBarSepia" parent="MaterialSearchBarLight" />
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<external-path
|
||||
name="my_images"
|
||||
path="/TubeLab/" />
|
||||
|
||||
</paths>
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="app.fedilab.fedilabtube">
|
||||
|
||||
|
||||
<application
|
||||
android:name=".FedilabTube"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="android:allowBackup">
|
||||
|
||||
<activity
|
||||
android:name=".activities.MainActivity"
|
||||
tools:node="merge"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:scheme="file" />
|
||||
<data android:host="*" />
|
||||
<data android:mimeType="application/json" />
|
||||
<data android:pathPattern=".*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.tubelab" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
|
||||
android:value="app.fedilab.fedilabtube.provider.CastOptionsProvider" />
|
||||
</application>
|
||||
</manifest>
|
|
@ -0,0 +1,42 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import app.fedilab.fedilabtube.activities.BaseActivity;
|
||||
import app.fedilab.fedilabtube.databinding.ActivityMainBinding;
|
||||
|
||||
public class BaseMainActivity extends BaseActivity {
|
||||
|
||||
protected ActivityMainBinding binding;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityMainBinding.inflate(getLayoutInflater());
|
||||
View view = binding.getRoot();
|
||||
setContentView(view);
|
||||
}
|
||||
|
||||
//Method for discovering cast devices
|
||||
public void discoverCast() {
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,182 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.android.exoplayer2.SimpleExoPlayer;
|
||||
import com.google.android.gms.cast.MediaInfo;
|
||||
import com.google.android.gms.cast.MediaMetadata;
|
||||
import com.google.android.gms.cast.framework.CastButtonFactory;
|
||||
import com.google.android.gms.cast.framework.CastContext;
|
||||
import com.google.android.gms.cast.framework.CastSession;
|
||||
import com.google.android.gms.cast.framework.SessionManagerListener;
|
||||
import com.google.android.gms.cast.framework.media.RemoteMediaClient;
|
||||
import com.google.android.gms.common.images.WebImage;
|
||||
|
||||
import app.fedilab.fedilabtube.activities.BaseActivity;
|
||||
import app.fedilab.fedilabtube.client.data.VideoData;
|
||||
import app.fedilab.fedilabtube.databinding.ActivityPeertubeBinding;
|
||||
import app.fedilab.fedilabtube.helper.Helper;
|
||||
|
||||
public class BasePeertubeActivity extends BaseActivity {
|
||||
|
||||
protected ActivityPeertubeBinding binding;
|
||||
protected VideoData.Video peertube;
|
||||
protected SimpleExoPlayer player;
|
||||
protected String videoURL;
|
||||
protected String subtitlesStr;
|
||||
|
||||
private CastContext mCastContext;
|
||||
private CastSession mCastSession;
|
||||
private SessionManagerListener<CastSession> mSessionManagerListener;
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityPeertubeBinding.inflate(getLayoutInflater());
|
||||
View view = binding.getRoot();
|
||||
setContentView(view);
|
||||
final SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
int search_cast = sharedpreferences.getInt(getString(R.string.set_cast_choice), BuildConfig.cast_enabled);
|
||||
if (search_cast == 1) {
|
||||
setupCastListener();
|
||||
mCastContext = CastContext.getSharedInstance(BasePeertubeActivity.this);
|
||||
mCastSession = mCastContext.getSessionManager().getCurrentCastSession();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void loadCast() {
|
||||
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
|
||||
|
||||
movieMetadata.putString(MediaMetadata.KEY_TITLE, peertube.getTitle());
|
||||
movieMetadata.putString(MediaMetadata.KEY_ARTIST, peertube.getAccount().getDisplayName());
|
||||
if (subtitlesStr != null) {
|
||||
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, subtitlesStr);
|
||||
}
|
||||
movieMetadata.addImage(new WebImage(Uri.parse("https://" + peertube.getChannel().getHost() + peertube.getPreviewPath())));
|
||||
MediaInfo mediaInfo = new MediaInfo.Builder(videoURL)
|
||||
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
|
||||
.setMetadata(movieMetadata)
|
||||
.setStreamDuration(peertube.getDuration() * 1000L)
|
||||
.build();
|
||||
if (mCastSession != null) {
|
||||
RemoteMediaClient remoteMediaClient = mCastSession.getRemoteMediaClient();
|
||||
remoteMediaClient.load(mediaInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void setupCastListener() {
|
||||
mSessionManagerListener = new SessionManagerListener<CastSession>() {
|
||||
@Override
|
||||
public void onSessionStarting(@NonNull CastSession castSession) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionStarted(@NonNull CastSession castSession, String s) {
|
||||
onApplicationConnected(castSession, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionStartFailed(@NonNull CastSession castSession, int i) {
|
||||
onApplicationDisconnected();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionEnding(@NonNull CastSession castSession) {
|
||||
onApplicationDisconnected();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionEnded(@NonNull CastSession castSession, int i) {
|
||||
onApplicationDisconnected();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionResuming(@NonNull CastSession castSession, String s) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionResumed(@NonNull CastSession castSession, boolean b) {
|
||||
onApplicationConnected(castSession, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionResumeFailed(@NonNull CastSession castSession, int i) {
|
||||
onApplicationDisconnected();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSessionSuspended(@NonNull CastSession castSession, int i) {
|
||||
onApplicationDisconnected();
|
||||
}
|
||||
|
||||
private void onApplicationConnected(CastSession castSession, boolean hide) {
|
||||
mCastSession = castSession;
|
||||
supportInvalidateOptionsMenu();
|
||||
player.setPlayWhenReady(false);
|
||||
if (hide) {
|
||||
binding.doubleTapPlayerView.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
binding.minController.castMiniController.setVisibility(View.VISIBLE);
|
||||
loadCast();
|
||||
}
|
||||
|
||||
private void onApplicationDisconnected() {
|
||||
binding.doubleTapPlayerView.setVisibility(View.VISIBLE);
|
||||
binding.minController.castMiniController.setVisibility(View.GONE);
|
||||
supportInvalidateOptionsMenu();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
mCastContext.getSessionManager().addSessionManagerListener(
|
||||
mSessionManagerListener, CastSession.class);
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
mCastContext.getSessionManager().removeSessionManagerListener(
|
||||
mSessionManagerListener, CastSession.class);
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
getMenuInflater().inflate(R.menu.video_menu, menu);
|
||||
CastButtonFactory.setUpMediaRouteButton(getApplicationContext(),
|
||||
menu,
|
||||
R.id.media_route_button);
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright (C) 2016 Google LLC. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package app.fedilab.fedilabtube.expandedcontrols;
|
||||
|
||||
import android.view.Menu;
|
||||
|
||||
import com.google.android.gms.cast.framework.CastButtonFactory;
|
||||
import com.google.android.gms.cast.framework.media.widget.ExpandedControllerActivity;
|
||||
|
||||
import app.fedilab.fedilabtube.R;
|
||||
|
||||
|
||||
public class ExpandedControlsActivity extends ExpandedControllerActivity {
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
getMenuInflater().inflate(R.menu.video_menu, menu);
|
||||
CastButtonFactory.setUpMediaRouteButton(this, menu, R.id.media_route_button);
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package app.fedilab.fedilabtube.provider;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.android.gms.cast.framework.CastOptions;
|
||||
import com.google.android.gms.cast.framework.OptionsProvider;
|
||||
import com.google.android.gms.cast.framework.SessionProvider;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import app.fedilab.fedilabtube.helper.Helper;
|
||||
|
||||
public class CastOptionsProvider implements OptionsProvider {
|
||||
@Override
|
||||
public CastOptions getCastOptions(@NonNull Context context) {
|
||||
return new CastOptions.Builder()
|
||||
.setReceiverApplicationId(Helper.CAST_ID)
|
||||
.build();
|
||||
}
|
||||
@Override
|
||||
public List<SessionProvider> getAdditionalSessionProviders(@NonNull Context context) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/castMiniController"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/black"
|
||||
android:visibility="gone">
|
||||
|
||||
<fragment
|
||||
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item
|
||||
android:id="@+id/media_route_button"
|
||||
android:title="@string/cast"
|
||||
app:actionProviderClass="androidx.mediarouter.app.MediaRouteActionProvider"
|
||||
app:showAsAction="always" />
|
||||
</menu>
|
|
@ -0,0 +1,278 @@
|
|||
package app.fedilab.fedilabtube;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.android.billingclient.api.AcknowledgePurchaseParams;
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.BillingClientStateListener;
|
||||
import com.android.billingclient.api.BillingResult;
|
||||
import com.android.billingclient.api.ConsumeParams;
|
||||
import com.android.billingclient.api.ConsumeResponseListener;
|
||||
import com.android.billingclient.api.Purchase;
|
||||
import com.android.billingclient.api.PurchasesUpdatedListener;
|
||||
import com.android.billingclient.api.SkuDetailsParams;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import app.fedilab.fedilabtube.databinding.ActivityDonationBinding;
|
||||
|
||||
import app.fedilab.fedilabtube.fragment.MySubscriptionDonationsFragment;
|
||||
import app.fedilab.fedilabtube.fragment.DonationsFragment;
|
||||
|
||||
|
||||
public class DonationActivity extends AppCompatActivity implements PurchasesUpdatedListener {
|
||||
|
||||
|
||||
DonationsFragment donationsFragment;
|
||||
DonationsFragment subscriptionDonationsFragment;
|
||||
MySubscriptionDonationsFragment mySubscriptionDonationsFragment;
|
||||
private ActivityDonationBinding binding;
|
||||
private BillingClient billingClient;
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityDonationBinding.inflate(getLayoutInflater());
|
||||
View view = binding.getRoot();
|
||||
setContentView(view);
|
||||
billingClient = BillingClient.newBuilder(this)
|
||||
.setListener(this)
|
||||
.enablePendingPurchases()
|
||||
.build();
|
||||
billingClient.startConnection(new BillingClientStateListener() {
|
||||
@Override
|
||||
public void onBillingSetupFinished(@NotNull BillingResult billingResult) {
|
||||
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
|
||||
// The BillingClient is ready. You can query purchases here.
|
||||
donationsFragment.initialized(billingClient);
|
||||
subscriptionDonationsFragment.initialized(billingClient);
|
||||
|
||||
List<Purchase> purchases = queryPurchases();
|
||||
if (purchases != null) {
|
||||
for (Purchase purchase : purchases) {
|
||||
if (!purchase.isAutoRenewing()) {
|
||||
ConsumeParams consumeParams =
|
||||
ConsumeParams.newBuilder()
|
||||
.setPurchaseToken(purchase.getPurchaseToken())
|
||||
.build();
|
||||
|
||||
ConsumeResponseListener listener = (billingResult1, purchaseToken) -> {
|
||||
//noinspection StatementWithEmptyBody
|
||||
if (billingResult1.getResponseCode() == BillingClient.BillingResponseCode.OK) {
|
||||
// Handle the success of the consume operation.
|
||||
}
|
||||
};
|
||||
billingClient.consumeAsync(consumeParams, listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBillingServiceDisconnected() {
|
||||
// Try to restart the connection on the next request to
|
||||
// Google Play by calling the startConnection() method.
|
||||
}
|
||||
});
|
||||
if (getSupportActionBar() != null)
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
donationsFragment = new DonationsFragment();
|
||||
Bundle bundle1 = new Bundle();
|
||||
bundle1.putSerializable("isSubscriptions", false);
|
||||
donationsFragment.setArguments(bundle1);
|
||||
|
||||
|
||||
subscriptionDonationsFragment = new DonationsFragment();
|
||||
Bundle bundle2 = new Bundle();
|
||||
bundle2.putSerializable("isSubscriptions", true);
|
||||
subscriptionDonationsFragment.setArguments(bundle2);
|
||||
|
||||
mySubscriptionDonationsFragment = new MySubscriptionDonationsFragment();
|
||||
|
||||
binding.tablayout.addTab(binding.tablayout.newTab().setText(getString(R.string.one_time)));
|
||||
binding.tablayout.addTab(binding.tablayout.newTab().setText(getString(R.string.subscriptions)));
|
||||
binding.tablayout.addTab(binding.tablayout.newTab().setText(getString(R.string.my_subscriptions)));
|
||||
binding.viewpager.setOffscreenPageLimit(3);
|
||||
|
||||
PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
|
||||
binding.viewpager.setAdapter(mPagerAdapter);
|
||||
binding.viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
TabLayout.Tab tab = binding.tablayout.getTabAt(position);
|
||||
if (tab != null)
|
||||
tab.select();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
binding.tablayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
@Override
|
||||
public void onTabSelected(TabLayout.Tab tab) {
|
||||
binding.viewpager.setCurrentItem(tab.getPosition());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabUnselected(TabLayout.Tab tab) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabReselected(TabLayout.Tab tab) {
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private List<Purchase> queryPurchases() {
|
||||
Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
|
||||
List<Purchase> purchases = purchasesResult.getPurchasesList();
|
||||
List<String> isSubscriptions = new ArrayList<>();
|
||||
HashMap<String, Purchase> map = new HashMap<>();
|
||||
if (purchases != null) {
|
||||
for (Purchase purchase : purchases) {
|
||||
try {
|
||||
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
|
||||
JSONObject purchaseJson = new JSONObject(purchase.getOriginalJson());
|
||||
String productId = purchaseJson.getString("productId");
|
||||
isSubscriptions.add(productId);
|
||||
map.put(productId, purchase);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
SkuDetailsParams.Builder paramsSub = SkuDetailsParams.newBuilder();
|
||||
paramsSub.setSkusList(isSubscriptions).setType(BillingClient.SkuType.SUBS);
|
||||
billingClient.querySkuDetailsAsync(paramsSub.build(),
|
||||
(billingResult2, skuDetailsList) -> mySubscriptionDonationsFragment.initialized(skuDetailsList, map, billingClient));
|
||||
} else {
|
||||
mySubscriptionDonationsFragment.initialized(new ArrayList<>(), map, billingClient);
|
||||
}
|
||||
return purchases;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
|
||||
String message;
|
||||
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK
|
||||
&& purchases != null) {
|
||||
for (Purchase purchase : purchases) {
|
||||
if (!purchase.isAutoRenewing()) {
|
||||
ConsumeParams consumeParams =
|
||||
ConsumeParams.newBuilder()
|
||||
.setPurchaseToken(purchase.getPurchaseToken())
|
||||
.build();
|
||||
|
||||
ConsumeResponseListener listener = (billingResult1, purchaseToken) -> {
|
||||
};
|
||||
billingClient.consumeAsync(consumeParams, listener);
|
||||
} else {
|
||||
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
|
||||
if (!purchase.isAcknowledged()) {
|
||||
AcknowledgePurchaseParams acknowledgePurchaseParams =
|
||||
AcknowledgePurchaseParams.newBuilder()
|
||||
.setPurchaseToken(purchase.getPurchaseToken())
|
||||
.build();
|
||||
billingClient.acknowledgePurchase(acknowledgePurchaseParams, b -> {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
queryPurchases();
|
||||
}
|
||||
}
|
||||
message = getString(R.string.donation_succeeded_null);
|
||||
} else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) {
|
||||
message = getString(R.string.donation_cancelled);
|
||||
} else {
|
||||
message = getString(R.string.toast_error);
|
||||
}
|
||||
View parentLayout = findViewById(android.R.id.content);
|
||||
Snackbar snackbar = Snackbar.make(parentLayout, message, Snackbar.LENGTH_INDEFINITE);
|
||||
snackbar.setAction(R.string.close, view -> snackbar.dismiss());
|
||||
snackbar.show();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pager adapter for the 2 fragments
|
||||
*/
|
||||
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
|
||||
|
||||
ScreenSlidePagerAdapter(FragmentManager fm) {
|
||||
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
if (position == 0) {
|
||||
return donationsFragment;
|
||||
} else if (position == 1) {
|
||||
return subscriptionDonationsFragment;
|
||||
} else {
|
||||
return mySubscriptionDonationsFragment;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
package app.fedilab.fedilabtube.drawable;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.BillingFlowParams;
|
||||
import com.android.billingclient.api.SkuDetails;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import app.fedilab.fedilabtube.DonationActivity;
|
||||
import app.fedilab.fedilabtube.R;
|
||||
import app.fedilab.fedilabtube.databinding.DrawerDonationBinding;
|
||||
|
||||
|
||||
public class DonationButtonAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private final List<SkuDetails> skuDetails;
|
||||
private final BillingClient billingClient;
|
||||
private Context context;
|
||||
private final boolean isSubscription;
|
||||
|
||||
public DonationButtonAdapter(List<SkuDetails> skuDetails, BillingClient billingClient, boolean subscription) {
|
||||
this.isSubscription = subscription;
|
||||
this.skuDetails = skuDetails;
|
||||
this.billingClient = billingClient;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
context = parent.getContext();
|
||||
DrawerDonationBinding itemBinding = DrawerDonationBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
|
||||
return new ViewHolder(itemBinding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) {
|
||||
final ViewHolder holder = (ViewHolder) viewHolder;
|
||||
SkuDetails skuDetail = skuDetails.get(position);
|
||||
String currency = skuDetail.getPriceCurrencyCode();
|
||||
String price = skuDetail.getPrice();
|
||||
if (isSubscription) {
|
||||
holder.binding.buttonDonation.setText(String.format(Locale.getDefault(), "%s %s / %s", price, currency, context.getString(R.string.month)));
|
||||
} else {
|
||||
holder.binding.buttonDonation.setText(String.format(Locale.getDefault(), "%s %s", price, currency));
|
||||
}
|
||||
|
||||
holder.binding.buttonDonation.setOnClickListener(v -> {
|
||||
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
|
||||
.setSkuDetails(skuDetail)
|
||||
.build();
|
||||
billingClient.launchBillingFlow((DonationActivity) context, billingFlowParams);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return skuDetails.size();
|
||||
}
|
||||
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
DrawerDonationBinding binding;
|
||||
|
||||
ViewHolder(DrawerDonationBinding itemView) {
|
||||
super(itemView.getRoot());
|
||||
binding = itemView;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
package app.fedilab.fedilabtube.drawable;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.ConsumeParams;
|
||||
import com.android.billingclient.api.ConsumeResponseListener;
|
||||
import com.android.billingclient.api.Purchase;
|
||||
import com.android.billingclient.api.SkuDetails;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import app.fedilab.fedilabtube.R;
|
||||
import app.fedilab.fedilabtube.databinding.DrawerMyDonationBinding;
|
||||
import es.dmoral.toasty.Toasty;
|
||||
|
||||
|
||||
public class DonationHistoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private final List<SkuDetails> skuDetailsList;
|
||||
private final BillingClient billingClient;
|
||||
private Context context;
|
||||
private final HashMap<String, Purchase> map;
|
||||
|
||||
public DonationHistoryAdapter(List<SkuDetails> SkuDetailsList, HashMap<String, Purchase> map, BillingClient billingClient) {
|
||||
this.skuDetailsList = SkuDetailsList;
|
||||
this.billingClient = billingClient;
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
context = parent.getContext();
|
||||
DrawerMyDonationBinding itemBinding = DrawerMyDonationBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
|
||||
return new ViewHolder(itemBinding);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int position) {
|
||||
final ViewHolder holder = (ViewHolder) viewHolder;
|
||||
SkuDetails skuDetails = skuDetailsList.get(position);
|
||||
holder.binding.productTitle.setText(skuDetails.getTitle());
|
||||
holder.binding.productName.setText(skuDetails.getDescription());
|
||||
holder.binding.productInfo.setText(skuDetails.getOriginalPrice());
|
||||
|
||||
holder.binding.cancelDonation.setOnClickListener(v -> {
|
||||
|
||||
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context);
|
||||
dialogBuilder.setMessage(R.string.cancel_subscription_confirm);
|
||||
|
||||
dialogBuilder.setPositiveButton(R.string.cancel_subscription, (dialog, id) -> {
|
||||
JSONObject skudetailsJson;
|
||||
try {
|
||||
skudetailsJson = new JSONObject(skuDetails.getOriginalJson());
|
||||
String productId = skudetailsJson.getString("productId");
|
||||
if (map.containsKey(productId)) {
|
||||
Purchase purchase = map.get(productId);
|
||||
if (purchase != null) {
|
||||
ConsumeParams consumeParams =
|
||||
ConsumeParams.newBuilder()
|
||||
.setPurchaseToken(purchase.getPurchaseToken())
|
||||
.build();
|
||||
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
|
||||
ConsumeResponseListener listener = (billingResult1, purchaseToken) -> {
|
||||
if (billingResult1.getResponseCode() == BillingClient.BillingResponseCode.OK) {
|
||||
Toasty.success(context, context.getString(R.string.subscription_cancelled), Toasty.LENGTH_LONG).show();
|
||||
}
|
||||
skuDetailsList.remove(skuDetails);
|
||||
notifyDataSetChanged();
|
||||
};
|
||||
billingClient.consumeAsync(consumeParams, listener);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
dialog.dismiss();
|
||||
});
|
||||
dialogBuilder.setNegativeButton(R.string.cancel, (dialog, id) -> dialog.dismiss());
|
||||
AlertDialog alertDialogLogoutAccount = dialogBuilder.create();
|
||||
alertDialogLogoutAccount.show();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return skuDetailsList.size();
|
||||
}
|
||||
|
||||
|
||||
static class ViewHolder extends RecyclerView.ViewHolder {
|
||||
DrawerMyDonationBinding binding;
|
||||
|
||||
ViewHolder(DrawerMyDonationBinding itemView) {
|
||||
super(itemView.getRoot());
|
||||
binding = itemView;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
package app.fedilab.fedilabtube.fragment;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.SkuDetailsParams;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import app.fedilab.fedilabtube.R;
|
||||
import app.fedilab.fedilabtube.databinding.FragmentDonationsBinding;
|
||||
import app.fedilab.fedilabtube.drawable.DonationButtonAdapter;
|
||||
|
||||
|
||||
public class DonationsFragment extends Fragment {
|
||||
|
||||
public static final String[] donations = {"1", "2", "5", "10"};
|
||||
private FragmentDonationsBinding binding;
|
||||
private View rootView;
|
||||
private Context context;
|
||||
private boolean isSubscriptions;
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
binding = FragmentDonationsBinding.inflate(LayoutInflater.from(context));
|
||||
rootView = binding.getRoot();
|
||||
context = getContext();
|
||||
Bundle bundle = this.getArguments();
|
||||
if (bundle != null) {
|
||||
isSubscriptions = bundle.getBoolean("isSubscriptions", false);
|
||||
}
|
||||
int donationText;
|
||||
if (isSubscriptions) {
|
||||
donationText = R.string.recurrent_donation_text;
|
||||
} else {
|
||||
donationText = R.string.one_time_donation_text;
|
||||
}
|
||||
binding.donationText.setText(donationText);
|
||||
binding.loader.setVisibility(View.VISIBLE);
|
||||
binding.lvProducts.setVisibility(View.GONE);
|
||||
return rootView;
|
||||
}
|
||||
|
||||
public void initialized(BillingClient bc) {
|
||||
|
||||
|
||||
List<String> donationsList = new ArrayList<>();
|
||||
for (String val : donations) {
|
||||
donationsList.add("tubelab_donation_" + val + (isSubscriptions ? "_s" : ""));
|
||||
}
|
||||
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
|
||||
if (isSubscriptions) {
|
||||
params.setSkusList(donationsList).setType(BillingClient.SkuType.SUBS);
|
||||
} else {
|
||||
params.setSkusList(donationsList).setType(BillingClient.SkuType.INAPP);
|
||||
}
|
||||
bc.querySkuDetailsAsync(params.build(),
|
||||
(billingResult, skuDetailsList) -> {
|
||||
binding.loader.setVisibility(View.GONE);
|
||||
binding.lvProducts.setVisibility(View.VISIBLE);
|
||||
if (skuDetailsList != null) {
|
||||
Collections.sort(skuDetailsList, (obj1, obj2) -> obj1.getPrice().compareTo(obj2.getPrice()));
|
||||
}
|
||||
DonationButtonAdapter donationButtonAdapter = new DonationButtonAdapter(skuDetailsList, bc, isSubscriptions);
|
||||
binding.lvProducts.setAdapter(donationButtonAdapter);
|
||||
binding.lvProducts.setLayoutManager(new LinearLayoutManager(context));
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
rootView = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle saveInstance) {
|
||||
super.onCreate(saveInstance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
this.context = context;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package app.fedilab.fedilabtube.fragment;
|
||||
/* Copyright 2021 Thomas Schneider
|
||||
*
|
||||
* This file is a part of TubeLab
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
* Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.Purchase;
|
||||
import com.android.billingclient.api.SkuDetails;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import app.fedilab.fedilabtube.databinding.FragmentMyDonationsBinding;
|
||||
import app.fedilab.fedilabtube.drawable.DonationHistoryAdapter;
|
||||
|
||||
public class MySubscriptionDonationsFragment extends Fragment {
|
||||
|
||||
private FragmentMyDonationsBinding binding;
|
||||
private View rootView;
|
||||
private Context context;
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
binding = FragmentMyDonationsBinding.inflate(LayoutInflater.from(context));
|
||||
rootView = binding.getRoot();
|
||||
context = getContext();
|
||||
binding.loader.setVisibility(View.VISIBLE);
|
||||
binding.lvPurchases.setVisibility(View.GONE);
|
||||
return rootView;
|
||||
}
|
||||
|
||||
public void initialized(List<SkuDetails> skuDetailsList, HashMap<String, Purchase> map, BillingClient bc) {
|
||||
binding.loader.setVisibility(View.GONE);
|
||||
binding.lvPurchases.setVisibility(View.VISIBLE);
|
||||
|
||||
DonationHistoryAdapter donationHistoryAdapter = new DonationHistoryAdapter(skuDetailsList, map, bc);
|
||||
binding.lvPurchases.setAdapter(donationHistoryAdapter);
|
||||
binding.lvPurchases.setLayoutManager(new LinearLayoutManager(context));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
rootView = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle saveInstance) {
|
||||
super.onCreate(saveInstance);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
this.context = context;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
Copyright 2021 Thomas Schneider
|
||||
|
||||
This file is a part of TubeLab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
see <http://www.gnu.org/licenses>.
|
||||
-->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".activities.ShowChannelActivity">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true"
|
||||
app:contentScrim="?attr/colorPrimary"
|
||||
app:expandedTitleMarginEnd="64dp"
|
||||
app:expandedTitleMarginStart="48dp"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed">
|
||||
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tablayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:tabGravity="fill"
|
||||
app:tabMode="fixed"
|
||||
app:tabSelectedTextColor="?colorAccent"
|
||||
app:tabTextColor="@android:color/white" />
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_donation"
|
||||
style="@style/Widget.AppCompat.Button.Colored"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:paddingStart="40dp"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingEnd="40dp"
|
||||
android:paddingBottom="15dp"
|
||||
android:textSize="25sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_margin="10dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/product_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/cancel_donation"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/product_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/cancel_donation"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/product_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/product_info"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/cancel_donation"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/product_name" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/cancel_donation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/cancel"
|
||||
android:src="@drawable/ic_baseline_delete_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
Copyright 2021 Thomas Schneider
|
||||
|
||||
This file is a part of TubeLab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
see <http://www.gnu.org/licenses>.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingLeft="@dimen/fab_margin"
|
||||
android:paddingRight="@dimen/fab_margin">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="20dp"
|
||||
android:gravity="center"
|
||||
android:id="@+id/donation_text" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/lv_products"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:divider="@null"
|
||||
android:scrollbars="none" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Main Loader -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/loader"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.github.ybq.android.spinkit.SpinKitView xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
style="@style/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
app:SpinKit_Color="?colorAccent" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
Copyright 2021 Thomas Schneider
|
||||
|
||||
This file is a part of TubeLab
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
TubeLab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||
Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with TubeLab; if not,
|
||||
see <http://www.gnu.org/licenses>.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingLeft="@dimen/fab_margin"
|
||||
android:paddingRight="@dimen/fab_margin">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="20dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/donations_description" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/lv_purchases"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:divider="@null"
|
||||
android:scrollbars="none" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Main Loader -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/loader"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.github.ybq.android.spinkit.SpinKitView xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
style="@style/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
app:SpinKit_Color="?colorAccent" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|