Hướng dẫn python locale list - danh sách ngôn ngữ python

Mã nguồn: lib/locale.py Lib/locale.py


Mô -đun locale mở quyền truy cập vào cơ sở dữ liệu và chức năng địa phương POSIX. Cơ chế địa phương POSIX cho phép các lập trình viên đối phó với một số vấn đề văn hóa trong một ứng dụng, mà không yêu cầu lập trình viên biết tất cả các chi tiết cụ thể của mỗi quốc gia nơi phần mềm được thực thi.

Mô -đun locale được triển khai trên đầu mô -đun _locale, từ đó sử dụng triển khai local ANSI C nếu có.

Mô -đun locale xác định ngoại lệ và chức năng sau:

Ngoại lệ ________ 6 ________ 7¶

Ngoại lệ được nâng lên khi địa phương được chuyển đến setlocale() không được công nhận.

________ 6 ________ 10 (danh mục, locale = none) ¶(category, locale=None)

Nếu Locale được đưa ra và không

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
1, setlocale() sẽ sửa đổi cài đặt Locale cho danh mục. Các danh mục có sẵn được liệt kê trong mô tả dữ liệu dưới đây. Locale có thể là một chuỗi, hoặc có thể lặp lại hai chuỗi (mã ngôn ngữ và mã hóa). Nếu nó có một sự khác biệt, thì nó đã chuyển đổi thành một tên địa phương bằng cách sử dụng động cơ bí danh địa phương. Một chuỗi trống chỉ định cài đặt mặc định của người dùng. Nếu việc sửa đổi địa phương thất bại, ngoại lệ
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
3 sẽ được nâng lên. Nếu thành công, cài đặt địa phương mới được trả về.

Nếu Locale bị bỏ qua hoặc

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
1, cài đặt hiện tại cho danh mục được trả về.

setlocale() không an toàn cho hầu hết các hệ thống. Các ứng dụng thường bắt đầu bằng một cuộc gọi

import locale
locale.setlocale(locale.LC_ALL, '')

Điều này đặt locale cho tất cả các danh mục thành cài đặt mặc định của người dùng (thường được chỉ định trong biến môi trường

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
6). Nếu địa điểm không thay đổi sau đó, việc sử dụng đa luồng sẽ không gây ra vấn đề.
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
6 environment variable). If the locale is not changed thereafter, using multithreading should not cause problems.

________ 6 ________ 18 ()()

Trả về cơ sở dữ liệu của các quy ước địa phương như một từ điển. Từ điển này có các chuỗi sau làm khóa:

Loại

Chìa khóa

Nghĩa

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9

locale0

Ký tự điểm thập phân.

locale1

Trình tự các số chỉ định vị trí tương đối mà locale2 dự kiến. Nếu chuỗi bị chấm dứt với locale3, không có nhóm nào được thực hiện thêm. Nếu chuỗi kết thúc với locale4, kích thước nhóm cuối cùng được sử dụng nhiều lần.

locale2

Nhân vật được sử dụng giữa các nhóm.

locale6

locale7

Biểu tượng tiền tệ quốc tế.

locale8

Biểu tượng nội tệ.

locale9

Liệu ký hiệu tiền tệ có đi trước giá trị (đối với các giá trị âm dương tích cực).

locale0

Cho dù ký hiệu tiền tệ được tách ra khỏi giá trị bằng một không gian (cho các giá trị âm dương tích cực).

locale1

Điểm thập phân được sử dụng cho các giá trị tiền tệ.

locale2

Số lượng các chữ số phân số được sử dụng trong định dạng cục bộ của các giá trị tiền tệ.

locale3

Số lượng các chữ số phân số được sử dụng trong định dạng quốc tế của các giá trị tiền tệ.

locale4

Phân tách nhóm được sử dụng cho các giá trị tiền tệ.

locale5

Tương đương với locale1, được sử dụng cho các giá trị tiền tệ.

locale7

Biểu tượng được sử dụng để chú thích giá trị tiền tệ tích cực.

locale8

Biểu tượng được sử dụng để chú thích giá trị tiền tệ âm.

locale9

Vị trí của dấu hiệu (cho các giá trị tiêu cực tích cực), xem bên dưới.

Tất cả các giá trị số có thể được đặt thành locale3 để chỉ ra rằng không có giá trị được chỉ định trong ngôn ngữ này.

Các giá trị có thể cho _locale1 và _locale2 được đưa ra dưới đây.

Giá trị

Giải trình

locale4

Tiền tệ và giá trị được bao quanh bởi dấu ngoặc đơn.

_locale4

Dấu hiệu sẽ đi trước giá trị và ký hiệu tiền tệ.

_locale5

Dấu hiệu nên theo biểu tượng giá trị và tiền tệ.

_locale6

Dấu hiệu phải ngay trước giá trị.

_locale7

Dấu hiệu nên ngay lập tức làm theo giá trị.

locale3

Không có gì được chỉ định trong địa phương này.

Hàm đặt tạm thời địa phương _locale9 cho địa phương

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9 hoặc địa phương locale6 nếu các địa phương là khác nhau và các chuỗi tiền tệ hoặc tiền tệ là không ASCII. Thay đổi tạm thời này ảnh hưởng đến các chủ đề khác.

Đã thay đổi trong phiên bản 3.7: Hàm hiện đặt tạm thời địa phương _locale9 thành locale

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9 trong một số trường hợp.The function now sets temporarily the _locale9 locale to the
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9 locale in some cases.

________ 6 ________ 55 (Tùy chọn) ¶(option)

Trả về một số thông tin cụ thể địa phương dưới dạng chuỗi. Hàm này không có sẵn trên tất cả các hệ thống và tập hợp các tùy chọn có thể cũng có thể thay đổi giữa các nền tảng. Các giá trị đối số có thể là các số, trong đó các hằng số biểu tượng có sẵn trong mô -đun địa phương.

Hàm locale6 chấp nhận một trong các khóa sau. Hầu hết các mô tả được lấy từ mô tả tương ứng trong thư viện GNU C.

________ 6 ________ 58¶

Nhận một chuỗi có tên của mã hóa ký tự được sử dụng trong ngôn ngữ đã chọn.

________ 6 ________ 60¶

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho locale.1 để biểu diễn ngày và thời gian theo cách cụ thể của ngôn ngữ.

________ 6 ________ 63¶

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho locale.1 để biểu diễn một ngày theo cách cụ thể của ngôn ngữ.

________ 6 ________ 66¶

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho locale.1 để biểu diễn một thời gian theo cách cụ thể của ngôn ngữ.

________ 6 ________ 69¶

Nhận một chuỗi định dạng cho locale.1 để biểu diễn thời gian ở định dạng AM/pm.

Error1

Lấy tên của ngày thứ n trong tuần.

Ghi chú

Điều này theo Công ước Hoa Kỳ về Error2 là Chủ nhật, chứ không phải Công ước quốc tế (ISO 8601) rằng thứ Hai là ngày đầu tiên của tuần.

Error3

Nhận tên viết tắt của ngày thứ n trong tuần.

Error4

Lấy tên của tháng n.

Error5

Nhận tên viết tắt của tháng n.

________ 6 ________ 77¶

Nhận ký tự radix (dấu chấm thập phân, dấu phẩy thập phân, v.v.).

________ 6 ________ 79¶

Nhận ký tự phân tách cho hàng ngàn (nhóm ba chữ số).

________ 6 ________ 81¶

Nhận một biểu thức thông thường có thể được sử dụng với hàm regex để nhận ra phản hồi tích cực cho câu hỏi có/không.

Ghi chú

Điều này theo Công ước Hoa Kỳ về Error2 là Chủ nhật, chứ không phải Công ước quốc tế (ISO 8601) rằng thứ Hai là ngày đầu tiên của tuần.

Error3

Nhận tên viết tắt của ngày thứ n trong tuần.

Error4

Lấy tên của tháng n.

Error5

Nhận tên viết tắt của tháng n.

________ 6 ________ 77¶

Nhận ký tự radix (dấu chấm thập phân, dấu phẩy thập phân, v.v.).

________ 6 ________ 79¶

Nhận ký tự phân tách cho hàng ngàn (nhóm ba chữ số).

________ 6 ________ 81¶

Nhận một biểu thức thông thường có thể được sử dụng với hàm regex để nhận ra phản hồi tích cực cho câu hỏi có/không.

Biểu thức nằm trong cú pháp phù hợp với hàm setlocale()2 từ thư viện C, có thể khác với cú pháp được sử dụng trong setlocale()3.

________ 6 ________ 85¶

Nhận một biểu thức thông thường có thể được sử dụng với hàm regex (3) để nhận ra phản hồi tiêu cực đối với câu hỏi có/không.

________ 6 ________ 87¶

Nhận biểu tượng tiền tệ, trước đó là--Nếu biểu tượng sẽ xuất hiện trước giá trị, thì++nếu biểu tượng sẽ xuất hiện sau giá trị, hoặc. Nếu biểu tượng nên thay thế ký tự radix.([envvars])

________ 6 ________ 89¶

Nhận một chuỗi đại diện cho ERA được sử dụng trong ngôn ngữ hiện tại.

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
6 variable. Since we do not want to interfere with the current locale setting we thus emulate the behavior in the way described above.

Hầu hết các địa phương không xác định giá trị này. Một ví dụ về một địa điểm xác định giá trị này là giá trị Nhật Bản. Tại Nhật Bản, đại diện truyền thống của ngày bao gồm tên của thời đại tương ứng với triều đại của hoàng đế.

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
6 variable is tested, but a list of variables given as envvars parameter. The first found to be defined will be used. envvars defaults to the search path used in GNU gettext; it must always contain the variable name
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
11. The GNU gettext search path contains
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
12,
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
13,
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
11 and
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
15, in that order.

Thông thường không cần thiết phải sử dụng giá trị này trực tiếp. Chỉ định công cụ sửa đổi locale.0 trong chuỗi định dạng của chúng khiến hàm locale.1 sử dụng thông tin này. Định dạng của chuỗi được trả về không được chỉ định và do đó bạn không nên cho rằng kiến ​​thức về nó trên các hệ thống khác nhau.RFC 1766. language code and encoding may be

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
1 if their values cannot be determined.

________ 6 ________ 93¶(category=LC_CTYPE)

Nhận một chuỗi định dạng cho locale.1 để biểu diễn ngày và thời gian theo cách dựa trên thời đại địa phương.

Thông thường không cần thiết phải sử dụng giá trị này trực tiếp. Chỉ định công cụ sửa đổi locale.0 trong chuỗi định dạng của chúng khiến hàm locale.1 sử dụng thông tin này. Định dạng của chuỗi được trả về không được chỉ định và do đó bạn không nên cho rằng kiến ​​thức về nó trên các hệ thống khác nhau.RFC 1766. language code and encoding may be

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
1 if their values cannot be determined.

________ 6 ________ 93¶(do_setlocale=True)

Nhận một chuỗi định dạng cho locale.1 để biểu diễn ngày và thời gian theo cách dựa trên thời đại địa phương.locale encoding used for text data, according to user preferences. User preferences are expressed differently on different systems, and might not be available programmatically on some systems, so this function only returns a guess.

________ 6 ________ 96¶

Nhận một chuỗi định dạng cho locale.1 để biểu diễn một ngày theo cách dựa trên thời đại địa phương.Python UTF-8 Mode is enabled, always return

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
29, the locale encoding and the do_setlocale argument are ignored.

Các tiền đề Python định cấu hình địa phương LC_CTYPE. Xem thêm mã hóa hệ thống tập tin và xử lý lỗi.Python preinitialization configures the LC_CTYPE locale. See also the filesystem encoding and error handler.

Đã thay đổi trong phiên bản 3.7: Hàm bây giờ luôn trả về

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
30 trên Android hoặc nếu chế độ Python UTF-8 được bật.The function now always returns
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
30 on Android or if the Python UTF-8 Mode is enabled.

________ 6 ________ 132 (LocalEname) ¶(localename)

Trả về một mã địa phương được chuẩn hóa cho tên địa phương đã cho. Mã địa phương được trả về được định dạng để sử dụng với setlocale(). Nếu chuẩn hóa thất bại, tên ban đầu được trả về không thay đổi.

Nếu mã hóa đã cho không được biết, hàm mặc định là mã hóa mặc định cho mã locale giống như setlocale().

________ 6 ________ 136 (loại = lc_all) ¶(category=LC_ALL)

Đặt Locale cho danh mục thành cài đặt mặc định.

Cài đặt mặc định được xác định bằng cách gọi

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
37. Danh mục mặc định là
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
21.

________ 6 ________ 140 (String1, String2) ¶(string1, string2)

So sánh hai chuỗi theo cài đặt

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
41 hiện tại. Như bất kỳ hàm so sánh nào khác, trả về một giá trị âm hoặc giá trị dương hoặc locale4, tùy thuộc vào việc String1 đối chiếu trước hay sau chuỗi2 hay bằng với nó.

________ 6 ________ 144 (Chuỗi) ¶(string)

Chuyển đổi một chuỗi thành một chuỗi có thể được sử dụng trong các so sánh nhận biết địa phương. Ví dụ,

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
45 tương đương với
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
46. Hàm này có thể được sử dụng khi cùng một chuỗi được so sánh nhiều lần, ví dụ: Khi đối chiếu một chuỗi các chuỗi.

________ 6 ________ 148 (định dạng, val, nhóm = false, tiền tệ = sai) ¶(format, val, grouping=False, monetary=False)

Định dạng một số Val theo cài đặt

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9 hiện tại. Định dạng tuân theo các quy ước của toán tử
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
50. Đối với các giá trị điểm nổi, điểm thập phân được sửa đổi nếu thích hợp. Nếu nhóm là đúng, cũng tính đến nhóm.

Nếu tiền tệ là đúng, việc chuyển đổi sử dụng các chuỗi hàng ngàn tiền tệ và chuỗi nhóm.

Các quy trình định dạng các nhà xác định như trong

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
51, nhưng tính đến các cài đặt địa phương hiện tại.

Thay đổi trong phiên bản 3.7: Tham số từ khóa tiền tệ đã được thêm vào.The monetary keyword parameter was added.

________ 6 ________ 153 (định dạng, val, nhóm = false, tiền tệ = sai) ¶(format, val, grouping=False, monetary=False)

Xin lưu ý rằng chức năng này hoạt động như

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
54 nhưng sẽ chỉ hoạt động cho chính xác một trình xác định
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
55. Ví dụ,
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
56 và
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
57 đều là các nhà xác định hợp lệ, nhưng
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
58 thì không.

Đối với toàn bộ chuỗi định dạng, sử dụng

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
54.

________ 6 ________ 161 (val, symbol = true, nhóm = false, quốc tế = false)(val, symbol=True, grouping=False, international=False)

Định dạng một số Val theo cài đặt locale6 hiện tại.

Chuỗi được trả về bao gồm ký hiệu tiền tệ nếu biểu tượng là đúng, đó là mặc định. Nếu nhóm là đúng (không phải là mặc định), nhóm được thực hiện với giá trị. Nếu quốc tế là đúng (không phải là mặc định), biểu tượng tiền tệ quốc tế được sử dụng.

Lưu ý rằng chức năng này sẽ không hoạt động với ngôn ngữ ‘C, vì vậy bạn phải đặt một ngôn ngữ qua setlocale() trước.

________ 6 ________ 165 (Float) ¶(float)

Các định dạng một số điểm nổi sử dụng cùng định dạng với hàm tích hợp

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
66, nhưng tính đến điểm thập phân.

________ 6 ________ 168 (Chuỗi) ¶(string)

Chuyển đổi một chuỗi thành một chuỗi số được chuẩn hóa, theo cài đặt

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9.

Mới trong phiên bản 3.5.

________ 6 ________ 171 (chuỗi, nhóm = false, tiền tệ = sai) ¶(string, grouping=False, monetary=False)

Chuyển đổi một chuỗi số được chuẩn hóa thành một chuỗi được định dạng theo cài đặt

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9.

Mới trong phiên bản 3.10.

________ 6 ________ 174 (Chuỗi, func = float) ¶(string, func=float)

Chuyển đổi một chuỗi thành một số, theo cài đặt

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9, bằng cách gọi func theo kết quả của việc gọi
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
76 trên chuỗi.

________ 6 ________ 178 (Chuỗi) ¶(string)

Chuyển đổi một chuỗi thành một số nguyên, theo các quy ước

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
9.

________ 6 ________ 181¶

Danh mục địa phương cho các hàm loại ký tự. Tùy thuộc vào cài đặt của danh mục này, các chức năng của mô -đun

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
82 xử lý trường hợp thay đổi hành vi của chúng.

________ 6 ________ 184¶

Thể loại địa phương để phân loại chuỗi. Các chức năng

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
85 và
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
86 của mô -đun locale bị ảnh hưởng.

________ 6 ________ 189¶

Thể loại địa phương cho định dạng thời gian. Hàm locale.1 tuân theo các quy ước này.

________ 6 ________ 192¶

Thể loại địa phương để định dạng các giá trị tiền tệ. Các tùy chọn có sẵn có sẵn từ chức năng

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
93.

________ 6 ________ 195¶

Danh mục địa phương cho hiển thị tin nhắn. Python hiện không hỗ trợ các tin nhắn nhận biết địa phương cụ thể của ứng dụng. Các tin nhắn được hiển thị bởi hệ điều hành, giống như các tin nhắn được trả về bởi

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
96 có thể bị ảnh hưởng bởi danh mục này.

________ 6 ________ 198¶

Danh mục địa phương để định dạng số. Các chức năng

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
99, locale00, locale01 và locale02 của mô -đun locale bị ảnh hưởng bởi danh mục đó. Tất cả các hoạt động định dạng số khác không bị ảnh hưởng.

________ 6 ________ 205¶

Kết hợp tất cả các cài đặt địa phương. Nếu cờ này được sử dụng khi địa điểm được thay đổi, hãy đặt địa điểm cho tất cả các danh mục được thử. Nếu điều đó thất bại cho bất kỳ danh mục nào, không có danh mục nào được thay đổi. Khi ngôn ngữ được truy xuất bằng cờ này, một chuỗi chỉ ra cài đặt cho tất cả các danh mục được trả về. Chuỗi này sau đó có thể được sử dụng để khôi phục cài đặt.

________ 6 ________ 207¶

Đây là một hằng số tượng trưng được sử dụng cho các giá trị khác nhau được trả về bởi

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
93.

Example:

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale

Bối cảnh, chi tiết, gợi ý, lời khuyên và cảnh báo

Tiêu chuẩn C định nghĩa Locale là một thuộc tính toàn chương trình có thể tương đối tốn kém để thay đổi. Trên hết, một số triển khai bị phá vỡ theo cách mà các thay đổi địa phương thường xuyên có thể gây ra các bãi rác lõi. Điều này làm cho địa điểm hơi đau đớn khi sử dụng chính xác.

Ban đầu, khi một chương trình được bắt đầu, ngôn ngữ là địa phương locale09, bất kể người dùng ưu tiên địa phương là gì. Có một ngoại lệ: danh mục _locale9 được thay đổi khi khởi động để đặt mã hóa ngôn ngữ hiện tại cho mã hóa ngôn ngữ ưa thích của người dùng. Chương trình phải nói rõ ràng rằng nó muốn cài đặt ngôn ngữ ưa thích của người dùng cho các danh mục khác bằng cách gọi

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
06.

Nói chung là một ý tưởng tồi để gọi setlocale() trong một số thói quen thư viện, vì là một tác dụng phụ, nó ảnh hưởng đến toàn bộ chương trình. Tiết kiệm và khôi phục nó gần như xấu: nó đắt tiền và ảnh hưởng đến các chủ đề khác xảy ra trước khi cài đặt đã được khôi phục.

Nếu, khi mã hóa một mô -đun để sử dụng chung, bạn cần một phiên bản độc lập địa phương của một hoạt động bị ảnh hưởng bởi locale (chẳng hạn như các định dạng nhất định được sử dụng với locale.1), bạn sẽ phải tìm cách thực hiện mà không cần sử dụng thư viện tiêu chuẩn lịch trình. Thậm chí tốt hơn là thuyết phục bản thân rằng sử dụng cài đặt địa phương là ổn. Chỉ như là phương sách cuối cùng, bạn mới ghi nhận rằng mô-đun của bạn không tương thích với các cài đặt địa phương không phải là không phải.

Cách duy nhất để thực hiện các hoạt động số theo ngôn ngữ là sử dụng các hàm đặc biệt được xác định bởi mô -đun này: locale01, locale00,

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
99, locale02.

Không có cách nào để thực hiện chuyển đổi trường hợp và phân loại ký tự theo địa phương. Đối với các chuỗi văn bản (unicode), chúng chỉ được thực hiện theo giá trị ký tự, trong khi đối với chuỗi byte, các chuyển đổi và phân loại được thực hiện theo giá trị ASCII của byte và byte có bit cao được đặt (tức là, không ) không bao giờ được chuyển đổi hoặc được coi là một phần của một lớp ký tự như chữ cái hoặc khoảng trắng.

Cho các nhà văn và chương trình mở rộng nhúng Python¶

Các mô -đun mở rộng không bao giờ nên gọi setlocale(), ngoại trừ để tìm hiểu địa phương hiện tại là gì. Nhưng vì giá trị trả lại chỉ có thể được sử dụng một cách xác định để khôi phục nó, điều đó không hữu ích lắm (ngoại trừ có lẽ để tìm hiểu xem địa phương có phải là locale09).

Khi mã Python sử dụng mô -đun locale để thay đổi ngôn ngữ, điều này cũng ảnh hưởng đến ứng dụng nhúng. Nếu ứng dụng nhúng không muốn điều này xảy ra, nó sẽ xóa mô-đun mở rộng _locale (thực hiện tất cả các công việc) khỏi bảng các mô-đun tích hợp trong tệp locale23 và đảm bảo rằng mô-đun _locale không thể truy cập được một thư viện được chia sẻ.

Truy cập vào Danh mục Tin nhắn

________ 6 ________ 226 (MSG) ________ 6 ________ 228 (Tên miền, MSG)(msg)locale.locale28(domain, msg)locale.locale30(domain, msg, category)locale.locale32(domain)locale.locale34(domain, dir)

Mô -đun Locale hiển thị giao diện GetText thư viện C trên các hệ thống cung cấp giao diện này. Nó bao gồm các chức năng locale35, locale36, locale37, locale38, locale39 và locale40. Chúng tương tự như các chức năng tương tự trong mô -đun locale41, nhưng sử dụng định dạng nhị phân của thư viện C cho các danh mục tin nhắn và các thuật toán tìm kiếm thư viện C để định vị các danh mục tin nhắn.

Các ứng dụng Python thường không cần phải gọi các chức năng này và nên sử dụng locale41 thay thế. Một ngoại lệ đã biết đối với quy tắc này là các ứng dụng liên kết với các thư viện C bổ sung để gọi nội bộ locale35 hoặc locale37. Đối với các ứng dụng này, có thể cần phải liên kết miền văn bản, để các thư viện có thể định vị đúng danh mục tin nhắn của họ.