[PC-BSD Translations] untranslatable words in source code

Yamashiro, Jun yamajun at ofug.net
Sun Sep 2 02:20:02 PDT 2012


On Mon, 21 May 2012 11:07:00 -0400
Kris Moore <kris at pcbsd.org> wrote:

> On 05/18/2012 12:00, Leslie wrote:
> > Hello,
> >
> > There are some untranslatable words, which are fixed strings in PC-BSD source files.
> > For example in 'pc-updategui/mainWin.cpp' there are several " of " concatenations:
> >
> > " (" + tmp + " of " + tmp2 + ")"
> >
> > " (Update " + cI + " of " + tI + ")"
> > " (" + cI + " of " + tI + ")"
> >
> > Otherwise in Hungarian language it can not be translated well in itself. '5 of 10' translated to Hungarian is '5 a 10-b〓l'; '-b〓l' is the 'of'. Do you notice the changed word order?
> >
> > So can't developers use c-formats somehow please, instead of string concatenation?
> > See: http://qt-project.org/doc/qt-4.8/qstring.html#arg
> > I think it would make translators' life easier a bit sometimes :-).
> >
> >
> >
> > Horv〓th L〓szl〓.
> > _______________________________________________
> > Translations mailing list
> > Translations at lists.pcbsd.org
> > http://lists.pcbsd.org/mailman/listinfo/translations
> 
> Thanks! I've fixed the example you've sent. When you find others, please
> send them over and I'll get the corrected in SVN.

(Sorry for reply to old topic.)
I found translation difficulties for Japanese cause of dynamic text.

In src-qt4/pc-mounttray/mountTray.cpp:
====line 65
  }else if(ident==2){
    //Device mounted
    trayIcon->showMessage( tr("Device Mounted"), tr("Device")+" \""+device->text()+"\" "+tr("has been mounted at")+" "+MOUNTDIR+device->text(), QSystemTrayIcon::NoIcon,3000 );

  }else if(ident==3){
    //Device unmounted
    trayIcon->showMessage( tr("Device Unmounted"), tr("Device")+" \""+device->text()+"\" "+tr("may now be safely removed"), QSystemTrayIcon::NoIcon,3000 );
====end here


I suggest alternative code with QString::arg().  This code is transratable for
non-SVO language(http://en.wikipedia.org/wiki/Subject%E2%80%93verb%E2%80%93object)
and more readable message in English.

I hope to PC-BSD develpers use Qstring::arg() with dynamic text in all new code.

====example start here
trayIcon->showMessage(
	tr("Device Mounted"),
	tr("Device \"%1\" has been mounted at %2%3")
		.arg(device->text()).arg(MOUNTDIR).arg(device->text()),
	QSystemTrayIcon::NoIcon,3000 );
====example end here

see also:
Use QString::arg() for Dynamic Text
http://doc-snapshot.qt-project.org/4.8/internationalization.html#use-qstring-arg-for-dynamic-text


regards,
-- 
Yamashiro, Jun			Email: yamajun at ofug.net
Okinawa FreeBSD Users Group


More information about the Translations mailing list