| 271 | |
| 272 | |
| 273 | class NullTranslations: |
| 274 | def __init__(self, fp=None): |
| 275 | self._info = {} |
| 276 | self._charset = None |
| 277 | self._fallback = None |
| 278 | if fp is not None: |
| 279 | self._parse(fp) |
| 280 | |
| 281 | def _parse(self, fp): |
| 282 | pass |
| 283 | |
| 284 | def add_fallback(self, fallback): |
| 285 | if self._fallback: |
| 286 | self._fallback.add_fallback(fallback) |
| 287 | else: |
| 288 | self._fallback = fallback |
| 289 | |
| 290 | def gettext(self, message): |
| 291 | if self._fallback: |
| 292 | return self._fallback.gettext(message) |
| 293 | return message |
| 294 | |
| 295 | def ngettext(self, msgid1, msgid2, n): |
| 296 | if self._fallback: |
| 297 | return self._fallback.ngettext(msgid1, msgid2, n) |
| 298 | n = _as_int2(n) |
| 299 | if n == 1: |
| 300 | return msgid1 |
| 301 | else: |
| 302 | return msgid2 |
| 303 | |
| 304 | def pgettext(self, context, message): |
| 305 | if self._fallback: |
| 306 | return self._fallback.pgettext(context, message) |
| 307 | return message |
| 308 | |
| 309 | def npgettext(self, context, msgid1, msgid2, n): |
| 310 | if self._fallback: |
| 311 | return self._fallback.npgettext(context, msgid1, msgid2, n) |
| 312 | n = _as_int2(n) |
| 313 | if n == 1: |
| 314 | return msgid1 |
| 315 | else: |
| 316 | return msgid2 |
| 317 | |
| 318 | def info(self): |
| 319 | return self._info |
| 320 | |
| 321 | def charset(self): |
| 322 | return self._charset |
| 323 | |
| 324 | def install(self, names=None): |
| 325 | import builtins |
| 326 | builtins.__dict__['_'] = self.gettext |
| 327 | if names is not None: |
| 328 | allowed = {'gettext', 'ngettext', 'npgettext', 'pgettext'} |
| 329 | for name in allowed & set(names): |
| 330 | builtins.__dict__[name] = getattr(self, name) |