2013-05-31 3 views
5

जब मैं शीर्षक उदा .: 신품FriendlyID कोरियाई मल

FriendlyID मणि खाली स्लग बनाता है और यूआरएल /8 की तरह है के साथ कोरियाई भाषा में लेख जोड़ने ... ताकि यह आईडी है। इस लिंक को देखें: http://www.srecipe.kr.com/articles/8

अन्य भाषाएं काम करती हैं।

मैं यूआरएल कैसे प्राप्त कर सकता हूं जो लैटिन अक्षरों के लिए मैप किया गया है जैसे 신품 से/this-is-url?

+0

इसका उत्तर दिया गया था? मुझे ऐसा नहीं लगता! इसे बंद विषय और बल के रूप में चिह्नित किया गया था। कृप्या! –

उत्तर

7

इन सभी परमालिंक समाधानों की तरह, दोस्ताना आईडी एक स्ट्रिंग को URL सुरक्षित स्ट्रिंग में बदलने के लिए parameterize विधि का उपयोग करती है। जैसे इतना:

# encoding: UTF-8 
require 'active_support/all' 
puts "신품".parameterize 
=> 

ActiveSupport करने के लिए गैर ASCII तार बदलने के लिए एक तरीका प्रदान करता है:

require 'active_support/all' 
puts "Oh Hai There".parameterize 
=> oh-hai-there 

समस्या जब आप गैर ASCII तार का उपयोग करें, जो parameterize, कोई रिक्त स्ट्रिंग के साथ बदलता है आपकी समस्या के कारण में आता है transliterate विधि के माध्यम से एक करीबी अनुमान।

# encoding: UTF-8 
require 'active_support/all' 
include ActiveSupport::Inflector 

puts transliterate("Ærøskøbing") 
=> AEroskobing 

लेकिन, अगर यह एक चरित्र के बारे में पता नहीं है, यह ?? के लिए डिफ़ॉल्ट जाएगा

# encoding: UTF-8 
require 'active_support/all' 
include ActiveSupport::Inflector 

puts transliterate "신품" 
=> ?? 

लेकिन, आप बता सकते हैं कि कैसे पात्रों को संभालने के लिए अनुवाद कर। एक रेल मॉडल में

# Store the transliterations in locales/en.yml 
en: 
    i18n: 
    transliterate: 
     rule: 
     신: "abc" 
     품: "def" 

puts transliterate "신품" 
=> "abcdef" 

तो तो, आप transliterate(title).parameterize उपयोग कर सकते हैं के बजाय सिर्फ parameterize। और यदि आप कोरियाई वर्णमाला को लिप्यंतरण अनुभाग में प्राप्त करते हैं, तो आप सुनहरे के करीब हैं।

+0

जिसके लिए आप http://www.rubydoc.info/gems/unidecode/1.0.0/frames –

+0

का उपयोग कर सकते हैं मैं परिणामस्वरूप नियम उद्धरण में लपेटना भूल गया: I18n :: InvalidLocaleData: कॉन्फ़िगरेशन/लोकेशंस/en.yml: #

2

अभी तक इन की कोशिश की नहीं है, लेकिन मैं करने जा रहा हूँ:

मैं वापस रिपोर्ट करेंगे जब मैं उन्हें कोशिश की है।

+0

स्कैन करते समय अपेक्षित वर्णमाला या संख्यात्मक वर्ण नहीं मिला रिपोर्ट कहां है? –

+0

उचित टिप्पणी। 2+ साल बाद अब मुझे याद नहीं आया कि मेरे निष्कर्ष क्या थे। क्या आपको लगता है कि अगर किसी के लिए मददगार है तो मुझे जवाब हटा देना चाहिए या वहां रिपो की सूची छोड़नी चाहिए? –

+0

रोमाजी रेपो मेरे लिए सहायक था! लिंक के लिए आपको धन्यवाद! –

संबंधित मुद्दे