This commit is contained in:
ByteHamster 2019-11-09 01:07:13 +01:00
parent d9e122f6d2
commit 57900be16e
14 changed files with 172 additions and 1022 deletions

View File

@ -1,194 +1,174 @@
DEVELOPERS
==========
Alan Orth
Alexander Terczka
Alexei Bendebury
Ali
alifeflow
alimemonzx
amhokies
Anders Bo Rasmussen
Anderson Mesquita
Andrew Gaul
Andrey Krutov
Anthony Lieuallen
axq
bhlee
Borjan Tchakaloff
brad
Brad Pitcher
Burt Wiley Snyder
ByteHamster
Cameron Banga
Christian Ludwig
Christopher Szucko
Cj Malone
Colin Willson
Cédric Cabessa
damoasda
Danial Klimkin
Daniel Oeh
David Carver
David Reiss
Dean Brettle
dethstar
Dirk Mueller
Domingos Lopes
drabux
egsavage
EirikV
Eoin Mcloughlin
eraymond
Ercan Erden
falko
Falko Lehmann
Hannes Achleitner
hannesa2
Hanno Zulla
heckler01
Holger Jeromin
Humberto Fraga
InsidE
James Falcon
Jan Niehusmann
Jan-Peter von Hunnius
Jatin Kumar
Jens Klingenberg
Jens Müller
Joe Stein
Johan Liesén
Kaligule
Katrin Leinweber
Kevin Dalley
Koen Glotzbach
kroegerama
Kurian Vithayathil
LatinSuD
Lee Yeong Khang
lightonflux
ligi
Luis Cruz
Marc Lasson
Martin Fietz
Martin Olsson
mat tso
mateoeh
Matias de Andrea
Matthew Gaffen
Matthias Schütz
Matthieu De Beule
Maurice Gilden
Meir Schwarz
Michael Kaiser
Michael Scarito
Mike Chelen
minusf
MolarAmbiguity
Mostafa Ahangarha
Mounir Lamouri
mr-intj
Nathan Mascitelli
Nis Wechselberg
Oliver Crow
orelogo
pachecosf
Paul Ortyl
Petar Kukolj
qkolj
Raghul
Raghul Jagannathan
recalculated
rezanejati
Ross Harrison
Sam Lee
Sam Whited
saqura
Selivanov Pavel
Serge
Seth Golub
sevenmaster
Shantana Hardy
Shinichiro Fujiwara
Simon Danner
Simon Rutishauser
Simon Schubert
Soso Tughushi
Spencer Visick
Stefan Mitrik
Stephen Kitt
Terence Eden
Tim Butram
Tobias Preuss
danieloeh
mfietz
TomHennen
Tom Tom
tommy watson
tuxayo
twiceyuan
Udi Finkelstein
VarunBarad
volhol
Volker Hollich
Wagubi Brian
WangYun
William Seemann
ByteHamster
orionlee
domingos86
andersonvom
patheticpat
spacecowboy
brad
Cj-Malone
gaul
qkolj
pachecosf
ahangarha
rharriso
xgouchet
damoasda
sevenmaster
TheRealFalcon
keunes
shortspider
hannesa2
jas14
udif
dirkmueller
jatinkumarg
peschmae0
orelogo
ydinath
TRANSLATORS
===========
CedricCabessa
mchelen
johnjohndoe
dethstar
drabux
saqura
bibz
hzulla
deandreamatias
MeirAtIMDDE
egsavage
ligi
dreiss
liesen
nereocystis
rezanejati
twiceyuan
HaBaLeS
volhol
CameronBanga
HolgerJeromin
xisberto
jmue
katrinleinweber
LatinSuD
24hours
SosoTughushi
fabolhak
archibishop
alifeflow
toggles
matdb
kingargyle
dsmith47
hannesaa2
jhunnius
ShadowIce
raghulj
raghulrm
stevomit
skitt
mr-intj
tuxayo
alimemonzx
alanorth
alexte
andrey-krutov
arantius
bws9000
chrissicool
cszucko
CWftw
danielm5
ariedov
brettle
eirikv
eerden
jannic
Foso
Kaligule
kvithayathil
luiscruz
mlasson
M-arcel
mo
mdeveloper20
mschuetz
MolarAmbiguity
mounirlamouri
ortylp
PtilopsisLeucotis
SamWhited
selivan
sonnayasomnambula
sethoscope
shantanahardy
mamehacker
danners
corecode
vimsick
edent
atrus6
waylife
wseemann
amhokies
axq
fossterer
lightonflux
minusf
Arabic: abdelrahman.fahem93, abdunnasir, abuzar3.khalid, desha, iDemo, mohamedagamy, msahouli, nabilMaghura
Asturian (Spain): enolp
Asturian (ast_ES): enolp
Azerbaijani: danieloeh, kotfenix
Basque: gaztainalde, pospolos, zakurranputza
Bulgarian: solusitor
Catalan: dvd1985, exort12, javiercoll, lambdani, marcmetallextrem, xc70
Catalan (Spain): 00c0c0, javiercoll
Catalan (ca_ES): 00c0c0, javiercoll
Chinese: dillonbecker, RainSlide, xukeek, yangyang
Chinese (China): bebeauties38, domingos86, dudeG, ErlichLiu, Felix2yu, gaohongyuan, Guaidaodl, Huck0, iconteral, JayYoung, jhxie, kavdx, kyleehee, linxiangyu, molisiye, owen8877, RainSlide, Sak94664, spice2wolf, stellaxuyi, tupunco, wi24rd, wongsyrone, xukeek, yangyang, yiqiok, YogaGuru
Chinese (Taiwan): gugod, nigelinux, pggdt, ymhuang0808
Czech (Czech Republic): elich, Hanzmeister, mcepl, petnek, svetlemodry
Chinese (zh_CN): bebeauties38, cyril3, domingos86, dudeG, ErlichLiu, Felix2yu, gaohongyuan, Guaidaodl, Huck0, iconteral, JayYoung, jhxie, kavdx, kyleehee, linxiangyu, molisiye, owen8877, RainSlide, Sak94664, spice2wolf, stellaxuyi, tupunco, wi24rd, wongsyrone, xukeek, yangyang, yiqiok, YogaGuru
Chinese (zh_TW): gugod, nigelinux, pggdt, Solomon, ymhuang0808
Czech (cs_CZ): anotheranonymoususer, elich, Hanzmeister, mcepl, petnek, svetlemodry
Danish: CasperHN, jhertel
Dutch: e2jk, glotzbach, rwv, Vistaus
English: mfietz, sterylmreep
Estonian: Eraser
Finnish: danieloeh, elguitar, Sahtor
French: cactux, ChaoticMind, clombion, e2jk, lacouture, LouFex, Matth78, mfietz, Poussinou, PRIMOKORN, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
French: cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
Galician: antiparvos, pikamoku, Raichely
German: 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
Greek: antonist, danieloeh, hua2016s, MSavoritias, pavlosv
Hebrew (Israel): amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
Hindi (India): ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar
Hungarian: glatz.balazs, hurrikan, lna91, marthynw, naren93, tszauer, ttyborg42
German: 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
Modern Greek (1453-): antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
Hebrew (he_IL): amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
Hindi (hi_IN): ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar
Hungarian: glatz.balazs, hurrikan, lna91, marthynw, meskobalazs, naren93, tszauer, ttyborg42
Icelandic: marthjod
Indonesian: jff, levirs565, luke137, rezafaiza, silvanael16
Italian: aalex70, allin, apanontin, Bonnee, giuseppep, Guybrush88, marco_pag, neonsoftware, sevenmaster, theloca95
Italian (Italy): aalex70, allin, apanontin, Bonnee, buongiorgio, giuseppep, Guybrush88, m.chinni, neonsoftware, niccord, nixxo, sevenmaster, theloca95
Italian (it_IT): aalex70, allin, apanontin, Bonnee, buongiorgio, giuseppep, Guybrush88, ilmanzo, m.chinni, neonsoftware, niccord, nixxo, sevenmaster, theloca95
Japanese: Naofumi, RACER1, sh3llc4t, TranslatorG
Kannada (India): thejeshgn
Kannada (kn_IN): chiraag.nataraj, thejeshgn
Korean: changwoo, libliboom, seungrye, skcha
Korean (South Korea): changwoo, seungrye
Korean (ko_KR): changwoo, seungrye
Lithuanian: naglis
Macedonian: krisfremen
Malayalam: rashivkp, rubenroy
Malayalam: joice, rashivkp, rubenroy
Norwegian: timbast
Norwegian Bokmål: corkie, danieloeh, heraldo
Norwegian Bokmål (Norway): corkie, heraldo, kongk, timbast
Norwegian Bokmål (nb_NO): corkie, heraldo, kongk, timbast
Persian: ahangarha, F7D, sinamoghaddas
Polish: Iwangelion, maniexx, mateossh, mfloryan
Polish (Poland): d6210809, hiro2020, Iwangelion, lomapur, mandlus, maniexx, Mephistofeles, shark103, tyle
Polish (pl_PL): d6210809, hiro2020, Iwangelion, kRkk, lomapur, mandlus, maniexx, Mephistofeles, shark103, tyle
Portuguese: andersonvom, domingos86, emansije, smarquespt
Portuguese (Brazil): alexupits, alysonborges, andersonvom, arua, caioau, carlo_valente, castrors, deandreamatias, edman, Firmino, jackmiras, Junin, lipefire, lluccia, lucasmotacr, mbaltar, rogervezaro, RubeensVinicius, SamWilliam, silvanael16
Romanian (Romania): corneliu.e, fuzzmz, ralienpp
Russian (Russia): astra1, btimofeev, Duke_Raven, gammja, GaynullinDima, MegMasters98, mercutiy, null, overmind88, PtilopsisLeucotis, s.chebotar, shams4real, skvheadless, un_logic, Vladryyu, whereisthetea, zhenya97
Slovenian (Slovenia): panter23
Spanish: AleksSyntek, andersonvom, coperfix, deandreamatias, domingos86, dvd1985, Fitoschido, frandavid100, hard_ware, javiercoll, Juanmuto, lambdani, LatinSuD, leogrignafini, palopezv, TacoTheDank, tres.14159, wakutiteo
Spanish (Spain): andersonvom, dvd1985, e2jk, frandavid100, hard_ware, palopezv, Raichely, TacoTheDank
Swahili: kmtra
Swahili (Kenya): BonfaceKilz
Swedish (Sweden): albin.brantin, Bio, bpnilsson, ChaoticMind, jony08, nilso, SharpMelon, TiloWiklund, TwoD
Portuguese (pt_BR): alexupits, alysonborges, andersonvom, arua, caioau, carlo_valente, castrors, deandreamatias, edman, Firmino, jackmiras, Junin, lipefire, lluccia, lucasmotacr, mbaltar, rogervezaro, RubeensVinicius, SamWilliam, silvanael16
Romanian (ro_RO): corneliu.e, fuzzmz, ralienpp
Russian (ru_RU): astra1, btimofeev, Duke_Raven, gammja, GaynullinDima, MegMasters98, mercutiy, null, overmind88, PtilopsisLeucotis, s.chebotar, shams4real, skvheadless, un_logic, Vladryyu, whereisthetea, zhenya97
Slovenian (sl_SI): panter23
Spanish: AleksSyntek, andersonvom, Atreyu94, coperfix, deandreamatias, domingos86, dvd1985, Fitoschido, frandavid100, hard_ware, javiercoll, Juanmuto, lambdani, LatinSuD, leogrignafini, palopezv, TacoTheDank, tres.14159, wakutiteo
Spanish (es_ES): andersonvom, dvd1985, e2jk, frandavid100, hard_ware, palopezv, Raichely, TacoTheDank
Swahili (macrolanguage): kmtra
Swahili (macrolanguage) (sw_KE): BonfaceKilz
Swedish (sv_SE): albin.brantin, Bio, bpnilsson, ChaoticMind, jony08, nilso, SharpMelon, TiloWiklund, TwoD
Telugu: Isaasu, veeven
Turkish: basarancaner, brsata, Erdy, golcuk, overbite, Slsdem
Ukrainian (Ukraine): older, paul_sm, sergiyr, zhenya97
Ukrainian (uk_UA): older, paul_sm, sergiyr, zhenya97
Vietnamese: abnvolk, nguyenvui, ppanhh, vietnamesel10n
Vietnamese (Vietnam): bizover
Vietnamese (vi_VN): bizover

View File

@ -187,18 +187,7 @@ if (project.hasProperty("antennaPodServiceAccountEmail")) {
}
}
task filterAbout(type: Copy) {
from "src/main/templates/about.html"
into "src/main/assets"
filter(ReplaceTokens, tokens: [
versionname: android.defaultConfig.versionName,
commit : "git rev-parse --short HEAD".execute().text,
year : new Date().format('yyyy')])
outputs.upToDateWhen { false }
}
task copyTextFiles(type: Copy) {
from "../CONTRIBUTORS"
task copyLicense(type: Copy) {
from "../LICENSE"
into "src/main/assets/"
rename { String fileName ->
@ -207,5 +196,5 @@ task copyTextFiles(type: Copy) {
outputs.upToDateWhen { false }
}
preBuild.dependsOn filterAbout, copyTextFiles
preBuild.dependsOn copyLicense

View File

@ -127,8 +127,3 @@
-dontwarn java.lang.management.ManagementFactory
-dontwarn java.lang.management.ThreadInfo
-dontwarn java.lang.management.ThreadMXBean
# About screen teaser in html view
-keep class de.danoeh.antennapod**.R$drawable {
public int teaser;
}

View File

@ -140,14 +140,6 @@
<activity android:name=".activity.StorageErrorActivity">
</activity>
<activity
android:name=".activity.AboutActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/about_pref">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="de.danoeh.antennapod.activity.PreferenceActivity"/>
</activity>
<activity
android:name=".activity.ImportExportActivity"
android:label="@string/import_export">

View File

@ -16,7 +16,7 @@ Estonian;Eraser
Finnish;danieloeh, elguitar, Sahtor
French;cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
Galician;antiparvos, pikamoku, Raichely
German;112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
German;112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
Modern Greek (1453-);antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
Hebrew (he_IL);amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
Hindi (hi_IN);ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar
1 Arabic abdelrahman.fahem93, abdunnasir, abuzar3.khalid, desha, iDemo, mohamedagamy, msahouli, nabilMaghura
16 Finnish danieloeh, elguitar, Sahtor
17 French cactux, ChaoticMind, clombion, e2jk, edewaele, lacouture, LouFex, Matth78, mfietz, Poussinou, repat, Sioul, sterylmreep, TacoTheDank, Tilwa, vcariven, whenrow
18 Galician antiparvos, pikamoku, Raichely
19 German 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid 112358, altegedanken, barilla, benedikt.g, bitsunited, Buggi, ByteHamster, ceving, ChaoticMind, Chaquotay, dab0015, dadosch, DerSilly, die_otto, DJaeger, elkangaroo, enz, fidel, finsterwalder, Foso, GNi33, hightower5, HolgerJeromin, kalei, lohmann, LostInWeb, mfietz, moasda, nilso, repat, SAPlayer, schafia, Schroedingberg, sevenmaster, sucaml, Teaspoon, theonlytruth, weltenwort, Wyrrrd, ypid
20 Modern Greek (1453-) antonist, danieloeh, hua2016s, jack.ath92, MSavoritias, pavlosv
21 Hebrew (he_IL) amir.dafnyman, E1i9, mongoose4004, pinkasey, rellieberman, Yaron, הלוי11
22 Hindi (hi_IN) ankitiitb1069, Isaasu, nmabhinandan, purple.coder, siddhusengar

View File

@ -1,158 +0,0 @@
package de.danoeh.antennapod.activity;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.LinearLayout;
import de.danoeh.antennapod.core.util.IntentUtils;
import org.apache.commons.io.IOUtils;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* Displays the 'about' screen
*/
public class AboutActivity extends AppCompatActivity {
private static final String TAG = AboutActivity.class.getSimpleName();
private WebView webView;
private LinearLayout webViewContainer;
private Disposable disposable;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayShowHomeEnabled(true);
setContentView(R.layout.about);
webViewContainer = findViewById(R.id.webViewContainer);
webView = findViewById(R.id.webViewAbout);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
webView.setBackgroundColor(Color.TRANSPARENT);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("http")) {
IntentUtils.openInBrowser(AboutActivity.this, url);
return true;
} else {
url = url.replace("file:///android_asset/", "");
loadAsset(url);
return true;
}
}
});
loadAsset("about.html");
}
private void loadAsset(String filename) {
disposable = Single.create(subscriber -> {
InputStream input = null;
try {
TypedArray res = AboutActivity.this.getTheme().obtainStyledAttributes(
new int[] { R.attr.about_screen_font_color, R.attr.about_screen_background,
R.attr.about_screen_card_background, R.attr.about_screen_card_border});
String fontColor = String.format("#%06X", 0xFFFFFF & res.getColor(0, 0));
String backgroundColor = String.format("#%06X", 0xFFFFFF & res.getColor(1, 0));
String cardBackground = String.format("#%06X", 0xFFFFFF & res.getColor(2, 0));
String cardBorder = String.format("#%06X", 0xFFFFFF & res.getColor(3, 0));
res.recycle();
input = getAssets().open(filename);
String webViewData = IOUtils.toString(input, Charset.defaultCharset());
if (!webViewData.startsWith("<!DOCTYPE html>")) {
webViewData = webViewData.replace("%", "&#37;");
webViewData =
"<!DOCTYPE html>" +
"<html>" +
"<head>" +
" <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">" +
" <style type=\"text/css\">" +
" @font-face {" +
" font-family: 'Roboto-Light';" +
" src: url('file:///android_asset/Roboto-Light.ttf');" +
" }" +
" * {" +
" color: @fontcolor@;" +
" font-family: roboto-Light;" +
" font-size: 8pt;" +
" }" +
" </style>" +
"</head><body><p>" + webViewData + "</p></body></html>";
webViewData = webViewData.replace("\n", "<br/>");
}
webViewData = webViewData.replace("@fontcolor@", fontColor);
webViewData = webViewData.replace("@background@", backgroundColor);
webViewData = webViewData.replace("@card_background@", cardBackground);
webViewData = webViewData.replace("@card_border@", cardBorder);
subscriber.onSuccess(webViewData);
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
subscriber.onError(e);
} finally {
IOUtils.closeQuietly(input);
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
webViewData ->
webView.loadDataWithBaseURL("file:///android_asset/", webViewData.toString(), "text/html", "utf-8", "file:///android_asset/" + filename.toString()),
error -> Log.e(TAG, Log.getStackTraceString(error))
);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (disposable != null) {
disposable.dispose();
}
if (webViewContainer != null && webView != null) {
webViewContainer.removeAllViews();
webView.destroy();
}
}
}

View File

@ -31,7 +31,7 @@ public class AboutDevelopersFragment extends ListFragment {
developersLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
ArrayList<SimpleIconListAdapter.ListItem> developers = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(
getContext().getAssets().open("developers.txt")));
getContext().getAssets().open("developers.csv")));
String line;
while ((line = reader.readLine()) != null) {
String[] info = line.split(";");

View File

@ -31,7 +31,7 @@ public class AboutTranslatorsFragment extends ListFragment {
translatorsLoader = Single.create((SingleOnSubscribe<ArrayList<SimpleIconListAdapter.ListItem>>) emitter -> {
ArrayList<SimpleIconListAdapter.ListItem> translators = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(
getContext().getAssets().open("translators.txt")));
getContext().getAssets().open("translators.csv")));
String line;
while ((line = reader.readLine()) != null) {
String[] info = line.split(";");

View File

@ -7,7 +7,6 @@ import androidx.preference.PreferenceFragmentCompat;
import com.bytehamster.lib.preferencesearch.SearchConfiguration;
import com.bytehamster.lib.preferencesearch.SearchPreference;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.AboutActivity;
import de.danoeh.antennapod.activity.BugReportActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.util.IntentUtils;

View File

@ -1,183 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style type="text/css">
@font-face {
font-family: 'Roboto-Light';
src: url('file:///android_asset/Roboto-Light.ttf');
}
html, body {
background: @background@;
margin: 0;
padding: 0;
}
* {
color: @fontcolor@;
font-family: roboto-Light;
font-size: 12pt;
}
img#logo {
display: block;
margin-left: auto;
margin-right: auto;
max-height: 200px;
max-height: 50vh;
max-width: 100%;
height: auto;
width: auto;
}
div#logobackground{
width: 100%;
background: #42a5f5;
}
.card {
background: @card_background@;
margin: 10px;
padding: 10px;
border: 1px solid @card_border@;
border-top-width: 0;
border-bottom-width: 2px;
}
h1 {
font-size: 15pt;
margin-left: 20px;
}
h2 {
font-size: 13pt;
margin-top: 0px;
}
a {
font-size: 14px;
color: #00A8DF;
text-decoration: none;
}
</style>
<title>About AntennaPod</title>
</head>
<body>
<div id="logobackground">
<img id="logo" src="file:///android_res/drawable/teaser.png" alt="Logo"/>
</div>
<h1>AntennaPod</h1>
<div class="card">
<table>
<tr><td>Version:</td><td><b>@versionname@</b></td></tr>
<tr><td>Commit:</td><td><b>@commit@</b></td></tr>
</table>
</div>
<div class="card">
Created by Daniel Oeh<br />
Copyright &copy; 2012-@year@<br />
AntennaPod Contributors <a href="CONTRIBUTORS.txt">(View)</a><br />
Licensed under the MIT License <a href="LICENSE.txt">(View)</a><br />
Privacy Policy <a href="https://antennapod.org/privacy.html">(View)</a>
</div>
<h1>Used libraries</h1>
<div class="card">
<h2>Apache Commons <a href="http://commons.apache.org/">(Link)</a></h2>
by The Apache Software Foundation, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>EventBus <a href="https://github.com/greenrobot/EventBus">(Link)</a></h2>
by greenrobot, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>ExoPlayer <a href="https://github.com/google/ExoPlayer">(Link)</a></h2>
by Google, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Floating Action Button Speed Dial <a href="https://github.com/leinardi/FloatingActionButtonSpeedDial">(Link)</a></h2>
by Roberto Leinardi, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Glide <a href="https://github.com/bumptech/glide/">(Link)</a></h2>
licensed under the Simplified BSD license <a href="LICENSE_GLIDE.txt">(View)</a>
</div>
<div class="card">
<h2>Iconify <a href="https://github.com/JoanZapata/android-iconify">(Link)</a></h2>
by Joan Zapata, licensed under the Apache 2.0 license <a href="LICENSE_ANDROID_ICONIFY.txt">(View)</a>
</div>
<div class="card">
<h2>jsoup <a href="http://jsoup.org/">(Link)</a></h2>
licensed under the MIT license <a href="LICENSE_JSOUP.txt">(View)</a>
</div>
<div class="card">
<h2>Material Design Icons <a href="https://github.com/google/material-design-icons">(Link)</a></h2>
by Google, licensed under an Attribution-ShareAlike 4.0 International license <a href="LICENSE_MATERIAL_DESIGN_ICONS.txt">(View)</a>
</div>
<div class="card">
<h2>Material Design Icons <a href="https://github.com/Templarian/MaterialDesign">(Link)</a></h2>
by Templarian, licensed under the SIL Open Font License, Version 1.1 <a href="LICENSE_SIL.txt">(View)</a>
</div>
<div class="card">
<h2>Material Dialogs <a href="https://github.com/afollestad/material-dialogs">(Link)</a></h2>
by Aidan Michael Follestad, licensed under the MIT License <a href="LICENSE_MATERIAL_DIALOGS.txt">(View)</a>
</div>
<div class="card">
<h2>OkHttp <a href="https://github.com/square/okhttp">(Link)</a></h2>
by Square, licensed under the Apache 2.0 license <a href="LICENSE_OKHTTP.txt">(View)</a>
</div>
<div class="card">
<h2>Okio <a href="https://github.com/square/okio">(Link)</a></h2>
by Square, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Presto Client <a href="http://www.aocate.com/presto/">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_PRESTO.txt">(View)</a>
</div>
<div class="card">
<h2>RecyclerView-FlexibleDivider <a href="https://github.com/yqritc/RecyclerView-FlexibleDivider">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>RxAndroid <a href="https://github.com/ReactiveX/RxAndroid">(Link)</a></h2>
licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>StackBlur <a href="https://github.com/kikoso/android-stackblur">(Link)</a></h2>
by Enrique L&oacute;pez Ma&ntilde;as, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
<div class="card">
<h2>Triangle Label View <a href="https://github.com/shts/TriangleLabelView">(Link)</a></h2>
by Shota Saito, licensed under the Apache 2.0 license <a href="LICENSE_TRIANGLE_LABEL_VIEW.txt">(View)</a>
</div>
<div class="card">
<h2>AntennaPod-AudioPlayer <a href="https://github.com/AntennaPod/AntennaPod-AudioPlayer/">(Link)</a></h2>
by the AntennaPod team, licensed under the Apache 2.0 license <a href="LICENSE_APACHE-2.0.txt">(View)</a>
</div>
</body>
</html>

View File

@ -1,471 +0,0 @@
#!/usr/bin/env python3
import requests
import subprocess
import configparser
import os
config = configparser.ConfigParser()
config.read(os.path.expanduser("~") + '/.transifexrc')
if 'https://www.transifex.com' in config:
TRANSIFEX_USER = config['https://www.transifex.com']['username']
TRANSIFEX_PW = config['https://www.transifex.com']['password']
else:
TRANSIFEX_USER = ""
TRANSIFEX_PW = ""
print('DEVELOPERS\n==========\n')
p = subprocess.Popen("git log --format='%aN' --no-merges "
+"| grep -v '@' " # No email adresses
+"| grep -v 'no.reply' " # no.reply
+"| sed -e 's/^\(Daniel\|daniel oeh\|danieloeh\)$/Daniel Oeh/I'" # Duplicate name
+"| sed -e 's/^keunes$/Koen Glotzbach/'" # Duplicate name
+"| sed -e 's/^H. Lehmann$/ByteHamster/'" # Duplicate name
+"| sed -e 's/^domingos86$/Domingos Lopes/'" # Duplicate name
+"| sed -e 's/^orionlee$/Sam Lee/'" # Duplicate name
+"| sort -fu", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
output = line.decode()
print(output, end='')
language_codes = {
"af_NA": "Afrikaans (Namibia)",
"af_ZA": "Afrikaans (South Africa)",
"af": "Afrikaans",
"ak_GH": "Akan (Ghana)",
"ak": "Akan",
"ast_ES": "Asturian (Spain)",
"sq_AL": "Albanian (Albania)",
"sq": "Albanian",
"am_ET": "Amharic (Ethiopia)",
"am": "Amharic",
"ar_DZ": "Arabic (Algeria)",
"ar_BH": "Arabic (Bahrain)",
"ar_EG": "Arabic (Egypt)",
"ar_IQ": "Arabic (Iraq)",
"ar_JO": "Arabic (Jordan)",
"ar_KW": "Arabic (Kuwait)",
"ar_LB": "Arabic (Lebanon)",
"ar_LY": "Arabic (Libya)",
"ar_MA": "Arabic (Morocco)",
"ar_OM": "Arabic (Oman)",
"ar_QA": "Arabic (Qatar)",
"ar_SA": "Arabic (Saudi Arabia)",
"ar_SD": "Arabic (Sudan)",
"ar_SY": "Arabic (Syria)",
"ar_TN": "Arabic (Tunisia)",
"ar_AE": "Arabic (United Arab Emirates)",
"ar_YE": "Arabic (Yemen)",
"ar": "Arabic",
"hy_AM": "Armenian (Armenia)",
"hy": "Armenian",
"as_IN": "Assamese (India)",
"as": "Assamese",
"asa_TZ": "Asu (Tanzania)",
"asa": "Asu",
"az_Cyrl": "Azerbaijani (Cyrillic)",
"az_Cyrl_AZ": "Azerbaijani (Cyrillic, Azerbaijan)",
"az_Latn": "Azerbaijani (Latin)",
"az_Latn_AZ": "Azerbaijani (Latin, Azerbaijan)",
"az": "Azerbaijani",
"bm_ML": "Bambara (Mali)",
"bm": "Bambara",
"eu_ES": "Basque (Spain)",
"eu": "Basque",
"be_BY": "Belarusian (Belarus)",
"be": "Belarusian",
"bem_ZM": "Bemba (Zambia)",
"bem": "Bemba",
"bez_TZ": "Bena (Tanzania)",
"bez": "Bena",
"bn_BD": "Bengali (Bangladesh)",
"bn_IN": "Bengali (India)",
"bn": "Bengali",
"bs_BA": "Bosnian (Bosnia and Herzegovina)",
"bs": "Bosnian",
"bg_BG": "Bulgarian (Bulgaria)",
"bg": "Bulgarian",
"my_MM": "Burmese (Myanmar [Burma])",
"my": "Burmese",
"ca_ES": "Catalan (Spain)",
"ca": "Catalan",
"tzm_Latn": "Central Morocco Tamazight (Latin)",
"tzm_Latn_MA": "Central Morocco Tamazight (Latin, Morocco)",
"tzm": "Central Morocco Tamazight",
"chr_US": "Cherokee (United States)",
"chr": "Cherokee",
"cgg_UG": "Chiga (Uganda)",
"cgg": "Chiga",
"zh": "Chinese (Simplified)",
"zh_CN": "Chinese (China)",
"zh_HK": "Chinese (Hong Kong SAR China)",
"zh_MO": "Chinese (Macau SAR China)",
"zh_MO_SG": "Chinese (Singapore)",
"zh_TW": "Chinese (Taiwan)",
"zh": "Chinese",
"kw_GB": "Cornish (United Kingdom)",
"kw": "Cornish",
"hr_HR": "Croatian (Croatia)",
"hr": "Croatian",
"cs_CZ": "Czech (Czech Republic)",
"cs": "Czech",
"da_DK": "Danish (Denmark)",
"da": "Danish",
"nl_BE": "Dutch (Belgium)",
"nl_NL": "Dutch (Netherlands)",
"nl": "Dutch",
"ebu_KE": "Embu (Kenya)",
"ebu": "Embu",
"en_AS": "English (American Samoa)",
"en_AU": "English (Australia)",
"en_BE": "English (Belgium)",
"en_BZ": "English (Belize)",
"en_BW": "English (Botswana)",
"en_CA": "English (Canada)",
"en_GU": "English (Guam)",
"en_HK": "English (Hong Kong SAR China)",
"en_IN": "English (India)",
"en_IE": "English (Ireland)",
"en_JM": "English (Jamaica)",
"en_MT": "English (Malta)",
"en_MH": "English (Marshall Islands)",
"en_MU": "English (Mauritius)",
"en_NA": "English (Namibia)",
"en_NZ": "English (New Zealand)",
"en_MP": "English (Northern Mariana Islands)",
"en_PK": "English (Pakistan)",
"en_PH": "English (Philippines)",
"en_SG": "English (Singapore)",
"en_ZA": "English (South Africa)",
"en_TT": "English (Trinidad and Tobago)",
"en_UM": "English (U.S. Minor Outlying Islands)",
"en_VI": "English (U.S. Virgin Islands)",
"en_GB": "English (United Kingdom)",
"en_US": "English (United States)",
"en_ZW": "English (Zimbabwe)",
"en": "English",
"eo": "Esperanto",
"et_EE": "Estonian (Estonia)",
"et": "Estonian",
"ee_GH": "Ewe (Ghana)",
"ee_TG": "Ewe (Togo)",
"ee": "Ewe",
"fo_FO": "Faroese (Faroe Islands)",
"fo": "Faroese",
"fil_PH": "Filipino (Philippines)",
"fil": "Filipino",
"fi_FI": "Finnish (Finland)",
"fi": "Finnish",
"fr_BE": "French (Belgium)",
"fr_BJ": "French (Benin)",
"fr_BF": "French (Burkina Faso)",
"fr_BI": "French (Burundi)",
"fr_CM": "French (Cameroon)",
"fr_CA": "French (Canada)",
"fr_CF": "French (Central African Republic)",
"fr_TD": "French (Chad)",
"fr_KM": "French (Comoros)",
"fr_CG": "French (Congo - Brazzaville)",
"fr_CD": "French (Congo - Kinshasa)",
"fr_CI": "French (Côte dIvoire)",
"fr_DJ": "French (Djibouti)",
"fr_GQ": "French (Equatorial Guinea)",
"fr_FR": "French (France)",
"fr_GA": "French (Gabon)",
"fr_GP": "French (Guadeloupe)",
"fr_GN": "French (Guinea)",
"fr_LU": "French (Luxembourg)",
"fr_MG": "French (Madagascar)",
"fr_ML": "French (Mali)",
"fr_MQ": "French (Martinique)",
"fr_MC": "French (Monaco)",
"fr_NE": "French (Niger)",
"fr_RW": "French (Rwanda)",
"fr_RE": "French (Réunion)",
"fr_BL": "French (Saint Barthélemy)",
"fr_MF": "French (Saint Martin)",
"fr_SN": "French (Senegal)",
"fr_CH": "French (Switzerland)",
"fr_TG": "French (Togo)",
"fr": "French",
"ff_SN": "Fulah (Senegal)",
"ff": "Fulah",
"gl_ES": "Galician (Spain)",
"gl": "Galician",
"lg_UG": "Ganda (Uganda)",
"lg": "Ganda",
"ka_GE": "Georgian (Georgia)",
"ka": "Georgian",
"de_AT": "German (Austria)",
"de_BE": "German (Belgium)",
"de_DE": "German (Germany)",
"de_LI": "German (Liechtenstein)",
"de_LU": "German (Luxembourg)",
"de_CH": "German (Switzerland)",
"de": "German",
"el_CY": "Greek (Cyprus)",
"el_GR": "Greek (Greece)",
"el": "Greek",
"gu_IN": "Gujarati (India)",
"gu": "Gujarati",
"guz_KE": "Gusii (Kenya)",
"guz": "Gusii",
"ha_Latn": "Hausa (Latin)",
"ha_Latn_GH": "Hausa (Latin, Ghana)",
"ha_Latn_NE": "Hausa (Latin, Niger)",
"ha_Latn_NG": "Hausa (Latin, Nigeria)",
"ha": "Hausa",
"haw_US": "Hawaiian (United States)",
"haw": "Hawaiian",
"he_IL": "Hebrew (Israel)",
"he": "Hebrew",
"hi_IN": "Hindi (India)",
"hi": "Hindi",
"hu_HU": "Hungarian (Hungary)",
"hu": "Hungarian",
"is_IS": "Icelandic (Iceland)",
"is": "Icelandic",
"ig_NG": "Igbo (Nigeria)",
"ig": "Igbo",
"id_ID": "Indonesian (Indonesia)",
"id": "Indonesian",
"ga_IE": "Irish (Ireland)",
"ga": "Irish",
"it_IT": "Italian (Italy)",
"it_CH": "Italian (Switzerland)",
"it": "Italian",
"ja_JP": "Japanese (Japan)",
"ja": "Japanese",
"kea_CV": "Kabuverdianu (Cape Verde)",
"kea": "Kabuverdianu",
"kab_DZ": "Kabyle (Algeria)",
"kab": "Kabyle",
"kl_GL": "Kalaallisut (Greenland)",
"kl": "Kalaallisut",
"kln_KE": "Kalenjin (Kenya)",
"kln": "Kalenjin",
"kam_KE": "Kamba (Kenya)",
"kam": "Kamba",
"kn_IN": "Kannada (India)",
"kn": "Kannada",
"kk_Cyrl": "Kazakh (Cyrillic)",
"kk_Cyrl_KZ": "Kazakh (Cyrillic, Kazakhstan)",
"kk": "Kazakh",
"km_KH": "Khmer (Cambodia)",
"km": "Khmer",
"ki_KE": "Kikuyu (Kenya)",
"ki": "Kikuyu",
"rw_RW": "Kinyarwanda (Rwanda)",
"rw": "Kinyarwanda",
"kok_IN": "Konkani (India)",
"kok": "Konkani",
"ko_KR": "Korean (South Korea)",
"ko": "Korean",
"khq_ML": "Koyra Chiini (Mali)",
"khq": "Koyra Chiini",
"ses_ML": "Koyraboro Senni (Mali)",
"ses": "Koyraboro Senni",
"lag_TZ": "Langi (Tanzania)",
"lag": "Langi",
"lv_LV": "Latvian (Latvia)",
"lv": "Latvian",
"lt_LT": "Lithuanian (Lithuania)",
"lt": "Lithuanian",
"luo_KE": "Luo (Kenya)",
"luo": "Luo",
"luy_KE": "Luyia (Kenya)",
"luy": "Luyia",
"mk_MK": "Macedonian (Macedonia)",
"mk": "Macedonian",
"jmc_TZ": "Machame (Tanzania)",
"jmc": "Machame",
"kde_TZ": "Makonde (Tanzania)",
"kde": "Makonde",
"mg_MG": "Malagasy (Madagascar)",
"mg": "Malagasy",
"ms_BN": "Malay (Brunei)",
"ms_MY": "Malay (Malaysia)",
"ms": "Malay",
"ml_IN": "Malayalam (India)",
"ml": "Malayalam",
"mt_MT": "Maltese (Malta)",
"mt": "Maltese",
"gv_GB": "Manx (United Kingdom)",
"gv": "Manx",
"mr_IN": "Marathi (India)",
"mr": "Marathi",
"mas_KE": "Masai (Kenya)",
"mas_TZ": "Masai (Tanzania)",
"mas": "Masai",
"mer_KE": "Meru (Kenya)",
"mer": "Meru",
"mfe_MU": "Morisyen (Mauritius)",
"mfe": "Morisyen",
"naq_NA": "Nama (Namibia)",
"naq": "Nama",
"ne_IN": "Nepali (India)",
"ne_NP": "Nepali (Nepal)",
"ne": "Nepali",
"nd_ZW": "North Ndebele (Zimbabwe)",
"nd": "North Ndebele",
"no": "Norwegian",
"nb_NO": "Norwegian Bokmål (Norway)",
"nb": "Norwegian Bokmål",
"nn_NO": "Norwegian Nynorsk (Norway)",
"nn": "Norwegian Nynorsk",
"nyn_UG": "Nyankole (Uganda)",
"nyn": "Nyankole",
"or_IN": "Oriya (India)",
"or": "Oriya",
"om_ET": "Oromo (Ethiopia)",
"m_KE": "Oromo (Kenya)",
"om": "Oromo",
"ps_AF": "Pashto (Afghanistan)",
"ps": "Pashto",
"fa_AF": "Persian (Afghanistan)",
"fa_IR": "Persian (Iran)",
"fa": "Persian",
"pl_PL": "Polish (Poland)",
"pl": "Polish",
"pt_BR": "Portuguese (Brazil)",
"pt_GW": "Portuguese (Guinea-Bissau)",
"pt_MZ": "Portuguese (Mozambique)",
"pt_PT": "Portuguese (Portugal)",
"pt": "Portuguese",
"pa_Arab": "Punjabi (Arabic)",
"pa_Arab_PK": "Punjabi (Arabic, Pakistan)",
"pa_Guru": "Punjabi (Gurmukhi)",
"pa_Guru_IN": "Punjabi (Gurmukhi, India)",
"pa": "Punjabi",
"ro_MD": "Romanian (Moldova)",
"ro_RO": "Romanian (Romania)",
"ro": "Romanian",
"rm_CH": "Romansh (Switzerland)",
"rm": "Romansh",
"rof_TZ": "Rombo (Tanzania)",
"rof": "Rombo",
"ru_MD": "Russian (Moldova)",
"ru_RU": "Russian (Russia)",
"ru_UA": "Russian (Ukraine)",
"ru": "Russian",
"rwk_TZ": "Rwa (Tanzania)",
"rwk": "Rwa",
"saq_KE": "Samburu (Kenya)",
"saq": "Samburu",
"sg_CF": "Sango (Central African Republic)",
"sg": "Sango",
"seh_MZ": "Sena (Mozambique)",
"seh": "Sena",
"sr_Cyrl": "Serbian (Cyrillic)",
"sr_Cyrl_BA": "Serbian (Cyrillic, Bosnia and Herzegovina)",
"sr_Cyrl_ME": "Serbian (Cyrillic, Montenegro)",
"sr_Cyrl_RS": "Serbian (Cyrillic, Serbia)",
"sr_Latn": "Serbian (Latin)",
"sr_Latn_BA": "Serbian (Latin, Bosnia and Herzegovina)",
"sr_Latn_ME": "Serbian (Latin, Montenegro)",
"sr_Latn_RS": "Serbian (Latin, Serbia)",
"sr": "Serbian",
"sn_ZW": "Shona (Zimbabwe)",
"sn": "Shona",
"ii_CN": "Sichuan Yi (China)",
"ii": "Sichuan Yi",
"si_LK": "Sinhala (Sri Lanka)",
"si": "Sinhala",
"sk_SK": "Slovak (Slovakia)",
"sk": "Slovak",
"sl_SI": "Slovenian (Slovenia)",
"sl": "Slovenian",
"xog_UG": "Soga (Uganda)",
"xog": "Soga",
"so_DJ": "Somali (Djibouti)",
"so_ET": "Somali (Ethiopia)",
"so_KE": "Somali (Kenya)",
"so_SO": "Somali (Somalia)",
"so": "Somali",
"es_AR": "Spanish (Argentina)",
"es_BO": "Spanish (Bolivia)",
"es_CL": "Spanish (Chile)",
"es_CO": "Spanish (Colombia)",
"es_CR": "Spanish (Costa Rica)",
"es_DO": "Spanish (Dominican Republic)",
"es_EC": "Spanish (Ecuador)",
"es_SV": "Spanish (El Salvador)",
"es_GQ": "Spanish (Equatorial Guinea)",
"es_GT": "Spanish (Guatemala)",
"es_HN": "Spanish (Honduras)",
"es_419": "Spanish (Latin America)",
"es_MX": "Spanish (Mexico)",
"es_NI": "Spanish (Nicaragua)",
"es_PA": "Spanish (Panama)",
"es_PY": "Spanish (Paraguay)",
"es_PE": "Spanish (Peru)",
"es_PR": "Spanish (Puerto Rico)",
"es_ES": "Spanish (Spain)",
"es_US": "Spanish (United States)",
"es_UY": "Spanish (Uruguay)",
"es_VE": "Spanish (Venezuela)",
"es": "Spanish",
"sw_KE": "Swahili (Kenya)",
"sw_TZ": "Swahili (Tanzania)",
"sw": "Swahili",
"sv_FI": "Swedish (Finland)",
"sv_SE": "Swedish (Sweden)",
"sv": "Swedish",
"gsw_CH": "Swiss German (Switzerland)",
"gsw": "Swiss German",
"shi_Latn": "Tachelhit (Latin)",
"shi_Latn_MA": "Tachelhit (Latin, Morocco)",
"shi_Tfng": "Tachelhit (Tifinagh)",
"shi_Tfng_MA": "Tachelhit (Tifinagh, Morocco)",
"shi": "Tachelhit",
"dav_KE": "Taita (Kenya)",
"dav": "Taita",
"ta_IN": "Tamil (India)",
"ta_LK": "Tamil (Sri Lanka)",
"ta": "Tamil",
"te_IN": "Telugu (India)",
"te": "Telugu",
"teo_KE": "Teso (Kenya)",
"teo_UG": "Teso (Uganda)",
"teo": "Teso",
"th_TH": "Thai (Thailand)",
"th": "Thai",
"bo_CN": "Tibetan (China)",
"bo_IN": "Tibetan (India)",
"bo": "Tibetan",
"ti_ER": "Tigrinya (Eritrea)",
"ti_ET": "Tigrinya (Ethiopia)",
"ti": "Tigrinya",
"to_TO": "Tonga (Tonga)",
"to": "Tonga",
"tr_TR": "Turkish (Turkey)",
"tr": "Turkish",
"uk_UA": "Ukrainian (Ukraine)",
"uk": "Ukrainian",
"ur_IN": "Urdu (India)",
"ur_PK": "Urdu (Pakistan)",
"ur": "Urdu",
"uz_Arab": "Uzbek (Arabic)",
"uz_Arab_AF": "Uzbek (Arabic, Afghanistan)",
"uz_Cyrl": "Uzbek (Cyrillic)",
"uz_Cyrl_UZ": "Uzbek (Cyrillic, Uzbekistan)",
"uz_Latn": "Uzbek (Latin)",
"uz_Latn_UZ": "Uzbek (Latin, Uzbekistan)",
"uz": "Uzbek",
"vi_VN": "Vietnamese (Vietnam)",
"vi": "Vietnamese",
"vun_TZ": "Vunjo (Tanzania)",
"vun": "Vunjo",
"cy_GB": "Welsh (United Kingdom)",
"cy": "Welsh",
"yo_NG": "Yoruba (Nigeria)",
"yo": "Yoruba",
"zu_ZA": "Zulu (South Africa)",
"zu": "Zulu"
}
print('\n\nTRANSLATORS\n===========\n')
r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/', auth=(TRANSIFEX_USER, TRANSIFEX_PW))
for lang in r.json():
lang_contributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
lang_contributers = sorted(lang_contributers, key=str.lower)
print(language_codes[lang['language_code']], ": ", ', '.join(lang_contributers), sep="")

View File

@ -4,7 +4,8 @@ import requests
MAINTAINERS = ['mfietz', 'ByteHamster']
FORMER_MAINTAINERS = ['TomHennen']
csvFile = open("app/src/main/assets/developers.txt", "w")
csvFile = open("app/src/main/assets/developers.csv", "w")
contributorsFile = open("CONTRIBUTORS", "a")
page = 1
hasMore = True
while hasMore:
@ -21,7 +22,9 @@ while hasMore:
line = contributor['login'].replace(";", "") + ';' + str(contributor['id']) + ';' + role
csvFile.write(line + '\n')
print(line)
contributorsFile.write(contributor['login'] + '\n')
page = page + 1
hasMore = len(json) > 0
csvFile.close()
contributorsFile.close()

View File

@ -13,24 +13,27 @@ else:
TRANSIFEX_USER = ""
TRANSIFEX_PW = ""
csvFile = open("app/src/main/assets/translators.txt", "w")
csvFile = open("app/src/main/assets/translators.csv", "w")
contributorsFile = open("CONTRIBUTORS", "a")
r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/',
auth=(TRANSIFEX_USER, TRANSIFEX_PW))
for lang in r.json():
lang_contributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
lang_contributers = sorted(lang_contributers, key=str.lower)
lang_code = lang['language_code']
langContributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
langContributers = sorted(langContributers, key=str.lower)
langCode = lang['language_code']
try:
lang_name = pycountry.languages.lookup(lang_code).name
langName = pycountry.languages.lookup(langCode).name
except:
try:
lang_name = pycountry.languages.lookup(
lang_code.split('_')[0]).name + ' (' + lang_code + ')'
langName = pycountry.languages.lookup(
langCode.split('_')[0]).name + ' (' + langCode + ')'
except:
lang_name = lang['language_code']
print('\033[91mLanguage code not found:' + lang_code + '\033[0m')
langName = lang['language_code']
print('\033[91mLanguage code not found:' + langCode + '\033[0m')
line = lang_name + ';' + ', '.join(lang_contributers).replace(';', '')
csvFile.write(line + '\n')
print(line)
joinedTranslators = ', '.join(langContributers).replace(';', '');
contributorsFile.write(langName + ": " + joinedTranslators + '\n')
csvFile.write(langName + ';' + joinedTranslators + '\n')
print(langName + ';' + joinedTranslators)
csvFile.close()
contributorsFile.close()

View File

@ -9,9 +9,10 @@ set -e
DEST=$2
VERSION_NAME=$1
# need to get rid of this so that it gets regenerated
# probably a way to solve this in Gradle too...
rm -f app/src/main/assets/about.html
rm CONTRIBUTORS
./createDevelopersList.py
./createTranslatorsList.py
./gradlew clean assemblePlayDebug assemblePlayRelease
cp app/build/outputs/apk/app-play-debug.apk $DEST/AntennaPod_${VERSION_NAME}_debug.apk
cp app/build/outputs/apk/app-play-release.apk $DEST/AntennaPod_${VERSION_NAME}_release.apk