Well, no, to define a macro gettext_noop useless. Actually the N_ macro too! Just don't call him macro _. And then the utility will generate a file localization, xgettext does not just include your string in the output po file. By the way with the base it won't work. More precisely xgettext doesn't work. Well, because it needs to know which line need to pull out at the time of its launch. And it's not there, it will only appear at the time of the calls to the database. It works only static localization. But you can cheat if you know which rows appear there, we can manually add them to your po file... It certainly will not protect you from failure, if for example there will be new. Each time you append the file and precompiling and then put. But it is a thankless task. It is much better to write the translation into the database add the field with the appropriate language and to carry srzu rows in the target language. Then when you add a record in the database you may request to add and its translation. Not added well their problem... As you want! Well somewhere it is necessary to add, either there or here, and in any case manually...