Как использовать gettext заполнители? - PullRequest
0 голосов
/ 30 января 2012

Я не программист, но я хочу помочь с переводом проекта, написанного на языке vala (http://live.gnome.org/Vala/Tutorial), с использованием gettext. Я столкнулся с проблемой, когда мне пришлось переставлять части предложения с использованием заполнителей.

Пример:

public void show_retrieving_similars() {
    if(hint != ViewWrapper.Hint.SIMILAR || lm.media_info.media == null)
        return;

    errorBox.show_icon = false;
    errorBox.setWarning("<span weight=\"bold\" size=\"larger\">" + _("Loading similar songs") + "</span>\n\n" + _("BeatBox is loading songs similar to") + " <b>" + lm.media_info.media.title.replace("&", "&amp;") + "</b> by <b>" + lm.media_info.media.artist.replace("&", "&amp;") + "</b> " + _("..."), null);
    errorBox.show();
    list.hide();
    albumView.hide();
    similarsFetched = false;
}

Что мне нужно сделать?

1 Ответ

0 голосов
/ 31 января 2012

Я не использовал vala и не проверял это, похоже, вам нужно заменить

errorBox.setWarning("<span weight=\"bold\" size=\"larger\">" + _("Loading similar songs") + "</span>\n\n" + _("BeatBox is loading songs similar to") + " <b>" + lm.media_info.media.title.replace("&", "&amp;") + "</b> by <b>" + lm.media_info.media.artist.replace("&", "&amp;") + "</b> " + _("..."), null);

на

string title = lm.media_info.media.title.replace("&", "&amp;");
string artist = lm.media_info.media.artist.replace("&", "&amp;");
errorBox.setWarning(@"<span weight=\"bold\" size=\"larger\">Loading similar songs</span>\n\n BeatBox is loading songs similar to<b> $title </b>by<b> $artist </b>...", null);
...