Add Spanish to Bilibili Comics (#12173)

* Add Spanish to Bilibili Comics (closes #12161).

* Add a missing space to the warning.
This commit is contained in:
Alessandro Jean 2022-06-12 14:13:38 -03:00 committed by GitHub
parent e0b4fcbce8
commit c8cf3cef02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 2 deletions

View File

@ -34,6 +34,7 @@ class BilibiliComicsFactory : SourceFactory {
BilibiliComicsEn(), BilibiliComicsEn(),
BilibiliComicsCn(), BilibiliComicsCn(),
BilibiliComicsId(), BilibiliComicsId(),
BilibiliComicsEs()
) )
} }
@ -325,3 +326,28 @@ class BilibiliComicsId : BilibiliComics(BilibiliIntl.INDONESIAN) {
BilibiliTag("Romantis", 13) BilibiliTag("Romantis", 13)
) )
} }
class BilibiliComicsEs : BilibiliComics(BilibiliIntl.SPANISH) {
override fun getAllGenres(): Array<BilibiliTag> = arrayOf(
BilibiliTag("Todos", -1),
BilibiliTag("Adolescencia", 105),
BilibiliTag("BL", 3),
BilibiliTag("Ciberdeportes", 104),
BilibiliTag("Ciencia ficción", 8),
BilibiliTag("Comedia", 14),
BilibiliTag("Fantasía occidental", 106),
BilibiliTag("Fantasía", 11),
BilibiliTag("Ficción Realista", 116),
BilibiliTag("GL", 16),
BilibiliTag("Histórico", 12),
BilibiliTag("Horror", 23),
BilibiliTag("Juvenil", 20),
BilibiliTag("Moderno", 111),
BilibiliTag("Oriental", 30),
BilibiliTag("Romance", 13),
BilibiliTag("Suspenso", 41),
BilibiliTag("Urbano", 9),
BilibiliTag("Wuxia", 103)
)
}

View File

@ -13,8 +13,21 @@ class BilibiliGenerator : ThemeSourceGenerator {
override val baseVersionCode: Int = 3 override val baseVersionCode: Int = 3
override val sources = listOf( override val sources = listOf(
MultiLang("BILIBILI COMICS", "https://www.bilibilicomics.com", listOf("en", "zh-Hans", "id"), className = "BilibiliComicsFactory"), MultiLang(
SingleLang("BILIBILI MANGA", "https://manga.bilibili.com", "zh-Hans", className = "BilibiliManga", sourceName = "哔哩哔哩漫画", overrideVersionCode = 2) name = "BILIBILI COMICS",
baseUrl = "https://www.bilibilicomics.com",
langs = listOf("en", "zh-Hans", "id", "es"),
className = "BilibiliComicsFactory",
overrideVersionCode = 1
),
SingleLang(
name = "BILIBILI MANGA",
baseUrl = "https://manga.bilibili.com",
lang = "zh-Hans",
className = "BilibiliManga",
sourceName = "哔哩哔哩漫画",
overrideVersionCode = 2
)
) )
companion object { companion object {

View File

@ -4,17 +4,20 @@ class BilibiliIntl(lang: String) {
val statusLabel: String = when (lang) { val statusLabel: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "进度" CHINESE, SIMPLIFIED_CHINESE -> "进度"
SPANISH -> "Estado"
else -> "Status" else -> "Status"
} }
val sortLabel: String = when (lang) { val sortLabel: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "排序" CHINESE, SIMPLIFIED_CHINESE -> "排序"
INDONESIAN -> "Urutkan dengan" INDONESIAN -> "Urutkan dengan"
SPANISH -> "Ordenar por"
else -> "Sort by" else -> "Sort by"
} }
val genreLabel: String = when (lang) { val genreLabel: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "题材" CHINESE, SIMPLIFIED_CHINESE -> "题材"
SPANISH -> "Género"
else -> "Genre" else -> "Genre"
} }
@ -26,11 +29,13 @@ class BilibiliIntl(lang: String) {
val priceLabel: String = when (lang) { val priceLabel: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "收费" CHINESE, SIMPLIFIED_CHINESE -> "收费"
INDONESIAN -> "Harga" INDONESIAN -> "Harga"
SPANISH -> "Precio"
else -> "Price" else -> "Price"
} }
val episodePrefix: String = when (lang) { val episodePrefix: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "" CHINESE, SIMPLIFIED_CHINESE -> ""
SPANISH -> "Cap. "
else -> "Ep. " else -> "Ep. "
} }
@ -38,6 +43,10 @@ class BilibiliIntl(lang: String) {
CHINESE, SIMPLIFIED_CHINESE -> CHINESE, SIMPLIFIED_CHINESE ->
"${Bilibili.EMOJI_WARNING} 此漫画的付费章节已从章节列表中过滤。如果您已购买章节,请在 WebView " + "${Bilibili.EMOJI_WARNING} 此漫画的付费章节已从章节列表中过滤。如果您已购买章节,请在 WebView " +
"登录并刷新章节列表以阅读已购章节。" "登录并刷新章节列表以阅读已购章节。"
SPANISH ->
"${Bilibili.EMOJI_WARNING} ADVERTENCIA: Esta serie tiene capítulos pagos que fueron " +
"filtrados de la lista de capítulos. Si ya compró y tiene alguno en su cuenta, " +
"inicie sesión en WebView y actualice la lista de capítulos para leerlos."
else -> else ->
"${Bilibili.EMOJI_WARNING} WARNING: This series has paid chapters that were filtered " + "${Bilibili.EMOJI_WARNING} WARNING: This series has paid chapters that were filtered " +
"out from the chapter list. If you have already bought and have any in your " + "out from the chapter list. If you have already bought and have any in your " +
@ -47,6 +56,7 @@ class BilibiliIntl(lang: String) {
val imageQualityPrefTitle: String = when (lang) { val imageQualityPrefTitle: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "章节图片质量" CHINESE, SIMPLIFIED_CHINESE -> "章节图片质量"
INDONESIAN -> "Kualitas gambar" INDONESIAN -> "Kualitas gambar"
SPANISH -> "Calidad de imagen del capítulo"
else -> "Chapter image quality" else -> "Chapter image quality"
} }
@ -58,24 +68,28 @@ class BilibiliIntl(lang: String) {
val imageFormatPrefTitle: String = when (lang) { val imageFormatPrefTitle: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "章节图片格式" CHINESE, SIMPLIFIED_CHINESE -> "章节图片格式"
INDONESIAN -> "Format gambar" INDONESIAN -> "Format gambar"
SPANISH -> "Formato de la imagen del capítulo"
else -> "Chapter image format" else -> "Chapter image format"
} }
val sortInterest: String = when (lang) { val sortInterest: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "为你推荐" CHINESE, SIMPLIFIED_CHINESE -> "为你推荐"
INDONESIAN -> "Kamu Mungkin Suka" INDONESIAN -> "Kamu Mungkin Suka"
SPANISH -> "Sugerencia"
else -> "Interest" else -> "Interest"
} }
val sortPopular: String = when (lang) { val sortPopular: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "人气推荐" CHINESE, SIMPLIFIED_CHINESE -> "人气推荐"
INDONESIAN -> "Populer" INDONESIAN -> "Populer"
SPANISH -> "Popularidad"
else -> "Popular" else -> "Popular"
} }
val sortUpdated: String = when (lang) { val sortUpdated: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "更新时间" CHINESE, SIMPLIFIED_CHINESE -> "更新时间"
INDONESIAN -> "Terbaru" INDONESIAN -> "Terbaru"
SPANISH -> "Actualización"
else -> "Updated" else -> "Updated"
} }
@ -92,36 +106,42 @@ class BilibiliIntl(lang: String) {
val statusAll: String = when (lang) { val statusAll: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "全部" CHINESE, SIMPLIFIED_CHINESE -> "全部"
INDONESIAN -> "Semua" INDONESIAN -> "Semua"
SPANISH -> "Todos"
else -> "All" else -> "All"
} }
val statusOngoing: String = when (lang) { val statusOngoing: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "连载中" CHINESE, SIMPLIFIED_CHINESE -> "连载中"
INDONESIAN -> "Berlangsung" INDONESIAN -> "Berlangsung"
SPANISH -> "En curso"
else -> "Ongoing" else -> "Ongoing"
} }
val statusComplete: String = when (lang) { val statusComplete: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "已完结" CHINESE, SIMPLIFIED_CHINESE -> "已完结"
INDONESIAN -> "Tamat" INDONESIAN -> "Tamat"
SPANISH -> "Finalizado"
else -> "Completed" else -> "Completed"
} }
val priceAll: String = when (lang) { val priceAll: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "全部" CHINESE, SIMPLIFIED_CHINESE -> "全部"
INDONESIAN -> "Semua" INDONESIAN -> "Semua"
SPANISH -> "Todos"
else -> "All" else -> "All"
} }
val priceFree: String = when (lang) { val priceFree: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "免费" CHINESE, SIMPLIFIED_CHINESE -> "免费"
INDONESIAN -> "Bebas" INDONESIAN -> "Bebas"
SPANISH -> "Gratis"
else -> "Free" else -> "Free"
} }
val pricePaid: String = when (lang) { val pricePaid: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "付费" CHINESE, SIMPLIFIED_CHINESE -> "付费"
INDONESIAN -> "Dibayar" INDONESIAN -> "Dibayar"
SPANISH -> "Pago"
else -> "Paid" else -> "Paid"
} }
@ -132,11 +152,13 @@ class BilibiliIntl(lang: String) {
val failedToRefreshToken: String = when (lang) { val failedToRefreshToken: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "无法刷新令牌。请打开 WebView 修正错误。" CHINESE, SIMPLIFIED_CHINESE -> "无法刷新令牌。请打开 WebView 修正错误。"
SPANISH -> "Error al actualizar el token. Abra el WebView para solucionar este error."
else -> "Failed to refresh the token. Open the WebView to fix this error." else -> "Failed to refresh the token. Open the WebView to fix this error."
} }
val failedToGetCredential: String = when (lang) { val failedToGetCredential: String = when (lang) {
CHINESE, SIMPLIFIED_CHINESE -> "无法获取阅读章节所需的凭证。" CHINESE, SIMPLIFIED_CHINESE -> "无法获取阅读章节所需的凭证。"
SPANISH -> "Erro al obtener la credencial para leer el capítulo."
else -> "Failed to get the credential to read the chapter." else -> "Failed to get the credential to read the chapter."
} }
@ -145,5 +167,6 @@ class BilibiliIntl(lang: String) {
const val ENGLISH = "en" const val ENGLISH = "en"
const val INDONESIAN = "id" const val INDONESIAN = "id"
const val SIMPLIFIED_CHINESE = "zh-Hans" const val SIMPLIFIED_CHINESE = "zh-Hans"
const val SPANISH = "es"
} }
} }