summaryrefslogtreecommitdiffstats
path: root/mobile/android/android-components/components/ui/tabcounter
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/android-components/components/ui/tabcounter')
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/.gitignore1
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/README.md37
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/build.gradle50
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/proguard-rules.pro21
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/AndroidManifest.xml8
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt348
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt101
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_bar.xml11
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_box.xml15
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_round_rectangle_ripple.xml13
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/layout/mozac_ui_tabcounter_layout.xml50
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-am/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ar/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ast/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-azb/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-be/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bg/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bn/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-br/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bs/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ca/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cak/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ceb/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ckb/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-co/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cs/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cy/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-da/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-de/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-dsb/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-el/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rCA/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rGB/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eo/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rAR/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rCL/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rES/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rMX/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-et/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eu/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fa/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ff/strings.xml7
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fi/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fur/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fy-rNL/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gd/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gn/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hi-rIN/strings.xml15
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hsb/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hu/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hy-rAM/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ia/strings.xml18
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-in/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-is/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-it/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-iw/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ja/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ka/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kaa/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kab/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kk/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kmr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ko/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lo/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lt/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-my/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nb-rNO/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ne-rNP/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nn-rNO/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-oc/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-or/strings.xml11
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rIN/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rPK/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rBR/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rPT/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-rm/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ro/strings.xml11
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ru/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sat/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sc/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-si/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sk/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-skr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sq/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-su/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sv-rSE/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-szl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-te/strings.xml13
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tg/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-th/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tl/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tr/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-trs/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tt/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tzm/strings.xml9
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ug/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uk/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ur/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uz/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-vi/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-yo/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rCN/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rTW/strings.xml17
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml11
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values/colors.xml9
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values/dimens.xml8
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/main/res/values/strings.xml20
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterMenuTest.kt53
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt70
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker2
-rw-r--r--mobile/android/android-components/components/ui/tabcounter/src/test/resources/robolectric.properties1
119 files changed, 2494 insertions, 0 deletions
diff --git a/mobile/android/android-components/components/ui/tabcounter/.gitignore b/mobile/android/android-components/components/ui/tabcounter/.gitignore
new file mode 100644
index 0000000000..796b96d1c4
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/mobile/android/android-components/components/ui/tabcounter/README.md b/mobile/android/android-components/components/ui/tabcounter/README.md
new file mode 100644
index 0000000000..38500615e0
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/README.md
@@ -0,0 +1,37 @@
+# [Android Components](../../../README.md) > UI > Tabcounter
+
+A button that shows the current tab count and can animate state changes.
+
+## Usage
+
+Create a tab counter in XML:
+
+```xml
+<mozilla.components.ui.tabcounter.TabCounter
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ mozac:tabCounterTintColor="@color/primary" />
+```
+
+Styleable attributes can be set on your theme as well:
+
+```xml
+<style name="AppTheme">
+ ...
+ <item name="tabCounterTintColor">#FFFFFF</item>
+</style>
+```
+
+### Setting up the dependency
+
+Use Gradle to download the library from [maven.mozilla.org](https://maven.mozilla.org/) ([Setup repository](../../../README.md#maven-repository)):
+
+```Groovy
+implementation "org.mozilla.components:ui-tabcounter:{latest-version}"
+```
+
+## License
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/
diff --git a/mobile/android/android-components/components/ui/tabcounter/build.gradle b/mobile/android/android-components/components/ui/tabcounter/build.gradle
new file mode 100644
index 0000000000..04e3ccc2e1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/build.gradle
@@ -0,0 +1,50 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+apply plugin: 'com.google.devtools.ksp'
+
+android {
+ defaultConfig {
+ minSdkVersion config.minSdkVersion
+ compileSdk config.compileSdkVersion
+ targetSdkVersion config.targetSdkVersion
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ buildFeatures {
+ viewBinding true
+ }
+
+ namespace 'mozilla.components.ui.tabcounter'
+}
+
+dependencies {
+ implementation platform(ComponentsDependencies.androidx_compose_bom)
+ implementation project(':support-ktx')
+ implementation project(':support-utils')
+
+ implementation ComponentsDependencies.androidx_core_ktx
+ implementation project(':concept-menu')
+ implementation project(':browser-menu2')
+ implementation project(':support-base')
+ implementation project(':ui-colors')
+ implementation project(':ui-icons')
+
+ testImplementation project(":support-test")
+
+ testImplementation ComponentsDependencies.androidx_test_junit
+ testImplementation ComponentsDependencies.testing_robolectric
+}
+
+apply from: '../../../android-lint.gradle'
+apply from: '../../../publish.gradle'
+ext.configurePublish(config.componentsGroupId, archivesBaseName, project.ext.description)
diff --git a/mobile/android/android-components/components/ui/tabcounter/proguard-rules.pro b/mobile/android/android-components/components/ui/tabcounter/proguard-rules.pro
new file mode 100644
index 0000000000..f1b424510d
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/AndroidManifest.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..928c7b2243
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/AndroidManifest.xml
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <application android:supportsRtl="true" />
+
+</manifest>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt
new file mode 100644
index 0000000000..2ba8aa8540
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt
@@ -0,0 +1,348 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package mozilla.components.ui.tabcounter
+
+import android.animation.AnimatorSet
+import android.animation.ObjectAnimator
+import android.content.Context
+import android.content.res.ColorStateList
+import android.graphics.Typeface
+import android.util.AttributeSet
+import android.util.TypedValue
+import android.view.LayoutInflater
+import android.widget.FrameLayout
+import android.widget.ImageView
+import android.widget.RelativeLayout
+import android.widget.TextView
+import androidx.annotation.VisibleForTesting
+import androidx.core.content.ContextCompat
+import androidx.core.view.isVisible
+import androidx.core.view.updatePadding
+import mozilla.components.support.utils.DrawableUtils
+import mozilla.components.ui.tabcounter.databinding.MozacUiTabcounterLayoutBinding
+import java.text.NumberFormat
+
+class TabCounter @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0,
+) : RelativeLayout(context, attrs, defStyle) {
+
+ private val animationSet: AnimatorSet
+ private var binding: MozacUiTabcounterLayoutBinding
+ private var counterBox: ImageView
+ private var counterText: TextView
+ private var counterRoot: FrameLayout
+ private var counterMask: ImageView
+
+ init {
+ binding = MozacUiTabcounterLayoutBinding.inflate(LayoutInflater.from(context), this)
+ counterBox = binding.counterBox
+ counterText = binding.counterText
+ counterRoot = binding.counterRoot
+ counterMask = binding.counterMask
+
+ setCount(INTERNAL_COUNT)
+
+ context.obtainStyledAttributes(attrs, R.styleable.TabCounter, defStyle, 0).apply {
+ val counterColor = getColorStateList(
+ R.styleable.TabCounter_tabCounterTintColor,
+ ) ?: ContextCompat.getColorStateList(context, R.color.mozac_ui_tabcounter_default_tint)
+
+ counterColor?.let {
+ setColor(it)
+ }
+
+ clipChildren = false
+
+ recycle()
+ }
+
+ animationSet = createAnimatorSet()
+ }
+
+ /**
+ * Sets the colors of the tab counter box and text.
+ */
+ @VisibleForTesting
+ internal fun setColor(colorStateList: ColorStateList) {
+ val tabCounterBox =
+ DrawableUtils.loadAndTintDrawable(context, R.drawable.mozac_ui_tabcounter_box, colorStateList)
+ counterBox.setImageDrawable(tabCounterBox)
+ counterText.setTextColor(colorStateList)
+ }
+
+ private fun updateContentDescription(count: Int) {
+ counterRoot.contentDescription = if (count == 1) {
+ context?.getString(R.string.mozac_tab_counter_open_tab_tray_single)
+ } else {
+ String.format(
+ context.getString(R.string.mozac_tab_counter_open_tab_tray_plural),
+ count.toString(),
+ )
+ }
+ }
+
+ fun setCountWithAnimation(count: Int) {
+ setCount(count)
+
+ // No need to animate on these cases.
+ when {
+ INTERNAL_COUNT == 0 -> return // Initial state.
+ INTERNAL_COUNT == count -> return // There isn't any tab added or removed.
+ INTERNAL_COUNT > MAX_VISIBLE_TABS -> return // There are still over MAX_VISIBLE_TABS tabs open.
+ }
+
+ // Cancel previous animations if necessary.
+ if (animationSet.isRunning) {
+ animationSet.cancel()
+ }
+ // Trigger animations.
+ animationSet.start()
+ }
+
+ /**
+ * Toggles the visibility of the mask overlay on the counter
+ *
+ * @param showMask [Boolean] used to determine whether to show or hide the mask.
+ */
+ fun toggleCounterMask(showMask: Boolean) {
+ counterMask.isVisible = showMask
+ }
+
+ fun setCount(count: Int) {
+ updateContentDescription(count)
+ adjustTextSize(count)
+ counterText.text = formatCountForDisplay(count)
+ INTERNAL_COUNT = count
+ }
+
+ private fun createAnimatorSet(): AnimatorSet {
+ val animatorSet = AnimatorSet()
+ createBoxAnimatorSet(animatorSet)
+ createTextAnimatorSet(animatorSet)
+ return animatorSet
+ }
+
+ private fun createBoxAnimatorSet(animatorSet: AnimatorSet) {
+ // The first animator, fadeout in 33 ms (49~51, 2 frames).
+ val fadeOut = ObjectAnimator.ofFloat(
+ counterBox,
+ "alpha",
+ ANIM_BOX_FADEOUT_FROM,
+ ANIM_BOX_FADEOUT_TO,
+ ).setDuration(ANIM_BOX_FADEOUT_DURATION)
+
+ // Move up on y-axis, from 0.0 to -5.3 in 50ms, with fadeOut (49~52, 3 frames).
+ val moveUp1 = ObjectAnimator.ofFloat(
+ counterBox,
+ "translationY",
+ ANIM_BOX_MOVEUP1_TO,
+ ANIM_BOX_MOVEUP1_FROM,
+ ).setDuration(ANIM_BOX_MOVEUP1_DURATION)
+
+ // Move down on y-axis, from -5.3 to -1.0 in 116ms, after moveUp1 (52~59, 7 frames).
+ val moveDown2 = ObjectAnimator.ofFloat(
+ counterBox,
+ "translationY",
+ ANIM_BOX_MOVEDOWN2_FROM,
+ ANIM_BOX_MOVEDOWN2_TO,
+ ).setDuration(ANIM_BOX_MOVEDOWN2_DURATION)
+
+ // FadeIn in 66ms, with moveDown2 (52~56, 4 frames).
+ val fadeIn = ObjectAnimator.ofFloat(
+ counterBox,
+ "alpha",
+ ANIM_BOX_FADEIN_FROM,
+ ANIM_BOX_FADEIN_TO,
+ ).setDuration(ANIM_BOX_FADEIN_DURATION)
+
+ // Move down on y-axis, from -1.0 to 2.7 in 116ms, after moveDown2 (59~66, 7 frames).
+ val moveDown3 = ObjectAnimator.ofFloat(
+ counterBox,
+ "translationY",
+ ANIM_BOX_MOVEDOWN3_FROM,
+ ANIM_BOX_MOVEDOWN3_TO,
+ ).setDuration(ANIM_BOX_MOVEDOWN3_DURATION)
+
+ // Move up on y-axis, from 2.7 to 0 in 133ms, after moveDown3 (66~74, 8 frames).
+ val moveUp4 = ObjectAnimator.ofFloat(
+ counterBox,
+ "translationY",
+ ANIM_BOX_MOVEDOWN4_FROM,
+ ANIM_BOX_MOVEDOWN4_TO,
+ ).setDuration(ANIM_BOX_MOVEDOWN4_DURATION)
+
+ // Scale up height from 2% to 105% in 100ms, after moveUp1 and delay 16ms (53~59, 6 frames).
+ val scaleUp1 = ObjectAnimator.ofFloat(
+ counterBox,
+ "scaleY",
+ ANIM_BOX_SCALEUP1_FROM,
+ ANIM_BOX_SCALEUP1_TO,
+ ).setDuration(ANIM_BOX_SCALEUP1_DURATION)
+ scaleUp1.startDelay = ANIM_BOX_SCALEUP1_DELAY // delay 1 frame after moveUp1
+
+ // Scale down height from 105% to 99% in 116ms, after scaleUp1 (59~66, 7 frames).
+ val scaleDown2 = ObjectAnimator.ofFloat(
+ counterBox,
+ "scaleY",
+ ANIM_BOX_SCALEDOWN2_FROM,
+ ANIM_BOX_SCALEDOWN2_TO,
+ ).setDuration(ANIM_BOX_SCALEDOWN2_DURATION)
+
+ // Scale up height from 99% to 100% in 133ms, after scaleDown2 (66~74, 8 frames).
+ val scaleUp3 = ObjectAnimator.ofFloat(
+ counterBox,
+ "scaleY",
+ ANIM_BOX_SCALEUP3_FROM,
+ ANIM_BOX_SCALEUP3_TO,
+ ).setDuration(ANIM_BOX_SCALEUP3_DURATION)
+
+ animatorSet.play(fadeOut).with(moveUp1)
+ animatorSet.play(moveUp1).before(moveDown2)
+ animatorSet.play(moveDown2).with(fadeIn)
+ animatorSet.play(moveDown2).before(moveDown3)
+ animatorSet.play(moveDown3).before(moveUp4)
+
+ animatorSet.play(moveUp1).before(scaleUp1)
+ animatorSet.play(scaleUp1).before(scaleDown2)
+ animatorSet.play(scaleDown2).before(scaleUp3)
+ }
+
+ private fun createTextAnimatorSet(animatorSet: AnimatorSet) {
+ val firstAnimator = animatorSet.childAnimations[0]
+
+ // Fadeout in 100ms, with firstAnimator (49~51, 2 frames).
+ val fadeOut = ObjectAnimator.ofFloat(
+ counterText,
+ "alpha",
+ ANIM_TEXT_FADEOUT_FROM,
+ ANIM_TEXT_FADEOUT_TO,
+ ).setDuration(ANIM_TEXT_FADEOUT_DURATION)
+
+ // FadeIn in 66 ms, after fadeOut with delay 96ms (57~61, 4 frames).
+ val fadeIn = ObjectAnimator.ofFloat(
+ counterText,
+ "alpha",
+ ANIM_TEXT_FADEIN_FROM,
+ ANIM_TEXT_FADEIN_TO,
+ ).setDuration(ANIM_TEXT_FADEIN_DURATION)
+ fadeIn.startDelay = (ANIM_TEXT_FADEIN_DELAY) // delay 6 frames after fadeOut
+
+ // Move down on y-axis, from 0 to 4.4 in 66ms, with fadeIn (57~61, 4 frames).
+ val moveDown = ObjectAnimator.ofFloat(
+ counterText,
+ "translationY",
+ ANIM_TEXT_MOVEDOWN_FROM,
+ ANIM_TEXT_MOVEDOWN_TO,
+ ).setDuration(ANIM_TEXT_MOVEDOWN_DURATION)
+ moveDown.startDelay = (ANIM_TEXT_MOVEDOWN_DELAY) // delay 6 frames after fadeOut
+
+ // Move up on y-axis, from 0 to 4.4 in 66ms, after moveDown (61~69, 8 frames).
+ val moveUp = ObjectAnimator.ofFloat(
+ counterText,
+ "translationY",
+ ANIM_TEXT_MOVEUP_FROM,
+ ANIM_TEXT_MOVEUP_TO,
+ ).setDuration(ANIM_TEXT_MOVEUP_DURATION)
+
+ animatorSet.play(firstAnimator).with(fadeOut)
+ animatorSet.play(fadeOut).before(fadeIn)
+ animatorSet.play(fadeIn).with(moveDown)
+ animatorSet.play(moveDown).before(moveUp)
+ }
+
+ private fun formatCountForDisplay(count: Int): String {
+ return if (count > MAX_VISIBLE_TABS) {
+ counterText.updatePadding(bottom = INFINITE_CHAR_PADDING_BOTTOM)
+ SO_MANY_TABS_OPEN
+ } else {
+ NumberFormat.getInstance().format(count.toLong())
+ }
+ }
+
+ private fun adjustTextSize(newCount: Int) {
+ val newRatio = if (newCount in TWO_DIGITS_TAB_COUNT_THRESHOLD..MAX_VISIBLE_TABS) {
+ TWO_DIGITS_SIZE_RATIO
+ } else {
+ ONE_DIGIT_SIZE_RATIO
+ }
+
+ val counterBoxWidth =
+ context.resources.getDimensionPixelSize(R.dimen.mozac_tab_counter_box_width_height)
+ val textSize = newRatio * counterBoxWidth
+ counterText.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize)
+ counterText.setTypeface(null, Typeface.BOLD)
+ counterText.setPadding(0, 0, 0, 0)
+ }
+
+ companion object {
+ var INTERNAL_COUNT = 0
+
+ const val MAX_VISIBLE_TABS = 99
+ const val SO_MANY_TABS_OPEN = "∞"
+ const val INFINITE_CHAR_PADDING_BOTTOM = 6
+
+ const val ONE_DIGIT_SIZE_RATIO = 0.5f
+ const val TWO_DIGITS_SIZE_RATIO = 0.4f
+ const val TWO_DIGITS_TAB_COUNT_THRESHOLD = 10
+
+ // createBoxAnimatorSet
+ private const val ANIM_BOX_FADEOUT_FROM = 1.0f
+ private const val ANIM_BOX_FADEOUT_TO = 0.0f
+ private const val ANIM_BOX_FADEOUT_DURATION = 33L
+
+ private const val ANIM_BOX_MOVEUP1_FROM = 0.0f
+ private const val ANIM_BOX_MOVEUP1_TO = -5.3f
+ private const val ANIM_BOX_MOVEUP1_DURATION = 50L
+
+ private const val ANIM_BOX_MOVEDOWN2_FROM = -5.3f
+ private const val ANIM_BOX_MOVEDOWN2_TO = -1.0f
+ private const val ANIM_BOX_MOVEDOWN2_DURATION = 167L
+
+ private const val ANIM_BOX_FADEIN_FROM = 0.01f
+ private const val ANIM_BOX_FADEIN_TO = 1.0f
+ private const val ANIM_BOX_FADEIN_DURATION = 66L
+ private const val ANIM_BOX_MOVEDOWN3_FROM = -1.0f
+ private const val ANIM_BOX_MOVEDOWN3_TO = 2.7f
+ private const val ANIM_BOX_MOVEDOWN3_DURATION = 116L
+
+ private const val ANIM_BOX_MOVEDOWN4_FROM = 2.7f
+ private const val ANIM_BOX_MOVEDOWN4_TO = 0.0f
+ private const val ANIM_BOX_MOVEDOWN4_DURATION = 133L
+
+ private const val ANIM_BOX_SCALEUP1_FROM = 0.02f
+ private const val ANIM_BOX_SCALEUP1_TO = 1.05f
+ private const val ANIM_BOX_SCALEUP1_DURATION = 100L
+ private const val ANIM_BOX_SCALEUP1_DELAY = 16L
+
+ private const val ANIM_BOX_SCALEDOWN2_FROM = 1.05f
+ private const val ANIM_BOX_SCALEDOWN2_TO = 0.99f
+ private const val ANIM_BOX_SCALEDOWN2_DURATION = 116L
+
+ private const val ANIM_BOX_SCALEUP3_FROM = 0.99f
+ private const val ANIM_BOX_SCALEUP3_TO = 1.00f
+ private const val ANIM_BOX_SCALEUP3_DURATION = 133L
+
+ // createTextAnimatorSet
+ private const val ANIM_TEXT_FADEOUT_FROM = 1.0f
+ private const val ANIM_TEXT_FADEOUT_TO = 0.0f
+ private const val ANIM_TEXT_FADEOUT_DURATION = 33L
+
+ private const val ANIM_TEXT_FADEIN_FROM = 0.01f
+ private const val ANIM_TEXT_FADEIN_TO = 1.0f
+ private const val ANIM_TEXT_FADEIN_DURATION = 66L
+ private const val ANIM_TEXT_FADEIN_DELAY = 16L * 6
+
+ private const val ANIM_TEXT_MOVEDOWN_FROM = 0.0f
+ private const val ANIM_TEXT_MOVEDOWN_TO = 4.4f
+ private const val ANIM_TEXT_MOVEDOWN_DURATION = 66L
+ private const val ANIM_TEXT_MOVEDOWN_DELAY = 16L * 6
+
+ private const val ANIM_TEXT_MOVEUP_FROM = 4.4f
+ private const val ANIM_TEXT_MOVEUP_TO = 0.0f
+ private const val ANIM_TEXT_MOVEUP_DURATION = 66L
+ }
+}
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt
new file mode 100644
index 0000000000..4f0329a85b
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt
@@ -0,0 +1,101 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package mozilla.components.ui.tabcounter
+
+import android.content.Context
+import androidx.core.content.ContextCompat.getColor
+import mozilla.components.browser.menu2.BrowserMenuController
+import mozilla.components.concept.menu.MenuController
+import mozilla.components.concept.menu.candidate.DrawableMenuIcon
+import mozilla.components.concept.menu.candidate.TextMenuCandidate
+import mozilla.components.concept.menu.candidate.TextStyle
+import mozilla.components.ui.icons.R as iconsR
+
+/**
+ * The menu that is shown when clicking on the [TabCounter]
+ *
+ * @param context the context.
+ * @param onItemTapped behavior for when an item in the menu is tapped.
+ * @param iconColor optional color to specify tint of menu icons
+ */
+open class TabCounterMenu(
+ context: Context,
+ onItemTapped: (Item) -> Unit,
+ iconColor: Int? = null,
+) {
+
+ /**
+ * Represents the menu items.
+ *
+ * [CloseTab] menu item for closing a tab.
+ * [NewTab] menu item for opening a new tab.
+ * [NewPrivateTab] menu item for opening a new private tab.
+ * [DuplicateTab] menu item for duplicating the current tab.
+ */
+ @Suppress("UndocumentedPublicClass")
+ open class Item {
+ object CloseTab : Item()
+ object NewTab : Item()
+ object NewPrivateTab : Item()
+ object DuplicateTab : Item()
+ }
+
+ var newTabItem: TextMenuCandidate
+ var newPrivateTabItem: TextMenuCandidate
+ var closeTabItem: TextMenuCandidate
+ var duplicateTabItem: TextMenuCandidate
+
+ val menuController: MenuController by lazy { BrowserMenuController() }
+
+ init {
+ newTabItem = TextMenuCandidate(
+ text = context.getString(R.string.mozac_browser_menu_new_tab),
+ start = DrawableMenuIcon(
+ context,
+ iconsR.drawable.mozac_ic_plus_24,
+ tint = iconColor ?: getColor(context, R.color.mozac_ui_tabcounter_default_text),
+ ),
+ textStyle = TextStyle(),
+ ) {
+ onItemTapped(Item.NewTab)
+ }
+
+ newPrivateTabItem = TextMenuCandidate(
+ text = context.getString(R.string.mozac_browser_menu_new_private_tab),
+ start = DrawableMenuIcon(
+ context,
+ iconsR.drawable.mozac_ic_private_mode_24,
+ tint = iconColor ?: getColor(context, R.color.mozac_ui_tabcounter_default_text),
+ ),
+ textStyle = TextStyle(),
+ ) {
+ onItemTapped(Item.NewPrivateTab)
+ }
+
+ closeTabItem = TextMenuCandidate(
+ text = context.getString(R.string.mozac_close_tab),
+ start = DrawableMenuIcon(
+ context,
+ iconsR.drawable.mozac_ic_cross_24,
+ tint = iconColor ?: getColor(context, R.color.mozac_ui_tabcounter_default_text),
+ ),
+ textStyle = TextStyle(),
+ ) {
+ onItemTapped(Item.CloseTab)
+ }
+
+ duplicateTabItem = TextMenuCandidate(
+ text = context.getString(R.string.mozac_ui_tabcounter_duplicate_tab),
+ start = DrawableMenuIcon(
+ context,
+ iconsR.drawable.mozac_ic_tab,
+ tint = iconColor ?: getColor(context, R.color.mozac_ui_tabcounter_default_text),
+ ),
+ textStyle = TextStyle(),
+ ) {
+ onItemTapped(Item.DuplicateTab)
+ }
+ }
+}
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_bar.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_bar.xml
new file mode 100644
index 0000000000..75aef5e019
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_bar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="line">
+ <stroke
+ android:width="1dp"
+ android:color="@color/mozac_ui_tabcounter_default_tint" />
+ <size android:height="2dp" />
+</shape> \ No newline at end of file
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_box.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_box.xml
new file mode 100644
index 0000000000..489efcb568
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_box.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+<path
+ android:pathData="M4.5,4A2.5,2.5 0,0 0,2 6.5v11A2.5,2.5 0,0 0,4.5 20h15a2.5,2.5 0,0 0,2.5 -2.5v-11A2.5,2.5 0,0 0,19.5 4h-15zM20.5,17.7 L19.7,18.5L4.3,18.5l-0.8,-0.8L3.5,6.3l0.8,-0.8h15.4l0.8,0.8v11.4z"
+ android:strokeWidth="1"
+ android:fillColor="@color/mozac_ui_tabcounter_default_tint"/>
+</vector>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_round_rectangle_ripple.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_round_rectangle_ripple.xml
new file mode 100644
index 0000000000..e79ba0457f
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/drawable/mozac_ui_tabcounter_round_rectangle_ripple.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="#22000000">
+ <item android:id="@android:id/mask">
+ <shape android:shape="rectangle">
+ <solid android:color="#000000" />
+ <corners android:radius="2dp" />
+ </shape>
+ </item>
+</ripple>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/layout/mozac_ui_tabcounter_layout.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/layout/mozac_ui_tabcounter_layout.xml
new file mode 100644
index 0000000000..ce03eed04b
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/layout/mozac_ui_tabcounter_layout.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ tools:layout_height="wrap_content"
+ tools:layout_width="wrap_content">
+
+ <FrameLayout
+ android:id="@+id/counter_root"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerHorizontal="true"
+ android:layout_centerVertical="true"
+ android:clipChildren="false">
+
+ <ImageView
+ android:id="@+id/counter_box"
+ android:layout_width="@dimen/mozac_tab_counter_box_width_height"
+ android:layout_height="@dimen/mozac_tab_counter_box_width_height"
+ android:contentDescription="@string/mozac_tab_counter_content_description"
+ android:importantForAccessibility="no"
+ android:layout_gravity="center"
+ app:srcCompat="@drawable/mozac_ui_tabcounter_box" />
+
+ <TextView
+ android:id="@+id/counter_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:textAlignment="center"
+ android:textColor="@color/mozac_ui_tabcounter_default_tint"
+ android:layout_marginBottom="0.5dp"
+ android:textSize="12sp"
+ android:textStyle="bold"
+ tools:text="16" />
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/counter_mask"
+ app:srcCompat="@drawable/mozac_ic_private_mode_circle_fill_stroke_20"
+ android:translationX="8dp"
+ android:translationY="-8dp"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_gravity="top|end"
+ android:visibility="gone" />
+ </FrameLayout>
+</merge>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-am/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-am/strings.xml
new file mode 100644
index 0000000000..0aeb48b020
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-am/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ትር ክፈት። ትሮችን ለመቀየር መታ ያድርጉ።</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ትር ክፈት። ትሮችን ለመቀየር መታ ያድርጉ።</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">አዲስ ትር</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">አዲስ የግል ትር</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ትርን ዝጋ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ትርን አባዛ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">የትር ቆጣሪ ሰሪ-አሞሌ አዝራር።</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ar/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ar/strings.xml
new file mode 100644
index 0000000000..4f66de8ec0
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ar/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">لسان واحد مفتوح. انقر لتبديل الألسنة.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s من الألسنة مفتوح. انقر لتبديل الألسنة.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">لسان جديد</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">لسان خاص جديد</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">أغلِق اللسان</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">كرّر اللسان</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">زر ”عدد الألسنة“ في شريط الأدوات.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ast/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ast/strings.xml
new file mode 100644
index 0000000000..ed05585c87
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ast/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 llingüeta abierta. Toca pa cambiar a otra.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s llingüetes abiertes. Toca pa cambiar a otra.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Llingüeta nueva</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Llingüeta privada nueva</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zarrar la llingüeta</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar la llingüeta</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón del contador de llingüetes de la barra de ferramientes.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-azb/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-azb/strings.xml
new file mode 100644
index 0000000000..9f856c949a
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-azb/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">آچیق تاغ. تاغ‌لاری دگیشدیرمک اوچون توخونون.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s آچیق تاغ. تاغلاری دگیشدیرمک اوچون توخونون.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">یئنی تاغ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">یئنی گیزلی تاغ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">تاغی باغلا</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">تاغی ایکی‌له</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">تاغ سایی‌جی‌نین تولبار دویمه‌سی.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-be/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-be/strings.xml
new file mode 100644
index 0000000000..395e798a81
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-be/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 адкрытая картка. Націсніце, каб пераключыць карткі.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Адкрытых картак: %1$s. Націсніце, каб пераключыць карткі.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Новая картка</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Новая прыватная картка</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Закрыць картку</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Дубляваць картку</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Кнопка лічыльніка картак на панэлі інструментаў.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bg/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bg/strings.xml
new file mode 100644
index 0000000000..0714493b0d
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bg/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 отворен раздел. Докоснете за превключване на раздели.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s отворени раздела. Докоснете, за превключване на раздели.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Нов раздел</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Нов поверителен раздел</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Затваряне на раздел</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Дублиране на раздел</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Бутон към инструментите от брояча на раздели.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bn/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bn/strings.xml
new file mode 100644
index 0000000000..1136e9a18c
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bn/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">খোলা ট্যাব ১টি। ট্যাব পাল্টাও।</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$sটি খোলা ট্যাব। ট্যাব পাল্টাও।</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">নতুন ট্যাব</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">নতুন ব্যক্তিগত ট্যাব</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ট্যাব বন্ধ করুন</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">অনুরূপ ট্যাব</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ট্যাব গণনাকারী টুলবার বোতাম।</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-br/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-br/strings.xml
new file mode 100644
index 0000000000..813c4a9382
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-br/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ivinell digor. Stokit evit mont dʼun ivinell all.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ivinell digor. Stokit evit mont dʼun ivinell all.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Ivinell nevez</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Ivinell prevez nevez</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Serriñ an ivinell</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Eilañ an ivinell</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">An afell kontañ ivinelloù er varrenn-ostilhoù.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bs/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bs/strings.xml
new file mode 100644
index 0000000000..8b89e9972f
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-bs/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 otvoren tab. Dodirnite za promjenu tabova.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s otvorenih tabova. Dodirnite za promjenu tabova.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Novi tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Novi privatni tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zatvori tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliciraj tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tipka brojača tabova na alatnoj traci.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ca/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ca/strings.xml
new file mode 100644
index 0000000000..141fb164b0
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ca/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestanya oberta. Toqueu per canviar de pestanya.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestanyes obertes. Toqueu per canviar de pestanya.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Pestanya nova</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Pestanya privada nova</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tanca la pestanya</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplica la pestanya</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botó del comptador de pestanyes de la barra d’eines.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cak/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cak/strings.xml
new file mode 100644
index 0000000000..0ac9556c3d
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cak/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ruwi\' jaqon. Tachapa\' richin nak\'ëx ruwi\'.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ruwi\' ejaqon. Tachapa\' richin nak\'ëx ruwi\'.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">K\'ak\'a\' ruwi\'</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">K\'ak\'a\' ichinan ruwi\'</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Titz\'apïx ruwi\'</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tikamulüx ruwi\'</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Ri rupitz\'b\'al ajilanel ruwi\' pa rukajtz\'ik samajib\'äl.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ceb/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ceb/strings.xml
new file mode 100644
index 0000000000..c629119fc1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ceb/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ang abli nga tab. i-Tap para mobalhin ug mga tab.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ang abli nga mga tab. i-Tap para mobalhin ug mga tab.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Bag-o nga tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Bag-o nga pribadong tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">i-Close ang tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicate nga tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Ang tab counter toolbar button.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ckb/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ckb/strings.xml
new file mode 100644
index 0000000000..46e0ffeadb
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ckb/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">١ بازدەر کراوەیە. پەنجەدابگرە بۆ گۆڕینی بازدەرەکان.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s بازدەر کراوەیە. پەنجەدابگرە بۆ گۆڕینی بازدەرەکان.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">بازدەری نوێ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">بازدەری تایبەتی نوێ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">بازدەر دابخە</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">بازدەری دووبارە</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">دوگمەی ژمارەی بازدەرەکان لە توڵامراز.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-co/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-co/strings.xml
new file mode 100644
index 0000000000..d72dfc8f8f
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-co/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 unghjetta aperta. Picchichjà per cambià d’unghjetta.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s unghjette aperte. Picchichjà per cambià d’unghjetta.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nova unghjetta</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nova unghjetta privata</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Chjode l’unghjetta</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duppià l’unghjetta</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">U buttone di cuntatore d’unghjetta in a barra d’attrezzi.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cs/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cs/strings.xml
new file mode 100644
index 0000000000..de8db31078
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cs/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Jeden otevřený panel. Klepnutím panely přepnete.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s otevřených panelů. Klepnutím přepnete panely.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nový panel</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nový anonymní panel</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zavřít panel</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplikovat panel</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tlačítko s počtem panelů na liště.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cy/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cy/strings.xml
new file mode 100644
index 0000000000..78e83d1611
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-cy/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 tab ar agor. Tapio i newid tabiau.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s tab ar agor. Tapio i newid tabiau.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Tab newydd</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Tab preifat newydd</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cau tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dyblygu tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Botwm y bar offer cyfrif tabiau.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-da/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-da/strings.xml
new file mode 100644
index 0000000000..15549d060c
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-da/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 åbent faneblad. Tryk for at skifte faneblade.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s åbne faneblade. Tryk for at skifte faneblade.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nyt faneblad</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nyt privat faneblad</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Luk faneblad</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Kopier faneblad</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Værktøjslinjeknappen til fanebladstæller.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-de/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-de/strings.xml
new file mode 100644
index 0000000000..69ff81ea3b
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-de/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 offener Tab. Antippen, um Tabs zu wechseln.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s offene Tabs. Antippen, um Tabs zu wechseln.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Neuer Tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Neuer privater Tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tab schließen</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tab klonen</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Die Schaltfläche der Tab-Zähler-Symbolleiste.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-dsb/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-dsb/strings.xml
new file mode 100644
index 0000000000..6eb7e31beb
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-dsb/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Wócynjone rejtariki: 1. Pótusniśo, aby rejtariki pśešaltował.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Wócynjone rejtariki: %1$s. Pótusniśo, aby rejtariki pśešaltował.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nowy rejtarik</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nowy priwatny rejtarik</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Rejtarik zacyniś</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Rejtarik pódwójś</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Symbol rejtarikowego licaka na symbolowej rědce.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-el/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-el/strings.xml
new file mode 100644
index 0000000000..9a3eb98254
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-el/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ανοικτή καρτέλα. Πατήστε για εναλλαγή καρτελών.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ανοικτές καρτέλες. Πατήστε για εναλλαγή καρτελών.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Νέα καρτέλα</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Νέα ιδιωτική καρτέλα</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Κλείσιμο καρτέλας</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Αντιγραφή καρτέλας</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Το κουμπί μέτρησης καρτελών της γραμμής εργαλείων.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rCA/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000000..04c14f2b61
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rCA/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 open tab. Tap to switch tabs.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s open tabs. Tap to switch tabs.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">New tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">New private tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Close tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicate tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">The tab counter toolbar button.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rGB/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000000..04c14f2b61
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-en-rGB/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 open tab. Tap to switch tabs.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s open tabs. Tap to switch tabs.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">New tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">New private tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Close tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicate tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">The tab counter toolbar button.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eo/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eo/strings.xml
new file mode 100644
index 0000000000..8936839830
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eo/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 malfermita langeto. Tuŝetu por ŝanĝi langeton.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s malfermitaj langetoj. Tuŝetu por ŝanĝi langetojn.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nova langeto</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nova privata langeto</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Fermi langeton</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duobligi langeton</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">La ilara butono kun nombro de langetoj.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rAR/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rAR/strings.xml
new file mode 100644
index 0000000000..dccbab6fc8
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rAR/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña abierta. Tocá para cambiar de pestaña.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas abiertas. Tocá para cambiar de pestaña.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nueva pestaña</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nueva pestaña privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cerrar pestaña</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Pestaña duplicada</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra de herramientas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rCL/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rCL/strings.xml
new file mode 100644
index 0000000000..fec84a0de1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rCL/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña abierta. Toca para cambiar de pestaña.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas abiertas. Toca para cambiar de pestaña.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nueva pestaña</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nueva pestaña privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cerrar pestaña</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar pestaña</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra de herramientas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rES/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rES/strings.xml
new file mode 100644
index 0000000000..fec84a0de1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rES/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña abierta. Toca para cambiar de pestaña.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas abiertas. Toca para cambiar de pestaña.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nueva pestaña</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nueva pestaña privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cerrar pestaña</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar pestaña</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra de herramientas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rMX/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rMX/strings.xml
new file mode 100644
index 0000000000..fec84a0de1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es-rMX/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña abierta. Toca para cambiar de pestaña.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas abiertas. Toca para cambiar de pestaña.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nueva pestaña</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nueva pestaña privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cerrar pestaña</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar pestaña</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra de herramientas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es/strings.xml
new file mode 100644
index 0000000000..fec84a0de1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-es/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 pestaña abierta. Toca para cambiar de pestaña.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s pestañas abiertas. Toca para cambiar de pestaña.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nueva pestaña</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nueva pestaña privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Cerrar pestaña</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar pestaña</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">El botón contador de pestañas de la barra de herramientas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-et/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-et/strings.xml
new file mode 100644
index 0000000000..a1dca163dd
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-et/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 avatud kaart. Kaartide vahetamiseks puuduta.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s avatud kaarti. Kaartide vahetamiseks puuduta.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Uus kaart</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Uus privaatne kaart</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Sulge kaart</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Klooni kaart</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Kaartide loenduri tööriistariba nupp.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eu/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eu/strings.xml
new file mode 100644
index 0000000000..f2d08959b2
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-eu/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Irekitako fitxa bat. Sakatu fitxaz aldatzeko.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Irekitako %1$s fitxa. Sakatu fitxaz aldatzeko.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Fitxa berria</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Fitxa pribatu berria</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Itxi fitxa</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Bikoiztu fitxa</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Fitxen kontagailuaren tresna-barrako botoia.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fa/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fa/strings.xml
new file mode 100644
index 0000000000..75cc015960
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fa/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">۱ زبانهٔ باز. برای تعویض زبانه‌ها ضربه بزنید.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s زبانهٔ باز. برای تغییر زبانه‌ها ضربه بزنید.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">زبانهٔ جدید</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">زبانهٔ خصوصی جدید</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">بستن زبانه</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">تکثیر زبانه</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">دکمهٔ نوار ابزار شمارندهٔ زبانه‌ها.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ff/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ff/strings.xml
new file mode 100644
index 0000000000..c9c6f48e08
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ff/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Tabbere hesere</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Tabbere suuriinde hesere</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fi/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fi/strings.xml
new file mode 100644
index 0000000000..cd5743f8f5
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fi/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 avoin välilehti. Napauta vaihtaaksesi.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s avointa välilehteä. Napauta vaihtaaksesi.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Uusi välilehti</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Uusi yksityinen välilehti</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Sulje välilehti</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Monista välilehti</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Välilehtien laskurin työkalupalkin painike.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000000..de7950588c
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 onglet ouvert. Appuyez pour changer d’onglet.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s onglets ouverts. Appuyez pour changer d’onglet.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nouvel onglet</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nouvel onglet privé</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Fermer l’onglet</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliquer l’onglet</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Le bouton compteur d’onglets de la barre d’outils.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fur/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fur/strings.xml
new file mode 100644
index 0000000000..365119d527
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fur/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 schede vierte. Tocje par cambiâ schede.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s schedis viertis. Tocje par cambiâ schede.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Gnove schede</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Gnove schede privade</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Siere schede</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliche schede</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Il boton cul contadôr des schedis te sbare dai struments.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fy-rNL/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fy-rNL/strings.xml
new file mode 100644
index 0000000000..7c6443528e
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-fy-rNL/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 iepen ljepblêd. Tik om tusken ljepblêden te wikseljen.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s iepen ljepblêden. Tik om tusken ljepblêden te wikseljen.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nij ljepblêd</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nij priveeljepblêd</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Ljepblêd slute</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Ljepblêd duplisearje</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">De ljepblêdteller-arkbalkeknop.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gd/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gd/strings.xml
new file mode 100644
index 0000000000..b9bbced3ea
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gd/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Tha taba fosgailte. Thoir gnogag airson leum a ghearradh gu taba eile.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Tha tabaichean (%1$s) fosgailte. Thoir gnogag airson leum a ghearradh gu taba eile.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Taba ùr</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Taba prìobhaideach ùr</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Dùin an taba</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dùblaich an taba</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Putan bàr-inneal cunntair nan taba.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gl/strings.xml
new file mode 100644
index 0000000000..c4112f16fd
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 lapela aberta. Toque para cambiar de lapela.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s lapelas abertas. Toque para cambiar de lapela.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nova lapela</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nova lapela privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Pechar lapela</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar o separador</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">O botón da barra de ferramentas do contador de lapelas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gn/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gn/strings.xml
new file mode 100644
index 0000000000..b1fa6062c3
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-gn/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 tendayke ijurujáva. Eikutu emoambue hag̃ua tendayke.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s tendayke ijurujáva. Eikutu emoambue hag̃ua tendayke.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Tendayke pyahu</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Tendayke pyahu ñemigua</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tendayke mboty</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tendayke ikõiva</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Pe votõ tendayke papaha tembiporu renda pegua.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hi-rIN/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hi-rIN/strings.xml
new file mode 100644
index 0000000000..519a98c230
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hi-rIN/strings.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 खुले टैब। टैब स्विच करने के लिए टैप करें।</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s खुले टैब। टैब स्विच करने के लिए टैप करें।</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">नया टैब</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">नई निजी टैब</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">टैब बंद करें</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">डुप्लीकेट टैब</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hr/strings.xml
new file mode 100644
index 0000000000..0233a91fa4
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 otvorena kartica. Dodirni za prebacivanje kartica.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s otvorene kartice. Dodirni za prebacivanje kartica.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nova kartica</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nova privatna kartica</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zatvori karticu</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliciraj karticu</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tipka brojača kartica na alatnoj traci.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hsb/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hsb/strings.xml
new file mode 100644
index 0000000000..1affc525e1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hsb/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Wočinjene rajtarki: 1. Podótkńće so, zo byšće rajtarki přepinał.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Wočinjene rajtarki: %1$s. Podótkńće so, zo byšće rajtarki přepinał.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nowy rajtark</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nowy priwatny rajtark</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Rajtark začinić</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Rajtark podwojić</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Symbol rajtarkoweho ličaka na symbolowej lajsće.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hu/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hu/strings.xml
new file mode 100644
index 0000000000..abc31799fc
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hu/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 nyitott lap. Koppintson a lapváltáshoz.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s nyitott lap. Koppintson a lapváltáshoz.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Új lap</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Új privát lap</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Lap bezárása</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Lap duplikálása</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">A lapszámláló eszköztárgomb.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hy-rAM/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000000..201c4bff6f
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-hy-rAM/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 բաց ներդիր: Հպեք՝ ներդիրին անցնելու համար:</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s բաց ներդիրներ: Հպեք՝ ներդիրին անցնելու համար:</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Նոր ներդիր</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Նոր մասնավոր ներդիր</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Փակել ներդիրը</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Կրկնօրինակել ներդիրը</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Ներդիրի հաշվիչի գործիքագոտու կոճակը:</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ia/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ia/strings.xml
new file mode 100644
index 0000000000..2e80e79466
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ia/strings.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 scheda aperte. Tocca pro cambiar le scheda.
+</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s schedas aperte. Tocca pro cambiar le scheda.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nove scheda</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nove scheda private</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Clauder le scheda</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar le scheda</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Le button contator de schedas del barra de instrumentos.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-in/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-in/strings.xml
new file mode 100644
index 0000000000..63a84de095
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-in/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 tab terbuka. Ketuk untuk beralih tab.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s tab terbuka. Ketuk untuk beralih tab.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Tab baru</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Tab pribadi baru</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tutup tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Gandakan tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tombol bilah alat penghitung tab.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-is/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-is/strings.xml
new file mode 100644
index 0000000000..85bf97412a
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-is/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 opinn flipi. Ýttu til að skipta um flipa.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s opnir flipar. Ýttu til að skipta um flipa.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nýr flipi</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nýr huliðsflipi</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Loka flipa</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tvítaka flipa</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Flipateljara-hnappurinn á verkfæraslánni.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-it/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-it/strings.xml
new file mode 100644
index 0000000000..bb6ba5c1c4
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-it/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Aperta 1 scheda. Tocca per cambiare scheda.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Aperte %1$s schede. Tocca per cambiare scheda.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nuova scheda</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nuova scheda anonima</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Chiudi scheda</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplica scheda</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Il pulsante nella barra degli strumenti con il numero di schede</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-iw/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-iw/strings.xml
new file mode 100644
index 0000000000..57d4a70de1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-iw/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">לשונית אחת פתוחה. יש להקיש כדי להחליף לשוניות.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s לשוניות פתוחות. יש להקיש כדי להחליף לשוניות.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">לשונית חדשה</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">לשונית פרטית חדשה</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">סגירת לשונית</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">שכפול לשונית</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">כפתור סרגל הכלים של מונה הלשוניות.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ja/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ja/strings.xml
new file mode 100644
index 0000000000..9780a8380f
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ja/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">開いているタブ 1 個。タップしてタブを切り替えます。</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">開いているタブ %1$s 個。タップしてタブを切り替えます。</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">新しいタブ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">新しいプライベートタブ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">タブを閉じる</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">タブを複製</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">タブカウンターのツールバーボタンです。</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ka/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ka/strings.xml
new file mode 100644
index 0000000000..00d535442e
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ka/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 გახსნილი ჩანართი. შეეხეთ ჩანართების გადასართველად.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s გახსნილი ჩანართი. შეეხეთ ჩანართების გადასართველად.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">ახალი ჩანართი</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ახალი პირადი ჩანართი</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ჩანართის დახურვა</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ჩანართის გაორმაგება</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ჩანართის მრიცხველის ღილაკი სამართავ ზოლზე.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kaa/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kaa/strings.xml
new file mode 100644
index 0000000000..5854750cf2
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kaa/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 bet ashıq. Basqa betlerge ótiw ushın basıń.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s bet ashıq. Basqa betlerge ótiw ushın basıń.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Jańa bet</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Jańa jeke bet</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Betti jabıw</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Betti nusqalaw</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Ásbaplar panelinde betler sanaw túymesi.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kab/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kab/strings.xml
new file mode 100644
index 0000000000..e3c1f477b6
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kab/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 yiccer i yeldin. Sit akken ad tbeddleḍ iccer.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s waccaren yeldin. Sit akken ad tettbeddileḍ gar waccaren.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Iccer amaynut</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Iccer uslig amaynut</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Mdel iccer</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Sleg iccer</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Taqeffalt n ugalis n yifecka n umesmiḍan n waccaren.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kk/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kk/strings.xml
new file mode 100644
index 0000000000..0149ee5e5c
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kk/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ашық бет. Беттерді ауыстыру үшін шертіңіз.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ашық бет. Беттерді ауыстыру үшін шертіңіз.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Жаңа бет</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Жаңа жекелік беті</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Бетті жабу</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Бетті қосарлау</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Беттер санағышы болатын панель батырмасы.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kmr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kmr/strings.xml
new file mode 100644
index 0000000000..d05d912cb7
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-kmr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 hilpekîna vekirî. Ji bo hilpekînê biguherînî, bitikîne.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s hilpekînên vekirî. Ji bo hilpekînê biguherînî, bitikîne.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Hilpekîna nû</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Hilpekîna veşartî ya nû</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Hilpekînê bigire</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Hilpekînê zêde bike</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Bişkoka darikê amûran a jimarkera hilpekînan.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ko/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ko/strings.xml
new file mode 100644
index 0000000000..4811b27a84
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ko/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">열린 탭 1개. 탭을 전환하려면 누르세요.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">열린 탭 %1$s개. 탭을 전환하려면 누르세요.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">새 탭</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">새 사생활 보호 탭</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">탭 닫기</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">탭 복제</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">탭 카운터 도구 모음 버튼입니다.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lo/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lo/strings.xml
new file mode 100644
index 0000000000..a82e9d6e4e
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lo/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ເປີດແທັບ. ແຕະເພື່ອປ່ຽນແທັບ.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ເປີດແທັບ. ແຕະເພື່ອປ່ຽນແທັບ.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">ແທັບໃຫມ່</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ແທັບສ່ວນໂຕໃຫມ່</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ປິດແທັບ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ແທັບທີ່ຊໍ້າກັນ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ປຸ່ມແຖບເຄື່ອງມື ໂຕນັບແຖບ.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lt/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lt/strings.xml
new file mode 100644
index 0000000000..9b592c0023
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-lt/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 atverta kortelė. Bakstelėkite, norėdami pereiti tarp kortelių.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s atvertos kortelės. Bakstelėkite, norėdami pereiti tarp kortelių.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nauja kortelė</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nauja privačioji kortelė</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Užverti kortelę</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dubliuoti kortelę</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Kortelių skaičiaus mygtukas priemonių juostoje.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-my/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-my/strings.xml
new file mode 100644
index 0000000000..13d029ac49
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-my/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">ဖွင့်ထားသော တပ်ဗ် 1 ။ တပ်ဗ်များ ပြောင်းရန် နှိပ်ပါ။ </string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">ဖွင့်ထားသော တပ်ဗ်များ %1$s ။ တက်ဗ်များ ပြောင်းရန် နှိပ်ပါ။ </string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">တပ်ဗ် အသစ်</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ကိုယ်ပိုင် သီးသန့် တက်ဗ် အသစ်</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">တပ်ဗ်ကို ပိတ်ပါ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">တပ်ဗ်ကို ပွားပါ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">တပ်ဗ် ကောင်တာ တူးဘား ခလုတ်</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nb-rNO/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nb-rNO/strings.xml
new file mode 100644
index 0000000000..941a1a5647
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nb-rNO/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 åpen fane. Trykk for å bytte fane.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s åpne faner. Trykk for å bytte fane.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Ny fane</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Ny privat fane</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Lukk fane</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliser fane</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Fane-teller verktøylinjeknapp.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ne-rNP/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000000..b0458adc54
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ne-rNP/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ट्याब खोल्नुहोस् । ट्याबहरु बिचमा स्वीच गर्नको लागि ट्याप गर्नुहोस् ।</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ट्याबहरु खोल्नुहोस् । ट्याबहरु बिचमा स्वीच गर्नको लागि ट्याप गर्नुहोस् ।</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">नयाँ ट्याब</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">नयाँ निजी ट्याब</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ट्याब बन्द गर्नुहोस्</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">नक्कल ट्याब</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ट्याब काउन्टर उपकरणपट्टी बटन् ।</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nl/strings.xml
new file mode 100644
index 0000000000..e34f69d0bc
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 open tabblad. Tik om tussen tabbladen te wisselen.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s open tabbladen. Tik om tussen tabbladen te wisselen.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nieuw tabblad</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nieuw privétabblad</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tabblad sluiten</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tabblad dupliceren</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">De tabbladteller-werkbalkknop.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nn-rNO/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nn-rNO/strings.xml
new file mode 100644
index 0000000000..71cd5c74de
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-nn-rNO/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 open fane. Trykk for å byte fane.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s opne faner. Trykk for å byte fane.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Ny fane</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Ny privat fane</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Lat att fane</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dupliser fane</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Fane-teljar verktøylinjeknapp.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-oc/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-oc/strings.xml
new file mode 100644
index 0000000000..78c7d4501e
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-oc/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 onglet dubèrt. Tocatz per bascular.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s onglets dubèrts. Tocatz per bascular.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Onglet novèl</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Onglet de nav. privada</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tampar l’onglet</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar l’onglet</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Lo boton comptador d’onglets de la barra d’aisinas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-or/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-or/strings.xml
new file mode 100644
index 0000000000..5405b5f6e0
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-or/strings.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">ନୂଆ ଟ୍ୟାବ୍</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ନୂଆ ବ୍ୟକ୍ତିଗତ ଟ୍ୟାବ୍</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ଟ୍ୟାବ୍ ବନ୍ଦ କରନ୍ତୁ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ଟ୍ୟାବ୍ ନକଲ କରନ୍ତୁ</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rIN/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000000..68a1578f17
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rIN/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ਟੈਬ ਖੁੱਲ੍ਹੀ ਹੈ। ਟੈਬਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ ਛੂਹੋ।</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ਟੈਬਾਂ ਖੁੱਲ੍ਹੀਆਂ। ਟੈਬਾਂ ਵਿੱਚ ਸਵਿੱਚ ਕਰਨ ਵਾਸਤੇ ਟੈਪ ਕਰੋ।</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">ਨਵੀਂ ਟੈਬ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ਨਵੀਂ ਨਿੱਜੀ ਟੈਬ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ਟੈਬ ਬੰਦ ਕਰੋ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ਡੁਪਲੀਕੇਟ ਟੈਬ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ਟੈਬ ਗਿਣਤੀ ਟੂਲ-ਪੱਟੀ ਬਟਨ ਹੈ।</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rPK/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rPK/strings.xml
new file mode 100644
index 0000000000..a91863a90b
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pa-rPK/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">اک ٹیب کھُلھی اے۔ ہورناں ٹیب جاوݨ لئی اِتھے چھوہو۔</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ٹیباں کھُلھیاں ہن۔ ہورناں ٹیب جاوݨ لئی اِتھے چھوہو۔</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">نویں ٹیب کھولھو</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">نجی ٹیب کھولھو</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ٹیب بند کرو</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ٹیب کاپی کرو</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ٹیب دی گݨتی والا بٹن اے۔</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pl/strings.xml
new file mode 100644
index 0000000000..6179d81a5a
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Otwarte karty: 1. Stuknij, aby przełączyć karty.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Otwarte karty: %1$s. Stuknij, aby przełączyć karty.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nowa karta</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nowa karta prywatna</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zamknij kartę</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplikuj kartę</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Przycisk paska narzędzi z liczbą kart.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rBR/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rBR/strings.xml
new file mode 100644
index 0000000000..0f4f87ffab
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rBR/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 aba aberta. Toque para alternar abas.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s abas abertas. Toque para alternar abas.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nova aba</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nova aba privativa</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Fechar aba</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar aba</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">O botão contador de abas da barra de ferramentas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rPT/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000000..9abddce5aa
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-pt-rPT/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 separador aberto. Toque para mudar de separador.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s separadores abertos. Toque para mudar de separadores.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Novo separador</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Novo separador privado</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Fechar separador</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicar separador</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">O botão da barra de ferramentas com o número de separadores.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-rm/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-rm/strings.xml
new file mode 100644
index 0000000000..4a162573f2
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-rm/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 tab avert. Tutgar per midar tab.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s tabs averts. Tutgar per midar tab.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nov tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nov tab privat</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Serrar il tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplitgar il tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Il buttun en la trav d\'utensils cun il dumber da tabs.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ro/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ro/strings.xml
new file mode 100644
index 0000000000..e2726988b1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ro/strings.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 filă deschisă. Atinge pentru a comuta între file.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s file deschise. Atinge pentru a comuta între file.</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Filă privată nouă</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Închide fila</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ru/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ru/strings.xml
new file mode 100644
index 0000000000..dcde495148
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ru/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 открытая вкладка. Нажмите, чтобы переключить вкладки.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Открытых вкладок: %1$s. Нажмите, чтобы переключить вкладки.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Новая вкладка</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Новая приватная вкладка</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Закрыть вкладку</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Дублировать вкладку</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Кнопка счётчика вкладок на панели инструментов.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sat/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sat/strings.xml
new file mode 100644
index 0000000000..a6878d4562
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sat/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ᱠᱷᱩᱞᱟᱹ ᱴᱮᱵᱽ ᱾ ᱴᱮᱵᱽ ᱠᱚ ᱥᱣᱤᱪ ᱞᱟᱹᱜᱤᱫ ᱚᱛᱟᱭ ᱢᱮ ᱾</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ᱠᱷᱩᱞᱟᱹ ᱴᱮᱵᱽᱠᱚ ᱾ ᱴᱮᱵᱽᱠᱚ ᱥᱣᱤᱪ ᱞᱟᱹᱜᱤᱫ ᱚᱛᱟᱭ ᱢᱮ ᱾</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">ᱱᱟᱶᱟ ᱴᱮᱵᱽ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">ᱱᱟᱶᱟ ᱱᱤᱡᱮᱨᱟᱠ ᱴᱮᱵᱽ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ᱴᱮᱵᱽ ᱵᱚᱸᱫᱽᱚᱭ ᱢᱮ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ᱰᱩᱯᱞᱤᱠᱮᱴ ᱴᱮᱵᱽ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ᱴᱮᱵᱽ ᱠᱟᱣᱱᱴᱟᱹᱨ ᱴᱩᱞᱵᱟᱨ ᱵᱩᱛᱟᱹᱢ ᱾</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sc/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sc/strings.xml
new file mode 100644
index 0000000000..d19f2c5d25
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sc/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ischeda aberta. Toca pro cuncambiare ischedas.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ischedas abertas. Toca pro cuncambiare ischedas.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Ischeda noa</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Ischeda privada noa</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Serra s’ischeda</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Dùplica s’ischeda</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Su butone de su contadore de ischedas de sa barra de ainas.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-si/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-si/strings.xml
new file mode 100644
index 0000000000..783718eb2c
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-si/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">විවෘත පටිති 1. මාරු වීමට ඔබන්න.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">විවෘත පටිති %1$s. මාරු වීමට ඔබන්න.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">නව පටිත්ත</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">නව පෞද්. පටිත්ත</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">පටිත්ත වසන්න</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">පටිත්තෙහි අනුපිටපතක්</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">පටිති ගණනය මෙවලම් තීරු බොත්තම.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sk/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sk/strings.xml
new file mode 100644
index 0000000000..5f8dc12703
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sk/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 otvorená karta. Ťuknutím prepnete karty.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s otvorených kariet. Ťuknutím prepnete karty.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nová karta</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nová súkromná karta</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zavrieť kartu</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplikovať kartu</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tlačidlo počítadla kariet na paneli nástrojov.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-skr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-skr/strings.xml
new file mode 100644
index 0000000000..b4315df355
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-skr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">١ ٹیب کھولو۔ ٹیبز بدلݨ کیتے دباؤ۔</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ٹیبز کھولو۔ ٹیبز بدلݨ کیتے دباؤ۔</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">نواں ٹیب</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">نویں نجی ٹیب</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ٹیب بند کرو</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">واڳی ٹیب</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ٹیباں ڳݨݨ آلا ٹولبار بٹݨ۔</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sl/strings.xml
new file mode 100644
index 0000000000..fe24fbb221
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 odprt zavihek. Tapnite za preklop zavihkov.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Odprtih zavihkov: %1$s. Tapnite za preklop zavihkov.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nov zavihek</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nov zasebni zavihek</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zapri zavihek</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Podvoji zavihek</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Gumb števca zavihkov v orodni vrstici.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sq/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sq/strings.xml
new file mode 100644
index 0000000000..a17e1ece9d
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sq/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 skedë e hapur. Prekeni që të ndërroni skeda.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s skeda të hapura. Prekeni që të ndërroni skeda.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Skedë e re</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Skedë e re private</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Mbylle skedën</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Përdytëso skedën</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Butoni i numrit të skedave te paneli.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sr/strings.xml
new file mode 100644
index 0000000000..7963c5b8f8
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 отворени језичак. Додирни за пребацивање језичака.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s отворених језичака. Додирни за пребацивање језичака.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Нови језичак</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Нови приватни језичак</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Затвори језичак</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Удвостручи језичак</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Дугме за бројач језичака.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-su/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-su/strings.xml
new file mode 100644
index 0000000000..fdc4401b78
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-su/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 tab muka. Toél pikeun pindah tab.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s tab muka. Toél pikeun pindah tab.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Tab anyar</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Tab nyamuni anyar</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Tutup tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplikat tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Tombol tulbar pangitung tab.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sv-rSE/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sv-rSE/strings.xml
new file mode 100644
index 0000000000..bed22b6674
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-sv-rSE/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 öppen flik. Tryck för att växla mellan flikar.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s öppna flikar. Tryck för att växla mellan flikar.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Ny flik</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Ny privat flik</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Stäng flik</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicera flik</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Verktygsfältknapp för flikräknare.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-szl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-szl/strings.xml
new file mode 100644
index 0000000000..abdc3c96f5
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-szl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">Jedna ôtwarto karta. Tyknij, coby przełōnczyć karty.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">Ôtwarte karty: %1$s. Tyknij, coby je zmiynić.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Nowo karta</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Nowo prywatno karta</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Zawrzij karta</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Tupluj karta</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Knefel z poskym z noczyniami do rachowanio kart. </string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-te/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-te/strings.xml
new file mode 100644
index 0000000000..056d3aebcd
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-te/strings.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 తెరిచివున్న ట్యాబు. ట్యాబుల మధ్య మారడానికి తాకండి.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s తెరిచివున్న ట్యాబులు. ట్యాబుల మధ్య మారడానికి తాకండి.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">కొత్త ట్యాబు</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">కొత్త అంతరంగిక ట్యాబు</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ట్యాబును మూసివేయి</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tg/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tg/strings.xml
new file mode 100644
index 0000000000..950305d610
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tg/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 варақаи кушода. Барои гузариш байни варақаҳо, зарба занед.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s варақаи кушода. Барои гузариш байни варақаҳо, зарба занед.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Варақаи нав</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Варақаи хусусии нав</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Пӯшидани варақа</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Такроран кушодани варақа</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Тугмаи ҳисобкунаки варақаҳо дар навори абзорҳо.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-th/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-th/strings.xml
new file mode 100644
index 0000000000..cee1d74cd6
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-th/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 แท็บที่เปิด แตะเพื่อสลับไปยังแท็บ</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s แท็บที่เปิด แตะเพื่อสลับไปยังแท็บ</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">แท็บใหม่</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">แท็บส่วนตัวใหม่</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ปิดแท็บ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">ทำสำเนาแท็บ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ปุ่มแถบเครื่องมือตัวนับแท็บ</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tl/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tl/strings.xml
new file mode 100644
index 0000000000..ca7ef24882
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tl/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 nakabukas na tab. I-tap para lumipat ng tab.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s nakabukas na tab. I-tap para lumipat ng tab.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Bagong tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Bagong pribadong tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Isara ang tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Kaparehong tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Ang toolbar button para sa bilang ng tab.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tr/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tr/strings.xml
new file mode 100644
index 0000000000..896b18dbf7
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tr/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 açık sekme. Sekme değiştirmek için dokunun.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s açık sekme. Sekme değiştirmek için dokunun.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Yeni sekme</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Yeni gizli sekme</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Sekmeyi kapat</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Sekmeyi çoğalt</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Sekme sayacı araç çubuğu düğmesi.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-trs/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-trs/strings.xml
new file mode 100644
index 0000000000..732c0ebab6
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-trs/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 nā\'nïn rakïj ñanj. Gūru\'man ra\'a da\' nādūnāt rakïj ñanj.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s nā\'nïn nej rakïj ñanj. Gūru\'man ra\'a da\' nādūnāt nej rakïj ñanj.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Rakïj ñanj nākàa</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Rakïj ñaj nākà gārasun \'ngō rïn\'</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Narán rakïj ñanj</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Rakïj ñanj nata’a</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Butûn riña ‘na’ nej dukuán ahia nej si rāsun nej rakïj ñanj.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tt/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tt/strings.xml
new file mode 100644
index 0000000000..d89b5bbbaa
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tt/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ачык таб. Табларны күчерү өчен басыгыз.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ачык таб. Табларны күчерү өчен басыгыз.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Яңа таб</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Яңа хосусый таб</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Табны ябу</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Табны кабатлау</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Кораллар панелендәге таблар cанагычы төймәсе.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tzm/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tzm/strings.xml
new file mode 100644
index 0000000000..3ca40446d7
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-tzm/strings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Aseksel amaynu</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Aseksel uslig amaynu</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Mdel aseksel</string>
+ </resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ug/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ug/strings.xml
new file mode 100644
index 0000000000..a2a92a2c73
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ug/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 بەتكۈچ ئوچۇق. بەتكۈچنى ئالماشتۇرۇش ئۈچۈن چېكىڭ.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s بەتكۈچ ئوچۇق. بەتكۈچنى ئالماشتۇرۇش ئۈچۈن چېكىڭ.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">يېڭى بەتكۈچ</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">يېڭى شەخسىي بەتكۈچ</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">بەتكۈچنى تاقاش</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">تەكرار بەتكۈچ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">بەتكۈچ سانىغۇچ قورال بالداق توپچىسى.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uk/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uk/strings.xml
new file mode 100644
index 0000000000..1f46eb3d93
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uk/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 відкрита вкладка. Торкніться, щоб перемкнути вкладки.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s відкритих вкладок. Торкніться, щоб перемкнути вкладки.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Нова вкладка</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Нова приватна вкладка</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Закрити вкладку</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Дублювати вкладку</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Кнопка панелі інструментів лічильника вкладок.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ur/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ur/strings.xml
new file mode 100644
index 0000000000..da3b2630ae
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-ur/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 کھلا ٹیب۔ ٹیبز بدلنے کے لئے دبائیں۔</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s کھلے ٹیب۔ ٹیب بدلنے کے لئے دبائیں۔</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">نیا ٹیب</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">نیا نجی ٹیب</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">ٹیب بند کریں</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">دوهرا ٹیب</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">ٹیب کاؤنٹر ٹول بار کا بٹن۔</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uz/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uz/strings.xml
new file mode 100644
index 0000000000..a9b46408c3
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-uz/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 ta ochiq varaq. Boshqa varaqqa oʻtish uchun bosing.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s ta ochiq varaq. Boshqa varaqqa oʻtish uchun bosing.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Yangi varaq</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Yangi maxfiy varaq</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Varaqni yopish</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Varaqni nusxalash</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Asboblar panelidagi varaq taymer tugmasi.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-vi/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-vi/strings.xml
new file mode 100644
index 0000000000..af59036db1
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-vi/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 thẻ đang mở. Chạm để chuyển thẻ.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s thẻ đang mở. Chạm để chuyển thẻ.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Thẻ mới</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Thẻ riêng tư mới</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Đóng thẻ</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Nhân đôi thẻ</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Nút thanh công cụ bộ đếm thẻ.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-yo/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-yo/strings.xml
new file mode 100644
index 0000000000..13d72778f6
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-yo/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 sí táàbù. Tẹ̀ ẹ́ láti bọ́ sí àwọn táàbù.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s sí táàbù. Tẹ̀ ẹ́ láti bọ́ sí àwọn táàbù.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">Táàbù tuntun</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">Táàbù ìkọ̀kọ̀ tuntun</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Pa táàbù dé</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Ẹ̀dà táàbù</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">Táàbù náà rí bọ́tìnì irinṣé.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rCN/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000000..c2a979f9d5
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rCN/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">打开了 1 个标签页,点击即可切换。</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">打开了 %1$s 个标签页,点击即可切换。</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">新建标签页</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">新建隐私标签页</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">关闭标签页</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">克隆标签页</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">标签页计数器工具栏按钮。</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rTW/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000000..ef18d2a974
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values-zh-rTW/strings.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">開啟了 1 個分頁,點擊即可切換分頁。</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">開啟了 %1$s 個分頁,點擊即可切換分頁。</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">開新分頁</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">開新隱私分頁</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">關閉分頁</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">複製分頁</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">分頁計數器工具列按鈕。</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml
new file mode 100644
index 0000000000..70195f2198
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<resources>
+
+ <declare-styleable name="TabCounter">
+ <attr name="tabCounterTintColor" format="reference|color" />
+ </declare-styleable>
+
+</resources> \ No newline at end of file
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/colors.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/colors.xml
new file mode 100644
index 0000000000..f01e0ca318
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/colors.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<resources>
+ <color name="mozac_ui_tabcounter_default_tint">#FF272727</color>
+ <color name="mozac_ui_tabcounter_private_tint">#FFFFFF</color>
+ <color name="mozac_ui_tabcounter_default_text">#20123A</color>
+</resources> \ No newline at end of file
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/dimens.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000..e247e31552
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/dimens.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<resources>
+ <dimen name="mozac_tab_counter_box_width_height">24dp</dimen>
+</resources> \ No newline at end of file
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/strings.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/strings.xml
new file mode 100644
index 0000000000..b63520c1a0
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/strings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<resources>
+ <!-- Message announced to the user when tab tray is selected with 1 tab -->
+ <string name="mozac_tab_counter_open_tab_tray_single">1 open tab. Tap to switch tabs.</string>
+ <!-- Message announced to the user when tab tray is selected with multiple tabs -->
+ <string name="mozac_tab_counter_open_tab_tray_plural">%1$s open tabs. Tap to switch tabs.</string>
+ <!-- Browser menu button that creates a new tab -->
+ <string name="mozac_browser_menu_new_tab">New tab</string>
+ <!-- Browser menu button that creates a private tab -->
+ <string name="mozac_browser_menu_new_private_tab">New private tab</string>
+ <!-- Browser menu button to close tab. Closes the current session when pressed. -->
+ <string name="mozac_close_tab">Close tab</string>
+ <!-- Menu option to duplicate the current tab -->
+ <string name="mozac_ui_tabcounter_duplicate_tab">Duplicate tab</string>
+ <!-- Content description of the tab counter toolbar button -->
+ <string name="mozac_tab_counter_content_description">The tab counter toolbar button.</string>
+</resources>
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterMenuTest.kt b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterMenuTest.kt
new file mode 100644
index 0000000000..40ec54066b
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterMenuTest.kt
@@ -0,0 +1,53 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package mozilla.components.ui.tabcounter
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import mozilla.components.support.test.robolectric.testContext
+import org.junit.Assert.assertEquals
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mockito.spy
+import org.mockito.Mockito.verify
+
+@RunWith(AndroidJUnit4::class)
+class TabCounterMenuTest {
+
+ @Test
+ fun `return only the new tab item`() {
+ val onItemTapped: (TabCounterMenu.Item) -> Unit = spy { Unit }
+ val menu = TabCounterMenu(testContext, onItemTapped)
+
+ val item = menu.newTabItem
+ assertEquals("New tab", item.text)
+ item.onClick()
+
+ verify(onItemTapped).invoke(TabCounterMenu.Item.NewTab)
+ }
+
+ @Test
+ fun `return only the new private tab item`() {
+ val onItemTapped: (TabCounterMenu.Item) -> Unit = spy { Unit }
+ val menu = TabCounterMenu(testContext, onItemTapped)
+
+ val item = menu.newPrivateTabItem
+ assertEquals("New private tab", item.text)
+ item.onClick()
+
+ verify(onItemTapped).invoke(TabCounterMenu.Item.NewPrivateTab)
+ }
+
+ @Test
+ fun `return a close button`() {
+ val onItemTapped: (TabCounterMenu.Item) -> Unit = spy { Unit }
+ val menu = TabCounterMenu(testContext, onItemTapped)
+
+ val item = menu.closeTabItem
+ assertEquals("Close tab", item.text)
+ item.onClick()
+
+ verify(onItemTapped).invoke(TabCounterMenu.Item.CloseTab)
+ }
+}
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt
new file mode 100644
index 0000000000..881a19e47a
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt
@@ -0,0 +1,70 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package mozilla.components.ui.tabcounter
+
+import android.content.res.ColorStateList
+import android.view.LayoutInflater
+import android.view.View
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import mozilla.components.support.test.mock
+import mozilla.components.support.test.robolectric.testContext
+import mozilla.components.ui.tabcounter.TabCounter.Companion.SO_MANY_TABS_OPEN
+import mozilla.components.ui.tabcounter.databinding.MozacUiTabcounterLayoutBinding
+import org.junit.Assert.assertEquals
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class TabCounterTest {
+
+ private lateinit var tabCounter: TabCounter
+ private lateinit var binding: MozacUiTabcounterLayoutBinding
+
+ @Before
+ fun setUp() {
+ tabCounter = TabCounter(testContext)
+ binding =
+ MozacUiTabcounterLayoutBinding.inflate(LayoutInflater.from(testContext), tabCounter)
+ }
+
+ @Test
+ fun `Default tab count is set to zero`() {
+ assertEquals("0", binding.counterText.text)
+ }
+
+ @Test
+ fun `Set tab count as single digit value shows count`() {
+ tabCounter.setCount(1)
+ assertEquals("1", binding.counterText.text)
+ }
+
+ @Test
+ fun `Set tab count as two digit number shows count`() {
+ tabCounter.setCount(99)
+ assertEquals("99", binding.counterText.text)
+ }
+
+ @Test
+ fun `Setting tab count as three digit value shows correct icon`() {
+ tabCounter.setCount(100)
+ assertEquals(SO_MANY_TABS_OPEN, binding.counterText.text)
+ }
+
+ @Test
+ fun `Setting tab color shows correct icon`() {
+ val colorStateList: ColorStateList = mock()
+
+ tabCounter.setColor(colorStateList)
+ assertEquals(binding.counterText.textColors, colorStateList)
+ }
+
+ @Test
+ fun `Toggling the counterMask will set the mask to visible`() {
+ assertEquals(binding.counterMask.visibility, View.GONE)
+ tabCounter.toggleCounterMask(true)
+ assertEquals(binding.counterMask.visibility, View.VISIBLE)
+ }
+}
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/mobile/android/android-components/components/ui/tabcounter/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
new file mode 100644
index 0000000000..cf1c399ea8
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
@@ -0,0 +1,2 @@
+mock-maker-inline
+// This allows mocking final classes (classes are final by default in Kotlin)
diff --git a/mobile/android/android-components/components/ui/tabcounter/src/test/resources/robolectric.properties b/mobile/android/android-components/components/ui/tabcounter/src/test/resources/robolectric.properties
new file mode 100644
index 0000000000..932b01b9eb
--- /dev/null
+++ b/mobile/android/android-components/components/ui/tabcounter/src/test/resources/robolectric.properties
@@ -0,0 +1 @@
+sdk=28