Soporte de idioma de derecha a izquierda invertido

Estoy usando un StringBuilder en C # para adjuntar un texto, que puede ser inglés (de izquierda a derecha) o árabe (de derecha a izquierda)

stringBuilder.Append("(");
stringBuilder.Append(text);
stringBuilder.Append(") ");
stringBuilder.Append(text);

Si texto = "A", entonces la salida es "(A) A"

Pero si text = "بتث", entonces la salida es "(بتث) بتث"

¿Algunas ideas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta