YAZ-ICU(1) Commands YAZ-ICU(1)

yaz-icu - ابزار YAZ ICU

yaz-icu [-c config] [-p opt] [-s] [-x] [infile]

yaz-icu ابزاری است که عملکرد ماژول زنجیرهٔ ICU در yaz (فایل yaz/icu.h) را نمایش می‌دهد.

این ابزار می‌تواند به دو روش استفاده شود. می‌تواند متنی را با استفاده از یک پیکربندی XML برای تنظیم ICU بخواند و تحلیل متن را نمایش دهد. این حالت با گزینهٔ -c فعال می‌شود که پیکربندی مورد استفاده را مشخص می‌کند. فایل ورودی از ورودی استاندارد یا در صورت مشخص شدن infile از آن فایل خوانده می‌شود.

این ابزار همچنین می‌تواند اطلاعات ICU را نمایش دهد. این حالت با گزینهٔ -p فعال می‌شود.

-c config

فایل حاوی پیکربندی زنجیرهٔ ICU را که مبتنی بر XML است مشخص می‌کند.

-p type

اطلاعات بیشتری را برای چاپ درباره سامانهٔ ICU مشخص می‌کند. اگر type برابر با c باشد، مبدل‌های ICU چاپ می‌شوند. اگر type برابر با l باشد، محلی‌سازی‌های (locales) موجود چاپ می‌شوند. اگر type برابر با t باشد، نویسه‌گردان‌های (transliterators) موجود چاپ می‌شوند.

-s

مشخص می‌کند که خروجی باید شامل کلید مرتب‌سازی نیز باشد. توجه داشته باشید که کلید مرتب‌سازی در نسخه‌های مختلف ICU تفاوت دارد.

-x

مشخص می‌کند که خروجی به‌جای حالت «متنی»، باید مبتنی بر XML باشد.

پیکربندی زنجیرهٔ ICU یک یا چند قاعده را برای تبدیل داده‌های متنی به توکن‌ها مشخص می‌کند. قالب این پیکربندی مبتنی بر XML است.

عنصر سطح بالا باید icu_chain نام داشته باشد. عنصر icu_chain دارای یک صفت الزامی به نام locale است که محلی‌سازی ICU مورد استفاده در مراحل تبدیل را مشخص می‌کند.

عنصر icu_chain باید شامل عناصری باشد که هر کدام یک مرحله از تبدیل را مشخص می‌کنند. تبدیل‌ها به ترتیبی که مراحل تبدیل مشخص شده‌اند انجام می‌شوند. هر عنصر تبدیل یک صفت می‌پذیرد: rule که به‌عنوان آرگومان مرحلهٔ تبدیل عمل می‌کند.

عناصر تبدیل زیر در دسترس هستند:

casemap

بزرگی و کوچکی حروف را تبدیل می‌کند (و صفت rule نحوهٔ آن را مشخص می‌کند):

l

تبدیل به حروف کوچک با استفاده از تابع u_strToLower در ICU.

u

تبدیل به حروف بزرگ با استفاده از تابع u_strToUpper در ICU.

t

تبدیل به حالت عنوانی با استفاده از تابع u_strToTitle در ICU.

f

یکسان‌سازی حالت حروف (Case folding) با استفاده از تابع u_strFoldCase در ICU.

display

این یک گام فراداده‌ای است که مشخص می‌کند یک عبارت/توکن باید نمایش داده شود. این عبارت در یک برنامه با استفاده از تابع icu_chain_token_display (فایل yaz/icu.h) بازیابی می‌شود.

transform

یک قاعدهٔ دگرگونی ICU را با استفاده از شناسهٔ نویسه‌گردان مشخص می‌کند. صفت rule همان شناسهٔ نویسه‌گردان است. برای اطلاعات بیشتر، ICU Transforms[1] را ببینید.

transliterate

یک نویسه‌گردان مبتنی بر قاعده را مشخص می‌کند. صفت rule همان قاعدهٔ تبدیل سفارشی است که باید استفاده شود. برای اطلاعات بیشتر، ICU Transforms[1] را ببینید.

tokenize

یک رشته را با استفاده از توابع ICU از جمله ubrk_open ،ubrk_setText و غیره به اجزا تفکیک/توکن‌بندی می‌کند. مقدار rule یکی از موارد زیر است:

l

سطر (Line). در UBRK_LINE :ICU.

s

جمله (Sentence). در UBRK_SENTENCE :ICU.

w

کلمه (Word). در UBRK_WORD :ICU.

c

نویسه (Character). در UBRK_CHARACTER :ICU.

t

عنوان (Title). در UBRK_TITLE :ICU.

join

توکن‌ها را در قالب یک رشته به یکدیگر متصل می‌کند. صفت rule رشتهٔ متصل‌کننده است که ممکن است خالی باشد. عنصر تبدیل join در YAZ نسخهٔ 4.2.49 اضافه شد.

دستور زیر متن موجود در فایل text را با استفاده از پیکربندی زنجیرهٔ ICU در chain.xml تحلیل می‌کند:

cat text | yaz-icu -c chain.xml

فایل chain.xml ممکن است به شکل زیر باشد:

<icu_chain locale="en">
  <transform rule="[:Control:] Any-Remove"/>
  <tokenize rule="w"/>
  <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/>
  <transliterate rule="xy > z;"/>
  <display/>
  <casemap rule="l"/>
</icu_chain>

yaz(7)

ICU Home[2]

ICU Transforms[1]

Index Data

1.
ICU Transforms
2.
ICU Home
05/20/2026 YAZ 5.37.3