Unable to upload to Snap Store because of too many layouts

I have a working snap that I’m trying to upload to the snap store. My snap uses the apertium package which puts a bunch of binaries it needs in /usr/bin. To make the snap work I included layouts to link to all of these binaries, and it crashes without these layouts:

layout:
  /usr/share/apertium:
    symlink: $SNAP/usr/share/apertium
  /usr/bin/apertium:
    symlink: $SNAP/usr/bin/apertium
  /usr/bin/apertium-deshtml:
    symlink: $SNAP/usr/bin/apertium-deshtml
  /usr/bin/apertium-deslatex:
    symlink: $SNAP/usr/bin/apertium-deslatex
  /usr/bin/apertium-desmediawiki:
    symlink: $SNAP/usr/bin/apertium-desmediawiki
  /usr/bin/apertium-desodt:
    symlink: $SNAP/usr/bin/apertium-desodt
  /usr/bin/apertium-despptx:
    symlink: $SNAP/usr/bin/apertium-despptx
  /usr/bin/apertium-desrtf:
    symlink: $SNAP/usr/bin/apertium-desrtf
  /usr/bin/apertium-destxt:
    symlink: $SNAP/usr/bin/apertium-destxt
  /usr/bin/apertium-deswxml:
    symlink: $SNAP/usr/bin/apertium-deswxml
  /usr/bin/apertium-desxlsx:
    symlink: $SNAP/usr/bin/apertium-desxlsx
  /usr/bin/apertium-desxpresstag:
    symlink: $SNAP/usr/bin/apertium-desxpresstag
  /usr/bin/apertium-interchuck:
    symlink: $SNAP/usr/bin/apertium-interchuck
  /usr/bin/apertium-multiple-translation:
    symlink: $SNAP/usr/bin/apertium-multiple-translation
  /usr/bin/apertium-postchunk:
    symlink: $SNAP/usr/bin/apertium-postchunk
  /usr/bin/apertium-postlatex:
    symlink: $SNAP/usr/bin/apertium-postlatex
  /usr/bin/apertium-postlatex-raw:
    symlink: $SNAP/usr/bin/apertium-postlatex-raw
  /usr/bin/apertium-prelatex:
    symlink: $SNAP/usr/bin/apertium-prelatex
  /usr/bin/apertium-preprocess-transfer:
    symlink: $SNAP/usr/bin/apertium-preprocess-transfer
  /usr/bin/apertium-pretransfer:
    symlink: $SNAP/usr/bin/apertium-pretransfer
  /usr/bin/apertium-rehtml:
    symlink: $SNAP/usr/bin/apertium-rehtml
  /usr/bin/apertium-rehtml-noent:
    symlink: $SNAP/usr/bin/apertium-rehtml-noent
  /usr/bin/apertium-relatex:
    symlink: $SNAP/usr/bin/apertium-relatex
  /usr/bin/apertium-remediawiki:
    symlink: $SNAP/usr/bin/apertium-remediawiki
  /usr/bin/apertium-reodt:
    symlink: $SNAP/usr/bin/apertium-reodt
  /usr/bin/apertium-repptx:
    symlink: $SNAP/usr/bin/apertium-repptx
  /usr/bin/apertium-rertf:
    symlink: $SNAP/usr/bin/apertium-rertf
  /usr/bin/apertium-retxt:
    symlink: $SNAP/usr/bin/apertium-retxt
  /usr/bin/apertium-rewxml:
    symlink: $SNAP/usr/bin/apertium-rewxml
  /usr/bin/apertium-rexlsx:
    symlink: $SNAP/usr/bin/apertium-rexlsx
  /usr/bin/apertium-rexpresstax:
    symlink: $SNAP/usr/bin/apertium-rexpresstax
  /usr/bin/apertium-tagger:
    symlink: $SNAP/usr/bin/apertium-tagger
  /usr/bin/apertium-tmxbuild:
    symlink: $SNAP/usr/bin/apertium-tmxbuild
  /usr/bin/apertium-transfer:
    symlink: $SNAP/usr/bin/apertium-transfer
  /usr/bin/apertium-unformat:
    symlink: $SNAP/usr/bin/apertium-unformat
  /usr/bin/apertium-utils-fixlatex:
    symlink: $SNAP/usr/bin/apertium-utils-fixlatex

This works fine on my local machine and I’m able to install and use the snap. However, when I try to upload to the Snap Store I get this error:

Error while processing...
The store was unable to accept this snap.
  - too many defined layouts (36 > 30)

I’ve tried different things to try to fix this like messing with using bind instead of symlink, and using a layout on the entire /usr/bin directory but nothing works. Any suggestions?

Code here: https://github.com/argosopentech/argos-translate

For reference there was a discussion on this topic a while back here: Why are snap layouts limited to 15 entries?

I suspect you can remove all the layout definitions and adjust your code on line 36 of translate.py. Don’t use echo | apertium, instead call apertium directly and push the input into the app’s STDIN pipe from your python code without the indirection of using echo.

If I replace the line:
return os.popen('echo \'' + input_text + '\' | apertium ' + from_code + '-' + to_code + '').read()
with:
return os.system('apertium ' + from_code + '-' + to_code)

then I still get this error when the layouts are removed:
/snap/argos-translate/x1/usr/bin/apertium: line 641: /usr/bin/apertium-destxt: No such file or directory
/snap/argos-translate/x1/usr/bin/apertium: line 659: /usr/bin/apertium-retxt: No such file or directory