|
|
|
# translation
|
|
|
|
|
|
|
|
VLC translation is base on [gettext](https://www.gnu.org/software/gettext/)
|
|
|
|
|
|
|
|
to mark a string for translation:
|
|
|
|
|
|
|
|
* on C++ side you should use `qtr` macro which is available in the `qt.hpp`,
|
|
|
|
this will translate the enclosed string and return a QString
|
|
|
|
|
|
|
|
```
|
|
|
|
addButton->setToolTip(qtr("My tooltip here"));
|
|
|
|
```
|
|
|
|
|
|
|
|
* For advanced usage, you can use vlc_gettext/vlc_ngettext functions directly
|
|
|
|
|
|
|
|
* For indirect translation (string inside a static list for instance), you
|
|
|
|
should use the `N_` macro to mark strings for translation
|
|
|
|
|
|
|
|
```
|
|
|
|
const char* myLabels[] = {
|
|
|
|
N_("a label"),
|
|
|
|
N_("another label")
|
|
|
|
};
|
|
|
|
|
|
|
|
for( size_t i = 0; i < ARRAY_SIZE(myLabels); i++)
|
|
|
|
something->addEntry(qfu(myLabels[i]));
|
|
|
|
```
|
|
|
|
|
|
|
|
* on the QML side you need to use `I18n.qtr("my string")`, from the
|
|
|
|
`org.videolan.vlc` package
|
|
|
|
|
|
|
|
* files that contains translated strings needs to be added to the
|
|
|
|
`po/POTFILES.in` |