2012-06-20 11 views
5

जो सबसे अच्छा है, घटक द्वारा i18n संसाधन कुंजी व्यवस्थित करें?i18n संसाधन कुंजी व्यवस्थित करने का सबसे अच्छा तरीका कौन सा है?

FILE_TAB_TITLE: 'Files' 
FILE_FIELD_TITLE: 'File' 
GROUP_TAB_TITLE: 'Group' 
GROUP_FIELD_TITLE: 'Group' 
SAVE_MENU_ITEM: 'Save' 
SAVE_AS_MENU_ITEM: 'Save as...' 
SAVE_BUTTON:  'Save' 

या उनका क्या मतलब है?

FILE: 'File' 
FILES: 'Files' 
GROUP: 'Group' 
SAVE: 'Save' 
SAVE_AS: 'Save as...' 

उत्तर

2

मुझे लगता है कि यह एक नियम से अधिक सम्मेलन है, इसलिए उत्तर "जो भी अधिक तार्किक लगता है" हो सकता है।

मैं अपने i18n संसाधन कुंजी बनाने के लिए शुरू कर दिया है, और मैं इन नियमों का पालन अपनाया है: #

  • के साथ शुरू

    1. एक "शीर्षक अनुभाग" के साथ हैडर, डॉट श्रेणीबद्ध अंकन अलग
    2. कुंजी आसान पहुँच के लिए वर्णानुक्रम में व्यवस्थित

    उदाहरण:

    #File access 
    file.field.title = File 
    file.field.subtitle = Click here 
    file.tab.title = Files 
    
    #User 
    user.name = First and last name 
    user.password = Password 
    user.username = Username 
    
  • 2

    मैं अंग्रेजी वाक्यांशों के टेर्स, ऊपरी केस संस्करणों का उपयोग करता हूं। उदाहरण (जावास्क्रिप्ट) के लिए:

    SAVE: "Save", 
    LOAD: "Load", 
    PLEASE_SELECT_ITEM: "Please select an item.", 
    PRESS_NEXT_TO_PROCEED: "Please press the Next button to proceed." 
    

    इस तरह, डेवलपर एक टोकन की सामग्री को समझने के लिए यह वास्तव में क्या मतलब है को देखने के लिए नहीं है।

    मेरे पास अलग-अलग स्थानों में दिखाई देने वाली वस्तुओं के लिए अनावश्यक प्रविष्टियां नहीं हैं (उदाहरण के लिए बटन पर बनाम मेनू में दिखाई देने वाली "सहेजें" जैसी)। जब तक कि वे विभिन्न मॉड्यूल में दिखाई नहीं देते हैं संभावित रूप से व्यक्तिगत रूप से अनुवादित हो सकते हैं।

    इसके अलावा, शीर्षक/कैप्शन, प्रॉम्प्ट और त्रुटि संदेश टोकन विभिन्न फ़ाइलों में व्यवस्थित होते हैं।

    1

    मैं एक पदानुक्रम में समारोह से मेरा व्यवस्था, जैसे

    ui: 
        choose: choose... 
        save: save 
        cancel: cancel 
        preview: preview 
    
    season: 
        summer: summer 
        autumn: autumn 
        winter: winter 
        spring: spring 
    
    people: !!pl 
        0: no people 
        1: one person 
        n: "%1 people" 
    
    is_are_people: !!pl 
        0: are no people 
        1: is one person 
        n: "are %1 people" 
    

    और फिर मेरी सहायकों, मार्गों या haml फाइलों में (मैं सिनात्रा का उपयोग अधिकतर) मैं अपने 'सहेजें' बटन में Unicode::capitalize(t.ui.save) का उल्लेख कर सकते हैं और "There #{t.is_are_people some_people.count}." मेरे शीर्षक में, आदि

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

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