Translations:Development/FAQs/Technical FAQ/39/ja

From KDE TechBase

QString translatedStuff=i18n("foobar"); を使った場合、translatedStuff は "foobar" の翻訳結果が含まれます。一方、 const char *markedStuff = I18N_NOOP("foobar"); を使った場合、marketStuff はまだ、リテラル "foobar" を含んでいます。しかし、翻訳者はそのが翻訳されてほしいことを分っているので、後に QString translatedStuff=i18n(markedStuff); を実行すると、"foobar" の翻訳結果が得られます。これは I18N_NOOP なしではうまくいきません。 そのため、普通は i18n を使ってください。しかし、絶対に翻訳をさせずに後で翻訳したい場合や、KInstance が存在する前に翻訳したいものを持っておきたい場合は、I18N_NOOP() を使って下さい。