Ответ 1
Я попытался сделать подобный маневр сам, но мне сказали, что это не выполнимо в Android.
Интересно, что вы получаете сообщение об ошибке, которое указывает, что это действительно возможно, но из-за ошибок в сопоставлении ресурсов это невозможно сейчас. (Вы уверены, что вы указали строки "app_name" и "version_name" перед строками "title" и "title2"?)
Однако вы можете сделать что-то вроде:
<string name="title">%1$s test</string>
<string name="title2">%1$s %2$s</string>
<string name="app_name">AppName</string>
<string name="version_name">1.2</string>
И затем из кода Java сделайте что-то вроде:
Resources res = getResources();
String appName = res.getString(R.string.app_name);
String versionName = res.getString(R.string.version_name);
String title = res.getString(R.string.title, appName);
String title2 = res.getString(R.string.title2, appName, versionName);
Подробнее о форматировании строк в Android.
Надеюсь, что это поможет.