diff --git a/setup.py b/setup.py
index bf9094b..baabcb9 100644
--- a/setup.py
+++ b/setup.py
@@ -80,10 +80,10 @@ def make_lang():
     os.makedirs("mo", exist_ok=True)
     for po_file in glob.glob(PO_FILES):
         lang = splitext(basename(po_file))[0]
-        os.makedirs(join("mo", lang), exist_ok=True)
+        os.makedirs(join("mo", lang, "LC_MESSAGES"), exist_ok=True)
         print(f"generating translation for {lang}")
         subprocess.run(
-            ["msgfmt", "-o", join("mo", lang, "input-remapper.mo"), str(po_file)],
+            ["msgfmt", "-o", join("mo", lang, "LC_MESSAGES", "input-remapper.mo"), str(po_file)],
             check=True,
         )
 
