skip to navigation
skip to content

Not Logged In

PO-Projects 0.5.4

Django application to manage PO files for project translations

Latest Version: 0.8.3

PO Projects is a PO file management factory.

Principle is to have a frontend board to create new PO project from a POT file to import, then add it and manage language translations then finally export all these PO to include it in your app (django or another).

Features

  • View to create new project from a PO/POT file;
  • View to create new project translation and edit them;
  • View to export project translations as PO files;
  • View to export an archive (zip/tarball) of all translations as PO files from a project;
  • Manage fuzzy mode for translations;
  • Form to import a catalog (PO) to update a catalog;
  • Nice frontend with Foundation;
  • Permission restriction;
  • Restricted API access with djangorestframework to get PO files or global project archive from external tools (like Optimus or a Django app from an external site) ?

Planned

  • User authoring to know who has done what;
  • More granual permission restriction with django-guardian;

Install

Add PO Projects to your installed apps in settings :

INSTALLED_APPS = (
    ...
    'po_projects'
    ...
)

Then add its settings :

# Use to build path and file names in exported archive for projects
POT_ARCHIVE_PATH = "locale/{catalog_filename}.pot"
PO_ARCHIVE_PATH = "locale/{locale}/LC_MESSAGES/{catalog_filename}.po"

# Available PO filename types
DEFAULT_CATALOG_FILENAMES = 'messages'
AVAILABLE_CATALOG_FILENAMES = ('django', 'messages')

Finally mount its urls in your main urls.py :

urlpatterns = patterns('',
    ...
    (r'^po/', include('po_projects.urls', namespace='po_projects')),
    ...
)

Also to enable the rest API you will have to install djangorestframework in your settings :

INSTALLED_APPS = (
    ...
    'rest_framework'
    ...
)

REST_FRAMEWORK = {
    'PAGINATE_BY': 10,
    # Use hyperlinked styles by default.
    # Only used if the `serializer_class` attribute is not set on a view.
    'DEFAULT_MODEL_SERIALIZER_CLASS': (
        'rest_framework.serializers.HyperlinkedModelSerializer',
    ),

    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAdminUser',
        #'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly',
    ),
}

And mount it in your urls.py :

urlpatterns = patterns('',
    ...
    (r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    ...
)

External API access

If djangorestframework is installed, a rest API will be available on :

/po/rest/

It is browsable for authenticated users with admin rights (is_staff on True), also the client will need to access to the API with an user accounts with the admin rights.

PO-Projects-client is client to use the API from your project.

 
File Type Py Version Uploaded on Size
PO-Projects-0.5.4.tar.gz (md5) Source 2014-08-16 19KB
  • Downloads (All Versions):
  • 154 downloads in the last day
  • 790 downloads in the last week
  • 2795 downloads in the last month