Karega hela...

Django - Tetum - Hatama Django Rosetta iha Projetu Django

Tetum - Hatama Django Rosetta iha Projetu Django
Autor Ony | March 23, 2023 | Referensia original Https://django-rosetta.readthedocs.io/

Saida mak Django-Rosetta?

Rosetta mak aplikasaun Django ida ne'ebé fasilita prosesu tradusaun ba ita-nia projetu Django sira.

Tanba la esporta models ruma, Rosetta la kria tabela ruma iha ita-nia projetu nia baze-dadus. Rosetta bele instala no dezinstala liu husi aumenta no hasai "rosetta" husi ita-nia projetu INSTALLED_APPS no URL prinsipál ida iha ita-nia file projetuteste/urls.py.


Prerekezitu -  Oinsá ita bele Hatama Django-Rosetta ba Projetu/Website? 

  1. Instala Django-Rosetta 
  2. Konfigura iha settings.py iha projetu nia laran 
  3. Hatama URL prinsipál ba urls.py iha projetu nia laran 

Atu dezinstala Rosetta, bele comment out ka hasai "rosetta" iha liña INSTALLED_APPS


    1. Instala Django-Rosetta

    Atu instala django-rosetta ezekuta kódigu tuir mai iha ita-nia projetu django liu husi terminal:


    (env)   projetuteste pip install django-rosetta


    Tuir mai sei hatudu iha terminal katak ita susesu instala ona django-rosetta hanesan exemplu hatudu iha okos:

    (env)   projetuteste pip install django-rosetta

    Collecting django-rosetta

      Using cached django_rosetta-0.9.8-py3-none-any.whl (111 kB)

    Collecting polib>=1.1.0

      Using cached polib-1.2.0-py2.py3-none-any.whl (20 kB)

    Requirement already satisfied: Django>=2.2 in /Users/ony/projetuteste/env/lib/python3.7/site-packages (from django-rosetta) (3.2.17)

    Collecting requests>=2.1.0

      Using cached requests-2.28.2-py3-none-any.whl (62 kB)

    Requirement already satisfied: sqlparse>=0.2.2 in /Users/ony/projetuteste/env/lib/python3.7/site-packages (from Django>=2.2->django-rosetta) (0.4.3)

    Requirement already satisfied: pytz in /Users/ony/projetuteste/env/lib/python3.7/site-packages (from Django>=2.2->django-rosetta) (2022.7.1)

    Requirement already satisfied: asgiref<4,>=3.3.2 in /Users/ony/projetuteste/env/lib/python3.7/site-packages (from Django>=2.2->django-rosetta) (3.6.0)

    Collecting urllib3<1.27,>=1.21.1

      Using cached urllib3-1.26.15-py2.py3-none-any.whl (140 kB)

    Collecting idna<4,>=2.5

      Using cached idna-3.4-py3-none-any.whl (61 kB)

    Collecting certifi>=2017.4.17

      Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)

    Collecting charset-normalizer<4,>=2

      Downloading charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl (121 kB)

         ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.1/121.1 kB 496.3 kB/s eta 0:00:00

    Requirement already satisfied: typing-extensions in /Users/ony/projetuteste/env/lib/python3.7/site-packages (from asgiref<4,>=3.3.2->Django>=2.2->django-rosetta) (4.4.0)

    Installing collected packages: polib, urllib3, idna, charset-normalizer, certifi, requests, django-rosetta

    Successfully installed certifi-2022.12.7 charset-normalizer-3.1.0 django-rosetta-0.9.8 idna-3.4 polib-1.2.0 requests-2.28.2 urllib3-1.26.15


    [notice] A new release of pip is available: 23.0 -> 23.0.1

    [notice] To update, run: pip install --upgrade pip

    (env)   projetuteste 


    2. Konfigura iha file settings.py

    Iha ita-nia projetu folder/directory nia laran iha file ida naran settings.py, loke file ne'e hodi hatama "rosetta" ba iha laran iha liña INSTALLED_APPS nian, ezemplu:

    projetuteste/settings.py

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'django.contrib.gis',
        'store_profile',
        'shop',
    'rosetta', # This is new code ]

    Tuir mai ita mos aumenta kódigu foun hanesan iha okos iha liña MIDDLEWARE nian

    projetuteste/settings.py

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.locale.LocaleMiddleware', # This is new code
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]

    Ita mos aumenta kódigu foun hanesan iha okos iha liña TEMPLATES, haree ezemplu iha okos

    projetuteste/settings.py

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.i18n', #  This is new code
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
     Atualiza iha parte ne'e hanesan hatudu iha kódigu tuir mai

    projetuteste/settings.py

    LANGUAGE_CODE = 'en-us'
    TIME_ZONE = 'Asia/Dili' #  Default is 'UTC', so change this to 'Asia/Dili'
    USE_I18N = True
    USE_L10N = True #  This is new code
    USE_TZ = True
    LANGUAGES = [
        ('tet-tl', ('Tetum')),
        ('en-us', ('English')),
    ]
    
    # Add extra language not provide by django
    EXTRA_LANG_INFO = {
        'tet': {
            'bidi': False,  # right-to-left
            'code': 'tet',
            'name': 'Tetum',
            'name_local': 'Tetum',  # unicode codepoints here
        },
    }
    
    LOCALE_PATHS = (
        os.path.join(BASE_DIR, 'locale'),
    )
    
    # Add custom languages not provided by Django
    # LANG_INFO = dict(django.conf.locale.LANG_INFO.items() + EXTRA_LANG_INFO.items())
    django.conf.locale.LANG_INFO.update(EXTRA_LANG_INFO)
    

    3. Hatama URL prinsipál ba urls.py

    Iha ita-nia projetu folder/directory nia laran iha file ida naran urls.py, loke file ne'e hodi hatama kódigu sira hanesan tuir mai:

    projetuteste/urls.py

    from django.conf import settings
    from django.conf.urls.static import static
    from django.conf.urls.i18n import i18n_patterns
    from django.contrib import admin
    from django.urls import path, include
    
    
    urlpatterns = i18n_patterns(
        path('', include('shop.urls')),
        path('admin/', admin.site.urls),
        path('i18n/', include('django.conf.urls.i18n')),
    )
    if 'rosetta' in settings.INSTALLED_APPS:
        urlpatterns += [
            path('rosetta/', include('rosetta.urls'))
        ]

    Karik ita hatama hotu ona kódigu sira hanesan instrusaun iha leten, ita bele halo ezekuta kódigu tuir mai hodi kria directory/folder no file django.po locale/tet_tl/LC_MESSAGES/django.po


    (env)
      projetuteste ./manage.py makemessages -l tet --no-location --no-wrap

    processing locale tet_tl

    (env)   projetuteste 

    Ita-nia sei haree ita-nia estrutura file folder/directory "locale" nian laran hanesan iha okos


    |____locale

    | |____tet_tl

    | | |____LC_MESSAGES

    | | | |____django.mo

    | | | |____django.po


    Karik ita hatama hotu ona kódigu sira hanesan instrusaun iha leten, ita bele halo teste, primeiru ita presiza ezekuta ita-nia server


    (env)   projetuteste python manage.py runserver             

    Watching for file changes with StatReloader

    Performing system checks...


    System check identified no issues (0 silenced).

    March 23, 2023 - 12:50:40

    Django version 3.2.17, using settings 'projetuteste.settings'

    Starting development server at http://127.0.0.1:8000/

    Quit the server with CONTROL-C.

    projetuteste/settings.py


    Karik ita ezekuta ita-nia server la iha erru ruma signifika ita-nia konfigurasaun susesu ona, favor loke ita-nia browser no vizita http://127.0.0.1:8000/rosetta/files/project/ ita sei haree pájina ida hanesan ezemplu hatudu iha okos:


    Atu kontinua aprende barak liu tan kona-bá Django-Rosetta favor vizita  dokumentasaun ofisial iha https://django-rosetta.readthedocs.io/installation.html


    0 Komentárius

    Post ne'ebé ligadu