Ага, большое спасибо, почитаю по ссылкам.
Но пока что у меня сомнения, можно ли их вообще сделать с переводом.
Если я правильно понял, эти строки создают файлы .desktop, которые создаются по умолчанию на панели при первом запуска.
Восемь ярлыков, перечисленных в этих строках. Пока добавил к ним перевод с помощью Name[ru]=
Если копировать файлы в папку с ярлыками из /usr/share/applications, или создавать вручную, то вообще нет проблемы.
 
08.03.2017, 12:12, "Hihin Ruslan" <[email protected]>:

Здравствуйте Виктор
  В сообщении от 8 марта 2017 Виктор написал(a):

 Доброе утро всем!
 Здравствуйте, Руслан!
 Столкнулся с похожими строками, и не получается заставить их
 отображаться с переводом в этом приложении
 https://github.com/dangvd/ksmoothdock/tree/master/src. В этом

....

 Если сможете, подскажите пожалуйста, можно ли такое исправить.
 Пробовал подставлять строки, как у Вас сделано здесь
 https://phabricator.kde.org/D4111#308112c3 но получаю ошибку

Я вот смотрю эту функцию:

        void KSmoothDock::createDefaultLaunchers() {
                  const int kNumItems = 7;
                  const char* const kItems[kNumItems][3] = {
                    // Name, icon name, command.
                    {"Home Folder", "system-file-manager", "dolphin"},
                    {"Show Desktop", "user-desktop", kShowDesktopCommand},
                    {"Terminal", "utilities-terminal", "konsole"},
                    {"Text Editor", "kate", "kate"},
                    {"Web Browser", "applications-internet", "firefox"},
                    {"Audio Player", "audio-headphones", "amarok"},
                    {"System
Settings", "preferences-desktop", "systemsettings5"}
                  };
          for (int i = 0; i < kNumItems; ++i) {
            items_.push_back(std::unique_ptr<DockItem>(
              new Launcher(kItems[i][0], orientation_, kItems[i][1],
minSize_, maxSize_, kItems[i][2])));
  }
}

Смотрю описание конструктора:

  Launcher(const QString& label, Qt::Orientation orientation,
      const QString& iconName, int minSize, int maxSize,
      const QString& command);

Т.е. для классической локализации надо писать "кривой код", типа
switch (i)
{
case 0:
new Launcher(tr ("Home Folder"), orientation_,
tr(system-file-manager), minSize_, maxSize_, tr("dolphin"))));
....
}
явно в строке показывая строку замены.

Я не очень силён в английском, но теория изложена здесь, я думаю,
вы даже лучше меня можете в этом разобраться.

http://doc.qt.io/qt-5/i18n-source-translation.html
http://doc.qt.io/qt-5/internationalization.html

В частности, стоит обратить внимание на:

7. Use QT_TR_NOOP() for Translatable Data Text Strings


 

--
  А ещё говорят так (fortune):

Politics, like religion, hold up the torches of matrydom to the
reformers of error. -- Thomas Jefferson
________________________________________________________________________
С уважением Хихин Руслан

,

_______________________________________________
kde-russian mailing list
[email protected]
https://lists.kde.ru/mailman/listinfo/kde-russian

 
 
-- 
С Уважением Виктор mailto:[email protected]
 
_______________________________________________
kde-russian mailing list
[email protected]
https://lists.kde.ru/mailman/listinfo/kde-russian

Ответить