diff --git a/crowdin_sync.py b/crowdin_sync.py
index 00f8110..add45a7 100755
--- a/crowdin_sync.py
+++ b/crowdin_sync.py
@@ -58,7 +58,10 @@
         "--download", action="store_true", help="Download translations from Crowdin"
     )
     parser.add_argument(
-        "-s", "--submit", action="store_true", help="Merge open translation commits"
+        "-g",
+        "--gerrit",
+        choices=["vote", "submit"],
+        help="Vote (CR+1/V+1) on or submit (incl. CR+2/V+1) open translation commits",
     )
     parser.add_argument(
         "-o", "--owner", help="Specify the owner of the commits to submit"
@@ -89,9 +92,12 @@
     default_branch = args.branch
 
     username = utils.get_username(args)
-    if args.submit:
+    if args.gerrit == "submit":
         gerrit.submit(default_branch, username, args.owner)
         sys.exit(0)
+    elif args.gerrit == "vote":
+        gerrit.vote(default_branch, username, args.owner)
+        sys.exit(0)
 
     base_path = utils.get_base_path(default_branch)
     config_dict = utils.get_config_dict(args.config, default_branch)
diff --git a/gerrit.py b/gerrit.py
index 11ae293..5dd796f 100644
--- a/gerrit.py
+++ b/gerrit.py
@@ -51,6 +51,31 @@
         print("Nothing to submit!")
 
 
+def vote(branch, username, owner):
+    commits = 0
+    changes = get_open_changes(branch, username, owner)
+    for change in changes:
+        print(f"Voting on commit {changes[change]}: ", end="")
+        # Add Code-Review +1 and Verified+1 labels
+        cmd = utils.get_gerrit_base_cmd(username) + [
+            "review",
+            "--verified +1",
+            "--code-review +1",  # we often can't self-CR+2 (limited by admin), submitter needs to do that
+            change,
+        ]
+        msg, code = utils.run_subprocess(cmd, True)
+        if code != 0:
+            error_text = msg[1].replace("\n\n", "; ").replace("\n", "")
+            print(f"Failed! -- {error_text}")
+        else:
+            print("Success")
+
+        commits += 1
+
+    if commits == 0:
+        print("Nothing to vote on!")
+
+
 def get_open_changes(branch, username, owner):
     print("Fetching open changes on gerrit")
 
diff --git a/utils.py b/utils.py
index bb73363..760f74e 100644
--- a/utils.py
+++ b/utils.py
@@ -99,7 +99,7 @@
 
 def get_username(args):
     username = args.username
-    if (args.submit or args.download) and username is None:
+    if (args.gerrit or args.download) and username is None:
         # try getting the username from git
         msg, code = run_subprocess(
             ["git", "config", "--get", "review.review.lineageos.org.username"],
