Skip to main content

Generate fake language files

Project description

django-fakemessages - Generate fake language files for your Django Project

CI tests codecov Documentation MIT License

Introduction

Looking for missing translations in your Django project? Let's censor what is done and see what remains!

Resources

Requirements

  • Django >=3.2
  • Python >=3.8
  • Translate-toolkit >=3.8.5

How to

  1. Install

    $ pip install "django-fakemessages"
    
  2. Register fakemessage in your list of Django applications:

    INSTALLED_APPS = [
        # ...
        "fakemessages",
        # ...
    ]
    
  3. Update your settings:

    if DEBUG:
        """Add our fake language to Django"""
        from django.conf.locale import LANG_INFO
    
        FAKE_LANGUAGE_CODE = "kl"
    
        LANG_INFO[FAKE_LANGUAGE_CODE] = {
            "bidi": False,
            "code": FAKE_LANGUAGE_CODE,
            "name": "▮▮▮▮▮▮▮▮",
            "name_local": "🖖 ▮▮▮▮▮▮▮",
        }
        LANGUAGES.append((FAKE_LANGUAGE_CODE, "🖖 ▮▮▮▮▮▮▮"))
    
  4. 🎉 Voila!

Contribute

Principles

  • Simple for developers to get up-and-running
  • Consistent style (black, ruff)
  • Future-proof (pyupgrade)
  • Full type hinting (mypy)

Coding style

We use pre-commit to run code quality tools. Install pre-commit however you like (e.g. pip install pre-commit with your system python) then set up pre-commit to run every time you commit with:

> pre-commit install

You can then run all tools:

> pre-commit run --all-files

It includes the following:

  • poetry for dependency management
  • Ruff, black and pyupgrade linting
  • mypy for type checking
  • Github Actions for builds and CI

There are default config files for the linting and mypy.

Tests

Tests package

The package tests themselves are outside of the main library code, in a package that is itself a Django app (it contains models, settings, and any other artifacts required to run the tests (e.g. urls).) Where appropriate, this test app may be runnable as a Django project - so that developers can spin up the test app and see what admin screens look like, test migrations, etc.

Running tests

The tests themselves use pytest as the test runner. If you have installed the poetry evironment, you can run them thus:

$ poetry run pytest

or

$ poetry shell
(django-fakemessages-py3.10) $ pytest

CI

  • .github/workflows/lint.yml: Defines and ensure coding rules on Github.

  • .github/workflows/test.yml: Runs tests on all compatible combinations of Django (3.2+) & Python (3.8+) in a Github matrix.

  • .github/workflows/coverage.yml: Calculates the coverage on an up to date version.

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

django_fakemessages-0.0.1.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

django_fakemessages-0.0.1-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

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