Это, конечно, возможно, вам просто нужно немного поработать.
Например, если вы используете c #, вам сначала нужно убедиться, что все переводимые элементы включены в функцию Mono.Unix.Catalog.GetString. Типичный ярлык будет выглядеть так:
Gtk.Label label1 = new Gtk.Label(Mono.Unix.Catalog.GetString("Monkey Juice"));
Gtk.Label label2 = new Gtk.Label(Mono.Unix.Catalog.GetString("Squirrel Love"));
Когда вы сделаете это, если у вас есть правильный файл перевода (.po файлы), у вас будет запуск приложения в текущей локали. Теперь, если вы хотите изменить локаль из приложения, вам просто нужна функция, которая делает это:
void ChangeToJapanese() {
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(" ja_JP");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
label1.Text = Mono.Unix.Catalog.GetString("Monkey Juice");
label2.Text = Mono.Unix.Catalog.GetString("Squirrel Love");
}
Теперь ваше приложение должно измениться, чтобы на ваших ярлыках отображались 猿 ジ ュ ー ス и リ ス の 愛.