diff --git a/projects/fenix/build b/projects/fenix/build
index a16b609f6ec0fd6c3cddedf63427b8a308ded2cf..dba53eacd55258dd84b43b972898c7fa4eeb0145 100755
--- a/projects/fenix/build
+++ b/projects/fenix/build
@@ -32,7 +32,7 @@ EOF
   nimbusdir=$builddir-[% c("version") %]/app/build/bin/nimbus
   mkdir -p $nimbusdir
   cp $distdir/application-services/nimbus-fml $nimbusdir/
-  tar -C $distdir -xf $rootdir/[% c('input_files_by_name/tba-translation') %]
+  tar -C $distdir -xf $rootdir/[% c('input_files_by_name/translation-fenix') %]
 [% END %]
 tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
 
@@ -60,7 +60,7 @@ v=[% c("variant") %]
   [% FOREACH lang = c('var/locales_mobile');
     SET lang = tmpl(lang); %]
     # Copy our torbrowser_strings.xml at the right place
-    cp /var/tmp/dist/tba-translation/[% lang %]/torbrowser_strings.xml app/src/main/res/values-[% lang %]/
+    cp /var/tmp/dist/translation-fenix/[% lang %]/torbrowser_strings.xml app/src/main/res/values-[% lang %]/
   [% END %]
 
   # Prepare Glean dependencies for offline build
diff --git a/projects/fenix/config b/projects/fenix/config
index 097c607c6244a16bdde3e20034afaecd7eb537b6..eb7c3aab6f5592464eb592bf6f553e40eaf43e3e 100644
--- a/projects/fenix/config
+++ b/projects/fenix/config
@@ -46,8 +46,9 @@ input_files:
     project: geckoview
     pkg_type: merge_aars
     enable: '[% !c("var/android_single_arch") %]'
-  - name: tba-translation
-    project: tba-translation
+  - name: translation-fenix
+    project: translation
+    pkg_type: fenix
   - filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
     name: gradle-dependencies
     exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
diff --git a/projects/firefox/build b/projects/firefox/build
index f5a6985adb2fd22a2c8e3e5e36a33f2bdfbf662d..c383c04cd38c1c8bb840bdd063b0a45e06dd3aac 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -62,6 +62,10 @@ mkdir -p $distdir/[% IF ! c("var/macos") %]Browser[% END %]
 
 tar -xf $rootdir/[% c('input_files_by_name/translation-base-browser') %]
 transl_base_browser=$rootdir/translation-base-browser
+[% IF c("var/tor-browser") -%]
+  tar -xf $rootdir/[% c('input_files_by_name/translation-tor-browser') %]
+  transl_tor_browser=$rootdir/translation-tor-browser
+[% END -%]
 
 cd /var/tmp/build/[% project %]-[% c("version") %]
 cat > .mozconfig << 'MOZCONFIG_EOF'
@@ -108,11 +112,6 @@ add_translation () {
   component=$2
   lang=$3
   filename=$4
-  [% IF c("var/macos") -%]
-    if [ "$lang" == "ja-JP-mac" ]; then
-      lang="ja"
-    fi
-  [% END-%]
 
   mkdir "browser/components/$component/locale/$lang"
   cp "$transl_dir/$lang/$filename" "browser/components/$component/locale/$lang/"
@@ -121,9 +120,25 @@ add_translation () {
 }
 
 supported_locales="[% tmpl(c('var/locales').join(' ')) %]"
+[% IF c("var/tor-browser") -%]
+  torbutton_locales="toolkit/torbutton/chrome/locale/"
+  torbutton_jar="toolkit/torbutton/jar.mn"
+[% END -%]
 for lang in $supported_locales; do
+  [% IF c("var/macos") -%]
+    if [ "$lang" == "ja-JP-mac" ]; then
+      lang="ja"
+    fi
+  [% END-%]
+
   add_translation $transl_base_browser newidentity $lang newIdentity.properties
   add_translation $transl_base_browser securitylevel $lang securityLevel.properties
+
+  [% IF c("var/tor-browser") -%]
+    mv "$transl_tor_browser/$lang" "$torbutton_locales/"
+    echo "% locale torbutton $lang %locale/$lang/" >> "$torbutton_jar"
+    echo "    locale/$lang (chrome/locale/$lang/*)" >> "$torbutton_jar"
+  [% END -%]
 done
 
 rm -f configure
diff --git a/projects/firefox/config b/projects/firefox/config
index 668642c82a786ef99f105587f636dfbf4e4cc231..b1ea1cf856a7288299b142c6d47b16e8c2863dc6 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -181,11 +181,17 @@ input_files:
     enable: '[% c("var/linux") %]'
   - filename: start-firefox
     enable: '[% c("var/linux") %]'
-  - project: translation-base-browser
+  - project: translation
     name: translation-base-browser
-  - project: translation-base-browser-fluent
+    pkg_type: base-browser
+  - project: translation
     name: translation-base-browser-fluent
+    pkg_type: base-browser-fluent
     enable: '[% !c("var/testbuild") %]'
+  - project: translation
+    name: translation-tor-browser
+    pkg_type: tor-browser
+    enable: '[% c("var/tor-browser") %]'
   - filename: namecoin-torbutton.patch
     enable: '[% c("var/namecoin") %]'
     # TorButton patch authored by Arthur Edelstein, from https://github.com/arthuredelstein/torbutton/ branch 2.1.10-namecoin
diff --git a/projects/tba-translation/config b/projects/tba-translation/config
deleted file mode 100644
index f9c6e27d0b5e3a4f10985238c5e208c51b948c84..0000000000000000000000000000000000000000
--- a/projects/tba-translation/config
+++ /dev/null
@@ -1,7 +0,0 @@
-# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
-git_url: https://gitlab.torproject.org/tpo/translation.git
-# We need to bump the commit before releasing but just pointing to a branch
-# might cause too much rebuidling of the Firefox part.
-git_hash: 34fb5d37834db13ec656e43d2fe7cee41d90ec35
-version: '[% c("abbrev") %]'
diff --git a/projects/translation-base-browser-fluent/build b/projects/translation-base-browser-fluent/build
deleted file mode 100644
index fe821718c09fed944d5b3c6500ce7a15902937d4..0000000000000000000000000000000000000000
--- a/projects/translation-base-browser-fluent/build
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-tar xf [% project %]-[% c("version") %].tar.gz
-mv [% project %]-[% c("version") %] [% project %]
-# We do not need new identity for now, only languageNotification.ftl
-find [% project %] -name new-identity.ftl -delete
-[% c('tar', {
-        tar_src => [ project ],
-        tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
-    }) %]
diff --git a/projects/translation-base-browser-fluent/config b/projects/translation-base-browser-fluent/config
deleted file mode 100644
index 6a721260c93276ab7c3395f80b1f8ff25548ed69..0000000000000000000000000000000000000000
--- a/projects/translation-base-browser-fluent/config
+++ /dev/null
@@ -1,9 +0,0 @@
-# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
-git_url: https://gitlab.torproject.org/tpo/translation.git
-git_hash: e1bb5278668e71317ccbf1fdd21cf25c4d56b95c
-version: '[% c("abbrev") %]'
-
-targets:
-  nightly:
-    git_hash: 'basebrowser-newidentityftl'
diff --git a/projects/translation-base-browser/build b/projects/translation-base-browser/build
deleted file mode 100644
index ac0f21b63d2cc9d394ca05d48da001be558d4987..0000000000000000000000000000000000000000
--- a/projects/translation-base-browser/build
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-tar xf [% project %]-[% c("version") %].tar.gz
-mv [% project %]-[% c("version") %] [% project %]
-[% c('tar', {
-        tar_src => [ project ],
-        tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
-    }) %]
diff --git a/projects/translation-base-browser/config b/projects/translation-base-browser/config
deleted file mode 100644
index cc39069a654f51be76328c74ddd9579b3c87e357..0000000000000000000000000000000000000000
--- a/projects/translation-base-browser/config
+++ /dev/null
@@ -1,5 +0,0 @@
-# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
-git_url: https://gitlab.torproject.org/tpo/translation.git
-git_hash: f3c816f0fde87471f98e46515482a493c4eb57dc
-version: '[% c("abbrev") %]'
diff --git a/projects/tba-translation/build b/projects/translation/build
similarity index 53%
rename from projects/tba-translation/build
rename to projects/translation/build
index ac0f21b63d2cc9d394ca05d48da001be558d4987..feea0dd10f5e0521cb2f7d5a5ce36f25b557bacd 100644
--- a/projects/tba-translation/build
+++ b/projects/translation/build
@@ -1,8 +1,9 @@
 #!/bin/bash
 [% c("var/set_default_env") -%]
 tar xf [% project %]-[% c("version") %].tar.gz
-mv [% project %]-[% c("version") %] [% project %]
+mv [% project %]-[% c("version") %] [% project %]-[% c("step") %]
+[% SET tar_source = project _ '-' _ c('step') -%]
 [% c('tar', {
-        tar_src => [ project ],
+        tar_src => [ tar_source ],
         tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
     }) %]
diff --git a/projects/translation/config b/projects/translation/config
new file mode 100644
index 0000000000000000000000000000000000000000..f38ffcb4f4a23e8dd8cb9764f24933c5c8d1454d
--- /dev/null
+++ b/projects/translation/config
@@ -0,0 +1,32 @@
+# vim: filetype=yaml sw=2
+filename: '[% project %]-[% c("step") %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
+git_url: https://gitlab.torproject.org/tpo/translation.git
+version: '[% c("abbrev") %]'
+
+steps:
+  base-browser:
+    base-browser: '[% INCLUDE build %]'
+    git_hash: d1aa584f3da4c2fc6bfe5d289e2783705ee7e015
+    targets:
+      nightly:
+        git_hash: 'base-browser'
+  base-browser-fluent:
+    base-browser-fluent: '[% INCLUDE build %]'
+    git_hash: d771fd689978f52053e8a14bb622c936aa938769
+    targets:
+      nightly:
+        git_hash: 'basebrowser-newidentityftl'
+  tor-browser:
+    tor-browser: '[% INCLUDE build %]'
+    git_hash: a73ed9756f5d9a753fb7c3c7676174e4d9b68dee
+    targets:
+      nightly:
+        git_hash: 'tor-browser'
+  fenix:
+    fenix: '[% INCLUDE build %]'
+    # We need to bump the commit before releasing but just pointing to a branch
+    # might cause too much rebuidling of the Firefox part.
+    git_hash: 5e1d058123f3a5d34a59799bd6f80db5d71e563e
+    targets:
+      nightly:
+        git_hash: 'fenix-torbrowserstringsxml'
diff --git a/tools/get-translation-hashes b/tools/get-translation-hashes
new file mode 100755
index 0000000000000000000000000000000000000000..a7c07fa23a662238c674bbce1705361589edba35
--- /dev/null
+++ b/tools/get-translation-hashes
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+cd "$(dirname "$0")/../git_clones/translation"
+git fetch > /dev/null 2>&1
+
+echo -n "base-browser: "
+git rev-parse origin/base-browser
+echo -n "base-browser-fluent: "
+git rev-parse origin/basebrowser-newidentityftl
+echo -n "tor-browser: "
+git rev-parse origin/tor-browser
+echo -n "fenix: "
+git rev-parse origin/fenix-torbrowserstringsxml