Localizing an enum in Java
Don't localize your Java code.  You don't want to hand over your source code to your translator, and you don't want to recompile the code to add a support for a new language.  Rather, you should internationalize your code and do all the localization through resources, as recommended in the Android Developers documentation.

Furthermore, localizing strings in isolation doesn't work in the general case.  For example, "monthly" may need to be translated as « mensuel », « mensuelle », « mensuels », « mensuelles », or « mensuellement », depending on context.  Word order also tends to differ between languages.  Therefore, the only sane approach is to translate entire phrases at the point of use.

res/values/strings.xml

&lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
    &lt;string name="expenses"&gt;Your {0,choice, 1#weekly| 2#bi-weekly| 3#monthly| 4#quarterly| 5#annual} expenses are {1,number,currency}.&lt;/string&gt;
&lt;/resources&gt;


res/values-fr/strings.xml

&lt;resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"&gt;
    &lt;string name="expenses"&gt;Vos dépenses {0,choice, 1#hebdomadaires| 2#bimensuelles| 3#mensuelles| 4#trimestrielles| 5#annuelles} sont {1,number,currency}.&lt;/string&gt;
&lt;/resources&gt;


Java code

import java.text.*;
…

Format expensesFmt = new MessageFormat(getResources().getString(R.string.expenses));
textView.setText(expensesFmt.format(new Object[] { MONTHLY.ordinal(), 1337 }));




… to get

Your monthly expenses are $1337.00.


or

Vos dépenses mensuelles sont 1337,00€.