Activity bundles/lang-ko
ricerletole
ìê°
ìê° íê²½ìì 모ë ì¡í°ë¹í°ë ì기 í¬í¨ self-contained ë²ë¤ë¡ í¬ì¥ (í¨í¤ì§)ë©ëë¤. ë²ë¤ì í´ë¹ ì¡í°ë¹í°ê° ì¤íì íìí ììê³¼ ì¤íê°ë¥í ì½ë (ìì¤í ì´ ì ê³µíë 기본 ë¼ì´ë²ë¬ë¦¬ ì¸)를 í¬í¨í©ëë¤. 기본 ìì¤í ì´ ì ê³µíì§ ìë 모ë ììê³¼ ì¤íê°ë¥í ì½ëë í´ë¹ ë²ë¤ ë´ì í¨í¤ì§ëì´ì¼ í©ëë¤.
- 참조
- ì¼ë° ì¬íì OLPC ë¹í¸íë¡ì¤í¸ê³¼ ìíí¸ì¨ì´ ì¤ì¹ ì¹ì ì 참조
ì´ì
ì¡í°ë¹í°ë ì´ë¦°ì´ë¤ ì¬ì´ì ê³µì ëëë¡ ìëë©ëë¤. ì´ë¤ ì´ë¦°ì´ìê² í¹ì ì¡í°ë¹í°ê° ìë¤ë©´, ê·¸ê²ì ê·¸ ëë ê·¸ë ê° ê³µì ì¡í°ë¹í°ì ì°¸ì¬í ë í´ë¹ ì´ë¦°ì´ìê² ìëì ì¼ë¡ ì´ì ë©ëë¤. ì기 í¬í¨ self-contained ìì ì¡í°ë¹í°ë¤ì í¨í¤ì§í¨ì¼ë¡ì¨, ê³µì , ì¤ì¹, ì ê±°, ë° ë°±ì ì ì½ê² ìíí ì ììµëë¤.
ìì¹
ì¡í°ë¹í°ë ì¬ì©ì íëì ëìíì¬ ìê°ì ìí´ ìëì ì¼ë¡ ì¤ì¹ ë° ì ê±°ë©ëë¤. ìê°ë ì¤ì¤ë¡ ì íí ëë í 리 ë´ì ì¡í°ë¹í°ë¤ì ìì¹ìí¤ë©°, ì¡í°ë¹í°ë í¹ì ìì¹ì ì¤ì¹ë ê²ì 기ëí ì ìê³ , ê²½ë¡ê° íìí ê²½ì° ìë ê²½ë¡ë¥¼ ì´ì©í´ì¼ í©ëë¤ (ê°ë ¹, ê³µì ë ë¼ì´ë²ë¬ë¦¬ ë§í¤ì§ì ê²½ì°, ì´ë¯¸ì§, ì¬ì´ë ë±ì ì¡í°ë¹í° 리ìì¤). ëí, í´ë¹ ë²ë¤ì ë² ì´ì¤ ëë í 리 ì´ë¦ì´ ê³ì ëì¼í ê²ì¼ë¡ 기ëí´ìë ìë©ëë¤. ìê°ë ë²ë¤ 충ëì ë§ê¸° ìí´ ì¸ì ë¼ë ì¡í°ë¹í° ë²ë¤ ë² ì´ì¤ ëë í 리ì ì´ë¦ì ë°ê¿ ì ììµëë¤.
íì¬ jhbuild ìê°ë XDG_DATA_DIRSì "ì¡í°ë¹í°" ìë¸í´ëìì ë²ë¤ì ì°¾ìµëë¤. íì¬ë jhbuild ë¹ë í´ëì /usr/share/activities and the usr/share/activities ìë¸í´ëì ëë¤.
ìê°ë í´ë¹ ì¡í°ë¹í°ê° ì¤ì¹ ëë ì ê±°ë ë, D-Bus ìë¹ì¤ íì±í를 íµí´, í´ë¹ ì¡í°ë¹í°ë¥¼ ìëíëë° íìí .service íì¼ì ìëì ì¼ë¡ ìì± ë° ì ê±°í©ëë¤.
ì¡í°ë¹í°ë í´ë¹ ì¡í°ë¹í° ë²ë¤ ê·¸ ìì²´ ìì ë¡ì»¬ ì¤í ì´í¸ ëë íë í¼ë°ì¤ë¥¼ ê²°ì½ ì ì¥í´ìë ìë©ëë¤. ì´ê²ë¤ì SUGAR_PROFILE íê²½ ë³ì를 íµí´ ê°ì©í, ì¬ì©ìì ìê° íë¡íì¼ ë´ ì¡í°ë¹í°-í¹ì ëë í 리ì íì ì ì¥ëì´ì¼ í©ëë¤.
íì´ì ê°ë°ìë ìëì ê°ì´ íë¡íì¼ í´ë를 ì»ì ìë ììµëë¤:
import sugar.env profile_path = sugar.env.get_profile_path()
ë²ë¤ 구조
ì¡í°ë¹í° ë²ë¤ì ëë í 리ì´ë©°, ".activity"ë¡ ëëë ì´ë¦ì ê°ì§ëë¤. ê° ì¡í°ë¹í° ë²ë¤ì, 'activity'ë¡ ë¶ë¦¬ë ìë¸ ëë í 리 ë´ìì, "activity.info" íì¼ê³¼ ìëì í¹ì í í¬ë§·ì ê°ì ¸ì¼ë§ í©ëë¤. ê°ë ¹:
Web.activity/ locale/ de_DE/ activity.linfo zh_CN/ activity.linfo activity/ activity.info activity-web.svg icons/
- ì¡í°ë¹í°
All metadata about the activity is organized in this subdirectory. í´ë¹ ì¡í°ë¹í°ì ê´í 모ë ë©íë°ì´í°ë ì´ ìë¸ëë í 리ì ì¡°ì§ë©ëë¤.
- ìì´ì½
í´ë¹ ì¡í°ë¹í°ì ìí´ ì´ì©ëë ìì´ì½ì í¬í¨í©ëë¤. ìê°.ì¡í°ë¹í° íì´ì í¨í¤ì§ë¥¼ ì´ì©í ë, ê·¸ ê²½ë¡ë ìëì ì¼ë¡ ëí¨í¸ gtk icon themeì ì¶ê°ë©ëë¤.
.info íì¼ í¬ë§·
.info íì¼ì key/value pair í¬ë§·ì ë°ë¥´ëë°, fd.o desktop entry specì ì ì¬íì§ë§, ì¼ì¹íì§ë ììµëë¤. ìë¡ì¨:
[Activity] name = Web activity_version = 1 host_version = 1 service_name = com.redhat.Sugar.BrowserActivity icon = activity-web class = browseractivity.BrowserActivity mime_types = application/pdf;image/tiff
ì í¨í íë¼í¼í°ì ìì¸í ì¤ëª ì:
[Activity]
- activity.info íì¼ì [Activity]ë¡ ììí´ì¼ë§ íë©°, íì¼ì 첫ë²ì§¸ ë¼ì¸ì ìì¹í´ì¼ í©ëë¤.
name = Web
- ì´ ê²ì ìê°ê° í´ë¹ ì¡í°ë¹í°ë¥¼ ì¸ê¸í ë íìëë ì´ë¦ì ëë¤. ê´í¸ ì¸ì´ ì½ëê° ìë 'name' í¤ë í´ë¹ ì¡í°ë¹í°ì "en_US" ì§ìí ì´ë¦ì ëë¤. activity.info íì¼ì ì´ í¤ë¥¼ ê°ì ¸ì¼ë§ í©ëë¤.
activity_version = 1
- ê° activity.info íì¼ì "activity_version" í¤ë¥¼ ê°ì ¸ì¼ í©ëë¤. ì´ ë²ì ì ë¨ì¼ ìì ì ìì´ë©°, 1~9 ì¬ì´ì 문ì를 ê°ì§ ìë§ ììµëë¤. ë³´ë¤ í° ë²ì ì "newer"ë¡ ê°ì£¼ë©ëë¤. ì´ í¤ì í ë¹ë ê°ì í´ë¹ ì¡í°ë¹í°ì ëí´ opaqueë¡ ê°ì£¼ë©ëë¤; ì´ ì¡í°ë¹í°ì ì ì¼í ì구ë ìë¡ì´ ì¡í°ë¹í° ë¹ëê° ë°ëì ë ì»¤ì¼ íë¤ë ì ì´ë¹ë¤.
host_version = 1
- Each activity.info file must have a "host_version" key. The version is a single positive integer, and may only contain the characters 1 through 9. This specifies the version of the Sugar environment which the activity is compatible with. (fixme: need to specify sugar versions somewhere. Obviously we start with 1.)
service_name = com.redhat.Sugar.BrowserActivity
- This is the activity's dbus service name. It is required. It is also used as the activity's default service type when the activity is shared on the network. To determine this type, the distince parts (separated by the '.' character) are reversed, any '.' is replaced by a '_' character, and the type is prefixed by a '_' character. So in this example, the default service type would be "_BrowserActivity_Sugar_redhat_com".
icon = activity-web
- It points to the activity's icon. The icon is looked up in the activity bundle's base directory. It cannot contain a path. When searching for the icon in the activity bundle's base directory, only an file with the icon name and the extension '.svg' will be looked for.
exec = myfactory myoptions
- The exec key is used when Sugar installs the activity. It specifies the executable which Sugar runs to start the activity's factory service. A factory service spawns instances of the actual activity. The executable name must be a path relative to the bundle's top level directory. Environment variables given on the exec line are expanded, in particular, $SUGAR_BUNDLE_PATH expands to the absolute path of the bundle directory.
class = browseractivity.BrowserActivity
- For Python-based activities, it's not necessary to write a custom factory since a generic one is provided with Sugar. Use this attribute to specify the main Activity class. When a class is specified the exec attribute is ignored.
mime_types = application/pdf;image/tiff
- List of mime types supported by the activity, separated by semi colons. It's used when opening a file from the web or to present to the user a list of activities which can open a certain journal object.
show_launcher = yes
- ì´ í¤ë ì íì ì ëë¤. ìê±°ë, "yes" ê°ì ê°ì§ë©´, í´ë¹ ì¡í°ë¹í°ë ìê° í¨ë ë¡ ì² ë´ì ê·¸ ìì ì ìì´ì½ì¼ë¡ íìëë©°, ì í¨í 'icon' key/value pairê° ì구ë©ëë¤. "no" ê°ì´ ëª ìëë©´, í´ë¹ ì¡í°ë¹í°ë
ìê° í¨ë ë¡ ì² ë´ì ëíëì§ ìì¼ë©°, 'icon' ê° ì구ëì§ ììµëë¤.
ì¡í°ë¹í° ì´ë¦ ë¡ì»¬ë¦¬ì ì´ì /ë²ì
ì§ìíë ë°ì´í°ë ì§ì ëë í 리ì ììµëë¤. ê° ì¸ì´ë í´ë¹ ì¸ì´ì ISO ì½ëì ë°ë¼ ëª ëª ë separate ëë í 리 ë´ì ìì ì ì§ìí í¤ë¥¼ ë³´ê´í©ëë¤. 'activity.info' íì¼ë¡ë¶í°ì ì§ìí í¤ë ê·¸ ëë í 리ì 'activity.linfo' íì¼ì ë³´ê´ë©ëë¤. ê°ë ¹, ë ì¼-ì§ìí ë ì¼ì´ (ì¤ìì¤-ì§ìí ë ì¼ì´ì ë¹êµí´ì) ë²ìì 'de_DE/activity.linfo' íì¼ì ë³´ê´ë©ëë¤.
Example.activity/ exampleactivity.py activity/ activity.info locale/ de_DE/ activity.linfo de_CH/ activity.linfo
At this time, only translations for the 'name' key from the 'activity.info' file is supported. A localized 'de_DE/activity.linfo' file would look like:
[Activity] name = Web
Keys in the languague-specific '.linfo' files selectively override keys from the 'activity.info' file; if a key is not present in the '.linfo' file the value from the 'activity.info' file is used instead.
í¨í¤ì§
ì¡í°ë¹í° ë²ë¤ì ".xo" ìµì¤í ì ì´ ìë ì§ íì¼ë¡ í¨í¤ì§ëì´ì¼ í©ëë¤.
기í 기ì ë¹êµ
ì¡í°ë¹í° ë²ë¤ì OS X ë²ë¤ ëë ìë° JAR íì¼ê³¼ ì ì¬í©ëë¤; ë 립ì ì¼ë¡ ì´ë ê°ë¥í ë¨ì¼ ëë í 리 ë´ì ê·íê° íìë¡ íë 모ë ê²ì 캡ìííë ë¨ìí 매커ëì¦.
ì¤í í¨í¤ì§ autopackageìë ë¤ë¥¸ë°, ì´ê²ì í¨í¤ì§ ê´ë¦¬ ìì¤í ì´ ìëëë¤. ì¤ì ë°ì´í°ë² ì´ì¤ë ìê³ , install/uninstallìì ì¤íëë ì¤í¬ë¦½í¸ë ììµëë¤. ëí í¹ì í íì¼ í¬ë§·ë ììµëë¤.
klikê³¼ ë¹êµí ë, í´ë¹ í¨í¤ì§ ë´ì ë¡ì»¬ ì ëì¤ ëë í 리 구조를 ë³µì íë ¤ë ìëê° ìëëë¤; í´ë¹ ì¡í°ë¹í°ë ì¬ì í ìì¤í ì´ ì ê³µíë ë°ì´ë리 ë±ì ë§í¬ë©ëë¤. ìí¤ë¸ë¥¼ ìì¶íì¬ ë¤í¸ìí¬ë¡ ë³´ë´ë ê² ì¸ìë ìë² ì¬ì´ë ì»´í¬ëí¸ë ìì¼ë©°, ì¡í°ë¹í°ë¤ì´ ì기 í¬í¨ self-containedëë¯ë¡, ëíëì ì²´í¹ë ììµëë¤.