... mit möglichst wenig Aufwand ...
Das kommt darauf an wie Dein Programm aufgebaut ist.
Und was verstehst Du mit wenig Aufwand ?
Du musst alle Texte der verschiedenen Sprachen irgendwo speichern und diese dann je nach Sprachwahl ins Programm lesen oder diese im Sourcecode direkt einbinden.
Dann musst Du überall wo Du Text verwendest diesen ändern wenn der Benutzer die Sprache ändert, das Gleiche auch beim Programmstart.
In meinen Programmen mache Ich es relatif einfach. Ich habe für jede Sprache eine Textdatei, je nach Sprachwahl lese ich die geeignente Datei in ein String-Array.
Dann überall wo Text im Code eingegeben wird verwende Ich zum Beispiel:
lblTitel.Text = Texte(10) anstatt lblTitel.Text = "Titel"
Für Text der im Designer eingegebn ist musst Du eine Routine pro Activity schreiben die Alle Texte ändert.
Ich mache es so schon seit langer Zeit auch in Windows Programmen deshalb habe Ich nie nach einer anderen Lösung gesucht.
Ein Beispiel findest Du hier
Simple NotePad.
Man kann das Alles natürlch auch anders machen.
Die Sprachen in Maps oder in einer Datenbank speichern.
Du könntest auch die
AHLocale Library von corwin42 verwenden.
Diese Library stellt eine Funktion AHTranslator zur Verfügung zum erstellen von mehrsprachigen Programmen.
Ich habe diese aber noch nie benutzt.
Man mit dieser Library kann man auch die Sprache die am Gerät eingestellt ist auszulesen und diese dann beim Programmstart auswählen, diese Funktion verwende Ich.
Beste Grüsse.