Tương đương với các địa phương - tất cả từ Debian là gì?


8

Trên Debian, tôi có thể có một gói phụ thuộc vào locales-allđể đảm bảo rằng tất cả các ngôn ngữ được cài đặt / có sẵn. Không có gói như vậy trong Ubuntu.

Nó đã từng có belocs-locales-*vẻ như làm điều tương tự; cách khác, người ta có thể phụ thuộc vào các gói nội địa hóa khác nhau (ví dụ: chỉ de+ en+ frcho hầu hết Tây Âu, được sử dụng hạn chế; đôi khi, phần mềm thực tế yêu cầu tất cả các địa phương tiêu chuẩn). Các gói này biến mất giữa hardy và chính xác, AFAICT.

Vì vậy, gói Ubuntu nào tôi có thể có Dependsđể có tất cả các ngôn ngữ có sẵn?

Chỉnh sửa: đây không giống như localesgói, chỉ cung cấp các tệp dữ liệu cần thiết để tạo các vùng; chỉ cài đặt locales-allgói trong Debian làm cho các ngôn ngữ đó khả dụng ngay lập tức và tất cả chúng. (Nó chứa một gói, trong các phiên bản gần đây, cũng tiết kiệm nhiều dung lượng.) Bằng cách này, người dùng không có núm trong đó họ có thể (vô tình) vô hiệu hóa các vị trí cần thiết.


Tôi không nghĩ có Ubuntu tương đương. Một lý do tại sao tất cả các ngôn ngữ không được bao gồm trong kho lưu trữ Ubuntu có thể là vì nó sẽ mâu thuẫn với cách hệ thống langpack của Ubuntu xử lý việc tạo ngôn ngữ (nhưng đó chỉ là phỏng đoán). Vì tò mò: Loại chương trình nào sẽ cần truy cập tức thì đến tất cả các địa phương được hỗ trợ?
Gunnar Hjalmarsson

@GunnarHjalmarsson một số loại ứng dụng web: Tôi biết một loại sử dụng ngôn ngữ hệ thống cho i18n phía máy chủ và tôi biết một lỗi có lỗi không thể giải thích được chỉ xảy ra khi cài đặt locales-all. "Trình kích hoạt để hỏi" hiện tại của tôi là một gói chứa nội dung phụ thuộc vào một ngôn ngữ cụ thể, nhưng việc sử dụng localeskhông có vấn đề gì vì các gói khác hoặc quản trị viên cục bộ có thể vô hiệu hóa ngôn ngữ sau, nếu tôi kích hoạt nó bằng cách sử dụng cài đặt gỡ lỗi.
mirabilos


Nhận thấy. Tôi đã thêm một tác vụ cho langpack-loc , mà tôi nghĩ là gói Ubuntu thích hợp.
Gunnar Hjalmarsson

Câu trả lời:


4

Tôi đã tìm thấy giải pháp sau trên https://docs.moodle.org/dev/Table_of_locales

   sudo ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all
   sudo locale-gen

1
Có thể, vâng. Nhưng tôi không thể làm điều này trong một gói. (Xem ở trên: không có người sử dụng có khả năng vô hiệu hóa này một lần nữa (ngoại trừ gỡ bỏ cài đặt gói hoặc miền địa phương-tất cả) của tôi.) Có lẽ cần ln -sf, quá ...
mirabilos

1

Trừ khi tôi đọc sai của bạn, đây chỉ là localesbây giờ.

Đó là một phần của các minimal^yêu cầu nhiệm vụ cũng như ubuntu-minimaltrực tiếp vì vậy điều này phải luôn được cài đặt. Bạn không cần phải phụ thuộc vào bất cứ điều gì để đảm bảo sự hiện diện của nó nhưng nếu bạn cần thứ gì đó, hãy chọn ubuntu-minimalhoặc thứ gì khác bạn cần cũng phụ thuộc vào ubuntu-minimal. Đó là một mặc định khá lành mạnh.


Nhìn vào nội dung của Debianlocales-all tôi có thể thấy rất nhiều tệp như thế này không có trong localesgói Ubuntu tiêu chuẩn (xem dpkg -L locales):

/usr/lib/locale/am_ET/LC_ADDRESS
/usr/lib/locale/am_ET/LC_COLLATE
/usr/lib/locale/am_ET/LC_CTYPE
/usr/lib/locale/am_ET/LC_IDENTIFICATION
/usr/lib/locale/am_ET/LC_MEASUREMENT
/usr/lib/locale/am_ET/LC_MESSAGES/SYS_LC_MESSAGES
/usr/lib/locale/am_ET/LC_MONETARY
/usr/lib/locale/am_ET/LC_NAME
/usr/lib/locale/am_ET/LC_NUMERIC
/usr/lib/locale/am_ET/LC_PAPER
/usr/lib/locale/am_ET/LC_TELEPHONE
/usr/lib/locale/am_ET/LC_TIME

Tôi đã tìm kiếm các gói.ubfox.com cho các tệp tương tự và không thể tìm thấy bất kỳ. Điều này có nghĩa là chúng không được đóng gói, chúng có các tên khác nhau hoặc chúng được trích xuất khi cài đặt (hiếm nhưng có thể).

Ngoại lệ duy nhất tôi có thể thấy là các địa phương được cài đặt libc-binvào /usr/lib/locale/C.UTF-8/.


Ooo, tôi có thể đã kiếm được tiền với việc khai thác. Các localesgói bao gồm một locale-genứng dụng mà tạo ra những loại tập tin. Xem wiki để biết thêm thông tin về các địa phương .


2
Chỉ localesgói không đủ - đúng, với locale-gentôi có thể tạo các địa điểm cụ thể, nhưng điều này không thay thế locales-all, điều này làm cho tất cả chúng có sẵn mà không cần phải chạy thêm lệnh (và không cần người dùng có thể vô hiệu hóa lại các địa điểm đó một cách thủ công) . Điều này cũng đúng trong Debian.
mirabilos

0

Tôi biết đó là một câu hỏi cũ, nhưng bạn đã thử cài đặt tất cả các gói ngôn ngữ thông qua apt-get chưa? Tôi có thể giải quyết một vấn đề tương tự trong đó tôi sẽ cần rất nhiều địa điểm khác nhau trong một máy chủ và giải quyết nó đang chạy sudo apt-get install language-pack-*. Nó đã tải xuống tất cả các tệp (khoảng 2GB khi giải nén xong) và tạo ra tất cả các ngôn ngữ có sẵn.


Cảm ơn, nhưng đây không phải là một giải pháp nhất quán, đặc biệt là khi tôi cần thể hiện nó như là sự phụ thuộc gói, không phải là điều tương tác, và một gói ngôn ngữ không chỉ là địa phương.
mirabilos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.