西方語言原生的開發(fā)人員常常接近日語,好像它只是另一種語言。源字符串被翻譯,目標字符串被排序,一切都變成碎片。在本文中,我們將帶您了解日文文本排序的復雜性 - 因此您將無法通過艱難的方式了解它。
通過“艱難的方式”,我們的意思是在評論和用戶論壇中提供嚴厲的反饋。實際上,就在幾年前,一些應用程序通過ASCII碼對日語進行排序,并且它將被大肆宣傳為索引生成功能 - 這將是無法使用的。這些天,日本人正在接觸到更多的意識,但挑戰(zhàn)仍然存在 - 如果你不小心,就像潛在的道路危險。
1.知道你正在處理多個字符集首先,要明白日語是一種具有三種不同字符集的語言 - 拼音平假名 和片假名,以及語言漢字。平假名和片假名每個由46個字符組成,基本上彼此具有1對1的關系,并且它們按照gojuon順序排序。大多數平臺已經支持這種級別的基本排序,但如果你不是日語,你可能會有一點麻煩,告訴シ(shi)和ツ(tsu),或リ(ri)和ソ(so)和ン(n)。我們假設計算機將識別出差異。
不是最簡單的系統(tǒng),但是當你考慮第三個字符集漢字時,事情變得非常困難。日本兒童在小學時學習了1,006個漢字字符,而高中則增加到了2,136個,另外還有983個漢字專門用于人們的名字。與您需要學習英語的26個字母相比,這是一個沉重的負擔。
在中國,漢字的發(fā)源地(稱為hànzì),平均識字需要大約3000個字符,但是日本人更具挑戰(zhàn)性的是每個漢字可以有多個語音讀數 - 這將是你的分類和索引機械中的猴子扳手。
如果您感到無聊,我建議您通過NativLang觀看這些視頻,并跳至第4部分。
快速介紹日語“拼寫”的復雜性
2.了解漢字和gojuon之間的脆弱關系Gojuon是日本排序的黃金法則。如果你正在處理面向用戶的任何事情,比如術語索引,你需要將漢字字符串與kana字符串一起整合到gojuon順序中。
例如,嘗試對這個三字列表進行排序:[生魚] [ライス]和[ご飯]。如果你認為ご飯應該先來(因為こ在gojuon順序是#10 ),接著是生魚(因為生在這種情況下以な開始,在gojuon順序是#21 ),最后是ライス(因為ら是#39在gojuon命令),你是對的。
但當然,沒有什么比日本人看起來那么容易。如前所述,漢字通常會以不同的方式發(fā)音,具體取決于他們使用的單詞或短語。
角色生的常見(不是全部)發(fā)音 | ||||
術語 | 平假名 | 羅馬 | 五十音圖# | 含義 |
生きる | いきる | 我 kiru | 2 | 為了活著 |
生む | うむ | ü畝 | 3 | 分娩 |
生える | はえる | 哈 ERU | 26 | 增長 |
生命 | いせめい | sei mei | 14 | 生活 |
生涯 | ょしうがい | 守蓋 | 12 | 一生 |
生糸 | きいと | ki ito | 7 | 生絲 |
生魚 | まなざかな | NAMA zakana | 21 | 生魚 |
生方 | ぶうかた | ubu kata | 3 | (正確的名稱) |
結果,相同的漢字字符被發(fā)送到整齊有序的gojuon矩陣。
角色生的共同(不是全部)gojuon位置 | ||||
あ(a) | い(i) | う(你) | え(e) | お(o) |
か(ka) | き(ki) | く(ku) | け(ke) | こ(ko) |
さ(sa) | し(shi) | す(su) | せ(se) | そ(so) |
た(ta) | ち(chi) | つ(tsu) | て(te) | と(to) |
な(na) | に(ni) | ぬ(nu) | ね(ne) | の(不) |
は(ha) | ひ(hi) | ふ(fu) | へ(他) | ほ(浩) |
ま(ma) | み(mi) | む(畝) | め(我) | も(mo) |
や(ya) | ゆ(yu) | よ(喲) | ||
ら(ra) | り(ri) | る(ru) | れ(重新) | ろ(ro) |
わ(wa) | を(wo) | |||
ん(n) |
要解決此問題,您需要訪問漢字字符串的正確上下文拼音讀數。我們建議您在LSP或日語朋友的幫助下執(zhí)行此操作,或者稍后再詳細說明。
3.了解微小的符號和字符以及它們與排序的關系也許你已經查看了一些日文文本,并注意到角色旁邊的小胡須或氣泡?;蛘咭苍S某些角色比其他角色小。這些實際上是改變他們旁邊角色的發(fā)音的符號,所以如果你要對一個單詞的羅馬化版本進行排序,這些小標記會產生很大的不同。例如,は(ha)可以變成ば(ba)和ぱ(pa),如下所示。
あ(a) | い(i) | う(你) | え(e) | お(o) |
か(ka)が(ga) | き(ki)ぎ(gi) | く(ku)ぐ(gu) | け(ke)げ(ge) | こ(ko)ご(去) |
さ(sa)ざ(za) | し(shi)じ(ji) | す(su)ず(zu) | せ(se)ぜ(ze) | そ(so)ぞ(zo) |
た(ta)だ(da) | ち(chi)ぢ(ji) | つ(tsu)づ(zu) | て(te)で(de) | と(to)ど(do) |
な(na) | に(ni) | ぬ(nu) | ね(ne) | の(不) |
は(ha)ば(ba)ぱ(pa) | ひ(hi)び(bi)ぴ(pi) | ふ(fu)ぶ(bu)ぷ(pu) | へ(他)べ(be)ぺ(pe) | ほ(ho)ぼ(bo)ぽ(po) |
ま(ma) | み(mi) | む(畝) | め(我) | も(mo) |
や(ya) | ゆ(yu) | よ(喲) | ||
ら(ra) | り(ri) | る(ru) | れ(重新) | ろ(ro) |
わ(wa) | を(wo) | |||
ん(n) |
但是(這可能會讓你感到寬慰),當在gojuon中排序時,這些標記會被忽視。所以は(ha),ば(ba)和ぱ(pa)沒有區(qū)別。
對于其他字符后綴的小ゃ(ya),ゅ(yu)和ょ(yo)也是如此,以創(chuàng)建以下雙元音。
基本字符 | +ゃ(ya) | +ゅ(yu) | +ょ(喲) |
き(ki) | きゃ(kya) | きゅ(kyu) | きょ(kyo) |
ぎ(gi) | ぎゃ(gya) | ぎゅ(gyu) | ぎょ(gyo) |
し(shi) | しゃ(sha) | しゅ(shu) | しょ(笑) |
じ(ji) | じゃ(ja) | じゅ(ju) | じょ(jo) |
ち(chi) | ちゃ(cha) | ちゅ(chu) | ちょ(cho) |
に(ni) | にゃ(nya) | にゅ(nyu) | にょ(nyo) |
ひ(hi) | ひゃ(hya) | ひゅ(hyu) | ひょ(hyo) |
び(bi) | びゃ(bya) | びゅ(byu) | びょ(byo) |
ぴ(pi) | ぴゃ(pya) | ぴゅ(pyu) | ぴょ(pyo) |
み(mi) | みゃ(mya) | みゅ(myu) | みょ(myo) |
り(ri) | りゃ(rya) | りゅ(ryu) | りょ(ryo) |
然后你有兩個其他角色之間出現的小っ(tsu)來表示雙輔音(如聲門停止)。例如,まくら(makura =枕頭),まっくら(makkura =音調黑暗)。這個小っ的目的與小ゃ,ゅ和ょ不同; 但是,為了本文的目的,它們共享的最重要特征是它們在排序過程中與它們的完整版本沒有區(qū)別。や和ゃ,ゆ和ゅ,よ和ょ,つ和っ被視為同一個角色。
小學教科書的索引頁面
4.了解分揀計劃以及可能出現的問題我使用從し(shi)開始的窄范圍內的隨機字符串測試Microsoft Excel的排序功能。微軟很好。所有的漢字和假名術語都以與它們的平假名語音對應物相同的順序排列(將它們視為對照組)。
排序A:正確的Gojuon排序
但是看一下下一次排序嘗試 - 使用Excel中相同功能排序的相同文本字符串會產生截然不同的結果。這次,源文本首先分為平假名和片假名,然后是漢字(與FileMaker相同)。那些漢字以一種對普通人沒有意義的方式重新排列,正如你所看到的,它們不再匹配正確排序的平假名字符串。
排序B:不正確的Gojuon排序
發(fā)生了什么?為什么不同?嗯,實際上,您看不到排序A和排序B之間的源字符串存在差異。
排序A字符串是在Excel中手動輸入的,這意味著它們使用平假名鍵入并轉換為最終形式為漢字或片假名。 在后臺的某處,與字符串相關聯(lián)的語音信息存儲在數據中。
另一方面,排序B字符串是從文本文件中復制和粘貼的,因此它們沒有伴隨條款的任何語音信息。據推測,由于漢字是從S-JIS 8E84(私)到90B6(生)依次排序的,因此類似于FileMaker的默認排序方案被啟動。
5.知道如何獲得幫助和洞察力為了基于gojuon進行準確排序,您需要提供語音信息以配合條款。最可靠的方法是咨詢LSP,但如果您有預算或時間問題阻止您這樣做,您可以考慮其他選項。
例如,如果你環(huán)顧四周,你可以找到關于如何以編程方式對日語漢字詞進行排序的討論。使用開源詞性和形態(tài)分析器MeCab來利用IPA詞典將漢字轉換為假名似乎是一種方便(盡管不是完美)的方式來處理這種情況。另一種方法是在GetPhonetic如果您使用的是Microsoft VBA方法。在這里和這里可以找到更多的討論。
日本漢字在JIS之間有不同的排序,JIS是互聯(lián)網上使用的主要編碼; Shift-JIS(SJIS),用于Windows和Macintosh的Microsoft開發(fā)的JIS版本; 在UNIX上使用的EUC; 和Unicode(UTF-8,UTF-16),包含世界上所有角色的全球標準。因此,請確保您從一開始就完全清楚這一點。這是一個方便的代碼列表。
最后但同樣重要的是,請留意非gojuon順序更合適的列表。例如,在日本,習慣上從北到南列出縣,從北海道開始到沖繩結束。1至47的順序由國際標準ISO 3166-2:JP規(guī)定。
正如你所看到的,在日本文本排序是位比在西方語言更具挑戰(zhàn)性。但如果你牢記這些特點,并保持開放的心態(tài)(已經準備好在網上沖浪尋找答案),你就能夠立即克服挑戰(zhàn),并以正確的方式對日本人進行排序。
熱門照片:來自卡魯塔甲板的圖片卡(efuda)。Karuta是一個游戲,其中一個人從一組短語卡(yomifuda)中讀取,并且玩家嘗試使用正確的角色獲取相應的圖片卡。Aiueo-karuta是孩子學習平假名的有趣方式。(有趣的事實:“karuta”這個詞來自葡萄牙語“carta”(卡),它與葡萄牙商人一起于16世紀中期進入日本。)