From 782d521eb57a6a4d09159e6d9e99ed3ff23a31ab Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sat, 19 May 2018 02:30:45 +0200
Subject: [PATCH] Prepare for brazilian portuguese translation, updated
 translators

---
 .tx/config                                    |  12 +-
 .../ui/clientsettings/about/AboutFragment.kt  |   8 ++
 .../util/missingfeatures/MissingFeature.kt    |  28 +++++
 .../missingfeatures/MissingFeaturesAdapter.kt |  67 +++++++++++
 .../missingfeatures/MissingFeaturesDialog.kt  | 109 ++++++++++++++++++
 app/src/main/res/values-pt-rBR/strings.xml    |  20 ++++
 .../values-pt-rBR/strings_contributors.xml    |  20 ++++
 .../res/values-pt-rBR/strings_defaults.xml    |  20 ++++
 .../main/res/values-pt-rBR/strings_error.xml  |  20 ++++
 .../main/res/values-pt-rBR/strings_format.xml |  20 ++++
 .../main/res/values-pt-rBR/strings_info.xml   |  20 ++++
 .../res/values-pt-rBR/strings_messages.xml    |  20 ++++
 .../res/values-pt-rBR/strings_preferences.xml |  20 ++++
 .../res/values-pt-rBR/strings_settings.xml    |  20 ++++
 .../main/res/values-pt-rBR/strings_setup.xml  |  20 ++++
 .../main/res/values-pt-rBR/strings_status.xml |  20 ++++
 .../main/res/values/strings_preferences.xml   |   3 +
 17 files changed, 446 insertions(+), 1 deletion(-)
 create mode 100644 app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt
 create mode 100644 app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesAdapter.kt
 create mode 100644 app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt
 create mode 100644 app/src/main/res/values-pt-rBR/strings.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_contributors.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_defaults.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_error.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_format.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_info.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_messages.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_preferences.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_settings.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_setup.xml
 create mode 100644 app/src/main/res/values-pt-rBR/strings_status.xml

diff --git a/.tx/config b/.tx/config
index e9daa259a..fac5a31f0 100644
--- a/.tx/config
+++ b/.tx/config
@@ -8,6 +8,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_status.xml
 trans.lt = app/src/main/res/values-lt/strings_status.xml
 trans.pt = app/src/main/res/values-pt/strings_status.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_status.xml
 trans.sr = app/src/main/res/values-sr/strings_status.xml
 trans.fr = app/src/main/res/values-fr/strings_status.xml
 
@@ -18,6 +19,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_error.xml
 trans.lt = app/src/main/res/values-lt/strings_error.xml
 trans.pt = app/src/main/res/values-pt/strings_error.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_error.xml
 trans.sr = app/src/main/res/values-sr/strings_error.xml
 trans.fr = app/src/main/res/values-fr/strings_error.xml
 
@@ -28,6 +30,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_defaults.xml
 trans.lt = app/src/main/res/values-lt/strings_defaults.xml
 trans.pt = app/src/main/res/values-pt/strings_defaults.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_defaults.xml
 trans.sr = app/src/main/res/values-sr/strings_defaults.xml
 trans.fr = app/src/main/res/values-fr/strings_defaults.xml
 
@@ -38,6 +41,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_format.xml
 trans.lt = app/src/main/res/values-lt/strings_format.xml
 trans.pt = app/src/main/res/values-pt/strings_format.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_format.xml
 trans.sr = app/src/main/res/values-sr/strings_format.xml
 trans.fr = app/src/main/res/values-fr/strings_format.xml
 
@@ -48,6 +52,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_preferences.xml
 trans.lt = app/src/main/res/values-lt/strings_preferences.xml
 trans.pt = app/src/main/res/values-pt/strings_preferences.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_preferences.xml
 trans.sr = app/src/main/res/values-sr/strings_preferences.xml
 trans.fr = app/src/main/res/values-fr/strings_preferences.xml
 
@@ -58,6 +63,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_messages.xml
 trans.lt = app/src/main/res/values-lt/strings_messages.xml
 trans.pt = app/src/main/res/values-pt/strings_messages.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_messages.xml
 trans.sr = app/src/main/res/values-sr/strings_messages.xml
 trans.fr = app/src/main/res/values-fr/strings_messages.xml
 
@@ -68,6 +74,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings.xml
 trans.lt = app/src/main/res/values-lt/strings.xml
 trans.pt = app/src/main/res/values-pt/strings.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings.xml
 trans.sr = app/src/main/res/values-sr/strings.xml
 trans.fr = app/src/main/res/values-fr/strings.xml
 
@@ -78,6 +85,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_setup.xml
 trans.lt = app/src/main/res/values-lt/strings_setup.xml
 trans.pt = app/src/main/res/values-pt/strings_setup.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_setup.xml
 trans.sr = app/src/main/res/values-sr/strings_setup.xml
 trans.fr = app/src/main/res/values-fr/strings_setup.xml
 
@@ -88,6 +96,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_contributors.xml
 trans.lt = app/src/main/res/values-lt/strings_contributors.xml
 trans.pt = app/src/main/res/values-pt/strings_contributors.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_contributors.xml
 trans.sr = app/src/main/res/values-sr/strings_contributors.xml
 trans.fr = app/src/main/res/values-fr/strings_contributors.xml
 
@@ -98,6 +107,7 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_info.xml
 trans.lt = app/src/main/res/values-lt/strings_info.xml
 trans.pt = app/src/main/res/values-pt/strings_info.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_info.xml
 trans.sr = app/src/main/res/values-sr/strings_info.xml
 trans.fr = app/src/main/res/values-fr/strings_info.xml
 
@@ -108,6 +118,6 @@ source_lang = en
 trans.de = app/src/main/res/values-de/strings_settings.xml
 trans.lt = app/src/main/res/values-lt/strings_settings.xml
 trans.pt = app/src/main/res/values-pt/strings_settings.xml
+trans.pt_BR = app/src/main/res/values-pt-rBR/strings_settings.xml
 trans.sr = app/src/main/res/values-sr/strings_settings.xml
 trans.fr = app/src/main/res/values-fr/strings_settings.xml
-
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt
index 8098f974b..b5387c982 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt
@@ -357,6 +357,10 @@ class AboutFragment : DaggerFragment() {
     translators.layoutManager = LinearLayoutManager(context)
     translators.itemAnimator = null
     translators.adapter = TranslatorAdapter(listOf(
+      Translator(
+        name = "Janne Koschinski",
+        language = R.string.preference_language_entry_de
+      ),
       Translator(
         name = "TDa_",
         language = R.string.preference_language_entry_lt
@@ -365,6 +369,10 @@ class AboutFragment : DaggerFragment() {
         name = "Exterminador",
         language = R.string.preference_language_entry_pt
       ),
+      Translator(
+        name = "Soni",
+        language = R.string.preference_language_entry_pt_br
+      ),
       Translator(
         name = "Luka Ilić",
         language = R.string.preference_language_entry_sr
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt
new file mode 100644
index 000000000..0deff7558
--- /dev/null
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeature.kt
@@ -0,0 +1,28 @@
+/*
+ * Quasseldroid - Quassel client for Android
+ *
+ * Copyright (c) 2018 Janne Koschinski
+ * Copyright (c) 2018 The Quassel Project
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package de.kuschku.quasseldroid.util.missingfeatures
+
+import android.support.annotation.StringRes
+import de.kuschku.libquassel.quassel.ExtendedFeature
+
+data class MissingFeature(
+  val feature: ExtendedFeature,
+  @StringRes val description: Int
+)
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesAdapter.kt
new file mode 100644
index 000000000..9e3d6e8d1
--- /dev/null
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesAdapter.kt
@@ -0,0 +1,67 @@
+/*
+ * Quasseldroid - Quassel client for Android
+ *
+ * Copyright (c) 2018 Janne Koschinski
+ * Copyright (c) 2018 The Quassel Project
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package de.kuschku.quasseldroid.util.missingfeatures
+
+import android.support.v7.recyclerview.extensions.ListAdapter
+import android.support.v7.util.DiffUtil
+import android.support.v7.widget.RecyclerView
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import butterknife.BindView
+import butterknife.ButterKnife
+import de.kuschku.quasseldroid.R
+
+class MissingFeaturesAdapter :
+  ListAdapter<MissingFeature, MissingFeaturesAdapter.MissingFeatureViewHolder>(
+    object : DiffUtil.ItemCallback<MissingFeature>() {
+      override fun areItemsTheSame(oldItem: MissingFeature, newItem: MissingFeature) =
+        oldItem.feature == newItem.feature
+
+      override fun areContentsTheSame(oldItem: MissingFeature, newItem: MissingFeature) =
+        oldItem == newItem
+    }
+  ) {
+  override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = MissingFeatureViewHolder(
+    LayoutInflater.from(parent.context).inflate(R.layout.widget_missing_feature, parent, false)
+  )
+
+  override fun onBindViewHolder(holder: MissingFeatureViewHolder, position: Int) =
+    holder.bind(getItem(position))
+
+  class MissingFeatureViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+    @BindView(R.id.name)
+    lateinit var name: TextView
+
+    @BindView(R.id.description)
+    lateinit var description: TextView
+
+    init {
+      ButterKnife.bind(this, itemView)
+    }
+
+    fun bind(item: MissingFeature) {
+      name.text = item.feature.name
+      description.setText(item.description)
+    }
+  }
+}
+
diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt
new file mode 100644
index 000000000..174c445e0
--- /dev/null
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt
@@ -0,0 +1,109 @@
+/*
+ * Quasseldroid - Quassel client for Android
+ *
+ * Copyright (c) 2018 Janne Koschinski
+ * Copyright (c) 2018 The Quassel Project
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package de.kuschku.quasseldroid.util.missingfeatures
+
+import android.app.Dialog
+import android.content.DialogInterface
+import android.os.Bundle
+import android.support.v4.app.DialogFragment
+import android.support.v4.app.FragmentActivity
+import android.support.v4.app.FragmentManager
+import android.support.v7.widget.LinearLayoutManager
+import android.support.v7.widget.RecyclerView
+import butterknife.BindView
+import butterknife.ButterKnife
+import com.afollestad.materialdialogs.MaterialDialog
+import de.kuschku.quasseldroid.R
+import java.io.Serializable
+
+class MissingFeaturesDialog : DialogFragment() {
+  val builder: Builder?
+    get() = arguments?.getSerializable("builder") as? Builder
+
+  @BindView(R.id.list)
+  lateinit var list: RecyclerView
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    val dialog = MaterialDialog.Builder(requireContext())
+      .customView(R.layout.dialog_missing_features, true)
+      .title(R.string.label_missing_features)
+      .positiveText(R.string.label_accept)
+      .build()
+    ButterKnife.bind(this, dialog.customView!!)
+    list.layoutManager = LinearLayoutManager(list.context)
+    val adapter = MissingFeaturesAdapter()
+    list.adapter = adapter
+    list.itemAnimator = null
+    adapter.submitList(builder?.missingFeatures.orEmpty())
+    return dialog
+  }
+
+  override fun onDismiss(dialog: DialogInterface?) {
+    super.onDismiss(dialog)
+    builder?.dismissListener?.onDismiss(this)
+  }
+
+  fun show(context: FragmentActivity) = show(context.supportFragmentManager)
+  fun show(context: FragmentManager) {
+    dismissIfNecessary(context)
+    show(context, TAG)
+  }
+
+  private fun dismissIfNecessary(fragmentManager: FragmentManager) {
+    fragmentManager.findFragmentByTag(tag)?.let { frag ->
+      (frag as? DialogFragment)?.dismiss()
+      fragmentManager.beginTransaction().remove(frag).commit()
+    }
+  }
+
+  @FunctionalInterface
+  interface OnDismissListener {
+    fun onDismiss(dialog: MissingFeaturesDialog)
+  }
+
+  class Builder(private val fragmentManager: FragmentManager) : Serializable {
+    constructor(context: FragmentActivity) : this(context.supportFragmentManager)
+
+    var dismissListener: OnDismissListener? = null
+    var missingFeatures: List<MissingFeature>? = null
+
+    fun missingFeatures(missingFeatures: List<MissingFeature>): Builder {
+      this.missingFeatures = missingFeatures
+      return this
+    }
+
+    fun dismissListener(dismissListener: OnDismissListener): Builder {
+      this.dismissListener = dismissListener
+      return this
+    }
+
+    fun build() = MissingFeaturesDialog().apply {
+      arguments = Bundle().apply {
+        putSerializable("builder", this@Builder)
+      }
+    }
+
+    fun show() = build().show(fragmentManager)
+  }
+
+  companion object {
+    const val TAG = "[MISSING_FEATURES]"
+  }
+}
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_contributors.xml b/app/src/main/res/values-pt-rBR/strings_contributors.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_contributors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_defaults.xml b/app/src/main/res/values-pt-rBR/strings_defaults.xml
new file mode 100644
index 000000000..99253b7ee
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_defaults.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+  
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+  
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+  
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+  
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_error.xml b/app/src/main/res/values-pt-rBR/strings_error.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_error.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_format.xml b/app/src/main/res/values-pt-rBR/strings_format.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_format.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_info.xml b/app/src/main/res/values-pt-rBR/strings_info.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_info.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_messages.xml b/app/src/main/res/values-pt-rBR/strings_messages.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_messages.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_preferences.xml b/app/src/main/res/values-pt-rBR/strings_preferences.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_preferences.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_settings.xml b/app/src/main/res/values-pt-rBR/strings_settings.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_settings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_setup.xml b/app/src/main/res/values-pt-rBR/strings_setup.xml
new file mode 100644
index 000000000..4f6d7cf2f
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_setup.xml
@@ -0,0 +1,20 @@
+<!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values-pt-rBR/strings_status.xml b/app/src/main/res/values-pt-rBR/strings_status.xml
new file mode 100644
index 000000000..393cae785
--- /dev/null
+++ b/app/src/main/res/values-pt-rBR/strings_status.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  Quasseldroid - Quassel client for Android
+
+  Copyright (c) 2018 Janne Koschinski
+  Copyright (c) 2018 The Quassel Project
+
+  This program is free software: you can redistribute it and/or modify it
+  under the terms of the GNU General Public License version 3 as published
+  by the Free Software Foundation.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+  -->
+
+<resources></resources>
diff --git a/app/src/main/res/values/strings_preferences.xml b/app/src/main/res/values/strings_preferences.xml
index 56a6e5edd..648460d00 100644
--- a/app/src/main/res/values/strings_preferences.xml
+++ b/app/src/main/res/values/strings_preferences.xml
@@ -85,6 +85,7 @@
   <string name="preference_language_entry_de" translatable="false">Deutsch</string>
   <string name="preference_language_entry_lt" translatable="false">Lietuvių</string>
   <string name="preference_language_entry_pt" translatable="false">Português</string>
+  <string name="preference_language_entry_pt_br" translatable="false">Português (Brasil)</string>
   <string name="preference_language_entry_sr" translatable="false">Srpski (latinica)</string>
   <string-array name="preference_language_entries" translatable="false">
     <item>@string/preference_language_entry_auto</item>
@@ -92,6 +93,7 @@
     <item>@string/preference_language_entry_de</item>
     <item>@string/preference_language_entry_lt</item>
     <item>@string/preference_language_entry_pt</item>
+    <!--<item>@string/preference_language_entry_pt_br</item>-->
     <!--<item>@string/preference_language_entry_sr</item>-->
   </string-array>
   <string-array name="preference_language_entryvalues" translatable="false">
@@ -100,6 +102,7 @@
     <item>de</item>
     <item>lt</item>
     <item>pt</item>
+    <!--<item>pt_BR</item>-->
     <!--<item>sr</item>-->
   </string-array>
 
-- 
GitLab