_機械翻訳は、それ程精度高くないです。あくまでも参考程度にして下さい。
_How long do you speak Japanese? と言う英訳になってしまったのは、日本語が省略の文化の言語であり、「(日本語ネイティブではない人に対して)どれくらいの期間、日本語話者として話せているのですか?」と言う意味に機械が受け取ったからです。
_ですから、「How long do you speak Japanese?」と吐き出してきたら、機械が他の意味に受け取らない様に、「どの程度上手に日本語を話せますか?」、と、日本語を修正して、もう一度、機械翻訳して下さい。
_機械翻訳をする時は、①、吐き出された英語を一度解釈して、入力する日本語を修正して行く。②、複数の機械翻訳に掛けて、比較検討する。③、吐き出された英語を、機械翻訳で日本語に変換してみる。
_最低限、これくらいはして下さい。
_How much も何がどの程度なのか、英語としては、分かりません。
_How well can you speak Japanese? とかが適切であると、思います。