django-model-i18n là một ứng dụng Django mà cố gắng để làm cho dữ liệu đa ngôn ngữ trong các mô hình ít đau đớn.
Cài đặt
* Kho nhân bản
Cấu hình
Tới urls.py vào thư mục gốc của dự án và đặt này
& Nbsp; & nbsp; & nbsp; từ model_i18n bộ tải nhập khẩu
& Nbsp; & nbsp; & nbsp; loaders.autodiscover_admin ()
cũng thêm 'django.middleware.locale.LocaleMiddleware' vào MIDDLEWARE_CLASSES ::
& Nbsp; & nbsp; & nbsp; MIDDLEWARE_CLASSES = (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.middleware.common.CommonMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.contrib.sessions.middleware.SessionMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ## IF CACHE Middleware là thiết PUT HERE
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.middleware.locale.LocaleMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.middleware.csrf.CsrfViewMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.contrib.auth.middleware.AuthenticationMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.contrib.messages.middleware.MessageMiddleware',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
& Nbsp; & nbsp; & nbsp; )
và cuối cùng đặt trong INSTALLED_APPS ::
& Nbsp; & nbsp; & nbsp; INSTALLED_APPS = (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Model_i18n',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'Django.contrib.admin',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; )
** Khi đặt model_i18n phải là lần đầu tiên trong danh sách các INSTALLED_APPS. **
Cách sử dụng
1) Trong thư mục của ứng dụng tạo ra một translations.py
2) Bên trong các tập tin bạn cần đăng ký dịch như ví dụ này ::
& Nbsp; & nbsp; & nbsp; từ model_i18n nhập khẩu phiên dịch
& Nbsp; & nbsp; & nbsp; từ app.models nhập khẩu hàng
& Nbsp; & nbsp; & nbsp; lớp ItemTranslation (translator.ModelTranslation):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lĩnh vực = ("title",)
& Nbsp; & nbsp; & nbsp; translator.register (Item, ItemTranslation)
Tính năng :
- Dễ dàng cài đặt và tích hợp. Không đau di chuyển dữ liệu hoặc lược đồ.
- Mỗi cửa hàng mô hình đa ngôn ngữ đó là bản dịch trong một bảng riêng biệt, mà từ django chỉ là một mô hình mới tự động tạo ra, chúng ta gọi là mô hình này, mô hình dịch.
- Bạn có thể thêm (hoặc thậm chí thả) hỗ trợ i18n cho một mô hình bất cứ lúc nào và bạn sẽ không cần phải di chuyển bất kỳ dữ liệu hoặc ảnh hưởng đến các mô hình ban đầu (chúng tôi gọi đây là mô hình tổng thể) định nghĩa bảng. Điều này cho phép bạn để phát triển các ứng dụng của bạn mà không cần suy nghĩ ở phần i18n (thậm chí bạn có thể tải dữ liệu cho các ngôn ngữ chính và bạn sẽ không cần phải di chuyển nó) và khi bạn cảm thấy thoải mái với nó đăng ký các tùy chọn đa ngôn ngữ và bắt đầu làm việc với nội dung bản dịch.
- bên thứ 3 ứng dụng thân thiện. Bạn có thể thêm hỗ trợ i18n để các mô hình hiện có mà không thay đổi định nghĩa của họ ở tất cả (nghĩ trong các ứng dụng mà bạn không thể sửa đổi trực tiếp ví dụ djago.contrib.flatpages).
Yêu cầu :
- Python
- Django
Bình luận không