Compare commits
13 Commits
v161809253
...
v161810280
Author | SHA1 | Date | |
---|---|---|---|
bb75ebf635 | |||
7d7d0014be | |||
b3f8d44794 | |||
29d1e38340 | |||
2be872e61e | |||
377c5518f7 | |||
21be7357b5 | |||
d47ba2c820 | |||
a64b14614a | |||
6a88192e77 | |||
aa7c630818 | |||
7fb54f14c7 | |||
3d709c02b7 |
@ -133,7 +133,7 @@ dependencies {
|
|||||||
implementation 'com.github.stkent:amplify:2.1.0'
|
implementation 'com.github.stkent:amplify:2.1.0'
|
||||||
|
|
||||||
// Drawer
|
// Drawer
|
||||||
implementation 'co.zsmb:materialdrawer-kt:1.3.5'
|
implementation 'co.zsmb:materialdrawer-kt:1.3.7'
|
||||||
implementation 'com.anupcowkur:reservoir:3.1.0'
|
implementation 'com.anupcowkur:reservoir:3.1.0'
|
||||||
|
|
||||||
// Themes
|
// Themes
|
||||||
|
@ -114,7 +114,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
private lateinit var appColors: AppColors
|
private lateinit var appColors: AppColors
|
||||||
private var offset: Int = 0
|
private var offset: Int = 0
|
||||||
private var firstVisible: Int = 0
|
private var firstVisible: Int = 0
|
||||||
private var recyclerViewScrollListener: RecyclerView.OnScrollListener? = null
|
private lateinit var recyclerViewScrollListener: RecyclerView.OnScrollListener
|
||||||
private lateinit var settings: SharedPreferences
|
private lateinit var settings: SharedPreferences
|
||||||
|
|
||||||
private var recyclerAdapter: RecyclerView.Adapter<*>? = null
|
private var recyclerAdapter: RecyclerView.Adapter<*>? = null
|
||||||
@ -209,8 +209,8 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT
|
ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT
|
||||||
) {
|
) {
|
||||||
override fun getSwipeDirs(
|
override fun getSwipeDirs(
|
||||||
recyclerView: RecyclerView?,
|
recyclerView: RecyclerView,
|
||||||
viewHolder: RecyclerView.ViewHolder?
|
viewHolder: RecyclerView.ViewHolder
|
||||||
): Int =
|
): Int =
|
||||||
if (elementsShown != UNREAD_SHOWN) {
|
if (elementsShown != UNREAD_SHOWN) {
|
||||||
0
|
0
|
||||||
@ -805,22 +805,20 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun handleInfiniteScroll() {
|
private fun handleInfiniteScroll() {
|
||||||
if (recyclerViewScrollListener == null) {
|
recyclerViewScrollListener = object : RecyclerView.OnScrollListener() {
|
||||||
recyclerViewScrollListener = object : RecyclerView.OnScrollListener() {
|
override fun onScrolled(localRecycler: RecyclerView, dx: Int, dy: Int) {
|
||||||
override fun onScrolled(localRecycler: RecyclerView?, dx: Int, dy: Int) {
|
if (localRecycler != null && dy > 0) {
|
||||||
if (localRecycler != null && dy > 0) {
|
val manager = recyclerView.layoutManager
|
||||||
val manager = recyclerView.layoutManager
|
val lastVisibleItem: Int = when (manager) {
|
||||||
val lastVisibleItem: Int = when (manager) {
|
is StaggeredGridLayoutManager -> manager.findLastCompletelyVisibleItemPositions(
|
||||||
is StaggeredGridLayoutManager -> manager.findLastCompletelyVisibleItemPositions(
|
null
|
||||||
null
|
).last()
|
||||||
).last()
|
is GridLayoutManager -> manager.findLastCompletelyVisibleItemPosition()
|
||||||
is GridLayoutManager -> manager.findLastCompletelyVisibleItemPosition()
|
else -> 0
|
||||||
else -> 0
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (lastVisibleItem == (items.size - 1) && items.size < maxItemNumber()) {
|
if (lastVisibleItem == (items.size - 1) && items.size < maxItemNumber()) {
|
||||||
getElementsAccordingToTab(appendResults = true)
|
getElementsAccordingToTab(appendResults = true)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,11 @@ package apps.amine.bou.readerforselfoss
|
|||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.preference.PreferenceManager
|
||||||
import android.support.v4.app.FragmentManager
|
import android.support.v4.app.FragmentManager
|
||||||
import android.support.v4.app.FragmentStatePagerAdapter
|
import android.support.v4.app.FragmentStatePagerAdapter
|
||||||
import android.support.v4.content.ContextCompat
|
import android.support.v4.content.ContextCompat
|
||||||
|
import android.support.v4.view.ViewPager
|
||||||
import android.support.v7.app.AppCompatActivity
|
import android.support.v7.app.AppCompatActivity
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
@ -18,10 +20,13 @@ import apps.amine.bou.readerforselfoss.fragments.ArticleFragment
|
|||||||
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.maybeHandleSilentException
|
||||||
|
import apps.amine.bou.readerforselfoss.utils.succeeded
|
||||||
import apps.amine.bou.readerforselfoss.utils.toggleStar
|
import apps.amine.bou.readerforselfoss.utils.toggleStar
|
||||||
import com.ftinc.scoop.Scoop
|
import com.ftinc.scoop.Scoop
|
||||||
import kotlinx.android.synthetic.main.activity_reader.*
|
import kotlinx.android.synthetic.main.activity_reader.*
|
||||||
import me.relex.circleindicator.CircleIndicator
|
import me.relex.circleindicator.CircleIndicator
|
||||||
|
import org.acra.ACRA
|
||||||
import retrofit2.Call
|
import retrofit2.Call
|
||||||
import retrofit2.Callback
|
import retrofit2.Callback
|
||||||
import retrofit2.Response
|
import retrofit2.Response
|
||||||
@ -29,7 +34,9 @@ import retrofit2.Response
|
|||||||
class ReaderActivity : AppCompatActivity() {
|
class ReaderActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private var markOnScroll: Boolean = false
|
private var markOnScroll: Boolean = false
|
||||||
|
private var debugReadingItems: Boolean = false
|
||||||
private var currentItem: Int = 0
|
private var currentItem: Int = 0
|
||||||
|
private lateinit var userIdentifier: String
|
||||||
|
|
||||||
private lateinit var api: SelfossApi
|
private lateinit var api: SelfossApi
|
||||||
|
|
||||||
@ -63,6 +70,18 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||||
|
|
||||||
|
val prefs = PreferenceManager.getDefaultSharedPreferences(this)
|
||||||
|
|
||||||
|
debugReadingItems = prefs.getBoolean("read_debug", false)
|
||||||
|
userIdentifier = prefs.getString("unique_id", "")
|
||||||
|
markOnScroll = prefs.getBoolean("mark_on_scroll", false)
|
||||||
|
|
||||||
|
api = SelfossApi(
|
||||||
|
this,
|
||||||
|
this@ReaderActivity,
|
||||||
|
prefs.getBoolean("isSelfSignedCert", false),
|
||||||
|
prefs.getBoolean("should_log_everything", false)
|
||||||
|
)
|
||||||
|
|
||||||
if (allItems.isEmpty()) {
|
if (allItems.isEmpty()) {
|
||||||
finish()
|
finish()
|
||||||
@ -70,6 +89,8 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
currentItem = intent.getIntExtra("currentItem", 0)
|
currentItem = intent.getIntExtra("currentItem", 0)
|
||||||
|
|
||||||
|
readItem(allItems[currentItem].id)
|
||||||
|
|
||||||
pager.adapter = ScreenSlidePagerAdapter(supportFragmentManager, AppColors(this@ReaderActivity))
|
pager.adapter = ScreenSlidePagerAdapter(supportFragmentManager, AppColors(this@ReaderActivity))
|
||||||
pager.currentItem = currentItem
|
pager.currentItem = currentItem
|
||||||
}
|
}
|
||||||
@ -77,10 +98,64 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
|
||||||
(pager.adapter as ScreenSlidePagerAdapter).notifyDataSetChanged()
|
notifyAdapter()
|
||||||
|
|
||||||
pager.setPageTransformer(true, DepthPageTransformer())
|
pager.setPageTransformer(true, DepthPageTransformer())
|
||||||
(indicator as CircleIndicator).setViewPager(pager)
|
(indicator as CircleIndicator).setViewPager(pager)
|
||||||
|
|
||||||
|
pager.addOnPageChangeListener(
|
||||||
|
object : ViewPager.SimpleOnPageChangeListener() {
|
||||||
|
|
||||||
|
override fun onPageSelected(position: Int) {
|
||||||
|
|
||||||
|
if (allItems[position].starred) {
|
||||||
|
canRemoveFromFavorite()
|
||||||
|
} else {
|
||||||
|
canFavorite()
|
||||||
|
}
|
||||||
|
readItem(allItems[pager.currentItem].id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun readItem(id: String) {
|
||||||
|
if (markOnScroll) {
|
||||||
|
api.markItem(id).enqueue(
|
||||||
|
object : Callback<SuccessResponse> {
|
||||||
|
override fun onResponse(
|
||||||
|
call: Call<SuccessResponse>,
|
||||||
|
response: Response<SuccessResponse>
|
||||||
|
) {
|
||||||
|
if (!response.succeeded() && debugReadingItems) {
|
||||||
|
val message =
|
||||||
|
"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), this@ReaderActivity)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onFailure(
|
||||||
|
call: Call<SuccessResponse>,
|
||||||
|
t: Throwable
|
||||||
|
) {
|
||||||
|
if (debugReadingItems) {
|
||||||
|
ACRA.getErrorReporter().maybeHandleSilentException(t, this@ReaderActivity)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun notifyAdapter() {
|
||||||
|
(pager.adapter as ScreenSlidePagerAdapter).notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
@ -142,6 +217,7 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
response: Response<SuccessResponse>
|
response: Response<SuccessResponse>
|
||||||
) {
|
) {
|
||||||
allItems[pager.currentItem] = allItems[pager.currentItem].toggleStar()
|
allItems[pager.currentItem] = allItems[pager.currentItem].toggleStar()
|
||||||
|
notifyAdapter()
|
||||||
canRemoveFromFavorite()
|
canRemoveFromFavorite()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,6 +241,7 @@ class ReaderActivity : AppCompatActivity() {
|
|||||||
response: Response<SuccessResponse>
|
response: Response<SuccessResponse>
|
||||||
) {
|
) {
|
||||||
allItems[pager.currentItem] = allItems[pager.currentItem].toggleStar()
|
allItems[pager.currentItem] = allItems[pager.currentItem].toggleStar()
|
||||||
|
notifyAdapter()
|
||||||
canFavorite()
|
canFavorite()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
package apps.amine.bou.readerforselfoss.fragments
|
package apps.amine.bou.readerforselfoss.fragments
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.preference.PreferenceManager
|
import android.preference.PreferenceManager
|
||||||
@ -14,7 +12,6 @@ import android.support.design.widget.FloatingActionButton
|
|||||||
import android.support.v4.app.Fragment
|
import android.support.v4.app.Fragment
|
||||||
import android.support.v4.content.ContextCompat
|
import android.support.v4.content.ContextCompat
|
||||||
import android.support.v4.widget.NestedScrollView
|
import android.support.v4.widget.NestedScrollView
|
||||||
import android.support.v7.app.AlertDialog
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -58,7 +55,6 @@ class ArticleFragment : Fragment() {
|
|||||||
private lateinit var contentSource: String
|
private lateinit var contentSource: String
|
||||||
private lateinit var contentImage: String
|
private lateinit var contentImage: String
|
||||||
private lateinit var contentTitle: String
|
private lateinit var contentTitle: String
|
||||||
private var showMalformedUrl: Boolean = false
|
|
||||||
private lateinit var editor: SharedPreferences.Editor
|
private lateinit var editor: SharedPreferences.Editor
|
||||||
private lateinit var fab: FloatingActionButton
|
private lateinit var fab: FloatingActionButton
|
||||||
private lateinit var appColors: AppColors
|
private lateinit var appColors: AppColors
|
||||||
@ -97,11 +93,9 @@ class ArticleFragment : Fragment() {
|
|||||||
val prefs = PreferenceManager.getDefaultSharedPreferences(activity)
|
val prefs = PreferenceManager.getDefaultSharedPreferences(activity)
|
||||||
editor = prefs.edit()
|
editor = prefs.edit()
|
||||||
fontSize = prefs.getString("reader_font_size", "14").toInt()
|
fontSize = prefs.getString("reader_font_size", "14").toInt()
|
||||||
showMalformedUrl = prefs.getBoolean("show_error_malformed_url", true)
|
|
||||||
|
|
||||||
val settings = activity!!.getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
|
val settings = activity!!.getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
|
||||||
val debugReadingItems = prefs.getBoolean("read_debug", false)
|
val debugReadingItems = prefs.getBoolean("read_debug", false)
|
||||||
val markOnScroll = prefs.getBoolean("mark_on_scroll", false)
|
|
||||||
|
|
||||||
val api = SelfossApi(
|
val api = SelfossApi(
|
||||||
context!!,
|
context!!,
|
||||||
@ -211,38 +205,6 @@ class ArticleFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (markOnScroll) {
|
|
||||||
api.markItem(allItems[pageNumber.toInt()].id).enqueue(
|
|
||||||
object : Callback<SuccessResponse> {
|
|
||||||
override fun onResponse(
|
|
||||||
call: Call<SuccessResponse>,
|
|
||||||
response: Response<SuccessResponse>
|
|
||||||
) {
|
|
||||||
if (!response.succeeded() && debugReadingItems) {
|
|
||||||
val message =
|
|
||||||
"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), activity!!)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onFailure(
|
|
||||||
call: Call<SuccessResponse>,
|
|
||||||
t: Throwable
|
|
||||||
) {
|
|
||||||
if (debugReadingItems) {
|
|
||||||
ACRA.getErrorReporter().maybeHandleSilentException(t, activity!!)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return rootView
|
return rootView
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,7 +228,13 @@ class ArticleFragment : Fragment() {
|
|||||||
if (response.body() != null && response.body()!!.content != null && !response.body()!!.content.isNullOrEmpty()) {
|
if (response.body() != null && response.body()!!.content != null && !response.body()!!.content.isNullOrEmpty()) {
|
||||||
try {
|
try {
|
||||||
rootView.titleView.text = response.body()!!.title
|
rootView.titleView.text = response.body()!!.title
|
||||||
url = response.body()!!.url
|
try {
|
||||||
|
// Note: Mercury may return relative urls... If it does the url val will not be changed.
|
||||||
|
URL(response.body()!!.url)
|
||||||
|
url = response.body()!!.url
|
||||||
|
} catch (e: MalformedURLException) {
|
||||||
|
ACRA.getErrorReporter().maybeHandleSilentException(e, activity!!)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
if (context != null) {
|
if (context != null) {
|
||||||
ACRA.getErrorReporter().maybeHandleSilentException(e, context!!)
|
ACRA.getErrorReporter().maybeHandleSilentException(e, context!!)
|
||||||
@ -395,73 +363,46 @@ class ArticleFragment : Fragment() {
|
|||||||
val itemUrl = URL(url)
|
val itemUrl = URL(url)
|
||||||
baseUrl = itemUrl.protocol + "://" + itemUrl.host
|
baseUrl = itemUrl.protocol + "://" + itemUrl.host
|
||||||
} catch (e: MalformedURLException) {
|
} catch (e: MalformedURLException) {
|
||||||
if (showMalformedUrl && context != null) {
|
ACRA.getErrorReporter().maybeHandleSilentException(e, activity!!)
|
||||||
val alertDialog = AlertDialog.Builder(context!!).create()
|
|
||||||
alertDialog.setTitle("Error")
|
|
||||||
alertDialog.setMessage("You are encountering a bug that I can't solve. Can you please contact me to solve the issue, please ?")
|
|
||||||
alertDialog.setButton(
|
|
||||||
AlertDialog.BUTTON_POSITIVE,
|
|
||||||
"Send mail"
|
|
||||||
) { dialog, _ ->
|
|
||||||
|
|
||||||
// This won't be translated because it should only be temporary.
|
|
||||||
val to = Config.feedbackEmail
|
|
||||||
val subject= "[ReaderForSelfoss MalformedURLException]"
|
|
||||||
val body= "Please specify the source, item and spout you are using for the url below : \n ${e.message}"
|
|
||||||
val mailTo = "mailto:" + to + "?&subject=" + Uri.encode(subject) + "&body=" + Uri.encode(body)
|
|
||||||
|
|
||||||
val emailIntent = Intent(Intent.ACTION_VIEW)
|
|
||||||
emailIntent.data = Uri.parse(mailTo)
|
|
||||||
startActivity(emailIntent)
|
|
||||||
|
|
||||||
dialog.dismiss()
|
|
||||||
}
|
|
||||||
alertDialog.setButton(
|
|
||||||
AlertDialog.BUTTON_NEUTRAL,
|
|
||||||
"Not now"
|
|
||||||
) { dialog, _ -> dialog.dismiss() }
|
|
||||||
alertDialog.setButton(
|
|
||||||
AlertDialog.BUTTON_NEGATIVE,
|
|
||||||
"Don't show anymore."
|
|
||||||
) { dialog, _ ->
|
|
||||||
editor.putBoolean("show_error_malformed_url", false)
|
|
||||||
editor.apply()
|
|
||||||
dialog.dismiss()
|
|
||||||
}
|
|
||||||
alertDialog.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rootView.webcontent.loadDataWithBaseURL(
|
rootView.webcontent.loadDataWithBaseURL(
|
||||||
baseUrl,
|
baseUrl,
|
||||||
"""<style>
|
"""<html>
|
||||||
|img {
|
|<head>
|
||||||
| display: inline-block;
|
| <style>
|
||||||
| height: auto;
|
| img {
|
||||||
| width: 100%;
|
| display: inline-block;
|
||||||
| max-width: 100%;
|
| height: auto;
|
||||||
|}
|
| width: 100%;
|
||||||
|a {
|
| max-width: 100%;
|
||||||
| color: $stringColor !important;
|
| }
|
||||||
|}
|
| a {
|
||||||
|*:not(a) {
|
| color: $stringColor !important;
|
||||||
| color: $stringTextColor;
|
| }
|
||||||
|}
|
| *:not(a) {
|
||||||
|* {
|
| color: $stringTextColor;
|
||||||
| font-size: ${fontSize.toPx}px;
|
| }
|
||||||
| text-align: justify;
|
| * {
|
||||||
| word-break: break-word;
|
| font-size: ${fontSize.toPx}px;
|
||||||
| overflow:hidden;
|
| text-align: justify;
|
||||||
|}
|
| word-break: break-word;
|
||||||
|a, pre, code {
|
| overflow:hidden;
|
||||||
| text-align: left;
|
| }
|
||||||
|}
|
| a, pre, code {
|
||||||
|pre, code {
|
| text-align: left;
|
||||||
| white-space: pre-wrap;
|
| }
|
||||||
| width:100%;
|
| pre, code {
|
||||||
| background-color: $stringBackgroundColor;
|
| white-space: pre-wrap;
|
||||||
|}</style>$c""".trimMargin(),
|
| width:100%;
|
||||||
"text/html; charset=utf-8",
|
| background-color: $stringBackgroundColor;
|
||||||
|
| }
|
||||||
|
| </style>
|
||||||
|
|</head>
|
||||||
|
|<body>
|
||||||
|
| $c
|
||||||
|
|</body>""".trimMargin(),
|
||||||
|
"text/html",
|
||||||
"utf-8",
|
"utf-8",
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
|
@ -168,5 +168,5 @@
|
|||||||
<string name="pref_debug_debug_logs">Registro de depuración (éstos se enviarán sin diálogo)</string>
|
<string name="pref_debug_debug_logs">Registro de depuración (éstos se enviarán sin diálogo)</string>
|
||||||
<string name="acra_login">Habilitar el registro</string>
|
<string name="acra_login">Habilitar el registro</string>
|
||||||
<string name="drawer_item_hidden_tags">Etiquetas ocultas</string>
|
<string name="drawer_item_hidden_tags">Etiquetas ocultas</string>
|
||||||
<string name="unmark">Mark item as unread</string>
|
<string name="unmark">Marcar artículo como no leído</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -168,5 +168,5 @@
|
|||||||
<string name="pref_debug_debug_logs">Rexistro de depuración (Estes enviaranse automáticamente)</string>
|
<string name="pref_debug_debug_logs">Rexistro de depuración (Estes enviaranse automáticamente)</string>
|
||||||
<string name="acra_login">Habilitar o rexistro</string>
|
<string name="acra_login">Habilitar o rexistro</string>
|
||||||
<string name="drawer_item_hidden_tags">Etiquetas ocultas</string>
|
<string name="drawer_item_hidden_tags">Etiquetas ocultas</string>
|
||||||
<string name="unmark">Mark item as unread</string>
|
<string name="unmark">Marcar artículo como non lido</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1,53 +1,53 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--Generated by crowdin.com-->
|
<!--Generated by crowdin.com-->
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_name">"Reader for Selfoss"</string>
|
<string name="app_name">"Lettore RSS per Selfoss"</string>
|
||||||
<string name="title_activity_login">"Log in"</string>
|
<string name="title_activity_login">"Accedi"</string>
|
||||||
<string name="prompt_password">"Password"</string>
|
<string name="prompt_password">"Password"</string>
|
||||||
<string name="prompt_http_password">"HTTP Password"</string>
|
<string name="prompt_http_password">"Password HTTP"</string>
|
||||||
<string name="action_sign_in">"Go"</string>
|
<string name="action_sign_in">"Vai"</string>
|
||||||
<string name="error_invalid_password">"Password not long enough"</string>
|
<string name="error_invalid_password">"La password non è sufficientemente lunga"</string>
|
||||||
<string name="error_field_required">"Field required"</string>
|
<string name="error_field_required">"Campo obbligatorio"</string>
|
||||||
<string name="prompt_url">"Url"</string>
|
<string name="prompt_url">"URL"</string>
|
||||||
<string name="withLoginSwitch">"Login required ?"</string>
|
<string name="withLoginSwitch">"È richiesto l'accesso?"</string>
|
||||||
<string name="withHttpLoginSwitch">"HTTP Login required ?"</string>
|
<string name="withHttpLoginSwitch">"Accesso HTTP necessario?"</string>
|
||||||
<string name="login_url_problem">"Oops. You may need to add a \"/\" at the end of the url."</string>
|
<string name="login_url_problem">"Oops. Potrebbe essere necessario aggiungere un \"/\" alla fine dell'url."</string>
|
||||||
<string name="prompt_login">"Username"</string>
|
<string name="prompt_login">"Nome utente"</string>
|
||||||
<string name="prompt_http_login">"HTTP Username"</string>
|
<string name="prompt_http_login">"Nome utente HTTP"</string>
|
||||||
<string name="label_share">"Share"</string>
|
<string name="label_share">"Condividi"</string>
|
||||||
<string name="readAll">"Read all"</string>
|
<string name="readAll">"Segna tutte come lette"</string>
|
||||||
<string name="action_disconnect">"Disconnect"</string>
|
<string name="action_disconnect">"Scollegati"</string>
|
||||||
<string name="title_activity_settings">"Settings"</string>
|
<string name="title_activity_settings">"Impostazioni"</string>
|
||||||
<string name="pref_header_general">"General"</string>
|
<string name="pref_header_general">"Generali"</string>
|
||||||
<string name="pref_switch_actions_tap_title">"Tap action on the articles"</string>
|
<string name="pref_switch_actions_tap_title">"Tap sugli articoli"</string>
|
||||||
<string name="add_source_hint_tags">"Tag1, Tag2, Tag3"</string>
|
<string name="add_source_hint_tags">"Tag1, Tag2, Tag3"</string>
|
||||||
<string name="add_source_hint_url">"Link"</string>
|
<string name="add_source_hint_url">"Link"</string>
|
||||||
<string name="add_source_hint_name">"Name"</string>
|
<string name="add_source_hint_name">"Nome"</string>
|
||||||
<string name="add_source">"Add a source"</string>
|
<string name="add_source">"Aggiungi una fonte"</string>
|
||||||
<string name="add_source_save">"Save"</string>
|
<string name="add_source_save">"Salva"</string>
|
||||||
<string name="wrong_infos">"Check your details again."</string>
|
<string name="wrong_infos">"Controlla nuovamente i dati."</string>
|
||||||
<string name="all_posts_not_read">"All posts weren't read"</string>
|
<string name="all_posts_not_read">"All posts weren't read"</string>
|
||||||
<string name="all_posts_read">"All posts were read"</string>
|
<string name="all_posts_read">"Tutti i messaggi sono stati letti"</string>
|
||||||
<string name="cant_get_favs">"Can't get favorites"</string>
|
<string name="cant_get_favs">"Non è possibile ottenere i preferiti"</string>
|
||||||
<string name="cant_get_new_elements">"Can't get new articles"</string>
|
<string name="cant_get_new_elements">"Non è possibile ottenere nuovi articoli"</string>
|
||||||
<string name="cant_get_read">"Can't get read articles"</string>
|
<string name="cant_get_read">"Can't get read articles"</string>
|
||||||
<string name="nothing_here">"Nothing here"</string>
|
<string name="nothing_here">"Non c'è niente qui"</string>
|
||||||
<string name="tab_new">"New"</string>
|
<string name="tab_new">"Nuovi"</string>
|
||||||
<string name="tab_read">"All"</string>
|
<string name="tab_read">"Tutti"</string>
|
||||||
<string name="tab_favs">"Favorites"</string>
|
<string name="tab_favs">"Preferiti"</string>
|
||||||
<string name="action_about">"About"</string>
|
<string name="action_about">"Informazioni"</string>
|
||||||
<string name="marked_as_read">"Item read"</string>
|
<string name="marked_as_read">"Articolo letto"</string>
|
||||||
<string name="undo_string">"Undo"</string>
|
<string name="undo_string">"Annulla"</string>
|
||||||
<string name="addStringNoUrl">"Log in to add sources."</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>
|
||||||
<string name="cant_create_source">"Can't create source."</string>
|
<string name="cant_create_source">"Can't create source."</string>
|
||||||
<string name="cant_get_spouts">"Can't get spouts list."</string>
|
<string name="cant_get_spouts">"Can't get spouts list."</string>
|
||||||
<string name="form_not_complete">"The form is not complete"</string>
|
<string name="form_not_complete">"Il modulo non è completo"</string>
|
||||||
<string name="pref_header_links">"Links"</string>
|
<string name="pref_header_links">"Links"</string>
|
||||||
<string name="issue_tracker_link">"Issue Tracker"</string>
|
<string name="issue_tracker_link">"Traccia problemi"</string>
|
||||||
<string name="issue_tracker_summary">"Report a bug or ask for a new feature"</string>
|
<string name="issue_tracker_summary">"Segnalare un bug o richiedere una nuova funzionalità"</string>
|
||||||
<string name="warning_wrong_url">"WARNING"</string>
|
<string name="warning_wrong_url">"ATTENZIONE"</string>
|
||||||
<string name="pref_switch_card_view_title">"Card View"</string>
|
<string name="pref_switch_card_view_title">"Visualizzazione a schede"</string>
|
||||||
<string name="cant_mark_favortie">"Can't mark article as favorite"</string>
|
<string name="cant_mark_favortie">"Can't mark article as favorite"</string>
|
||||||
<string name="cant_unmark_favortie">"Can't remove item from favorite"</string>
|
<string name="cant_unmark_favortie">"Can't remove item from favorite"</string>
|
||||||
<string name="share">"Share"</string>
|
<string name="share">"Share"</string>
|
||||||
@ -92,32 +92,32 @@
|
|||||||
<string name="intro_hello_title">"Hi there !"</string>
|
<string name="intro_hello_title">"Hi there !"</string>
|
||||||
<string name="intro_hello_message">"Thanks for downloading the app !"</string>
|
<string name="intro_hello_message">"Thanks for downloading the app !"</string>
|
||||||
<string name="intro_needs_selfoss_title">"Before you start…"</string>
|
<string name="intro_needs_selfoss_title">"Before you start…"</string>
|
||||||
<string name="intro_needs_selfoss_message">"You can't use the app without a Selfoss instance."</string>
|
<string name="intro_needs_selfoss_message">"Non è possibile utilizzare l'app senza un'istanza di Selfoss."</string>
|
||||||
<string name="intro_needs_selfoss_link">"What is Selfoss ?"</string>
|
<string name="intro_needs_selfoss_link">"Che cosa è Selfoss?"</string>
|
||||||
<string name="intro_all_set_title">"All set !"</string>
|
<string name="intro_all_set_title">"Tutto pronto!"</string>
|
||||||
<string name="intro_all_set_message">"You are ready to use the app. Don't forget to go to the settings page to configure your app, and where you'll find some useful links."</string>
|
<string name="intro_all_set_message">"You are ready to use the app. Don't forget to go to the settings page to configure your app, and where you'll find some useful links."</string>
|
||||||
<string name="card_height_title">Full height cards</string>
|
<string name="card_height_title">Schede a piena altezza</string>
|
||||||
<string name="card_height_on">Cards height will adjust to its content</string>
|
<string name="card_height_on">Cards height will adjust to its content</string>
|
||||||
<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">Codice sorgente</string>
|
||||||
<string name="cant_mark_read">Can\'t mark article as read</string>
|
<string name="cant_mark_read">Impossibile contrassegnare l\'articolo come già letto</string>
|
||||||
<string name="drawer_error_loading_tags">Error loading tags…</string>
|
<string name="drawer_error_loading_tags">Errore nel caricamento dei tag…</string>
|
||||||
<string name="drawer_error_loading_sources">Error loading sources…</string>
|
<string name="drawer_error_loading_sources">Errore nel caricamento delle fonti…</string>
|
||||||
<string name="drawer_item_filters">Filters</string>
|
<string name="drawer_item_filters">Filtri</string>
|
||||||
<string name="drawer_action_clear">clear</string>
|
<string name="drawer_action_clear">cancella</string>
|
||||||
<string name="drawer_item_tags">Tags</string>
|
<string name="drawer_item_tags">Tags</string>
|
||||||
<string name="drawer_item_sources">Sources</string>
|
<string name="drawer_item_sources">Fonti</string>
|
||||||
<string name="drawer_action_edit">edit</string>
|
<string name="drawer_action_edit">modifica</string>
|
||||||
<string name="cache_drawer_error" tools:keep="@string/cache_drawer_error">Couldn\'t cache your drawer data</string>
|
<string name="cache_drawer_error" tools:keep="@string/cache_drawer_error">Couldn\'t cache your drawer data</string>
|
||||||
<string name="no_tags_loaded">No tags loaded</string>
|
<string name="no_tags_loaded">Nessun tag caricato</string>
|
||||||
<string name="no_sources_loaded">No sources loaded</string>
|
<string name="no_sources_loaded">No sources loaded</string>
|
||||||
<string name="drawer_loading">Loading …</string>
|
<string name="drawer_loading">Caricamento…</string>
|
||||||
<string name="menu_home_search">Search</string>
|
<string name="menu_home_search">Cerca</string>
|
||||||
<string name="can_delete_source">Can\'t delete the source…</string>
|
<string name="can_delete_source">Non è possibile eliminare la fonte…</string>
|
||||||
<string name="base_url_error">There was an issue when trying to communicate with your Selfoss Instance. If the issue persists, please get in touch with me.</string>
|
<string name="base_url_error">There was an issue when trying to communicate with your Selfoss Instance. If the issue persists, please get in touch with me.</string>
|
||||||
<string name="pref_header_theme">Themes</string>
|
<string name="pref_header_theme">Temi</string>
|
||||||
<string name="default_theme">Default</string>
|
<string name="default_theme">Predefinito</string>
|
||||||
<string name="default_dark_theme">Default/Dark</string>
|
<string name="default_dark_theme">Predefinito (Scuro)</string>
|
||||||
<string name="pref_header_debug">Debug</string>
|
<string name="pref_header_debug">Debug</string>
|
||||||
<string name="login_debug_title">Activate to log login errors</string>
|
<string name="login_debug_title">Activate to log login errors</string>
|
||||||
<string name="login_debug_on">Any error on the login page will be logged</string>
|
<string name="login_debug_on">Any error on the login page will be logged</string>
|
||||||
@ -125,9 +125,9 @@
|
|||||||
<string name="login_menu_debug">Debug</string>
|
<string name="login_menu_debug">Debug</string>
|
||||||
<string name="self_hosted_cert_switch">Using a self hosted certificate ?</string>
|
<string name="self_hosted_cert_switch">Using a self hosted certificate ?</string>
|
||||||
<string name="self_signed_cert_warning">Due to security reasons, self signed certificates are not supported by default. By activating this, I\'ll not be responsible of any security problem you encounter.</string>
|
<string name="self_signed_cert_warning">Due to security reasons, self signed certificates are not supported by default. By activating this, I\'ll not be responsible of any security problem you encounter.</string>
|
||||||
<string name="pref_selfoss_category">Selfoss Api</string>
|
<string name="pref_selfoss_category">Api di Selfoss</string>
|
||||||
<string name="pref_api_items_number_title">Loaded items number</string>
|
<string name="pref_api_items_number_title">Numero di elementi caricati</string>
|
||||||
<string name="pref_hidden_tags">Hidden Tags</string>
|
<string name="pref_hidden_tags">Tag nascosti</string>
|
||||||
<string name="read_debug_title">Read articles appearing as unread ?</string>
|
<string name="read_debug_title">Read articles appearing as unread ?</string>
|
||||||
<string name="read_debug_off">No log when marking an item as read</string>
|
<string name="read_debug_off">No log when marking an item as read</string>
|
||||||
<string name="read_debug_on">Api calls will be logged when marking an article as read</string>
|
<string name="read_debug_on">Api calls will be logged when marking an article as read</string>
|
||||||
@ -139,9 +139,9 @@
|
|||||||
<string name="login_everything_on">This will log every api call for debug purpose.</string>
|
<string name="login_everything_on">This will log every api call for debug purpose.</string>
|
||||||
<string name="login_everything_off">No api call will be logged</string>
|
<string name="login_everything_off">No api call will be logged</string>
|
||||||
<string name="pref_general_infinite_loading_title">Load more articles on scroll</string>
|
<string name="pref_general_infinite_loading_title">Load more articles on scroll</string>
|
||||||
<string name="translation">Translation</string>
|
<string name="translation">Traduzioni</string>
|
||||||
<string name="cant_open_invalid_url">The item url is invalid. I\'m looking into solving this issue so the app won\'t crash.</string>
|
<string name="cant_open_invalid_url">The item url is invalid. I\'m looking into solving this issue so the app won\'t crash.</string>
|
||||||
<string name="drawer_report_bug">Report a bug</string>
|
<string name="drawer_report_bug">Segnala un bug</string>
|
||||||
<string name="items_number_should_be_number">The items number should be an integer.</string>
|
<string name="items_number_should_be_number">The items number should be an integer.</string>
|
||||||
<string name="reader_action_more">Read more</string>
|
<string name="reader_action_more">Read more</string>
|
||||||
<string name="reader_action_open">Open in browser</string>
|
<string name="reader_action_open">Open in browser</string>
|
||||||
@ -168,5 +168,5 @@
|
|||||||
<string name="pref_debug_debug_logs">Debug logging (these will be sent without a dialog)</string>
|
<string name="pref_debug_debug_logs">Debug logging (these will be sent without a dialog)</string>
|
||||||
<string name="acra_login">Enable logging</string>
|
<string name="acra_login">Enable logging</string>
|
||||||
<string name="drawer_item_hidden_tags">Hidden Tags</string>
|
<string name="drawer_item_hidden_tags">Hidden Tags</string>
|
||||||
<string name="unmark">Mark item as unread</string>
|
<string name="unmark">Segna come non letto</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -2,61 +2,61 @@
|
|||||||
<!--Generated by crowdin.com-->
|
<!--Generated by crowdin.com-->
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_name">"Reader for Selfoss"</string>
|
<string name="app_name">"Reader for Selfoss"</string>
|
||||||
<string name="title_activity_login">"Log in"</string>
|
<string name="title_activity_login">"로그인"</string>
|
||||||
<string name="prompt_password">"Password"</string>
|
<string name="prompt_password">"비밀번호"</string>
|
||||||
<string name="prompt_http_password">"HTTP Password"</string>
|
<string name="prompt_http_password">"HTTP 암호"</string>
|
||||||
<string name="action_sign_in">"Go"</string>
|
<string name="action_sign_in">"Go"</string>
|
||||||
<string name="error_invalid_password">"Password not long enough"</string>
|
<string name="error_invalid_password">"패스워드가 짧습니다."</string>
|
||||||
<string name="error_field_required">"Field required"</string>
|
<string name="error_field_required">"필수 항목"</string>
|
||||||
<string name="prompt_url">"Url"</string>
|
<string name="prompt_url">"Url"</string>
|
||||||
<string name="withLoginSwitch">"Login required ?"</string>
|
<string name="withLoginSwitch">"로그인이 필요합니까?"</string>
|
||||||
<string name="withHttpLoginSwitch">"HTTP Login required ?"</string>
|
<string name="withHttpLoginSwitch">"HTTP 로그인이 필요 합니까?"</string>
|
||||||
<string name="login_url_problem">"Oops. You may need to add a \"/\" at the end of the url."</string>
|
<string name="login_url_problem">"죄송합니다. Url의 끝에 \"/\"를 추가할 필요가 있습니다."</string>
|
||||||
<string name="prompt_login">"Username"</string>
|
<string name="prompt_login">"사용자 이름"</string>
|
||||||
<string name="prompt_http_login">"HTTP Username"</string>
|
<string name="prompt_http_login">"HTTP 사용자 이름"</string>
|
||||||
<string name="label_share">"Share"</string>
|
<string name="label_share">"공유"</string>
|
||||||
<string name="readAll">"Read all"</string>
|
<string name="readAll">"모두 읽기"</string>
|
||||||
<string name="action_disconnect">"Disconnect"</string>
|
<string name="action_disconnect">"연결 해제"</string>
|
||||||
<string name="title_activity_settings">"Settings"</string>
|
<string name="title_activity_settings">"설정"</string>
|
||||||
<string name="pref_header_general">"General"</string>
|
<string name="pref_header_general">"일반"</string>
|
||||||
<string name="pref_switch_actions_tap_title">"Tap action on the articles"</string>
|
<string name="pref_switch_actions_tap_title">"기사에 탭 액션"</string>
|
||||||
<string name="add_source_hint_tags">"Tag1, Tag2, Tag3"</string>
|
<string name="add_source_hint_tags">"태그1, 태그2, 태그3"</string>
|
||||||
<string name="add_source_hint_url">"Link"</string>
|
<string name="add_source_hint_url">"링크"</string>
|
||||||
<string name="add_source_hint_name">"Name"</string>
|
<string name="add_source_hint_name">"이름"</string>
|
||||||
<string name="add_source">"Add a source"</string>
|
<string name="add_source">"소스 추가"</string>
|
||||||
<string name="add_source_save">"Save"</string>
|
<string name="add_source_save">"저장"</string>
|
||||||
<string name="wrong_infos">"Check your details again."</string>
|
<string name="wrong_infos">"세부 정보를 다시 확인하세요."</string>
|
||||||
<string name="all_posts_not_read">"All posts weren't read"</string>
|
<string name="all_posts_not_read">"모든 게시물을 읽지 않았습니다."</string>
|
||||||
<string name="all_posts_read">"All posts were read"</string>
|
<string name="all_posts_read">"모든 게시물을 읽었습니다."</string>
|
||||||
<string name="cant_get_favs">"Can't get favorites"</string>
|
<string name="cant_get_favs">"즐겨찾기를 가져올 수 없습니다."</string>
|
||||||
<string name="cant_get_new_elements">"Can't get new articles"</string>
|
<string name="cant_get_new_elements">"새로운 기사를 가져올 수 없습니다."</string>
|
||||||
<string name="cant_get_read">"Can't get read articles"</string>
|
<string name="cant_get_read">"읽은 기사를 가져올 수 없습니다."</string>
|
||||||
<string name="nothing_here">"Nothing here"</string>
|
<string name="nothing_here">"비어있음"</string>
|
||||||
<string name="tab_new">"New"</string>
|
<string name="tab_new">"새로운"</string>
|
||||||
<string name="tab_read">"All"</string>
|
<string name="tab_read">"전체"</string>
|
||||||
<string name="tab_favs">"Favorites"</string>
|
<string name="tab_favs">"즐겨찾기"</string>
|
||||||
<string name="action_about">"About"</string>
|
<string name="action_about">"정보"</string>
|
||||||
<string name="marked_as_read">"Item read"</string>
|
<string name="marked_as_read">"항목 읽기"</string>
|
||||||
<string name="undo_string">"Undo"</string>
|
<string name="undo_string">"실행 취소"</string>
|
||||||
<string name="addStringNoUrl">"Log in to add sources."</string>
|
<string name="addStringNoUrl">"로그인 소스를 추가 해야 합니다."</string>
|
||||||
<string name="cant_get_sources">"Can't get sources list."</string>
|
<string name="cant_get_sources">"소스 리스트를 얻을 수 없습니다."</string>
|
||||||
<string name="cant_create_source">"Can't create source."</string>
|
<string name="cant_create_source">"소스를 만들 수 없습니다."</string>
|
||||||
<string name="cant_get_spouts">"Can't get spouts list."</string>
|
<string name="cant_get_spouts">"Spouts 목록을 가져올 수 없습니다."</string>
|
||||||
<string name="form_not_complete">"The form is not complete"</string>
|
<string name="form_not_complete">"양식이 완료되지 않았습니다."</string>
|
||||||
<string name="pref_header_links">"Links"</string>
|
<string name="pref_header_links">"링크"</string>
|
||||||
<string name="issue_tracker_link">"Issue Tracker"</string>
|
<string name="issue_tracker_link">"이슈 트래커"</string>
|
||||||
<string name="issue_tracker_summary">"Report a bug or ask for a new feature"</string>
|
<string name="issue_tracker_summary">"버그를 보고 하거나 새기능에 대해 요청하세요."</string>
|
||||||
<string name="warning_wrong_url">"WARNING"</string>
|
<string name="warning_wrong_url">"경고"</string>
|
||||||
<string name="pref_switch_card_view_title">"Card View"</string>
|
<string name="pref_switch_card_view_title">"카드 형식 보기"</string>
|
||||||
<string name="cant_mark_favortie">"Can't mark article as favorite"</string>
|
<string name="cant_mark_favortie">"좋아하는 문서를 마크할 수 없습니다."</string>
|
||||||
<string name="cant_unmark_favortie">"Can't remove item from favorite"</string>
|
<string name="cant_unmark_favortie">"좋아하는 항목에서 제거할 수 없습니다."</string>
|
||||||
<string name="share">"Share"</string>
|
<string name="share">"공유"</string>
|
||||||
<string name="rating_prompt_title">"Enjoying the app ?"</string>
|
<string name="rating_prompt_title">"이 앱에 만족하십니까?"</string>
|
||||||
<string name="rating_prompt_yes">"Yes !"</string>
|
<string name="rating_prompt_yes">"예!"</string>
|
||||||
<string name="rating_prompt_no">"Not really …"</string>
|
<string name="rating_prompt_no">"설마..."</string>
|
||||||
<string name="rating_prompt_feedback_title">"Can you tell us why ?"</string>
|
<string name="rating_prompt_feedback_title">"이유를 우리에게 말해줄 수 있습니까?"</string>
|
||||||
<string name="rating_prompt_feedback_yes">"OK !"</string>
|
<string name="rating_prompt_feedback_yes">"OK!"</string>
|
||||||
<string name="rating_prompt_feedback_no">"Not now."</string>
|
<string name="rating_prompt_feedback_no">"나중에"</string>
|
||||||
<string name="rating_prompt_rating_title">"Great ! Can you rate us on the Store ?"</string>
|
<string name="rating_prompt_rating_title">"Great ! Can you rate us on the Store ?"</string>
|
||||||
<string name="rating_prompt_rating_yes">"Sure !"</string>
|
<string name="rating_prompt_rating_yes">"Sure !"</string>
|
||||||
<string name="rating_prompt_rating_no">"Not right now."</string>
|
<string name="rating_prompt_rating_no">"Not right now."</string>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.2.31'
|
kotlin_version = '1.2.51'
|
||||||
android_version = '27.1.1'
|
android_version = '28.0.0'
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
@ -13,7 +13,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.1.4'
|
classpath 'com.android.tools.build:gradle:3.2.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 Mar 27 19:14:12 CEST 2018
|
#Tue Sep 25 20:41:54 CEST 2018
|
||||||
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.4-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
|
||||||
|
Reference in New Issue
Block a user