Skip to main content

An enhanced version of zope.i18n.translationdomain

Project description

This package provides components for use with Zope 3 and Zope 2 + Five that implement both ITranslationDomain and ILanguageAvailability as well as supporting the recording of untranslated msgids. This means that, not only do the components support the interface require to provide message to Zope 3’s i18n framework, they can also be used to generate a list of avaiable languages using code similar to the following:

from zope.component import getUtility
from zope.i18n.interfaces import ILanguageAvailability
from zope.i18n.locales import locales, LoadLocaleError

domain = 'myproject'

def getLanguages(self):
  options = getUtility(ILanguageAvailability,
                       domain).getAvailableLanguages()
  options.sort()
  result = []
  for option in options:
      lang = option[0]
      try:
          locale = locales.getLocale(lang)
      except LoadLocaleError:
          # probably not a real locale
          continue
      result.append(
          {'code':lang,
           'name':locale.displayNames.languages[lang],}
          )
  return result

Requirements

Zope 2.12.0 or higher is required.

Installation

To install, simply place the sx folder contained in the distribution onto your PYTHONPATH.

Configuration

Configuration is through ZCML, a complete example of which is shows below:

<configure xmlns="http://namespaces.zope.org/zope"
           xmlns:i18n="http://namespaces.simplistix.co.uk/translations">

<!-- make the sx.translations' registerTranslations directive
     available -->
<include package="sx.translations" file="meta.zcml" />

<!-- register our locales using sx.translations -->
<i18n:registerTranslations locales="../locales"
                           missing="../locales/myproj.pot"
                           encoding="utf-8"/>

</configure>

locales is a path pointing to a folder containing locale information in the standard GNU gettext layout, as currently supported by Zope 3.

missing is a file to which untranslated msgids will be appended in .pot fortmat.

encoding is optional and specifies the encoding to use for the file specified in the “missing” attribute. If not supplied, a default of utf-8 is used.

Licensing

Copyright (c) 2006-2009 Simplistix Ltd

This Software is released under the MIT License: http://www.opensource.org/licenses/mit-license.html See license.txt for more details.

Changes

1.2 (16 Apr 2009)

  • record dates when missing msgids are found

1.1 (12 Apr 2009)

  • bring up to date for zope.i18n 3.7.0

1.0 (18 Sep 2006)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sx.translations-1.2.tar.gz (8.6 kB view details)

Uploaded Source

File details

Details for the file sx.translations-1.2.tar.gz.

File metadata

File hashes

Hashes for sx.translations-1.2.tar.gz
Algorithm Hash digest
SHA256 c5673694036a97f1ee5ed0acd4b31fcaae30a45093bfa57d30e3363bd71e536a
MD5 b1920d320b1c46b0aa08cdbbafb390b6
BLAKE2b-256 b91a1680e938af36ec066e259a8040bf16906c3bccc4b81b6fbf2e4c547ca2f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page