ご質問ありがとうございます。
「狂犬病のワクチンを打つ」は英語で言いますと「Get a rabies vaccine」になります。「Get a rabies shot」も言えます。
「日本のすべての犬は1年に1回、狂犬病のワクチンを打つことが法律で義務ずけらている」
は英語で「Every dog in Japan must get a rabies vaccine once a year as required by law」になりますね。
役に立てば幸いです。
「狂犬病のワクチンを打つ」を英語で表現する場合、「Administer a rabies vaccine」が適切な表現になります。「Give a rabies shot」も使用可能です。
そして、"日本のすべての犬は1年に1回、狂犬病のワクチンを打つことが法律で義務ずけらている"に関しては、「Every dog in Japan is required by law to receive a rabies vaccine once a year」とすれば、より自然な英語表現になります。
少し説明しますと、「required」は「必要」という意味ですが、法律による義務などを指すときに使います。「by law」は「法律で」という意味で、「receive」は「受け取る」ですが、ここでは「ワクチンを打つ」すなわち受けるという意味で使用しています。