আপনি যখন জাপানি পাঠ্যে ডাবল ক্লিক করেন তখন Chrome কীভাবে হাইলাইট করবে তা কীভাবে সিদ্ধান্ত নেয়?


214

আপনি যদি ক্রোমে ইংরেজী পাঠ্যকে ডাবল ক্লিক করেন তবে আপনার ক্লিক করা শ্বেতস্পেস-বিস্মৃত শব্দটি হাইলাইট করা হবে। এটি অবাক করা কিছু নয়। যাইহোক, অন্য দিন আমি জাপানি ভাষায় কিছু পাঠ্য পড়ার সময় ক্লিক করছিলাম এবং লক্ষ্য করেছি যে জাপানের ফাঁকা জায়গা না থাকা সত্ত্বেও কিছু শব্দ শব্দের সীমানায় হাইলাইট হয়েছিল। এখানে কিছু উদাহরণ পাঠ্য:

ど こ で 生 れ た か と ん と 見 当 が つ か ぬ। 何 で も 薄 暗 い じ め じ め し た 所 で ニ ャ ー ニ ャ ー 泣 い て い た 事 だ け は 記憶 し て い る।

উদাহরণস্বরূপ, আপনি যদি 薄 暗 い এ ক্লিক করেন তবে ক্রোম সঠিকভাবে এটি একটি একক শব্দ হিসাবে হাইলাইট করবে, যদিও এটি কোনও একক অক্ষরের শ্রেণি নয় (এটি কানজি এবং হিরাগানার মিশ্রণ)। সমস্ত হাইলাইটগুলি সঠিক নয়, তবে এগুলি এলোমেলো মনে হয় না।

কীভাবে এখানে হাইলাইট করবেন Chrome কীভাবে সিদ্ধান্ত নেবে? আমি "জাপানি শব্দ" এর জন্য ক্রোম উত্স অনুসন্ধান করার চেষ্টা করেছি কিন্তু কেবলমাত্র পরীক্ষামূলক মডিউলের জন্য পরীক্ষা পেয়েছি যা আমার ক্রোমের সংস্করণে সক্রিয় বলে মনে হচ্ছে না।


1
@ নাথানিয়েল আমি জানি না এটি আপনার পক্ষে কীভাবে হয় তবে আমি যখন কান্জিতে ডাবল ক্লিক করি তখন এটি কেবল কাঁঞ্জিকেই নির্বাচন করে এবং যখন আমি হীরাগানে ডাবল ক্লিক করি তখন এটি কেবল পরপর হীরাগানা নির্বাচন করে এবং সামান্য কিছুটা জন্য একই কাটাকানা (এনআইএ এনএ)
স্ট্রবেরি

4
ব্রাউজারটি কেবল কানা / কাঁজি / রামাজি সীমানায় বাছাইয়ের পরিবর্তে প্রকৃত বুদ্ধিমান শব্দ নির্বাচন করছে কিনা তা পরীক্ষার জন্য じ め じ め し た অংশটি একটি ভাল অংশ। এটি সমস্ত হিরাগানা, তবে ক্রোম (এবং সাফারি) সঠিকভাবে কেবলমাত্র じ め じ め অংশটি (し た অংশটি একটি ক্রিয়া প্রতিফলন) নির্বাচন করে। অন্যদিকে ফায়ারফক্স ভুলভাবে い じ め じ め し し se নির্বাচন করে (কারণ ফায়ারফক্স প্রকৃত শব্দের সীমানা কিছুতেই স্বীকৃতি দেয় না, তবে দৃশ্যত কেবল কানা / কানজি / রামাজি সীমানায় নির্বাচন বন্ধ করে দিয়েছে)।
sideshowbarker

2
@ স্ট্রবেরি আমি দেখতে পাচ্ছি আমার জন্য এটি প্রশ্নে বর্ণিত 薄 暗 い শব্দটি নির্বাচন করে। (ক্রোম, ম্যাক।)
নাথানিয়েল

1
এক ব্যতিক্রম সহ, আমি প্রতি একক ম্যাকোস অ্যাপ্লিকেশনটিতে - টেক্সটএডিট, স্টিকি, নোটস, টার্মিনাল ইত্যাদি পরীক্ষা করেছি - জাপানি পাঠ্যের ডাবল-ক্লিক বুদ্ধিমান শব্দ নির্বাচন প্রত্যাশার মতো কাজ করে। কমপক্ষে ম্যাকোজে, ক্রোম এর জন্য বিশেষ কিছু করছে না যে কার্যত অন্য সমস্ত ম্যাকস অ্যাপসও করছে না - এটি কেবলমাত্র ম্যাকোজে অন্তর্ভুক্ত বিদ্যমান আইসিইউ-ভিত্তিক শব্দ-ব্রেকিং সমর্থন ব্যবহার করছে।
sideshowbarker

1
ম্যাকোস-এ, ফায়ারফক্স একমাত্র ব্যতিক্রম আমি এই নিয়মে পেয়েছি যে ম্যাকোস অ্যাপ্লিকেশনরা এই প্রশ্নটিতে বর্ণিত জাপানি পাঠ্যের একই ধরণের ডাবল-ক্লিক বুদ্ধিমান শব্দ নির্বাচন করতে পারে। ফায়ারফক্স কেবল কানা / কাঁজি / রামাজি সীমানায় বাছাই বন্ধ করার খুব সহজ কাজটি করবে বলে মনে হয়। ফায়ারফক্স ইঞ্জিনিয়ার আমাকে বলেছে যে ফায়ারফক্স টেক্সট নির্বাচনের জন্য বিল্ট-ইন আইসিইউ-ভিত্তিক ম্যাকোস প্ল্যাটফর্ম এপিআই ব্যবহার করে না। সম্পর্কিত বাগ bugzil.la/345823 দেখুন
sideshowbarker

উত্তর:


165

সুতরাং দেখা যাচ্ছে যে ভি 8 এর একটি মানক নয় বহু-ভাষার শব্দ সেগমেন্টার রয়েছে এবং এটি জাপানিদের পরিচালনা করে।

function tokenizeJA(text) {
  var it = Intl.v8BreakIterator(['ja-JP'], {type:'word'})
  it.adoptText(text)
  var words = []

  var cur = 0, prev = 0

  while (cur < text.length) {
    prev = cur
    cur = it.next()
    words.push(text.substring(prev, cur))
  }

  return words
}

console.log(tokenizeJA('どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。'))
// ["どこ", "で", "生れ", "たか", "とんと", "見当", "が", "つ", "か", "ぬ", "。", "何でも", "薄暗い", "じめじめ", "した", "所", "で", "ニャーニャー", "泣", "い", "て", "いた事", "だけ", "は", "記憶", "し", "て", "いる", "。"]

আমি একটি জিসফিলও তৈরি করেছি যা এটি দেখায়।

গুণটি আশ্চর্যজনক নয় তবে আমি অবাক হয়েছি এটি মোটেই সমর্থিত।


24
এটি আইসিইউ প্রকল্পের একটি অংশ: ইউজারগাইড.আইকিউ- প্রজেক্ট.আর / বাউন্ডারিআনালাইসিস , ইউনিকোড.অর্গ
রিপোর্টার

10
আরো দেখুন source.chromium.org/chromium/chromium/src/+/master:v8/src/... যেখানে যে ওয়্যার্ড এর জন্য।
Xorlev

4
একটি জাপানি শব্দের উপর ডাবল ক্লিক করার সময় উইন্ডোজ ইতিমধ্যে সঠিক শব্দটি নির্বাচন করার ক্ষমতা রাখে। এমনকি আপনার এর জন্য
ক্রোমেরও

7
@ ফুক্লভিভি: ক্রোম ব্যবহার করা সকলেই উইন্ডোজ এ চালায় না।
শান

2
আপনি কি ব্রাউজার ইউআই-তে পাঠ্য নির্বাচনের উপরে ভি 8 ব্যবহারের কোনও প্রভাব ফেলেছেন তা নিশ্চিত? যে ভি 8 এর একটি জাভাস্ক্রিপ্ট ইঞ্জিন দেওয়া আছে, আমি মনে করব না যে আপনি ব্রাউজার ইউআইতে টেক্সট নির্বাচন করার সময় কোনও ভি 8 কোড কার্যকর করছে। আমার ধারণা আপনি ব্রাউজারে জাভাস্কিপ্ট অক্ষম করে এবং তারপর আপনি একই আচরণটি পর্যবেক্ষণ করছেন কিনা তা দেখে আপনি পরীক্ষা করতে পারেন। যদি আপনি তা না করেন, তবে আমি ভাবব যে আচরণটি v8 এর কারণে নয় show (আমি এটি পরীক্ষার জন্য নিজেই করব, তবে আমি অন্য মন্তব্যে যেমন উল্লেখ করেছি যে, আমার ম্যাকোস পরিবেশে, এটি আমি ইতিমধ্যে কোন ব্রাউজারে পরীক্ষা করি তা নির্বিশেষে কাজ করে - কেবল ক্রোমে নয়))
সিডোশোবার্কার

92

জোনাথনডাব্লু দ্বারা পোস্ট করা লিঙ্কগুলির উপর ভিত্তি করে , উত্তরটি মূলত এইভাবে সিদ্ধ হয়: "আপনি কোনও শব্দে ডাবল ক্লিক করেছেন কিনা তা দেখতে জাপানি শব্দ এবং ক্রোম চেকের একটি বড় তালিকা রয়েছে" "

বিশেষ করে, V8 ব্যবহারসমূহ আইসিইউ ইউনিকোড-সম্পর্কিত টেক্সট প্রক্রিয়াকরণ জিনিস, একটি গুচ্ছ করতে শব্দের মধ্যে টেক্সট বিচ্ছেদ সহ । আইসিইউ সীমানা-সনাক্তকরণ কোডে জাপানি, চাইনিজ, থাই ইত্যাদি সহ স্পেস নেই এমন ভাষার জন্য একটি "অভিধান-ভিত্তিক ব্রেকআইট্রেটর" অন্তর্ভুক্ত রয়েছে languages

এবং আপনার "薄 暗 い" এর নির্দিষ্ট উদাহরণের জন্য, আপনি এই শব্দটি আইসিইউ (লাইন 255431) দ্বারা প্রেরিত সম্মিলিত চীনা-জাপানি অভিধানে খুঁজে পেতে পারেন । তালিকায় বর্তমানে 315,671 টি চীনা / জাপানি শব্দ আছে। সম্ভবত আপনি যদি এমন কোনও শব্দ খুঁজে পান যা ক্রোমটি সঠিকভাবে বিভক্ত হয় না, আপনি এই শব্দটি যুক্ত করতে আইসিইউকে একটি প্যাচ পাঠাতে পারেন।



আইসিইউ এবং অনুরূপ প্রকল্পগুলি দীর্ঘকাল ধরে ছিল। ওয়েবকিট থেকে রূপান্তরিত হওয়ার পরে ক্রোমের ভি 8 ইঞ্জিন যদি এটি গ্রহণ করে তবে আমি অবাক হব না, যেখানে স্ট্যান্ডার্ড পাঠ্য ইঞ্জিনগুলি প্রায় 20 বছর ধরে এই ধরণের টোকেনাইজেশন করে চলেছে এমন প্ল্যাটফর্মগুলিতে উত্পন্ন হয়েছিল।
রিক্সার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.