·ÎÄÉÀÏ Æ¯Á¤ ÆÄÀÏ

´ÜÆíÀº ÀÚ±¹¾î º¯È¯À» ÆÐŰÁöÈ­ÇÏ´Â Æí¸®ÇÑ ¹æ¹ýÀÔ´Ï´Ù. ·ÎÄÉÀÏ Æ¯Á¤ º¯È¯ ÆÄÀÏÀ» ¼³Ä¡ÇÏ´Â µ¥ »ç¿ëµÈ µð·ºÅ丮 ±¸Á¶¸¦ ÀÚ¼¼È÷ »ìÆìº¸°Ú½À´Ï´Ù. º¯È¯µÈ ÆÄÀÏÀÌ ´ÜÆíÀ¸·Î ÆÐŰÁöÈ­µÇ¾ú°Å³ª ¿ø·¡ Ç÷¯±×ÀÎÀ¸·Î Àü´ÞµÇ¾ú´ÂÁö ¿©ºÎ¿Í »ó°ü ¾øÀÌ ÀÌ µð·ºÅ丮 ±¸Á¶¸¦ »ç¿ëÇÕ´Ï´Ù.

Ç÷¯±×Àο¡´Â ·ÎÄÉÀÏ Æ¯Á¤ ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Â ¼¼ °¡Áö ¸ÞÄ¿´ÏÁòÀÌ ÀÖ½À´Ï´Ù.   

º¯È¯ÇØ¾ß ÇÒ ÇØ´ç ÆÄÀÏÀ» ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëµÈ ¸ÞÄ¿´ÏÁòÀ» ¾Ë°í ÀÖ¾î¾ß ¾î¶² ÆÄÀÏ À̸§À» ÁöÁ¤Çϰí Ç÷¯±×Àο¡ °ü·ÃµÈ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¾î´À °÷¿¡ ÆÄÀÏÀ» ¹èÄ¡ÇÒÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù.

Ç÷§Æû ÄÚ¾î ¸ÞÄ¿´ÏÁò

Ç÷§Æû ÄÚ¾î´Â ·ÎÄÉÀϺ°·Î ´Ù¸¥ ÆÄÀÏ¿¡ ´ëÇÑ ·ÎÄÉÀÏ Æ¯Á¤ ¼­ºêµð·ºÅ丮¸¦ »ç¿ëÇÏ´Â µð·ºÅ丮 ±¸Á¶¸¦ Á¤ÀÇÇÕ´Ï´Ù. º¯È¯µÈ ÆÄÀÏÀº Ç÷¯±×ÀÎ ¾Æ·¡ nlÀ̶ó´Â µð·ºÅ丮¿¡ À§Ä¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ ¼³Ä¡ Æ®¸®´Â about.properties ÆÄÀÏÀÇ ·ÎÄÉÀÏ Æ¯Á¤ º¯È¯À» »ç¿ëÇÏ´Â º¸Åë Ç÷¯±×ÀÎ(ÄÚµå ¾øÀ½)À» º¸¿©ÁÝ´Ï´Ù. Ç÷¯±×ÀÎ ÀÚüº¸´Ù Ç÷¯±×ÀÎ ´ÜÆí¿¡¼­ ³ª¿À´Â ´Ù¾çÇÑ º¯È¯ÀÌ Ç¥½ÃµË´Ï´Ù. ±âº»°ú º°µµ·Î º¯È¯À» Á¦°øÇÏ´Â °ÍÀÌ ÀϹÝÀûÀ̳ª, Ç÷¯±×ÀÎ ÀÚü ¾Æ·¡¿¡ nl ¼­ºêµð·ºÅ丮¸¦ ³õÀ» ¼öµµ ÀÖ½À´Ï´Ù.

acmeweb/
  eclipse/
    plugins/
      com.example.acme.acmewebsupport_1.0.0/
        plugin.xml
        about.properties    (±âº» ·ÎÄÉÀÏ)
      com.example.acme.fragmentofacmewebsupport_1.0.0/
        fragment.xml   (com.example.acme.acmewebsupport 1.0.0ÀÇ ´ÜÆí)
        nl/
          fr/
            about.properties  (ÇÁ¶û½º¾î ·ÎÄÉÀÏ)
            CA/
              about.properties  (ºÒ¾î±Ç ij³ª´Ù ·ÎÄÉÀÏ)
            FR/
              EURO/
                about.properties (ºÒ¾î±Ç ÇÁ¶û½º À¯·Î)
          en/
            about.properties  (¿µ¾î ·ÎÄÉÀÏ)
            CA/
              about.properties  (¿µ¾î±Ç ij³ª´Ù¾î ·ÎÄÉÀÏ)
            US/
              about.properties (¹Ì±¹ ¿µ¾î ·ÎÄÉÀÏ)
         de/
            about.properties (µ¶ÀÏ¾î ·ÎÄÉÀÏ) 

º¯È¯µÉ ÆÄÀÏÀÌ JAR ÆÄÀÏ¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. °¢ ÆÄÀÏÀº °°Àº ÆÄÀÏ À̸§À» °®°í ÀÖ¾î¾ß ÇÏÁö¸¸ ´ÜÆí(¶Ç´Â Ç÷¯±×ÀÎ)ÀÇ ·çÆ®¿¡ ÀÖ´Â nl ¼­ºêµð·ºÅ丮 ¾Æ·¡ÀÇ ¼­ºêµð·ºÅ丮¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

·±Å¸ÀÓ ½Ã °¡Àå Æ¯Á¤ÇÑ ÆÄÀÏ¿¡¸¸ ¾×¼¼½ºµË´Ï´Ù. ÆÄÀÏ °æ·Î´Â Platform.find, IPluginDescriptor.find ¹× Plugin.find ¸ÞÄ¿´ÏÁòÀÇ ÀϺημ­ °Ë»öµË´Ï´Ù. ¿¹¸¦ µé¾î ±âº» ·ÎÄÉÀÏÀÌ en_CAÀ̰í Ç÷¯±×Àο¡¼­ ´ÙÀ½°ú °°ÀÌ about.properties¸¦ °Ë»öÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù.

somePlugin.find("$nl$/about.properties");

¸Þ¼Òµå´Â ´ÙÀ½ ¼ø¼­¿¡ µû¶ó about.properties°¡ Àִ ù ¹øÂ° À§Ä¡¿¡ ÇØ´çÇÏ´Â URLÀ» ¸®ÅÏÇÕ´Ï´Ù.

com.example.acme.acmewebsupport_1.0.0/nl/en/CA/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/CA/about.properties
 ...  		<any other fragments>
com.example.acme.acmewebsupport_1.0.0/nl/en/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/nl/en/about.properties
 ...
com.example.acme.acmewebsupport_1.0.0/about.properties
com.example.acme.fragmentofacmewebsupport_1.0.0/about.properties

Ç÷¯±×Àο¡¼­ ÀÌ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ±âŸ Ç÷¯±×Àο¡ ÀÖ´Â Àß ¾Ë·ÁÁø ÆÄÀÏ À̸§À» °Ë»öÇÕ´Ï´Ù. ¿©±â¿¡´Â ´ÙÀ½°ú °°ÀÌ Àß ¾Ë·ÁÁø ÆÄÀÏ À̸§ÀÌ Æ÷ÇԵ˴ϴÙ.

(Âü°í: plugin.properties ¹× fragment.properties´Â È®½ÇÇÏ°Ô ÀÌ ¸ñ·Ï¿¡ ¾ø½À´Ï´Ù. ÀÌ ÆÄÀÏÀº ¾Æ·¡¿¡ ¼³¸íµÈ ¹æ¹ý°ú ´Ù¼Ò ´Ù¸£°Ô 󸮵˴ϴÙ.)

Java ÀÚ¿ø ¹øµé

´Ù¸¥ ÆÄÀÏ¿¡´Â Ư¼º ÀÚ¿ø ¹øµéÀÇ Ç¥ÁØ Java 󸮸¦ »ç¿ëÇÕ´Ï´Ù. º¯È¯µÈ ÆÄÀÏÀº JAR ÆÄÀÏ¿¡ Æ÷ÇԵǴ µ¥ °¢ Ư¼º ÆÄÀÏ¿¡´Â "message_en_CA.properties" °°Àº ·ÎÄÉÀÏ Æ¯Á¤ À̸§ÀÌ ÀÖ½À´Ï´Ù. ÆÄÀÏÀº ÆÐŰÁö ƯÁ¤ ¼­ºêµð·ºÅ丮¿¡ ÀÖ°í Ç÷¯±×ÀÎÀ̳ª Ç÷¯±×ÀÎÀÇ ´ÜÆí Áß Çϳª¿¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù. Å° ã¾Æº¸±â°¡ Ư¼º ÆÄÀÏÀÇ Àß Á¤ÀÇµÈ Ã¼Àο¡ ¾×¼¼½ºÇϱ⠶§¹®¿¡ °¢°¢ÀÇ º¯È¯µÈ Ư¼º ÆÄÀÏÀº ºÎºÐÀûÀÏ ¼ö ÀÖ½À´Ï´Ù.

plugin.properties ¸ÞÄ¿´ÏÁò

plugin.properties ÆÄÀÏÀ» º¯È¯ÇÏ´Â µ¥ »ç¿ëµÇ´Â ¸ÞÄ¿´ÏÁòÀº Java ÀÚ¿ø ¹øµé À̸§ ÁöÁ¤ ±ÔÄ¢À» »ç¿ëÇÕ´Ï´Ù. ±×·¯³ª ÆÄÀÏÀº ÀÌ Ç÷¯±×ÀÎ ´ÜÆíÀÇ ·çÆ®¿¡ ¶Ç´Â Ç÷¯±×ÀÎÀÇ ·çÆ®¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. µ¿ÀÏÇÑ ±ÔÄ¢ÀÌ MANIFEST.MFÀÇ º¯È¯¿¡ Àû¿ëµË´Ï´Ù.

NL ´ÜÆí Á¤ÀÇ

NL ´ÜÆíÀÇ ¸ð¾çÀÌ 2.1 ÀÌÈÄ ¹öÀü¿¡ ´Ù¼Ò °³¼±µÇ¾ú½À´Ï´Ù. ÀÌÀü¿¡´Â ¸ðµç º¯È¯ ÆÄÀÏ(plugin.properties Æ÷ÇÔ)ÀÌ jar Çü½ÄÀ¸·Î Á¦°øµÇ¾ú½À´Ï´Ù. À̰ÍÀº plugin.properties ÆÄÀÏÀÌ Ç÷¯±×ÀÎÀÇ ·çÆ®¿¡ Á¦°øµÈ ÀÌÈÄ ÀϰüµÇÁö ¾ÊÀº °ÍÀ̾ú½À´Ï´Ù.
NL ´ÜÆíÀ» »õ ¸ðµ¨¿¡ ÀûÇÕÇÏ°Ô ÇÏ·Á¸é jar¿¡¼­ plugin.properties º¯È¯ ÆÄÀÏÀ» Á¦°ÅÇÏ¿© ÀÌ ÆÄÀÏÀ» fragment.xmlÀÇ µ¿À§·Î¼­ ÇØ´ç ´ÜÆíÀÇ ·çÆ®¿¡ µÎ½Ê½Ã¿À. ¿¹¸¦ µé¾î org.eclipse.ui.workbench¿¡ ´ëÇÑ NL ´ÜÆíÀÇ »õ ¸ð¾çÀº ´ÙÀ½°ú °°½À´Ï´Ù.

  org.eclipse.ui.workbench.nl/
     fragment.xml
     plugin_fr.properties
     plugin_pt_BR.properties
     ...
     nl1.jar