This answer may be a bit lengthy, but this is because I am building it on a series of steps with ample details.
Claim 1: Let $a$ and $b$ be rational numbers such that $a<b$. Then, $$\mu[E\cap(a,b)]=(b-a)\times\mu[E\cap(0,1)].$$
Intuition: The set $E$ has the same “density” on all open intervals with rational endpoints.
Proof: If $a$ and $b$ are rational numbers and $a<b$, then $b-a$ is a positive rational number, so there exist positive integers $m,n$ such that $(b-a)=m/n$. Then, by the translation-invariance of the Lebesgue measure, the fact that the set $E$ is invariant to rational translations, and the fact that singletons have Lebesgue measure zero, one has that
\begin{align*}
&\,\mu[E\cap(a,b)]=\mu[(E-a)\cap(0,b-a)]=\mu[E\cap(0,m/n)]=\sum_{j=1}^m\mu[E\cap((j-1)/n,j/n)]\\
=&\,\sum_{j=1}^m\mu[(E-(j-1)/n)\cap(0,1/n)]=\sum_{j=1}^m\mu(E\cap(0,1/n))=m\times\mu[E\cap(0,1/n)]\\
=&\,\frac{m}{n}\times n\times\mu[E\cap(0,1/n)]=\frac{m}{n}\times\sum_{j=1}^n\mu[(E-(j-1)/n)\cap(0,1/n)]\\
=&\,\frac{m}{n}\times\sum_{j=1}^n\mu[E\cap((j-1)/n,j/n)]=\frac{m}{n}\times\mu[E\cap(0,1)]=(b-a)\times\mu[E\cap(0,1)].
\end{align*}
This completes the proof. $\quad\blacksquare$
Claim 2: Let $U\subseteq\mathbb R$ be any bounded open set. Then, $$\mu(E\cap U)=\mu[E\cap(0,1)]\times\mu(U).$$
Intuition: The set $E$ has the same “density” on all bounded open sets, thereby extending Claim 1.
Proof: Pick any bounded open set $U\subseteq\mathbb R$. If $U$ is empty, the claim is trivial. If $U$ is not empty, then $U$ can be decomposed as an at-most-countable disjoint union of open intervals: $$U=\bigcup_{n=1}^{N}(a_n,b_n)$$ for some real numbers $\{a_n,b_n\}_{n=1}^N$, where $N\in\mathbb N\cup\{+\infty\}$, such that $a_n<b_n$ for each $n$. (Note that since $U$ is assumed to be bounded, none of these numbers can be of infinite value.)
Now, fix $\varepsilon>0$. For each $n$, choose $\hat a_n$ and $\hat b_n$ in such a way that
- $\hat a_n$ and $\hat b_n$ are rational;
- $a_n<\hat a_n<\hat b_n<b_n$; and
- $\hat a_n<a_n+\varepsilon/2^{n+1}$ and $\hat b_n>b_n-\varepsilon/2^{n+1}$.
Let $$\hat U\equiv\bigcup_{n=1}^N(\hat a_n,\hat b_n).$$ Then, it is easy to see that $\hat U$ is open, $\hat U\subseteq U$, and $\mu(\hat U)>\mu(U)-\varepsilon$. In turn,
\begin{align*}
&\,\mu(E\cap U)=\mu(E\cap\hat U)+\mu(E\cap U\setminus\hat U)=\sum_{n=1}^N\mu[E\cap(\hat a_n,\hat b_n)]+\mu(E\cap U\setminus\hat U)\\
=&\,\sum_{n=1}^N(\hat b_n-\hat a_n)\times\mu[E\cap(0,1)]+\mu(E\cap U\setminus\hat U)=\mu(\hat U)\times\mu[E\cap(0,1)]+\mu(E\cap U\setminus\hat U)\\
\leq&\,\mu(U)\times\mu[E\cap(0,1)]+\mu(U\setminus\hat U)<\mu(U)\times\mu[E\cap(0,1)]+\varepsilon,
\end{align*}
using Claim 1.
On the other hand,
\begin{align*}
&\,\mu(E\cap U)=\mu(E\cap\hat U)+\mu(E\cap U\setminus\hat U)=[\text{as above}]=\mu(\hat U)\times\mu[E\cap(0,1)]+\mu(E\cap U\setminus\hat U)\\
\geq&\,\mu(\hat U)\times\mu[E\cap(0,1)]\geq\mu(U)\times\mu[E\cap(0,1)]-\varepsilon\times\mu[E\cap(0,1)].
\end{align*}
Observing that $\varepsilon>0$ can be made arbitrarily small in the preceding two series of inequalities completes the proof. $\quad\blacksquare$
Claim 3: The measure of the set $E\cap (0,1)$ is either $0$ or $1$.
Intuition: The “density” of $E$, which is uniform on all bounded open sets by Claim 2, must either completely fill up the full measure of the benchmark interval $(0,1)$, or completely fail to fill it up at all.
Proof: Suppose that $\mu[E\cap(0,1)]<1$. By the regularity of the Lebesgue measure, there exists an open set $U\subseteq \mathbb R$ such that $E\cap(0,1)\subseteq U$ and $\mu(U)<1$. Without loss of generality, $U$ may taken to be a subset of $(0,1)$. [If it is not, simply take its intersection with $(0,1)$.] If $\mu[E\cap(0,1)]>0$, then Claim 2 implies that
\begin{align*}
0<\color{red}{\mu[E\cap(0,1)]}\leq\mu(E\cap U)=\mu[E\cap(0,1)]\times\mu(U)<\color{red}{\mu[E\cap(0,1)]},
\end{align*}
which is a contradiction. Hence, it must be the case that if $\mu[E\cap(0,1)]<1$, then $\mu[E\cap(0,1)]=0$, completing the proof. $\quad\blacksquare$
Claim 4: Either $\mu(E)=0$ or $\mu(E^{\mathsf c})=0$.
Intuition: Make sure the champagne is cold already. We’re almost done.
Proof: Suppose that $\mu(E)>0$. By translation-invariance, it is easy to see that $$M\equiv\mu[E\cap(0,1)]=\mu[E\cap(n,n+1)]$$ for all $n\in\mathbb Z$, so $$0<\mu(E)=\sum_{n\in\mathbb Z}\mu[E\cap(n,n+1]]=\sum_{n\in\mathbb Z}\mu[E\cap(n,n+1)]=\infty\times M$$ implies that $M>0$ [and, in fact, $\mu(E)=\infty$]. By Claim 3, $M\in\{0,1\}$. Hence $M=1$, so that $\mu[E^{\mathsf c}\cap (0,1)]=0$. In turn, this implies that $\mu(E^{\mathsf c})=0$ by a similar translation-invariance argument, given that $E^{\mathsf c}+q=E^{\mathsf c}$ for all $q\in\mathbb Q$ is easily seen to hold as well. $\quad\blacksquare$