Compare commits
13 Commits
v171901009
...
v171901027
Author | SHA1 | Date | |
---|---|---|---|
e3460322b1 | |||
7e3288a076 | |||
ddc754ec25 | |||
134a0766d6 | |||
69da932ab5 | |||
592fb6328a | |||
a0aead6491 | |||
722b6cc06d | |||
6d7c4b40f6 | |||
f538ed39fc | |||
65821492ad | |||
6ede718a9f | |||
f1757937a4 |
@ -67,7 +67,7 @@ android {
|
|||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled true
|
minifyEnabled true
|
||||||
shrinkResources true
|
shrinkResources false
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
proguardFiles getDefaultProguardFile('proguard-android.txt'),
|
||||||
'proguard-rules.pro'
|
'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ dependencies {
|
|||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
|
||||||
|
|
||||||
//multidex
|
//multidex
|
||||||
implementation 'androidx.multidex:multidex:2.0.0'
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
|
|
||||||
// About
|
// About
|
||||||
implementation('com.mikepenz:aboutlibraries:6.2.0@aar') {
|
implementation('com.mikepenz:aboutlibraries:6.2.0@aar') {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package apps.amine.bou.readerforselfoss
|
package apps.amine.bou.readerforselfoss
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
@ -85,10 +86,12 @@ class AddSourceActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||||
|
val settings =
|
||||||
|
getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
|
||||||
api = SelfossApi(
|
api = SelfossApi(
|
||||||
this,
|
this,
|
||||||
this@AddSourceActivity,
|
this@AddSourceActivity,
|
||||||
prefs.getBoolean("isSelfSignedCert", false),
|
settings.getBoolean("isSelfSignedCert", false),
|
||||||
prefs.getString("api_timeout", "-1").toLong(),
|
prefs.getString("api_timeout", "-1").toLong(),
|
||||||
prefs.getBoolean("should_log_everything", false)
|
prefs.getBoolean("should_log_everything", false)
|
||||||
)
|
)
|
||||||
|
@ -227,7 +227,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
recyclerView: RecyclerView,
|
recyclerView: RecyclerView,
|
||||||
viewHolder: RecyclerView.ViewHolder
|
viewHolder: RecyclerView.ViewHolder
|
||||||
): Int =
|
): Int =
|
||||||
if (elementsShown != UNREAD_SHOWN) {
|
if (elementsShown != UNREAD_SHOWN && elementsShown != READ_SHOWN) {
|
||||||
0
|
0
|
||||||
} else {
|
} else {
|
||||||
super.getSwipeDirs(
|
super.getSwipeDirs(
|
||||||
@ -247,14 +247,18 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
val i = items.elementAtOrNull(position)
|
val i = items.elementAtOrNull(position)
|
||||||
|
|
||||||
if (i != null) {
|
if (i != null) {
|
||||||
val adapter = recyclerView.adapter
|
val adapter = recyclerView.adapter as ItemsAdapter<*>
|
||||||
|
|
||||||
when (adapter) {
|
val wasItemUnread = adapter.unreadItemStatusAtIndex(position)
|
||||||
is ItemCardAdapter -> adapter.removeItemAtIndex(position)
|
|
||||||
is ItemListAdapter -> adapter.removeItemAtIndex(position)
|
adapter.handleItemAtIndex(position)
|
||||||
|
|
||||||
|
if (wasItemUnread) {
|
||||||
|
badgeNew--
|
||||||
|
} else {
|
||||||
|
badgeNew++
|
||||||
}
|
}
|
||||||
|
|
||||||
badgeNew--
|
|
||||||
reloadBadgeContent()
|
reloadBadgeContent()
|
||||||
|
|
||||||
val tagHashes = i.tags.tags.split(",").map { it.longHash() }
|
val tagHashes = i.tags.tags.split(",").map { it.longHash() }
|
||||||
@ -515,7 +519,9 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val filteredTags = maybeTags.filterNot { hiddenTags.contains(it.tag) }
|
val filteredTags = maybeTags
|
||||||
|
.filterNot { hiddenTags.contains(it.tag) }
|
||||||
|
.sortedBy { it.unread == 0 }
|
||||||
tagsBadge = filteredTags.map {
|
tagsBadge = filteredTags.map {
|
||||||
val gd = GradientDrawable()
|
val gd = GradientDrawable()
|
||||||
val color = try {
|
val color = try {
|
||||||
@ -1348,12 +1354,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
).show()
|
).show()
|
||||||
tabNewBadge.removeBadge()
|
tabNewBadge.removeBadge()
|
||||||
|
|
||||||
|
handleDrawerItems()
|
||||||
tagsBadge = itemsByTag.map {
|
|
||||||
(it.key to ((tagsBadge[it.key] ?: it.value) - it.value))
|
|
||||||
}.toMap()
|
|
||||||
|
|
||||||
reloadTagsBadges()
|
|
||||||
|
|
||||||
getElementsAccordingToTab()
|
getElementsAccordingToTab()
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package apps.amine.bou.readerforselfoss
|
package apps.amine.bou.readerforselfoss
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
@ -27,6 +28,7 @@ import apps.amine.bou.readerforselfoss.persistence.migrations.MIGRATION_2_3
|
|||||||
import apps.amine.bou.readerforselfoss.themes.AppColors
|
import apps.amine.bou.readerforselfoss.themes.AppColors
|
||||||
import apps.amine.bou.readerforselfoss.themes.Toppings
|
import apps.amine.bou.readerforselfoss.themes.Toppings
|
||||||
import apps.amine.bou.readerforselfoss.transformers.DepthPageTransformer
|
import apps.amine.bou.readerforselfoss.transformers.DepthPageTransformer
|
||||||
|
import apps.amine.bou.readerforselfoss.utils.Config
|
||||||
import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException
|
import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException
|
||||||
import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible
|
import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible
|
||||||
import apps.amine.bou.readerforselfoss.utils.persistence.toEntity
|
import apps.amine.bou.readerforselfoss.utils.persistence.toEntity
|
||||||
@ -94,6 +96,9 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||||
|
|
||||||
|
val settings =
|
||||||
|
getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
|
||||||
|
|
||||||
prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||||
editor = prefs.edit()
|
editor = prefs.edit()
|
||||||
|
|
||||||
@ -105,7 +110,7 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
api = SelfossApi(
|
api = SelfossApi(
|
||||||
this,
|
this,
|
||||||
this@ReaderActivity,
|
this@ReaderActivity,
|
||||||
prefs.getBoolean("isSelfSignedCert", false),
|
settings.getBoolean("isSelfSignedCert", false),
|
||||||
prefs.getString("api_timeout", "-1").toLong(),
|
prefs.getString("api_timeout", "-1").toLong(),
|
||||||
prefs.getBoolean("should_log_everything", false)
|
prefs.getBoolean("should_log_everything", false)
|
||||||
)
|
)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package apps.amine.bou.readerforselfoss
|
package apps.amine.bou.readerforselfoss
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
@ -13,6 +14,7 @@ import apps.amine.bou.readerforselfoss.api.selfoss.SelfossApi
|
|||||||
import apps.amine.bou.readerforselfoss.api.selfoss.Source
|
import apps.amine.bou.readerforselfoss.api.selfoss.Source
|
||||||
import apps.amine.bou.readerforselfoss.themes.AppColors
|
import apps.amine.bou.readerforselfoss.themes.AppColors
|
||||||
import apps.amine.bou.readerforselfoss.themes.Toppings
|
import apps.amine.bou.readerforselfoss.themes.Toppings
|
||||||
|
import apps.amine.bou.readerforselfoss.utils.Config
|
||||||
import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible
|
import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible
|
||||||
import com.ftinc.scoop.Scoop
|
import com.ftinc.scoop.Scoop
|
||||||
import kotlinx.android.synthetic.main.activity_sources.*
|
import kotlinx.android.synthetic.main.activity_sources.*
|
||||||
@ -54,12 +56,14 @@ class SourcesActivity : AppCompatActivity() {
|
|||||||
super.onResume()
|
super.onResume()
|
||||||
val mLayoutManager = LinearLayoutManager(this)
|
val mLayoutManager = LinearLayoutManager(this)
|
||||||
|
|
||||||
|
val settings =
|
||||||
|
getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
|
||||||
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||||
|
|
||||||
val api = SelfossApi(
|
val api = SelfossApi(
|
||||||
this,
|
this,
|
||||||
this@SourcesActivity,
|
this@SourcesActivity,
|
||||||
prefs.getBoolean("isSelfSignedCert", false),
|
settings.getBoolean("isSelfSignedCert", false),
|
||||||
prefs.getString("api_timeout", "-1").toLong(),
|
prefs.getString("api_timeout", "-1").toLong(),
|
||||||
prefs.getBoolean("should_log_everything", false)
|
prefs.getBoolean("should_log_everything", false)
|
||||||
)
|
)
|
||||||
|
@ -41,7 +41,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
updateItems(items)
|
updateItems(items)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doUnmark(i: Item, position: Int) {
|
private fun unmarkSnackbar(i: Item, position: Int) {
|
||||||
val s = Snackbar
|
val s = Snackbar
|
||||||
.make(
|
.make(
|
||||||
app.findViewById(R.id.coordLayout),
|
app.findViewById(R.id.coordLayout),
|
||||||
@ -71,12 +71,11 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
}
|
}
|
||||||
notifyItemRemoved(position)
|
notifyItemRemoved(position)
|
||||||
updateItems(items)
|
updateItems(items)
|
||||||
doUnmark(i, position)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
thread {
|
thread {
|
||||||
db.actionsDao().deleteReadActionForArticle(i.id)
|
db.actionsDao().insertAllActions(ActionEntity(i.id, false, true, false, false))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -87,7 +86,64 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
s.show()
|
s.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeItemAtIndex(position: Int) {
|
private fun markSnackbar(i: Item, position: Int) {
|
||||||
|
val s = Snackbar
|
||||||
|
.make(
|
||||||
|
app.findViewById(R.id.coordLayout),
|
||||||
|
R.string.marked_as_unread,
|
||||||
|
Snackbar.LENGTH_LONG
|
||||||
|
)
|
||||||
|
.setAction(R.string.undo_string) {
|
||||||
|
items.add(position, i)
|
||||||
|
thread {
|
||||||
|
db.itemsDao().delete(i.toEntity())
|
||||||
|
}
|
||||||
|
notifyItemInserted(position)
|
||||||
|
updateItems(items)
|
||||||
|
|
||||||
|
if (app.isNetworkAccessible(null)) {
|
||||||
|
api.markItem(i.id).enqueue(object : Callback<SuccessResponse> {
|
||||||
|
override fun onResponse(
|
||||||
|
call: Call<SuccessResponse>,
|
||||||
|
response: Response<SuccessResponse>
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onFailure(call: Call<SuccessResponse>, t: Throwable) {
|
||||||
|
items.remove(i)
|
||||||
|
thread {
|
||||||
|
db.itemsDao().insertAllItems(i.toEntity())
|
||||||
|
}
|
||||||
|
notifyItemRemoved(position)
|
||||||
|
updateItems(items)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
thread {
|
||||||
|
db.actionsDao().insertAllActions(ActionEntity(i.id, true, false, false, false))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val view = s.view
|
||||||
|
val tv: TextView = view.findViewById(com.google.android.material.R.id.snackbar_text)
|
||||||
|
tv.setTextColor(Color.WHITE)
|
||||||
|
s.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun handleItemAtIndex(position: Int) {
|
||||||
|
if (unreadItemStatusAtIndex(position)) {
|
||||||
|
readItemAtIndex(position)
|
||||||
|
} else {
|
||||||
|
unreadItemAtIndex(position)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun unreadItemStatusAtIndex(position: Int): Boolean {
|
||||||
|
return items[position].unread
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun readItemAtIndex(position: Int) {
|
||||||
val i = items[position]
|
val i = items[position]
|
||||||
items.remove(i)
|
items.remove(i)
|
||||||
notifyItemRemoved(position)
|
notifyItemRemoved(position)
|
||||||
@ -105,7 +161,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
) {
|
) {
|
||||||
if (!response.succeeded() && debugReadingItems) {
|
if (!response.succeeded() && debugReadingItems) {
|
||||||
val message =
|
val message =
|
||||||
"message: ${response.message()} " +
|
"MARK message: ${response.message()} " +
|
||||||
"response isSuccess: ${response.isSuccessful} " +
|
"response isSuccess: ${response.isSuccessful} " +
|
||||||
"response code: ${response.code()} " +
|
"response code: ${response.code()} " +
|
||||||
"response message: ${response.message()} " +
|
"response message: ${response.message()} " +
|
||||||
@ -116,7 +172,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
Toast.makeText(app.baseContext, message, Toast.LENGTH_LONG).show()
|
Toast.makeText(app.baseContext, message, Toast.LENGTH_LONG).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
doUnmark(i, position)
|
unmarkSnackbar(i, position)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFailure(call: Call<SuccessResponse>, t: Throwable) {
|
override fun onFailure(call: Call<SuccessResponse>, t: Throwable) {
|
||||||
@ -129,7 +185,7 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
app.getString(R.string.cant_mark_read),
|
app.getString(R.string.cant_mark_read),
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
items.add(i)
|
items.add(position, i)
|
||||||
notifyItemInserted(position)
|
notifyItemInserted(position)
|
||||||
updateItems(items)
|
updateItems(items)
|
||||||
|
|
||||||
@ -141,7 +197,64 @@ abstract class ItemsAdapter<VH : RecyclerView.ViewHolder?> : RecyclerView.Adapte
|
|||||||
} else {
|
} else {
|
||||||
thread {
|
thread {
|
||||||
db.actionsDao().insertAllActions(ActionEntity(i.id, true, false, false, false))
|
db.actionsDao().insertAllActions(ActionEntity(i.id, true, false, false, false))
|
||||||
doUnmark(i, position)
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun unreadItemAtIndex(position: Int) {
|
||||||
|
val i = items[position]
|
||||||
|
items.remove(i)
|
||||||
|
notifyItemRemoved(position)
|
||||||
|
updateItems(items)
|
||||||
|
|
||||||
|
thread {
|
||||||
|
db.itemsDao().insertAllItems(i.toEntity())
|
||||||
|
}
|
||||||
|
|
||||||
|
if (app.isNetworkAccessible(null)) {
|
||||||
|
api.unmarkItem(i.id).enqueue(object : Callback<SuccessResponse> {
|
||||||
|
override fun onResponse(
|
||||||
|
call: Call<SuccessResponse>,
|
||||||
|
response: Response<SuccessResponse>
|
||||||
|
) {
|
||||||
|
if (!response.succeeded() && debugReadingItems) {
|
||||||
|
val message =
|
||||||
|
"UNMARK message: ${response.message()} " +
|
||||||
|
"response isSuccess: ${response.isSuccessful} " +
|
||||||
|
"response code: ${response.code()} " +
|
||||||
|
"response message: ${response.message()} " +
|
||||||
|
"response errorBody: ${response.errorBody()?.string()} " +
|
||||||
|
"body success: ${response.body()?.success} " +
|
||||||
|
"body isSuccess: ${response.body()?.isSuccess}"
|
||||||
|
ACRA.getErrorReporter().maybeHandleSilentException(Exception(message), app)
|
||||||
|
Toast.makeText(app.baseContext, message, Toast.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
|
|
||||||
|
markSnackbar(i, position)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onFailure(call: Call<SuccessResponse>, t: Throwable) {
|
||||||
|
if (debugReadingItems) {
|
||||||
|
ACRA.getErrorReporter().maybeHandleSilentException(t, app)
|
||||||
|
Toast.makeText(app.baseContext, t.message, Toast.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
|
Toast.makeText(
|
||||||
|
app,
|
||||||
|
app.getString(R.string.cant_mark_unread),
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
|
items.add(i)
|
||||||
|
notifyItemInserted(position)
|
||||||
|
updateItems(items)
|
||||||
|
|
||||||
|
thread {
|
||||||
|
db.itemsDao().delete(i.toEntity())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
thread {
|
||||||
|
db.actionsDao().insertAllActions(ActionEntity(i.id, false, true, false, false))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,13 @@ class ArticleFragment : Fragment() {
|
|||||||
font = prefs.getString("reader_font", "")
|
font = prefs.getString("reader_font", "")
|
||||||
if (font.isNotEmpty()) {
|
if (font.isNotEmpty()) {
|
||||||
resId = context!!.resources.getIdentifier(font, "font", context!!.packageName)
|
resId = context!!.resources.getIdentifier(font, "font", context!!.packageName)
|
||||||
typeface = ResourcesCompat.getFont(context!!, resId)!!
|
typeface = try {
|
||||||
|
ResourcesCompat.getFont(context!!, resId)!!
|
||||||
|
} catch (e: java.lang.Exception) {
|
||||||
|
// ACRA.getErrorReporter().maybeHandleSilentException(Throwable("Font loading issue: ${e.message}"), context!!)
|
||||||
|
// Just to be sure
|
||||||
|
null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshAlignment()
|
refreshAlignment()
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Preferits"</string>
|
<string name="tab_favs">"Preferits"</string>
|
||||||
<string name="action_about">"Quant a"</string>
|
<string name="action_about">"Quant a"</string>
|
||||||
<string name="marked_as_read">"Element llegit"</string>
|
<string name="marked_as_read">"Element llegit"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Desfés"</string>
|
<string name="undo_string">"Desfés"</string>
|
||||||
<string name="addStringNoUrl">"Inicieu la sessió per afegir fonts."</string>
|
<string name="addStringNoUrl">"Inicieu la sessió per afegir fonts."</string>
|
||||||
<string name="cant_get_sources">"No es pot obtenir la llista de fonts."</string>
|
<string name="cant_get_sources">"No es pot obtenir la llista de fonts."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">L\'alçada de les targetes serà fixa</string>
|
<string name="card_height_off">L\'alçada de les targetes serà fixa</string>
|
||||||
<string name="source_code">Codi font</string>
|
<string name="source_code">Codi font</string>
|
||||||
<string name="cant_mark_read">No es pot marcar l\'article com a llegit</string>
|
<string name="cant_mark_read">No es pot marcar l\'article com a llegit</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">S\'ha produït un error en carregar les etiquetes</string>
|
<string name="drawer_error_loading_tags">S\'ha produït un error en carregar les etiquetes</string>
|
||||||
<string name="drawer_error_loading_sources">S\'ha produït un error en carregar les fonts</string>
|
<string name="drawer_error_loading_sources">S\'ha produït un error en carregar les fonts</string>
|
||||||
<string name="drawer_item_filters">Filtres</string>
|
<string name="drawer_item_filters">Filtres</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoriten"</string>
|
<string name="tab_favs">"Favoriten"</string>
|
||||||
<string name="action_about">"Über"</string>
|
<string name="action_about">"Über"</string>
|
||||||
<string name="marked_as_read">"Artikel gelesen"</string>
|
<string name="marked_as_read">"Artikel gelesen"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Rückgängig"</string>
|
<string name="undo_string">"Rückgängig"</string>
|
||||||
<string name="addStringNoUrl">"Melde dich an um Quellen hinzuzufügen."</string>
|
<string name="addStringNoUrl">"Melde dich an um Quellen hinzuzufügen."</string>
|
||||||
<string name="cant_get_sources">"Quellen können nicht abgerufen werden."</string>
|
<string name="cant_get_sources">"Quellen können nicht abgerufen werden."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Kartenhöhe ist fix</string>
|
<string name="card_height_off">Kartenhöhe ist fix</string>
|
||||||
<string name="source_code">Quellcode</string>
|
<string name="source_code">Quellcode</string>
|
||||||
<string name="cant_mark_read">Artikel kann nicht als gelesen markiert werden</string>
|
<string name="cant_mark_read">Artikel kann nicht als gelesen markiert werden</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Fehler beim Laden der Tags…</string>
|
<string name="drawer_error_loading_tags">Fehler beim Laden der Tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Fehler beim Laden der Quellen…</string>
|
<string name="drawer_error_loading_sources">Fehler beim Laden der Quellen…</string>
|
||||||
<string name="drawer_item_filters">Filter</string>
|
<string name="drawer_item_filters">Filter</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoritos"</string>
|
<string name="tab_favs">"Favoritos"</string>
|
||||||
<string name="action_about">"Acerca de"</string>
|
<string name="action_about">"Acerca de"</string>
|
||||||
<string name="marked_as_read">"Artículo leído"</string>
|
<string name="marked_as_read">"Artículo leído"</string>
|
||||||
|
<string name="marked_as_unread">"Artículo no leído"</string>
|
||||||
<string name="undo_string">"Deshacer"</string>
|
<string name="undo_string">"Deshacer"</string>
|
||||||
<string name="addStringNoUrl">"Iniciar sesión para añadir fuentes."</string>
|
<string name="addStringNoUrl">"Iniciar sesión para añadir fuentes."</string>
|
||||||
<string name="cant_get_sources">"No se puede obtener la lista de fuentes."</string>
|
<string name="cant_get_sources">"No se puede obtener la lista de fuentes."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Se fijará la altura de la tarjeta</string>
|
<string name="card_height_off">Se fijará la altura de la tarjeta</string>
|
||||||
<string name="source_code">Código fuente</string>
|
<string name="source_code">Código fuente</string>
|
||||||
<string name="cant_mark_read">No puede marcar el artículo como leído</string>
|
<string name="cant_mark_read">No puede marcar el artículo como leído</string>
|
||||||
|
<string name="cant_mark_unread">No se puede marcar el artículo como no leído</string>
|
||||||
<string name="drawer_error_loading_tags">Error al cargar etiquetas…</string>
|
<string name="drawer_error_loading_tags">Error al cargar etiquetas…</string>
|
||||||
<string name="drawer_error_loading_sources">Error al cargar fuentes…</string>
|
<string name="drawer_error_loading_sources">Error al cargar fuentes…</string>
|
||||||
<string name="drawer_item_filters">Filtros</string>
|
<string name="drawer_item_filters">Filtros</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoris"</string>
|
<string name="tab_favs">"Favoris"</string>
|
||||||
<string name="action_about">"À propos"</string>
|
<string name="action_about">"À propos"</string>
|
||||||
<string name="marked_as_read">"Marqué comme lu"</string>
|
<string name="marked_as_read">"Marqué comme lu"</string>
|
||||||
|
<string name="marked_as_unread">"Marqué comme non lu"</string>
|
||||||
<string name="undo_string">"Annuler"</string>
|
<string name="undo_string">"Annuler"</string>
|
||||||
<string name="addStringNoUrl">"Identifiez-vous pour ajouter une source."</string>
|
<string name="addStringNoUrl">"Identifiez-vous pour ajouter une source."</string>
|
||||||
<string name="cant_get_sources">"Impossible de récupérer la liste des sources"</string>
|
<string name="cant_get_sources">"Impossible de récupérer la liste des sources"</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">La taille de la carte sera fixe</string>
|
<string name="card_height_off">La taille de la carte sera fixe</string>
|
||||||
<string name="source_code">Code source</string>
|
<string name="source_code">Code source</string>
|
||||||
<string name="cant_mark_read">Impossible de marquer l\'article comme lu</string>
|
<string name="cant_mark_read">Impossible de marquer l\'article comme lu</string>
|
||||||
|
<string name="cant_mark_unread">Impossible de marquer l\'article comme non lu</string>
|
||||||
<string name="drawer_error_loading_tags">Erreur lors du chargement des tags…</string>
|
<string name="drawer_error_loading_tags">Erreur lors du chargement des tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Erreur lors du chargement des sources…</string>
|
<string name="drawer_error_loading_sources">Erreur lors du chargement des sources…</string>
|
||||||
<string name="drawer_item_filters">Filtres</string>
|
<string name="drawer_item_filters">Filtres</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoritos"</string>
|
<string name="tab_favs">"Favoritos"</string>
|
||||||
<string name="action_about">"Acerca de"</string>
|
<string name="action_about">"Acerca de"</string>
|
||||||
<string name="marked_as_read">"Elemento lido"</string>
|
<string name="marked_as_read">"Elemento lido"</string>
|
||||||
|
<string name="marked_as_unread">"Elemento non lido"</string>
|
||||||
<string name="undo_string">"Desfacer"</string>
|
<string name="undo_string">"Desfacer"</string>
|
||||||
<string name="addStringNoUrl">"Accede pra engadir fontes."</string>
|
<string name="addStringNoUrl">"Accede pra engadir fontes."</string>
|
||||||
<string name="cant_get_sources">"Non se pode obter a lista de fontes."</string>
|
<string name="cant_get_sources">"Non se pode obter a lista de fontes."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">A altura das tarxetas será fixa</string>
|
<string name="card_height_off">A altura das tarxetas será fixa</string>
|
||||||
<string name="source_code">Código fonte</string>
|
<string name="source_code">Código fonte</string>
|
||||||
<string name="cant_mark_read">Non se pode marcar o artigo como lido</string>
|
<string name="cant_mark_read">Non se pode marcar o artigo como lido</string>
|
||||||
|
<string name="cant_mark_unread">Non se pode marcar o artigo como non lido</string>
|
||||||
<string name="drawer_error_loading_tags">Produciuse un erro ao cargar as etiquetas…</string>
|
<string name="drawer_error_loading_tags">Produciuse un erro ao cargar as etiquetas…</string>
|
||||||
<string name="drawer_error_loading_sources">Produciuse un erro ao cargar as fontes…</string>
|
<string name="drawer_error_loading_sources">Produciuse un erro ao cargar as fontes…</string>
|
||||||
<string name="drawer_item_filters">Filtros</string>
|
<string name="drawer_item_filters">Filtros</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favorit"</string>
|
<string name="tab_favs">"Favorit"</string>
|
||||||
<string name="action_about">"Tentang"</string>
|
<string name="action_about">"Tentang"</string>
|
||||||
<string name="marked_as_read">"Membaca item"</string>
|
<string name="marked_as_read">"Membaca item"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Urung"</string>
|
<string name="undo_string">"Urung"</string>
|
||||||
<string name="addStringNoUrl">"Masuk untuk menambah sumber."</string>
|
<string name="addStringNoUrl">"Masuk untuk menambah sumber."</string>
|
||||||
<string name="cant_get_sources">"Tidak bisa mendapatkan daftar sumber."</string>
|
<string name="cant_get_sources">"Tidak bisa mendapatkan daftar sumber."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Ukuran kartu akan tetap</string>
|
<string name="card_height_off">Ukuran kartu akan tetap</string>
|
||||||
<string name="source_code">Kode sumber</string>
|
<string name="source_code">Kode sumber</string>
|
||||||
<string name="cant_mark_read">Tidak dapat menandai artikel sebagai telah dibaca</string>
|
<string name="cant_mark_read">Tidak dapat menandai artikel sebagai telah dibaca</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Kesalahan saat memuat tag…</string>
|
<string name="drawer_error_loading_tags">Kesalahan saat memuat tag…</string>
|
||||||
<string name="drawer_error_loading_sources">Kesalahan saat memuat sumber…</string>
|
<string name="drawer_error_loading_sources">Kesalahan saat memuat sumber…</string>
|
||||||
<string name="drawer_item_filters">Filter</string>
|
<string name="drawer_item_filters">Filter</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Preferiti"</string>
|
<string name="tab_favs">"Preferiti"</string>
|
||||||
<string name="action_about">"Informazioni"</string>
|
<string name="action_about">"Informazioni"</string>
|
||||||
<string name="marked_as_read">"Articolo letto"</string>
|
<string name="marked_as_read">"Articolo letto"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Annulla"</string>
|
<string name="undo_string">"Annulla"</string>
|
||||||
<string name="addStringNoUrl">"Autenticati per aggiungere fonti."</string>
|
<string name="addStringNoUrl">"Autenticati per aggiungere fonti."</string>
|
||||||
<string name="cant_get_sources">"Can't get sources list."</string>
|
<string name="cant_get_sources">"Can't get sources list."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Card height will be fixed</string>
|
<string name="card_height_off">Card height will be fixed</string>
|
||||||
<string name="source_code">Codice sorgente</string>
|
<string name="source_code">Codice sorgente</string>
|
||||||
<string name="cant_mark_read">Impossibile contrassegnare l\'articolo come già letto</string>
|
<string name="cant_mark_read">Impossibile contrassegnare l\'articolo come già letto</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Errore nel caricamento dei tag…</string>
|
<string name="drawer_error_loading_tags">Errore nel caricamento dei tag…</string>
|
||||||
<string name="drawer_error_loading_sources">Errore nel caricamento delle fonti…</string>
|
<string name="drawer_error_loading_sources">Errore nel caricamento delle fonti…</string>
|
||||||
<string name="drawer_item_filters">Filtri</string>
|
<string name="drawer_item_filters">Filtri</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"즐겨찾기"</string>
|
<string name="tab_favs">"즐겨찾기"</string>
|
||||||
<string name="action_about">"정보"</string>
|
<string name="action_about">"정보"</string>
|
||||||
<string name="marked_as_read">"항목 읽기"</string>
|
<string name="marked_as_read">"항목 읽기"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"실행 취소"</string>
|
<string name="undo_string">"실행 취소"</string>
|
||||||
<string name="addStringNoUrl">"로그인 소스를 추가 해야 합니다."</string>
|
<string name="addStringNoUrl">"로그인 소스를 추가 해야 합니다."</string>
|
||||||
<string name="cant_get_sources">"소스 리스트를 얻을 수 없습니다."</string>
|
<string name="cant_get_sources">"소스 리스트를 얻을 수 없습니다."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Card height will be fixed</string>
|
<string name="card_height_off">Card height will be fixed</string>
|
||||||
<string name="source_code">Source code</string>
|
<string name="source_code">Source code</string>
|
||||||
<string name="cant_mark_read">Can\'t mark article as read</string>
|
<string name="cant_mark_read">Can\'t mark article as read</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Error loading tags…</string>
|
<string name="drawer_error_loading_tags">Error loading tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Error loading sources…</string>
|
<string name="drawer_error_loading_sources">Error loading sources…</string>
|
||||||
<string name="drawer_item_filters">Filters</string>
|
<string name="drawer_item_filters">Filters</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favorieten"</string>
|
<string name="tab_favs">"Favorieten"</string>
|
||||||
<string name="action_about">"Over"</string>
|
<string name="action_about">"Over"</string>
|
||||||
<string name="marked_as_read">"Artikel gelezen"</string>
|
<string name="marked_as_read">"Artikel gelezen"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Ongedaan maken"</string>
|
<string name="undo_string">"Ongedaan maken"</string>
|
||||||
<string name="addStringNoUrl">"Login om bronnen toe te voegen"</string>
|
<string name="addStringNoUrl">"Login om bronnen toe te voegen"</string>
|
||||||
<string name="cant_get_sources">"Kan de lijst met bronnen niet ophalen"</string>
|
<string name="cant_get_sources">"Kan de lijst met bronnen niet ophalen"</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Vaste hoogte</string>
|
<string name="card_height_off">Vaste hoogte</string>
|
||||||
<string name="source_code">Broncode</string>
|
<string name="source_code">Broncode</string>
|
||||||
<string name="cant_mark_read">Impossible de marquer l\'article comme lu</string>
|
<string name="cant_mark_read">Impossible de marquer l\'article comme lu</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Fout bij het laden van tags…</string>
|
<string name="drawer_error_loading_tags">Fout bij het laden van tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Fout bij laden van bronnen…</string>
|
<string name="drawer_error_loading_sources">Fout bij laden van bronnen…</string>
|
||||||
<string name="drawer_item_filters">Filters</string>
|
<string name="drawer_item_filters">Filters</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoritos"</string>
|
<string name="tab_favs">"Favoritos"</string>
|
||||||
<string name="action_about">"Sobre"</string>
|
<string name="action_about">"Sobre"</string>
|
||||||
<string name="marked_as_read">"Item lido"</string>
|
<string name="marked_as_read">"Item lido"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Desfazer"</string>
|
<string name="undo_string">"Desfazer"</string>
|
||||||
<string name="addStringNoUrl">"Faça login para adicionar fontes."</string>
|
<string name="addStringNoUrl">"Faça login para adicionar fontes."</string>
|
||||||
<string name="cant_get_sources">"Não é possível obter a lista de fontes."</string>
|
<string name="cant_get_sources">"Não é possível obter a lista de fontes."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Cards com altura de tamanho fixo</string>
|
<string name="card_height_off">Cards com altura de tamanho fixo</string>
|
||||||
<string name="source_code">Código fonte</string>
|
<string name="source_code">Código fonte</string>
|
||||||
<string name="cant_mark_read">Não é possível marcar o artigo como lido</string>
|
<string name="cant_mark_read">Não é possível marcar o artigo como lido</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Erro ao carregar as tags…</string>
|
<string name="drawer_error_loading_tags">Erro ao carregar as tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Erro ao carregar as fontes…</string>
|
<string name="drawer_error_loading_sources">Erro ao carregar as fontes…</string>
|
||||||
<string name="drawer_item_filters">Filtros</string>
|
<string name="drawer_item_filters">Filtros</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoritos"</string>
|
<string name="tab_favs">"Favoritos"</string>
|
||||||
<string name="action_about">"Sobre"</string>
|
<string name="action_about">"Sobre"</string>
|
||||||
<string name="marked_as_read">"Item lido"</string>
|
<string name="marked_as_read">"Item lido"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Desfazer"</string>
|
<string name="undo_string">"Desfazer"</string>
|
||||||
<string name="addStringNoUrl">"Logar para adicionar fontes."</string>
|
<string name="addStringNoUrl">"Logar para adicionar fontes."</string>
|
||||||
<string name="cant_get_sources">"Não é possível obter a lista de fontes."</string>
|
<string name="cant_get_sources">"Não é possível obter a lista de fontes."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Altura do cartão será corrigida</string>
|
<string name="card_height_off">Altura do cartão será corrigida</string>
|
||||||
<string name="source_code">Código fonte</string>
|
<string name="source_code">Código fonte</string>
|
||||||
<string name="cant_mark_read">Não pode marcar o artigo como lido</string>
|
<string name="cant_mark_read">Não pode marcar o artigo como lido</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Erro ao carregar etiquetas…</string>
|
<string name="drawer_error_loading_tags">Erro ao carregar etiquetas…</string>
|
||||||
<string name="drawer_error_loading_sources">Erro ao carregar fontes…</string>
|
<string name="drawer_error_loading_sources">Erro ao carregar fontes…</string>
|
||||||
<string name="drawer_item_filters">Filtros</string>
|
<string name="drawer_item_filters">Filtros</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"Favoriler"</string>
|
<string name="tab_favs">"Favoriler"</string>
|
||||||
<string name="action_about">"Hakkında"</string>
|
<string name="action_about">"Hakkında"</string>
|
||||||
<string name="marked_as_read">"Öğeleri oku"</string>
|
<string name="marked_as_read">"Öğeleri oku"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Geri al"</string>
|
<string name="undo_string">"Geri al"</string>
|
||||||
<string name="addStringNoUrl">"Kaynakları eklemek için giriş yapın."</string>
|
<string name="addStringNoUrl">"Kaynakları eklemek için giriş yapın."</string>
|
||||||
<string name="cant_get_sources">"Kaynakları listesi alınamıyor."</string>
|
<string name="cant_get_sources">"Kaynakları listesi alınamıyor."</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">Kart yüksekliği sabit olacak</string>
|
<string name="card_height_off">Kart yüksekliği sabit olacak</string>
|
||||||
<string name="source_code">Kaynak kodu</string>
|
<string name="source_code">Kaynak kodu</string>
|
||||||
<string name="cant_mark_read">Makale favori olarak işaretlenemez</string>
|
<string name="cant_mark_read">Makale favori olarak işaretlenemez</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Etiketler yükleme hatası…</string>
|
<string name="drawer_error_loading_tags">Etiketler yükleme hatası…</string>
|
||||||
<string name="drawer_error_loading_sources">Kaynaklar yüklenirken hata oluştu…</string>
|
<string name="drawer_error_loading_sources">Kaynaklar yüklenirken hata oluştu…</string>
|
||||||
<string name="drawer_item_filters">Filtreler</string>
|
<string name="drawer_item_filters">Filtreler</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"收藏夹"</string>
|
<string name="tab_favs">"收藏夹"</string>
|
||||||
<string name="action_about">"关于我们"</string>
|
<string name="action_about">"关于我们"</string>
|
||||||
<string name="marked_as_read">"已读"</string>
|
<string name="marked_as_read">"已读"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"撤销"</string>
|
<string name="undo_string">"撤销"</string>
|
||||||
<string name="addStringNoUrl">"登录以添加数据源。"</string>
|
<string name="addStringNoUrl">"登录以添加数据源。"</string>
|
||||||
<string name="cant_get_sources">"无法获取数据列表。"</string>
|
<string name="cant_get_sources">"无法获取数据列表。"</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">卡片高度将被固定</string>
|
<string name="card_height_off">卡片高度将被固定</string>
|
||||||
<string name="source_code">源代码</string>
|
<string name="source_code">源代码</string>
|
||||||
<string name="cant_mark_read">无法将文章标记为已读</string>
|
<string name="cant_mark_read">无法将文章标记为已读</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">加载标记时出错..。</string>
|
<string name="drawer_error_loading_tags">加载标记时出错..。</string>
|
||||||
<string name="drawer_error_loading_sources">加载源时出错..。</string>
|
<string name="drawer_error_loading_sources">加载源时出错..。</string>
|
||||||
<string name="drawer_item_filters">搜索条件</string>
|
<string name="drawer_item_filters">搜索条件</string>
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
<string name="tab_favs">"收藏夹"</string>
|
<string name="tab_favs">"收藏夹"</string>
|
||||||
<string name="action_about">"关于我们"</string>
|
<string name="action_about">"关于我们"</string>
|
||||||
<string name="marked_as_read">"已读"</string>
|
<string name="marked_as_read">"已读"</string>
|
||||||
|
<string name="marked_as_unread">"未讀項目"</string>
|
||||||
<string name="undo_string">"撤销"</string>
|
<string name="undo_string">"撤销"</string>
|
||||||
<string name="addStringNoUrl">"登录以添加数据源。"</string>
|
<string name="addStringNoUrl">"登录以添加数据源。"</string>
|
||||||
<string name="cant_get_sources">"无法获取数据列表。"</string>
|
<string name="cant_get_sources">"无法获取数据列表。"</string>
|
||||||
@ -83,6 +84,7 @@
|
|||||||
<string name="card_height_off">卡片高度将被固定</string>
|
<string name="card_height_off">卡片高度将被固定</string>
|
||||||
<string name="source_code">源代码</string>
|
<string name="source_code">源代码</string>
|
||||||
<string name="cant_mark_read">无法将文章标记为已读</string>
|
<string name="cant_mark_read">无法将文章标记为已读</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">加载标记时出错..。</string>
|
<string name="drawer_error_loading_tags">加载标记时出错..。</string>
|
||||||
<string name="drawer_error_loading_sources">加载源时出错..。</string>
|
<string name="drawer_error_loading_sources">加载源时出错..。</string>
|
||||||
<string name="drawer_item_filters">搜索条件</string>
|
<string name="drawer_item_filters">搜索条件</string>
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
<string name="tab_favs">"Favorites"</string>
|
<string name="tab_favs">"Favorites"</string>
|
||||||
<string name="action_about">"About"</string>
|
<string name="action_about">"About"</string>
|
||||||
<string name="marked_as_read">"Item read"</string>
|
<string name="marked_as_read">"Item read"</string>
|
||||||
|
<string name="marked_as_unread">"Item unread"</string>
|
||||||
<string name="undo_string">"Undo"</string>
|
<string name="undo_string">"Undo"</string>
|
||||||
<string name="addStringNoUrl">"Log in to add sources."</string>
|
<string name="addStringNoUrl">"Log in to add sources."</string>
|
||||||
<string name="cant_get_sources">"Can't get sources list."</string>
|
<string name="cant_get_sources">"Can't get sources list."</string>
|
||||||
@ -82,6 +83,7 @@
|
|||||||
<string name="card_height_off">Card height will be fixed</string>
|
<string name="card_height_off">Card height will be fixed</string>
|
||||||
<string name="source_code">Source code</string>
|
<string name="source_code">Source code</string>
|
||||||
<string name="cant_mark_read">Can\'t mark article as read</string>
|
<string name="cant_mark_read">Can\'t mark article as read</string>
|
||||||
|
<string name="cant_mark_unread">Can\'t mark article as unread</string>
|
||||||
<string name="drawer_error_loading_tags">Error loading tags…</string>
|
<string name="drawer_error_loading_tags">Error loading tags…</string>
|
||||||
<string name="drawer_error_loading_sources">Error loading sources…</string>
|
<string name="drawer_error_loading_sources">Error loading sources…</string>
|
||||||
<string name="drawer_item_filters">Filters</string>
|
<string name="drawer_item_filters">Filters</string>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.2.51'
|
kotlin_version = '1.3.0'
|
||||||
android_version = '1.0.0'
|
android_version = '1.0.0'
|
||||||
lifecycle_version = '2.0.0'
|
lifecycle_version = '2.0.0'
|
||||||
room_version = '2.1.0-alpha01'
|
room_version = '2.1.0-alpha01'
|
||||||
@ -16,7 +16,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
classpath 'com.android.tools.build:gradle:3.3.0'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
|||||||
#Tue Sep 25 20:41:54 CEST 2018
|
#Mon Jan 14 20:50:06 CET 2019
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
|
||||||
|
Reference in New Issue
Block a user