2012-02-17 10 views
8

डेल्फी में प्रोजेक्ट गुणों को देखते समय वर्जनइन्फो-> भाषा-> लोकेल आईडी विकल्प है।
मैं घूम रहा था कि फ्री पास्कल के तहत संकलित किए जाने वाले कार्यक्रम के लिए ऐसी संपत्ति कैसे सेट करें।
कोई समाधान स्वागत है: कमांड लाइन तर्क या प्रीप्रोसेसर निर्देश जैसे {$key value}; डेल्फी के बराबर।संकलित अनुप्रयोग के लिए लोकेल आईडी सेट करने के लिए फ्री पास्कल कंपाइलर को कैसे सूचित करें

+3

लाज़र में यह आसान है, एक बहुत ही समान परियोजना सेटिंग्स टैब है। इन सेटिंग्स को प्रोजेक्ट की '* .lpi' फ़ाइलों में संग्रहीत किया जाता है जैसे कि <भाषा मान =" HEXValueOfLocale "/>' – TLama

+1

@TLama, यह एक महान जवाब की तरह दिखता है, मेरा सुझाव है कि आप इसे एक बनाते हैं, इसलिए हम इसे वोट दे सकते हैं। – Johan

+0

(1) आप वास्तव में स्थानीयकृत होने की क्या अपेक्षा करते हैं? (2) यह असंभव है कि एक पोर्टेबल उपकरण विंडोज कोडपेज का उपयोग करेगा। (3) अगर यह केवल डी 200 9 + है, तो ऐसी चीजें अभी भी काम कर रही हैं। –

उत्तर

8

आप *.lpi फ़ाइलों का उपयोग कर तो मैं अपनी परियोजना के Project.lpi फ़ाइल में निम्न जोड़ने का प्रयास करते हैं अपनी परियोजनाओं का निर्माण कर सकते हैं।निम्न स्निपेट में दिखाया गया है कि प्रोजेक्ट की लोकेल आईडी (विंडोज प्लेटफ़ॉर्म के लिए) को 0405 (चेक) पर कैसे सेट करें।

<?xml version="1.0"?> 
<CONFIG> 
    <ProjectOptions> 
    ... 
    <VersionInfo> 
     <UseVersionInfo Value="True"/> 
     <Language Value="0405"/> 
     <StringTable ProductVersion=""/> 
    </VersionInfo> 
    ... 
    </ProjectOptions> 
    ... 
</CONFIG> 

या आप लाजर आईडीई उपयोग कर रहे हैं तो आप डेल्फी बहुत समान सेटिंग्स टैब है जो आप डेल्फी में Project/Project Options ... से और के रूप में खोल सकते हैं Version Info करने के लिए जाना है, जहां Language selection कॉम्बो बॉक्स उपलब्ध है अगर आप संस्करण जानकारी शामिल करने के लिए उपयोग कर सकते हैं परियोजना में

5

100% सुनिश्चित नहीं है कि यह काम करेगा, अगर यह काम नहीं करता है तो मुझे वोट देने के लिए स्वतंत्र महसूस करें।

लाज़र उस लोकेल सेटिंग्स का उत्तराधिकारी होगा जो इसके साथ शुरू होता है।
आप कमांड लाइन का उपयोग कर लिनक्स/ओएस एक्स में लाजर शुरू करने से पहले स्थान की जानकारी सेट कर सकते हैं:

export LC_CTYPE="pt_BR" 
export LANG="pt_BR" 
export LANGUAGE="pt_BR" 
./lazarus 

आपका संकलित आवेदन इन सेटिंग्स के वारिस चाहिए।

उत्तर this workaround से प्रेरित किया गया है, इसलिए एक त्रुटि के बाद से तय किया गया है।

मुझे सलाह है कि आप at the fpc forum देखें और वहां प्रश्न पूछें।
इसे भूलें मत भूलें जैसे प्लेटफार्म (लिनक्स/विंडोज़/ओएस एक्स) और एफपीसी और लाजर का सटीक संस्करण जिसमें आप उपयोग कर रहे हैं, साथ ही साथ वास्तविक लोकेल भी शामिल हैं।

बेहतर जवाब
से: http://forum.lazarus.freepascal.org/index.php/topic,5924.0.html

अंत में, मैं अपने आवेदन localizeable बनाने के लिए एक सरल और प्रभावी रास्ता खोजने में कामयाब रहे। यह सिर्फ एक इकाई और कोई कोड का उपयोग करता है।
1. अपनी उपयोग सूची में इकाई "defaulttranslator" जोड़ें।
2. "परियोजना विकल्प" में "i18n" सक्षम करें और "लोकेल" या "भाषा" में "पीओ आउटपुट निर्देशिका" सेट करें। आप अनुवाद फ़ाइलों को सीधे एप्लिकेशन फ़ोल्डर में डाल सकते हैं, लेकिन यह सिर्फ एक गड़बड़ कर देगा। एक उपयुक्त फ़ोल्डर बनाने के लिए मत भूलना।
3. फॉर्म में घटक जोड़ें। यदि आपके पास पहले से ही आपके फॉर्म पर सभी घटक हैं, तो आपको इसे थोड़ा सा स्थानांतरित करना होगा, इसलिए यह संशोधित है।
4. अपनी परियोजना को सहेजें।
5. अब आपके "लोकेल" या "भाषा" फ़ोल्डर में .po फाइलें होनी चाहिए। विभिन्न भाषाओं के लिए फ़ाइलों की प्रतिलिपि बनाई जानी चाहिए और "project1.XX.po" जैसे नाम बदलना चाहिए, जहां एक्सएक्स भाषा कोड है (उदाहरण के लिए "एन", "डी", आदि)।
6. अनुवाद सॉफ्टवेयर के साथ .po फाइलों का अनुवाद करें, और .mo फाइलें उत्पन्न करें। मैं POEdit का उपयोग करने का सुझाव देता हूं।
7. अपना आवेदन चलाएं, और उपयोग किए जाने वाले अनुवाद को आपके क्षेत्रीय लोकेल सेटिंग्स द्वारा चुना जाएगा। यदि आपको अन्य भाषा का परीक्षण करने की आवश्यकता है - बस अपने कमांड लाइन पैरामीटर - "-एल एक्सएक्स" या "-लांग एक्सएक्स" के साथ अपना एप्लिकेशन शुरू करें, जहां एक्सएक्स एक भाषा कोड है।
यह विधि बहुत बहुमुखी नहीं है, लेकिन यह संसाधन तारों और एलसीएल घटक गुणों का अनुवाद करती है।

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