Өөрийн бүх сүр жавхлангаараа I18N нь зөвхөн FreeBSD-д зориулагдаагүй бөгөөд энэ нь ёс заншил болсон байдаг. Энэ ёс заншлыг дагаж FreeBSD-д туслахыг бид танаас хүсдэг.
Локалчлалын тохируулгууд нь гурван гол ойлголт дээр тулгуурладаг: Хэлний код, Улсын код ба Кодчилол. Локалын нэрс эдгээр хэсгүүдээс дараах маягаар бүрэлдэн тогтоно:
LanguageCode_CountryCode.Encoding
FreeBSD системийг тухайн хэл уруу (эсвэл I18N дэмждэг бусад UNIX® төст системүүд дээр) локалчлахын тулд хэрэглэгч тухайн улс болон хэлийг (улсын код нь програмд өгөгдсөн хэлний аль хувилбарыг ашиглахыг хэлж өгдөг) заах кодуудыг олж мэдэх хэрэгтэй. Мөн вэб хөтчүүд, SMTP/POP серверүүд зэрэг нь тэдгээр дээр тулгуурлан шийдэл гаргадаг. Дараах нь хэл/улсын кодны жишээнүүд юм:
Хэл/Улсын код | Тайлбар |
---|---|
en_US | English буюу Англи - Нэгдсэн Улс |
ru_RU | Орос улсад зориулсан Russian буюу Орос |
zh_TW | Тайваньд зориулсан Уламжлалт Хятад хэл |
Байгаа локалчлалын жагсаалтыг дараах тушаалаар авч болно:
% locale -a
Зарим хэлнүүд 8-бит, өргөн эсвэл олон байт тэмдэгтүүд зэрэг ASCII биш кодчилолыг ашигладаг. Олон байт тэмдэгтүүдийн талаар илүү дэлгэрэнгүйг multibyte(3)-ээс үзнэ үү. Хуучин програмууд тэдгээрийг танидаггүй бөгөөд тэдгээрийг хянах тэмдэгтүүд гэж алддаг. Шинэ програмууд ихэвчлэн 8-бит тэмдэгтүүдийг танидаг. Шийдлээс хамаараад хэрэглэгчид програмыг өргөн эсвэл олон байт тэмдэгтийн дэмжлэгтэйгээр эмхэтгэх эсвэл зөвөөр тохируулах шаардлагатай байж болох юм. Өргөн эсвэл олон тэмдэгтүүдийг оруулж процесс хийж чадахын тулд FreeBSD портын цуглуулга хэл бүрийг өөр өөр програмуудтайгаар хангадаг. FreeBSD порт дахь харгалзах I18N баримтжуулалтаас лавлана уу.
Ялангуяа програмыг хэрхэн зөв тохируулах эсвэл зөв утгуудыг configure/Makefile/эмхэтгэгчид дамжуулахыг шийдэхдээ програмын баримтжуулалтаас харах хэрэгтэй болно.
Санаж байх ёстой зарим нэг зүйлүүд нь:
Тухайн хэлний ганц C chars тэмдэгтийн олонлогууд (multibyte(3)-г үзнэ үү), өөрөөр хэлбэл ISO8859-1, ISO8859-15, KOI8-R, CP437.
Өргөн эсвэл олон байт кодчилол, өөрөөр хэлбэл EUC, Big5.
Та тэмдэгтийн олонлогуудын идэвхтэй жагсаалтыг IANA Registry-с шалгаж болно.
Тэмдэглэл: FreeBSD нь X11-нийцтэй локалын кодчилолуудыг харин ашигладаг.
FreeBSD-ийн портууд болон багцын системд I18N програмууд нь амархан танигдахын тулд нэрэндээ I18N-тайгаар нэрлэгддэг. Гэхдээ тэдгээр нь хэрэгтэй хэлийг үргэлж дэмжсэн байдаггүй.
Нэвтрэх бүрхүүл дээр локалын нэрний утгыг LANG уруу экспорт хийхэд ихэвчлэн хангалттай байдаг. Үүнийг хэрэглэгчийн ~/.login_conf файл эсвэл хэрэглэгчийн бүрхүүлийн эхлүүлэх файлд (~/.profile, ~/.bashrc, ~/.cshrc) зааж өгч болно. LC_CTYPE, LC_CTIME зэрэг локал дэд олонлогуудыг тохируулах хэрэггүй. Дэлгэрэнгүй мэдээллийн талаар тухайн хэлний FreeBSD-ийн баримтаас лавлана уу.
Та өөрийн тохиргооны файлууддаа дараах хоёр орчны хувьсагчийг тохируулах хэрэгтэй:
POSIX® setlocale(3) төрлийн функцуудад зориулсан LANG
Програмуудын MIME тэмдэгтийн олонлогт зориулсан MM_CHARSET
Энэ нь хэрэглэгчийн бүрхүүлийн тохиргоо, тухайн програмын тохиргоо болон X11-ийн тохиргоог агуулдаг.
Локалыг тохируулах хоёр арга байдаг бөгөөд хоёуланг доор тайлбарласан байгаа. Эхнийхийг (бидний зөвлөж байгааг) нэвтрэх ангилалд орчны хувьсагчуудыг зааж хоёр дахийг системийн бүрхүүлийн эхлүүлэх файлд орчны хувьсагчийн заалтуудыг нэмснээр хийдэг.
Энэ арга нь бүрхүүл бүрийн эхлүүлэх файлд тухайн бүрхүүлийн заалтуудыг нэмэхийн оронд локалын нэр болон MIME тэмдэгтийн олонлогуудад хэрэгтэй орчны хувьсагчуудыг боломжит бүрхүүл бүрийн хувьд нэг л удаа заах боломжийг олгодог. Хэрэглэгчийн түвшний тохируулгыг хэрэглэгч өөрөө хийж болох бөгөөд Администраторын түвшний тохируулга нь супер хэрэглэгчийн зөвшөөрлүүдийг шаарддаг.
Энд хэрэглэгчийн гэр сан дотор байрлах Latin-1 кодчилолын хувьд хоёр хувьсагчийг нь тохируулж өгсөн .login_conf файлын хамгийн бага жишээ байна:
me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:
Энд BIG-5 кодчилолд Уламжлалт Хятад хэлд зориулан хувьсагчуудыг тохируулж байгаа .login_conf файлын жишээ байна. Зарим програм хангамжууд нь Хятад, Япон болон Солонгос хэлний хувьд локалын хувьсагчуудыг зөвөөр хүндэлдэггүй учраас илүү олон хувьсагчуудыг тохируулсныг эндээс харж болно.
#Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big5:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
Илүү дэлгэрэнгүйг Администраторын түвшний тохируулга болон login.conf(5)-с үзнэ үү.
/etc/login.conf дахь хэрэглэгчийн нэвтрэх ангилал зөв хэл тохируулсныг шалгана. Эдгээр тохируулгууд /etc/login.conf-д байгаа эсэхийг шалгаарай:
language_name:Account Type Description:\ :charset=MIME_charset:\ :lang=locale_name:\ :tc=default:
Бидний урдны жишээний адил Latin-1-г сонговол энэ нь иймэрхүү харагдана:
german|German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
Хэрэглэгчийн нэвтрэх ангиллуудыг өөрчлөхөөсөө өмнө дараах тушаалыг ажиллуулж
# cap_mkdb /etc/login.conf
шинэ тохиргоог системд харагдуулахаар /etc/login.conf-д хийнэ.
Шинэ хэрэглэгчид нэмэхийн тулд vipw тушаал ашиглан оруулгыг иймэрхүү болгоно:
user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
Шинэ хэрэглэгчид нэмэхийн тулд adduser тушаал ашиглан доор дурдсаныг хийнэ:
/etc/adduser.conf файлд defaultclass = language-г тохируулна. Та энэ тохиолдолд бусад хэлнүүдийн бүх хэрэглэгчдэд зориулан анхдагч ангилалыг оруулах хэрэгтэйг санах хэрэгтэй.
adduser(8)-с гарч ирэх асуулт бүрт
Enter login class: default []:асуултад тухайн хэлийг зааж өгөх бас нэг хувилбар байж болно.
Өөр нэг арга нь нэмэхээр хүсэж байгаа өөр хэлний хэрэглэгч бүрийн хувьд доор дурдсаныг ашиглах явдал юм:
# adduser -class language
Хэрэв та pw(8)-г шинэ хэрэглэгч нэмэхийн тулд ашиглаж байгаа бол үүнийг иймэрхүү маягаар дуудаарай:
# pw useradd user_name -L language
Тэмдэглэл: Энэ аргыг зөвлөдөггүй, учир нь сонгосон боломжит бүрхүүл програм бүрийн хувьд өөр тохируулгыг шаарддаг. Оронд нь Нэвтрэх ангиллын аргыг ашиглаарай.
Локалын нэр болон MIME тэмдэгтийн олонлогийг нэмэхийн тулд доор үзүүлсэн хоёр орчны хувьсагчийг /etc/profile-д болон/эсвэл бүрхүүлийн эхлүүлэх файл /etc/csh.login-д зааж өгнө. Бид Герман хэлийг доор жишээ болгон ашиглах болно:
/etc/profile файлд:
LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET
Эсвэл /etc/csh.login файлд:
setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1
Өөрөөр та дээрх заавруудыг /usr/share/skel/dot.profile файлд (дээрх /etc/profile-д ашигласантай адил) эсвэл /usr/share/skel/dot.login файлд (дээрх /etc/csh.login-д ашигласантай адил) нэмж болно.
X11-ийн хувьд:
$HOME/.xinitrc файлд:
LANG=de_DE.ISO8859-1; export LANG
Эсвэл:
setenv LANG de_DE.ISO8859-1
Таны бүрхүүлээс хамаараад (дээр дурдсаныг үзнэ үү).
Бүх ганц C chars тэмдэгтийн олонлогуудын хувьд зөв консолын фонтуудыг /etc/rc.conf-д асуултанд байгаа хэлний хувьд тохируулна:
font8x16=font_name font8x14=font_name font8x8=font_name
Эндэх font_name-ийг /usr/share/syscons/fonts сангаас .fnt төгсгөлгүйгээр авсан.
Хэрэв шаардлагатай бол keymap болон screenmap-ийг өөрийн ганц C chars тэмдэгтийн олонлогийн хувьд sysinstall ашиглан зааж өгнө. sysinstall дотор байхдаа
-г сонгоод дараа нь -г сонгоно. Өөрөөр та доор дурдсаныг /etc/rc.conf-д нэмж болно:scrnmap=screenmap_name keymap=keymap_name keychange="fkey_number sequence"
Эндэх screenmap_name-ийг /usr/share/syscons/scrnmaps сангаас .scm төгсгөлгүйгээр авсан. Зохих оноогдсон фонттой screenmap нь псевдографик талбарт VGA адаптерийн фонтын тэмдэгтийн матриц дээр бит 8-ийг бит 9 уруу өргөтгөхөд ихэвчлэн тойрон гарах арга зам болгон хэрэглэгддэг, өөрөөр хэлбэл хэрэв дэлгэцийн фонт бит 8 багана ашиглаж байвал тэр талбараас үсэгнүүдийг шилжүүлэн гаргахын тулд хэрэглэгддэг.
Хэрэв та /etc/rc.conf-д moused дэмонг идэвхжүүлэхийг дараах байдлаар тохируулсан бол:
moused_enable="YES"
хулганы заагчийн мэдээллийг дараагийн хэсгээс шалгаарай.
Анхдагчаар syscons(4) драйверийн хулганы заагч нь тэмдэгтийн олонлогийн 0xd0-0xd3 хэсгийг эзэлдэг. Хэрэв таны хэл энэ хэсгийг ашигладаг бол заагчийн хэсгийг үүнээс гадна шилжүүлэх хэрэгтэй. FreeBSD-ийн хувьд тойрон гарах арга замыг идэвхжүүлэхийн тулд дараах мөрийг /etc/rc.conf-д нэмнэ:
mousechar_start=3
Эндэх keymap_name-ийг /usr/share/syscons/keymaps сангаас .kbd төгсгөлгүй авсан. Хэрэв та аль keymap-ийг ашиглах эсэхдээ эргэлзэж байвал kbdmap(1)-г ашиглаж дахин ачаалалгүйгээр keymap-уудыг тест хийж болно.
keychange нь функцын товчлууруудыг сонгосон терминалын төрөлтэй тааруулахын тулд програмчлахад ихэвчлэн хэрэгтэй байдаг, учир нь функцын товчлуурын дарааллуудыг товчлууруудын оноолтод тодорхойлж болдоггүй.
Бас консолын терминалын зөв төрлийг бүх ttyv* оруулгуудын хувьд /etc/ttys файлд тохируулсан эсэхээ шалгаарай. Одоогийн урьдчилан тодорхойлсон зохицлууд нь:
Тэмдэгтийн Олонлог | Терминалын Төрөл |
---|---|
ISO8859-1 эсвэл ISO8859-15 | cons25l1 |
ISO8859-2 | cons25l2 |
ISO8859-7 | cons25l7 |
KOI8-R | cons25r |
KOI8-U | cons25u |
CP437 (VGA default) | cons25 |
US-ASCII | cons25w |
Өргөн эсвэл олон байт тэмдэгтүүд бүхий хэлнүүдийн хувьд өөрийн /usr/ports/language сангаас зөв FreeBSD портоо ашиглаарай. Зарим портууд консол маягаар байхад түүнийг систем сериал vtty-үүд шигээр хардаг, ийм учраас та X11 болон псевдо-сериал консолын хувьд хангалттай vtty-үүдийг хадгалж байх шаардлагатай. Өөр хэлүүдийг консолд ашиглахын тулд энд програмуудын хэсэгчилсэн жагсаалт байна:
Хэл | Байрлал |
---|---|
Уламжлалт Хятад хэл (BIG-5) | chinese/big5con |
Япон хэл | japanese/kon2-16dot эсвэл japanese/mule-freewnn |
Солонгос хэл | korean/han |
X11 нь FreeBSD Төслийн нэг хэсэг биш боловч бид энд FreeBSD хэрэглэгчдэд зориулж зарим мэдээлэл орууллаа. Илүү дэлгэрэнгүйг Xorg вэб хаягаас эсвэл аль X11 сервер ашиглаж байгаа түүнийхээ вэб хаягаас лавлана уу.
~/.Xresources файлд та програмуудад зориулсан I18N тохируулгуудыг (өөрөөр хэлбэл фонтууд, цэснүүд, гэх мэт.) тааруулж өгч болно.
Xorg сервер ( x11-servers/xorg-server) суулгаад дараа нь хэлний TrueType® фонтуудыг суулгана. Зөв локалыг тохируулах нь танд цэснүүдийг сонгосон хэлээрээ харах зэрэг боломжийг олгоно.
X11 оруулах арга (XIM) нь бүх X11 клиентүүдэд зориулсан шинэ стандарт юм. Бүх X11 програмууд нь XIM оруулах серверүүдээс оролт авдаг XIM клиентүүд маягаар бичигдэх ёстой. Өөр өөр хэлнүүдэд зориулагдсан хэд хэдэн XIM серверүүд байдаг.
Зарим ганц C chars тэмдэгтийн олонлогууд нь ихэвчлэн хэвлэгчүүд дотор хатуугаар бичигдсэн байдаг. Өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь тусгай тохируулга шаарддаг бөгөөд бид apsfilter програмыг хэрэглэхийг зөвлөдөг. Та бас PostScript® эсвэл PDF хэлбэрүүд уруу тухайн хэлний хөрвүүлэгчдийг ашиглан баримтыг хөрвүүлж болох юм.
FreeBSD-ийн хурдан файлын систем (FFS) нь 8-бит цэвэр учир үүнийг ямар ч ганц C chars тэмдэгтийн олонлогтой цуг ашиглаж болно (multibyte(3)-г үзнэ үү), гэхдээ тэмдэгтийн олонлогийн нэр файлын системд хадгалагддаггүй; өөрөөр хэлбэл энэ нь түүхий 8-бит бөгөөд кодчилолын дарааллын талаар юу ч мэддэггүй. Албан ёсоор FFS нь өргөн эсвэл олон байт тэмдэгтийн олонлогуудын аль ч хэлбэрийг дэмждэггүй. Гэхдээ зарим өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь FFS-д ийм дэмжлэгийг идэвхжүүлэхэд зориулсан бие биеэсээ ангид засваруудтай байдаг. Тэдгээр нь цорын ганц ийш тийш хөрвүүлэх боломжгүй шийдлүүд буюу hack бөгөөд бид тэдгээрийг эх модонд оруулахгүй гэж шийдэцгээсэн юм. Тохирох хэлнүүдийн вэб хуудаснуудаас илүү дэлгэрэнгүй мэдээлэл болон засвар файлуудын талаар лавлана уу.
FreeBSD MS-DOS® файлын систем нь MS-DOS, Юникод тэмдэгтийн олонлогууд болон FreeBSD-ийн сонгосон файлын системийн тэмдэгтийн олонлогуудын хооронд хөрвүүлэх тохируулж болох боломж бүхий байдаг. Дэлгэрэнгүйг mount_msdosfs(8)-с үзнэ үү.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай
холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим
захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт
байвал <admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.