[openrtm-commit:00410] r478 - in branches/RELENG_1_1/OpenRTM-aist-Python/installer: . OpenRTP
openrtm @ openrtm.org
openrtm @ openrtm.org
2011年 9月 16日 (金) 18:37:35 JST
Author: kurihara
Date: 2011-09-16 18:37:35 +0900 (Fri, 16 Sep 2011)
New Revision: 478
Added:
branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.yaml.in
Modified:
branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.in
branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTMpywxs.py
branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTP/OpenRTP_inc.wxs
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_Mondo_RTM.wxs
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_en-us.wxl
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_hu-hu.wxl
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ja-jp.wxl
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ko-kr.wxl
branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_zh-tw.wxl
branches/RELENG_1_1/OpenRTM-aist-Python/installer/build.cmd
branches/RELENG_1_1/OpenRTM-aist-Python/installer/makewxs.py
branches/RELENG_1_1/OpenRTM-aist-Python/installer/uuid.py
branches/RELENG_1_1/OpenRTM-aist-Python/installer/yat.py
Log:
update for 1.1.0.
WixUI_*.wxl: added Codepage parameter.
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.in
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.in 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.in 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,29 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <?define ProductName = "OpenRTM-aist-1.0.1 for Python"?>
- <Product Name="OpenRTM-aist-1.0.1 for Python"
- Id="11043B94-16BA-11DF-97DA-001C23DA0BDA"
+ <?define ProductName = "{% Product.Name %}-{% Product.Version %} for Python"?>
+ <Product Name="{% Product.Name %}-{% Product.Version %} for Python"
+ Id="{% Product.Id %}"
Language='$(var.language)'
Codepage='$(var.codepage)'
- Version="1.0.0"
- Manufacturer="AIST"
- UpgradeCode="958ED570-5471-4E82-8378-01C6068F31C2">
+ Version="{% Product.Version %}"
+ Manufacturer="{% Product.Manufacturer %}"
+ UpgradeCode="{% Product.UpgradeCode %}">
<Package Id="*"
Keywords="Installer"
- Description="OpenRTM-aist-Pyton Installer"
- InstallerVersion="300"
+ Description="{% Package.Description %}"
+ InstallerVersion="{% Package.InstallerVersion %}"
Languages='$(var.language)'
- Compressed="yes"
+ Compressed="{% Package.Compressed %}"
SummaryCodepage='$(var.codepage)' />
- <!-- ãããã㣠-->
+ <!-- Property -->
<Property Id='USERPROFILEDIR' Value='%USERPROFILE%' />
<!-- RTSE Property-->
<Property Id="RTSE_FILEEXISTS">
- <DirectorySearch Id="CheckFileDir" Path="C:\Program Files">
+ <DirectorySearch Id="CheckFileDir" Path="C:\Program Files\OpenRTM-aist\{% Product.ShortVersion %}">
<DirectorySearch Id="CheckFileDir2" Path ="OpenRTP">
- <DirectorySearch Id="CheckFileDir3" Path ="RTSystemEditor">
+ <DirectorySearch Id="CheckFileDir3" Path ="{% Product.ShortVersion %}\RTSystemEditor">
<FileSearch Id="CheckFile" Name="RTSystemEditorRCP.exe" />
</DirectorySearch>
</DirectorySearch>
@@ -60,8 +60,7 @@
<SetProperty Id="PYTHON26DIR" After="AppSearch" Value="[PYTHON26]">
</SetProperty>
- <!-- ã¢ããã°ã¬ã¼ã -->
- <Upgrade Id="958ED570-5471-4E82-8378-01C6068F31C2">
+ <Upgrade Id="{% Product.UpgradeCode %}">
<UpgradeVersion OnlyDetect="yes"
Minimum="1.0.0"
Maximum="1.1.0"
@@ -69,7 +68,7 @@
IncludeMinimum="no" />
<UpgradeVersion OnlyDetect="no"
Minimum="1.0.0"
- Maximum="1.0.0.1"
+ Maximum="1.1.0.1"
Property="OLDERVERSIONBEINGUPGRADED"
IncludeMaximum="no" />
<UpgradeVersion OnlyDetect='no' Property='PREVIOUSFOUND'
@@ -80,7 +79,6 @@
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize"/>
- <!-- ã¤ã³ã¹ãã¼ã«å®äºæã®IDLã³ã³ãã¤ã«å®è¡ -->
<Custom Action="IDLCOMPILE_PY24" After='InstallFinalize'>
NOT Installed AND PYTHON24
</Custom>
@@ -91,7 +89,6 @@
NOT Installed AND PYTHON26
</Custom>
- <!-- ã¢ã³ã¤ã³ã¹ãã¼ã«æã®ãã©ã«ãã¼åé¤(IDLã³ã³ãã¤ã«å) -->
<Custom Action="REMOVEFOLDER_PY24" Before='InstallInitialize'>
Installed AND PYTHON24
</Custom>
@@ -102,18 +99,15 @@
Installed AND PYTHON26
</Custom>
- <!-- ã¢ã³ã¤ã³ã¹ãã¼ã«æã®ãã©ã«ãã¼åé¤(examples/Python) -->
<Custom Action="REMOVEFOLDER_RTM" Before='InstallInitialize'>Installed</Custom>
</InstallExecuteSequence>
- <!-- ã¡ãã£ã¢ -->
<Media Id="1" Cabinet="OpenRTMpython.cab" EmbedCab="yes"/>
- <!-- 常ã«All Users ã¸ç»é²ããå ´åã¯ä¸è¨ãæå¹ã«ãã -->
+ <!-- enable this value when you want register to ALL User -->
<!-- <Property Id="ALLUSERS" Value="1" /> -->
- <!-- ã¤ã³ã¹ãã¼ã«æ¡ä»¶å¤å® -->
<Condition Message="[ProductName] requires python 2.4, 2.5 or 2.6">
<![CDATA[Installed OR (PYTHON24 <> "" OR PYTHON25 <> "" OR PYTHON26 <> "")]]>
</Condition>
@@ -460,10 +454,12 @@
</Directory>
- <!-- Program Files ãã©ã«ã -->
+ <!-- Program Files -->
<Directory Id="ProgramFilesFolder" SourceName="PFILE">
- <Directory Id="INSTALLLOCATION" Name="OpenRTM-aist">
- <Directory Id="Version" Name="1.0">
+ <Directory Id="INSTALLLOCATION"
+ Name="{% Product.Name %}">
+ <Directory Id="Version"
+ Name="{% Product.ShortVersion %}">
<!-- bin -->
<Directory Id="bin" Name="bin">
@@ -861,21 +857,21 @@
<!-- end of examples -->
</Directory>
+ <!-- rtmtools components -->
+ <?if $(env.INCLUDE_OPENRTP) = YES ?>
+ <?include OpenRTP_inc.wxs ?>
+ <?endif ?>
+ <!-- end of rtmtools -->
+
</Directory>
</Directory>
- <!-- rtmtools components -->
- <?if $(env.INCLUDE_OPENRTP) = YES ?>
- <?include OpenRTP_inc.wxs ?>
- <?endif ?>
- <!-- end of rtmtools -->
-
- <!-- end of Program Files ãã©ã«ã -->
+ <!-- end of Program Files Folder -->
</Directory>
- <!-- ããã°ã©ã ãã©ã«ã -->
<Directory Id="ProgramMenuFolder">
- <Directory Id="AppMenuFolder" Name="OpenRTM-aist">
+ <Directory Id="AppMenuFolder"
+ Name="{% Product.Name %} {% Product.ShortVersion %}">
<Directory Id="PythonMenuFolder" Name="Python">
<Directory Id="ToolsMenuFolder" Name="tools">
</Directory>
@@ -892,7 +888,7 @@
<!-- end of SourceDir -->
</Directory>
- <!-- æ©è½å®ç¾© omniORBpy24 -->
+ <!-- Function definition omniORBpy24 -->
<Feature Id="omniORBpy24" Level="1" Title="OpenRTM-aist for Python 2.4"
ConfigurableDirectory="PYTHON24DIR">
<Condition Level="1"><![CDATA[ NOT PYTHON24 = ""]]></Condition>
@@ -1010,7 +1006,7 @@
</Feature>
</Feature>
- <!-- æ©è½å®ç¾© omniORBpy25 -->
+ <!-- Function definition omniORBpy25 -->
<Feature Id="omniORBpy25" Level="1" Title="OpenRTM-aist for Python 2.5"
ConfigurableDirectory="PYTHON25DIR">
<Condition Level="1"><![CDATA[ NOT PYTHON25 = ""]]></Condition>
@@ -1128,7 +1124,7 @@
</Feature>
</Feature>
- <!-- æ©è½å®ç¾© omniORBpy26 -->
+ <!-- Function definition omniORBpy26 -->
<Feature Id="omniORBpy26" Level="1" Title="OpenRTM-aist for Python 2.6"
ConfigurableDirectory="PYTHON26DIR">
<Condition Level="1"><![CDATA[ NOT PYTHON26 = ""]]></Condition>
@@ -1235,7 +1231,8 @@
</Feature>
<!-- OpenRTM_aist -->
- <Feature Id="Py26_OpenRTM_aist" Level="1" Title="OpenRTM-aist (Python)">
+ <Feature Id="Py26_OpenRTM_aist" Level="1" Title="OpenRTM-aist (Python)"
+ ConfigurableDirectory="INSTALLLOCATION">
<ComponentRef Id="Py26_RtmOpenrtm_aistUtilsRtcprof"/>
<ComponentRef Id="Py26_RtmOpenrtm_aistUtilsRtcd"/>
<ComponentRef Id="Py26_RtmOpenrtm_aistRoot"/>
@@ -1246,7 +1243,7 @@
</Feature>
</Feature>
- <!-- æ©è½å®ç¾© OpenRTM-aist -->
+ <!-- Function definition OpenRTM-aist -->
<Feature Id="ProductFeature" Level="1" Title="OpenRTM-aist (Python) common files"
ConfigurableDirectory="INSTALLLOCATION">
@@ -1291,17 +1288,13 @@
<!-- rtse rcp -->
<Feature Id="RTSystemEditor" Level="1" Title="RTSystemEditor">
- <ComponentRef Id="RTSystemEditor" />
- <ComponentRef Id="configuration" />
- <ComponentRef Id="plugins" />
- <ComponentRef Id="org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907" />
+ <ComponentRef Id="Openrtp" />
+ <ComponentRef Id="OpenrtpConfiguration" />
+ <ComponentRef Id="OpenrtpPlugins" />
+ <ComponentRef Id="org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610" />
<ComponentRef Id="META_INF" />
- <ComponentRef Id="org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227" />
- <ComponentRef Id="META_INF_1" />
- <ComponentRef Id="org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721" />
+ <ComponentRef Id="org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731" />
<ComponentRef Id="META_INF_2" />
- <ComponentRef Id="org.junit_3.8.1" />
- <ComponentRef Id="META_INF_3" />
</Feature>
</Feature>
<?endif ?>
@@ -1309,14 +1302,13 @@
<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="Bitmaps/bannrbmp.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="Bitmaps/dlgbmp.bmp" />
+ <WixVariable Id="WixUICostingPopupOptOut" Value="1" Overridable="no" />
<!-- <UIRef Id="WixUI_Mondo" /> -->
- <!-- WixUI_Mondo ã«ã¤ã³ã¹ãã¼ã«ã®ç¨®é¡ãé¸æãããã¤ã¢ãã°ã追å ãããã® -->
<UIRef Id="WixUI_Mondo_RTM" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
- <!-- ã¤ã³ã¹ãã¼ã«å®äºæã®IDLã³ã³ãã¤ã«å®è¡ -->
<CustomAction Id='IDLCOMPILE_PY24' Directory="PYTHON24DIR"
ExeCommand='"[bin]idlcompile.bat" "[bin]idlcompile.py" 2.4 "[Version]examples\Python"'
Return='asyncWait' />
@@ -1329,7 +1321,6 @@
ExeCommand='"[bin]idlcompile.bat" "[bin]idlcompile.py" 2.6 "[Version]examples\Python"'
Return='asyncWait' />
- <!-- ã¢ã³ã¤ã³ã¹ãã¼ã«æã®ãã©ã«ãã¼åé¤(IDLã³ã³ãã¤ã«å) -->
<CustomAction Id='REMOVEFOLDER_PY24' Directory="PYTHON24DIR"
ExeCommand='cmd.exe /C RMDIR /Q /S Lib\\site-packages\\OpenRTM_aist' Return='ignore' />
<CustomAction Id='REMOVEFOLDER_PY25' Directory="PYTHON25DIR"
@@ -1337,9 +1328,8 @@
<CustomAction Id='REMOVEFOLDER_PY26' Directory="PYTHON26DIR"
ExeCommand='cmd.exe /C RMDIR /Q /S Lib\\site-packages\\OpenRTM_aist' Return='ignore' />
- <!-- ã¢ã³ã¤ã³ã¹ãã¼ã«æã®ãã©ã«ãã¼åé¤(examples/Python) -->
<CustomAction Id='REMOVEFOLDER_RTM' Directory="INSTALLLOCATION"
- ExeCommand='cmd.exe /C RMDIR /Q /S 1.0\\examples\\Python' Return='ignore' />
+ ExeCommand='cmd.exe /C RMDIR /Q /S {% Product.ShortVersion %}\\examples\\Python' Return='ignore' />
</Product>
</Wix>
Added: branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.yaml.in
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.yaml.in (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTM-aist-Python.wxs.yaml.in 2011-09-16 09:37:35 UTC (rev 478)
@@ -0,0 +1,17 @@
+Product:
+ Name: OpenRTM-aist
+ ShortName: OpenRTM
+ Id: 11043B94-16BA-11DF-97DA-001C23DA0BDA
+ Language: "1041"
+ Codepage: "932"
+ Version: 1.1.0
+ ShortVersion: 1.1
+ Manufacturer: AIST
+ UpgradeCode: 958ED570-5471-4E82-8378-01C6068F31C2
+Package:
+ Description: OpenRTM-aist-Python Installer
+ InstallerVersion: "300"
+ Languages: "1041"
+ Compressed: 'yes'
+ SummaryCodepage: "932"
+
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTMpywxs.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTMpywxs.py 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTMpywxs.py 2011-09-16 09:37:35 UTC (rev 478)
@@ -65,7 +65,7 @@
##
base_dir = os.getenv("OPENRTM_PY")
if base_dir == None:
- base_dir = "C:\\distribution\\OpenRTM-aist-Python-1.0.0\\"
+ base_dir = "C:\\distribution\\OpenRTM-aist-Python-1.1.0\\"
else:
base_dir = base_dir.replace("\"", "")
base_dir += "\\"
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTP/OpenRTP_inc.wxs
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTP/OpenRTP_inc.wxs 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/OpenRTP/OpenRTP_inc.wxs 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,181 +1,292 @@
<?xml version="1.0" encoding="utf-8"?>
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
+ <!-- root directory -->
<Directory Id="OpenRTP" Name="OpenRTP">
- <Directory Id="RTSystemEditor" Name="RTSystemEditor">
- <Component Id="RTSystemEditor" DiskId="1" Guid="2748F847-387F-4AB8-AC7C-0557AA4DD742">
- <File Id="_.eclipseproduct" Name=".eclipseproduct" Source="C:\distribution\OpenRTP\RTSystemEditor\.eclipseproduct" />
- <File Id="RTSystemEditorRCP.exe"
- Name="RTSystemEditorRCP.exe"
- Source="C:\distribution\OpenRTP\RTSystemEditor\RTSystemEditorRCP.exe">
- <Shortcut Id="RTSystemEditorRCP.exe"
- Directory="ToolsMenuFolder"
- Name="RT System Editor"
- Show="normal" WorkingDirectory="USERPROFILEDIR"/>
- </File>
- <File Id="startup.jar" Name="startup.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\startup.jar" />
- </Component>
- <Directory Id="configuration" Name="configuration">
- <Component Id="configuration" DiskId="1" Guid="FBF727A3-5CBF-4AAA-B51F-430097A51090">
- <File Id="config.ini" Name="config.ini" Source="C:\distribution\OpenRTP\RTSystemEditor\configuration\config.ini" />
- </Component>
+ <Directory Id="OpenRTPVersion" Name="1.1">
+ <Component Id="Openrtp" Guid="6C2EF40F-8300-11E0-B1B3-00059A3C7800">
+ <Environment Id="OPENRTP_ROOT" Name="OPENRTP_ROOT" Action="set"
+ System="yes" Value="[openrtpVersion]" />
+ <File Id="Openrtp0000" Name="RTSystemEditorRCP.exe"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\RTSystemEditorRCP.exe">
+ <Shortcut Id="Openrtp0000" Directory="ToolsMenuFolder"
+ Name="RTSystemEditor"
+ Arguments="-data "%USERPROFILE%\workspace""
+ Show="normal" WorkingDirectory="OpenRTPVersion"/>
+ </File>
+ <File Id="Openrtp0001" Name=".eclipseproduct"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\.eclipseproduct">
+ </File>
+ </Component>
+
+ <!-- configuration -->
+ <Directory Id="openrtp_configuration" Name="configuration">
+ <Component Id="OpenrtpConfiguration" Guid="6C3F95E1-8300-11E0-8815-00059A3C7800">
+ <File Id="OpenrtpConfiguration0000" Name="config.ini"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\configuration\\config.ini">
+ </File>
+ </Component>
</Directory>
- <Directory Id="plugins" Name="plugins">
- <Component Id="plugins" DiskId="1" Guid="D96B7838-06D5-4281-93AE-A5A6F694350D">
- <File Id="com.ibm.icu.nl1_3.4.5.v200609270227.jar" Name="com.ibm.icu.nl1_3.4.5.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\com.ibm.icu.nl1_3.4.5.v200609270227.jar" />
- <File Id="com.ibm.icu_3.4.5.20061213.jar" Name="com.ibm.icu_3.4.5.20061213.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\com.ibm.icu_3.4.5.20061213.jar" />
- <File Id="jp.go.aist.rtm.nameserviceview.nl1_1.0.0.jar" Name="jp.go.aist.rtm.nameserviceview.nl1_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.nameserviceview.nl1_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.nameserviceview_1.0.0.jar" Name="jp.go.aist.rtm.nameserviceview_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.nameserviceview_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.repositoryView.nl1_1.0.0.jar" Name="jp.go.aist.rtm.repositoryView.nl1_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.repositoryView.nl1_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.repositoryView_1.0.0.jar" Name="jp.go.aist.rtm.repositoryView_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.repositoryView_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.systemeditor.nl1_1.0.0.jar" Name="jp.go.aist.rtm.systemeditor.nl1_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.systemeditor.nl1_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.systemeditor.RCP_1.0.0.jar" Name="jp.go.aist.rtm.systemeditor.RCP_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.systemeditor.RCP_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.systemeditor_1.0.0.jar" Name="jp.go.aist.rtm.systemeditor_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.systemeditor_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.toolscommon.nl1_1.0.0.jar" Name="jp.go.aist.rtm.toolscommon.nl1_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.toolscommon.nl1_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.toolscommon.profiles.nl1_1.0.0.jar" Name="jp.go.aist.rtm.toolscommon.profiles.nl1_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.toolscommon.profiles.nl1_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.toolscommon.profiles_1.0.0.jar" Name="jp.go.aist.rtm.toolscommon.profiles_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.toolscommon.profiles_1.0.0.jar" />
- <File Id="jp.go.aist.rtm.toolscommon_1.0.0.jar" Name="jp.go.aist.rtm.toolscommon_1.0.0.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\jp.go.aist.rtm.toolscommon_1.0.0.jar" />
- <File Id="org.eclipse.ant.core.nl1_3.1.100.v200609270227.jar" Name="org.eclipse.ant.core.nl1_3.1.100.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ant.core.nl1_3.1.100.v200609270227.jar" />
- <File Id="org.eclipse.ant.core_3.1.100.v20060531.jar" Name="org.eclipse.ant.core_3.1.100.v20060531.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ant.core_3.1.100.v20060531.jar" />
- <File Id="org.eclipse.core.commands.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.core.commands.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.commands.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.core.commands_3.2.0.I20060605_1400.jar" Name="org.eclipse.core.commands_3.2.0.I20060605-1400.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.commands_3.2.0.I20060605-1400.jar" />
- <File Id="org.eclipse.core.contenttype.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.core.contenttype.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.contenttype.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.core.contenttype_3.2.0.v20060603.jar" Name="org.eclipse.core.contenttype_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.contenttype_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.core.expressions.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.core.expressions.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.expressions.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar" Name="org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar" />
- <File Id="org.eclipse.core.filebuffers.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.core.filebuffers.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.filebuffers.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.core.filebuffers_3.2.1.r321_v20060721.jar" Name="org.eclipse.core.filebuffers_3.2.1.r321_v20060721.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.filebuffers_3.2.1.r321_v20060721.jar" />
- <File Id="org.eclipse.core.filesystem.nl1_1.0.0.v200609270227.jar" Name="org.eclipse.core.filesystem.nl1_1.0.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.filesystem.nl1_1.0.0.v200609270227.jar" />
- <File Id="org.eclipse.core.filesystem.win32.x86_1.0.0.v20060603.jar" Name="org.eclipse.core.filesystem.win32.x86_1.0.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.filesystem.win32.x86_1.0.0.v20060603.jar" />
- <File Id="org.eclipse.core.filesystem_1.0.0.v20060603.jar" Name="org.eclipse.core.filesystem_1.0.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.filesystem_1.0.0.v20060603.jar" />
- <File Id="org.eclipse.core.jobs.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.core.jobs.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.jobs.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.core.jobs_3.2.0.v20060603.jar" Name="org.eclipse.core.jobs_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.jobs_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.core.resources.compatibility_3.2.0.v20060603.jar" Name="org.eclipse.core.resources.compatibility_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.resources.compatibility_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.core.resources.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.core.resources.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.resources.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.core.resources.win32_3.2.0.v20060603.jar" Name="org.eclipse.core.resources.win32_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.resources.win32_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.core.resources_3.2.2.R32x_v20061218.jar" Name="org.eclipse.core.resources_3.2.2.R32x_v20061218.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.resources_3.2.2.R32x_v20061218.jar" />
- <File Id="org.eclipse.core.runtime.compatibility.auth.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.core.runtime.compatibility.auth.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.auth.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.core.runtime.compatibility.auth_3.2.0.v20060601.jar" Name="org.eclipse.core.runtime.compatibility.auth_3.2.0.v20060601.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.auth_3.2.0.v20060601.jar" />
- <File Id="org.eclipse.core.runtime.compatibility.nl1_3.1.100.v200609270227.jar" Name="org.eclipse.core.runtime.compatibility.nl1_3.1.100.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.nl1_3.1.100.v200609270227.jar" />
- <File Id="org.eclipse.core.runtime.compatibility_3.1.100.v20060603.jar" Name="org.eclipse.core.runtime.compatibility_3.1.100.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility_3.1.100.v20060603.jar" />
- <File Id="org.eclipse.core.runtime.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.core.runtime.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.core.runtime_3.2.0.v20060603.jar" Name="org.eclipse.core.runtime_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.core.variables.nl1_3.1.100.v200609270227.jar" Name="org.eclipse.core.variables.nl1_3.1.100.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.variables.nl1_3.1.100.v200609270227.jar" />
- <File Id="org.eclipse.core.variables_3.1.100.v20060605.jar" Name="org.eclipse.core.variables_3.1.100.v20060605.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.variables_3.1.100.v20060605.jar" />
- <File Id="org.eclipse.draw2d_3.2.2.v20070208.jar" Name="org.eclipse.draw2d_3.2.2.v20070208.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.draw2d_3.2.2.v20070208.jar" />
- <File Id="org.eclipse.emf.common_2.2.2.v200808252119.jar" Name="org.eclipse.emf.common_2.2.2.v200808252119.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.emf.common_2.2.2.v200808252119.jar" />
- <File Id="org.eclipse.emf.ecore.xmi_2.2.5.v200808252119.jar" Name="org.eclipse.emf.ecore.xmi_2.2.5.v200808252119.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.emf.ecore.xmi_2.2.5.v200808252119.jar" />
- <File Id="org.eclipse.emf.ecore_2.2.4.v200808252119.jar" Name="org.eclipse.emf.ecore_2.2.4.v200808252119.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.emf.ecore_2.2.4.v200808252119.jar" />
- <File Id="org.eclipse.equinox.common.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.equinox.common.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.common.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.equinox.common_3.2.0.v20060603.jar" Name="org.eclipse.equinox.common_3.2.0.v20060603.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.common_3.2.0.v20060603.jar" />
- <File Id="org.eclipse.equinox.preferences.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.equinox.preferences.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.preferences.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.equinox.preferences_3.2.1.R32x_v20060717.jar" Name="org.eclipse.equinox.preferences_3.2.1.R32x_v20060717.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.preferences_3.2.1.R32x_v20060717.jar" />
- <File Id="org.eclipse.equinox.registry.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.equinox.registry.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.registry.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar" Name="org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar" />
- <File Id="org.eclipse.gef_3.2.2.v20070208.jar" Name="org.eclipse.gef_3.2.2.v20070208.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.gef_3.2.2.v20070208.jar" />
- <File Id="org.eclipse.help.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.help.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.help.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.help_3.2.2.R322_v20061213.jar" Name="org.eclipse.help_3.2.2.R322_v20061213.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.help_3.2.2.R322_v20061213.jar" />
- <File Id="org.eclipse.jface.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.jface.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jface.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.jface.text.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.jface.text.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jface.text.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.jface.text_3.2.2.r322_v20070104.jar" Name="org.eclipse.jface.text_3.2.2.r322_v20070104.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jface.text_3.2.2.r322_v20070104.jar" />
- <File Id="org.eclipse.jface_3.2.2.M20061214_1200.jar" Name="org.eclipse.jface_3.2.2.M20061214-1200.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jface_3.2.2.M20061214-1200.jar" />
- <File Id="org.eclipse.osgi.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.osgi.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.osgi.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.osgi_3.2.2.R32x_v20070118.jar" Name="org.eclipse.osgi_3.2.2.R32x_v20070118.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.osgi_3.2.2.R32x_v20070118.jar" />
- <File Id="org.eclipse.pde.junit.runtime.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.pde.junit.runtime.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.pde.junit.runtime.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.pde.junit.runtime_3.2.0.v20060605.jar" Name="org.eclipse.pde.junit.runtime_3.2.0.v20060605.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.pde.junit.runtime_3.2.0.v20060605.jar" />
- <File Id="org.eclipse.swt.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.swt.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.swt.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar" Name="org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar" />
- <File Id="org.eclipse.swt_3.2.2.v3236b.jar" Name="org.eclipse.swt_3.2.2.v3236b.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.swt_3.2.2.v3236b.jar" />
- <File Id="org.eclipse.text.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.text.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.text.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.text_3.2.0.v20060605_1400.jar" Name="org.eclipse.text_3.2.0.v20060605-1400.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.text_3.2.0.v20060605-1400.jar" />
- <File Id="org.eclipse.ui.console.nl1_3.1.100.v200609270227.jar" Name="org.eclipse.ui.console.nl1_3.1.100.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.console.nl1_3.1.100.v200609270227.jar" />
- <File Id="org.eclipse.ui.console_3.1.100.v20060605.jar" Name="org.eclipse.ui.console_3.1.100.v20060605.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.console_3.1.100.v20060605.jar" />
- <File Id="org.eclipse.ui.editors.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.ui.editors.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.editors.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.ui.editors_3.2.1.r321_v20060721.jar" Name="org.eclipse.ui.editors_3.2.1.r321_v20060721.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.editors_3.2.1.r321_v20060721.jar" />
- <File Id="org.eclipse.ui.forms.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.ui.forms.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.forms.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.ui.forms_3.2.0.v20060602.jar" Name="org.eclipse.ui.forms_3.2.0.v20060602.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.forms_3.2.0.v20060602.jar" />
- <File Id="org.eclipse.ui.ide.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.ui.ide.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.ide.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.ui.ide_3.2.1.M20060915_1030.jar" Name="org.eclipse.ui.ide_3.2.1.M20060915-1030.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.ide_3.2.1.M20060915-1030.jar" />
- <File Id="org.eclipse.ui.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.ui.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.ui.views.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.ui.views.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.views.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.ui.views_3.2.1.M20060906_0800.jar" Name="org.eclipse.ui.views_3.2.1.M20060906-0800.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.views_3.2.1.M20060906-0800.jar" />
- <File Id="org.eclipse.ui.win32_3.2.0.I20060605_1400.jar" Name="org.eclipse.ui.win32_3.2.0.I20060605-1400.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.win32_3.2.0.I20060605-1400.jar" />
- <File Id="org.eclipse.ui.workbench.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.ui.workbench.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.workbench.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.ui.workbench.texteditor.nl1_3.2.0.v200609270227.jar" Name="org.eclipse.ui.workbench.texteditor.nl1_3.2.0.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.workbench.texteditor.nl1_3.2.0.v200609270227.jar" />
- <File Id="org.eclipse.ui.workbench.texteditor_3.2.0.v20060605_1400.jar" Name="org.eclipse.ui.workbench.texteditor_3.2.0.v20060605-1400.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.workbench.texteditor_3.2.0.v20060605-1400.jar" />
- <File Id="org.eclipse.ui.workbench_3.2.2.M20070119_0800.jar" Name="org.eclipse.ui.workbench_3.2.2.M20070119-0800.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui.workbench_3.2.2.M20070119-0800.jar" />
- <File Id="org.eclipse.ui_3.2.1.M20061108.jar" Name="org.eclipse.ui_3.2.1.M20061108.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.ui_3.2.1.M20061108.jar" />
- <File Id="org.eclipse.update.configurator.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.update.configurator.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.configurator.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.update.configurator_3.2.2.R32x_v20070111.jar" Name="org.eclipse.update.configurator_3.2.2.R32x_v20070111.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.configurator_3.2.2.R32x_v20070111.jar" />
- <File Id="org.eclipse.update.core.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.update.core.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.core.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.update.core.win32_3.2.2.R32x_v20061214.jar" Name="org.eclipse.update.core.win32_3.2.2.R32x_v20061214.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.core.win32_3.2.2.R32x_v20061214.jar" />
- <File Id="org.eclipse.update.core_3.2.3.R32x_v20070118.jar" Name="org.eclipse.update.core_3.2.3.R32x_v20070118.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.core_3.2.3.R32x_v20070118.jar" />
- <File Id="org.eclipse.update.ui.nl1_3.2.1.v200609270227.jar" Name="org.eclipse.update.ui.nl1_3.2.1.v200609270227.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.ui.nl1_3.2.1.v200609270227.jar" />
- <File Id="org.eclipse.update.ui_3.2.2.R32x_v20070111.jar" Name="org.eclipse.update.ui_3.2.2.R32x_v20070111.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.update.ui_3.2.2.R32x_v20070111.jar" />
- </Component>
- <Directory Id="org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907" Name="org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907">
- <Component Id="org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907" DiskId="1" Guid="9B406546-ADAC-458F-8868-4D8E286A179F">
- <File Id="about.html" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907\about.html" />
- <File Id="fragment.properties" Name="fragment.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907\fragment.properties" />
- <File Id="runtime_registry_compatibility.jar" Name="runtime_registry_compatibility.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907\runtime_registry_compatibility.jar" />
+
+ <!-- plugins -->
+ <Directory Id="openrtp_plugins" Name="plugins">
+ <Component Id="OpenrtpPlugins" Guid="6C3F95E1-8300-11E0-87AE-00059A3C7800">
+ <File Id="OpenrtpPlugins0000" Name="com.ibm.icu.nl_ja_3.8.1.v20080530.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\com.ibm.icu.nl_ja_3.8.1.v20080530.jar">
+ </File>
+ <File Id="OpenrtpPlugins0001" Name="com.ibm.icu_3.8.1.v20080530.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\com.ibm.icu_3.8.1.v20080530.jar">
+ </File>
+ <File Id="OpenrtpPlugins0002" Name="jp.go.aist.rtm.nameserviceview.nl1_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.nameserviceview.nl1_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0003" Name="jp.go.aist.rtm.nameserviceview_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.nameserviceview_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0004" Name="jp.go.aist.rtm.repositoryView.nl1_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.repositoryView.nl1_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0005" Name="jp.go.aist.rtm.repositoryView_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.repositoryView_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0006" Name="jp.go.aist.rtm.systemeditor.nl1_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.systemeditor.nl1_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0007" Name="jp.go.aist.rtm.systemeditor.RCP_1.0.0.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.systemeditor.RCP_1.0.0.jar">
+ </File>
+ <File Id="OpenrtpPlugins0008" Name="jp.go.aist.rtm.systemeditor_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.systemeditor_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0009" Name="jp.go.aist.rtm.toolscommon.nl1_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.toolscommon.nl1_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0010" Name="jp.go.aist.rtm.toolscommon.profiles.nl1_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.toolscommon.profiles.nl1_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0011" Name="jp.go.aist.rtm.toolscommon.profiles_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.toolscommon.profiles_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0012" Name="jp.go.aist.rtm.toolscommon_1.1.0.rc2v20110725.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\jp.go.aist.rtm.toolscommon_1.1.0.rc2v20110725.jar">
+ </File>
+ <File Id="OpenrtpPlugins0013" Name="org.eclipse.core.commands.nl_ja_3.4.0.I20080509-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.commands.nl_ja_3.4.0.I20080509-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0014" Name="org.eclipse.core.commands_3.4.0.I20080509-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.commands_3.4.0.I20080509-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0015" Name="org.eclipse.core.contenttype.nl_ja_3.3.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.contenttype.nl_ja_3.3.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0016" Name="org.eclipse.core.contenttype_3.3.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.contenttype_3.3.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0017" Name="org.eclipse.core.databinding.nl_ja_1.1.1.M20080827-0800b.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.databinding.nl_ja_1.1.1.M20080827-0800b.jar">
+ </File>
+ <File Id="OpenrtpPlugins0018" Name="org.eclipse.core.databinding_1.1.1.M20080827-0800b.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.databinding_1.1.1.M20080827-0800b.jar">
+ </File>
+ <File Id="OpenrtpPlugins0019" Name="org.eclipse.core.expressions.nl_ja_3.4.1.r342_v20081203-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.expressions.nl_ja_3.4.1.r342_v20081203-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0020" Name="org.eclipse.core.expressions_3.4.1.r342_v20081203-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.expressions_3.4.1.r342_v20081203-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0021" Name="org.eclipse.core.filebuffers.nl_ja_3.4.0.v20080603-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.filebuffers.nl_ja_3.4.0.v20080603-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0022" Name="org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.filebuffers_3.4.0.v20080603-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0023" Name="org.eclipse.core.filesystem.nl_ja_1.2.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.filesystem.nl_ja_1.2.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0024" Name="org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0025" Name="org.eclipse.core.filesystem_1.2.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.filesystem_1.2.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0026" Name="org.eclipse.core.jobs.nl_ja_3.4.1.R34x_v20081128.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.jobs.nl_ja_3.4.1.R34x_v20081128.jar">
+ </File>
+ <File Id="OpenrtpPlugins0027" Name="org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.jobs_3.4.1.R34x_v20081128.jar">
+ </File>
+ <File Id="OpenrtpPlugins0028" Name="org.eclipse.core.resources.compatibility_3.4.0.v20080604-1400.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.resources.compatibility_3.4.0.v20080604-1400.jar">
+ </File>
+ <File Id="OpenrtpPlugins0029" Name="org.eclipse.core.resources.nl_ja_3.4.2.R34x_v20090126.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.resources.nl_ja_3.4.2.R34x_v20090126.jar">
+ </File>
+ <File Id="OpenrtpPlugins0030" Name="org.eclipse.core.resources.win32.x86_3.4.0.v20071204.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.resources.win32.x86_3.4.0.v20071204.jar">
+ </File>
+ <File Id="OpenrtpPlugins0031" Name="org.eclipse.core.resources_3.4.2.R34x_v20090126.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.resources_3.4.2.R34x_v20090126.jar">
+ </File>
+ <File Id="OpenrtpPlugins0033" Name="org.eclipse.core.runtime_3.4.0.v20080512.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.core.runtime_3.4.0.v20080512.jar">
+ </File>
+ <File Id="OpenrtpPlugins0034" Name="org.eclipse.draw2d_3.4.2.v20090114-1330.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.draw2d_3.4.2.v20090114-1330.jar">
+ </File>
+ <File Id="OpenrtpPlugins0035" Name="org.eclipse.emf.common_2.4.0.v200902171115.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.emf.common_2.4.0.v200902171115.jar">
+ </File>
+ <File Id="OpenrtpPlugins0036" Name="org.eclipse.emf.ecore.xmi_2.4.1.v200902171115.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.emf.ecore.xmi_2.4.1.v200902171115.jar">
+ </File>
+ <File Id="OpenrtpPlugins0037" Name="org.eclipse.emf.ecore_2.4.2.v200902171115.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.emf.ecore_2.4.2.v200902171115.jar">
+ </File>
+ <File Id="OpenrtpPlugins0038" Name="org.eclipse.equinox.app.nl_ja_1.1.0.v20080421-2006.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.app.nl_ja_1.1.0.v20080421-2006.jar">
+ </File>
+ <File Id="OpenrtpPlugins0039" Name="org.eclipse.equinox.app_1.1.0.v20080421-2006.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.app_1.1.0.v20080421-2006.jar">
+ </File>
+ <File Id="OpenrtpPlugins0040" Name="org.eclipse.equinox.common.nl_ja_3.4.0.v20080421-2006.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.common.nl_ja_3.4.0.v20080421-2006.jar">
+ </File>
+ <File Id="OpenrtpPlugins0041" Name="org.eclipse.equinox.common_3.4.0.v20080421-2006.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.common_3.4.0.v20080421-2006.jar">
+ </File>
+ <File Id="OpenrtpPlugins0042" Name="org.eclipse.equinox.launcher.nl_ja_1.0.101.R34x_v20081125.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.launcher.nl_ja_1.0.101.R34x_v20081125.jar">
+ </File>
+ <File Id="OpenrtpPlugins0043" Name="org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar">
+ </File>
+ <File Id="OpenrtpPlugins0044" Name="org.eclipse.equinox.preferences.nl_ja_3.2.201.R34x_v20080709.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.preferences.nl_ja_3.2.201.R34x_v20080709.jar">
+ </File>
+ <File Id="OpenrtpPlugins0045" Name="org.eclipse.equinox.preferences_3.2.201.R34x_v20080709.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.preferences_3.2.201.R34x_v20080709.jar">
+ </File>
+ <File Id="OpenrtpPlugins0046" Name="org.eclipse.equinox.registry.nl_ja_3.4.0.v20080516-0950.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.registry.nl_ja_3.4.0.v20080516-0950.jar">
+ </File>
+ <File Id="OpenrtpPlugins0047" Name="org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar">
+ </File>
+ <File Id="OpenrtpPlugins0048" Name="org.eclipse.gef_3.4.1.v20080806.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.gef_3.4.1.v20080806.jar">
+ </File>
+ <File Id="OpenrtpPlugins0049" Name="org.eclipse.help.nl_ja_3.3.102.v20081014_34x.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.help.nl_ja_3.3.102.v20081014_34x.jar">
+ </File>
+ <File Id="OpenrtpPlugins0050" Name="org.eclipse.help_3.3.102.v20081014_34x.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.help_3.3.102.v20081014_34x.jar">
+ </File>
+ <File Id="OpenrtpPlugins0051" Name="org.eclipse.jface.databinding.nl_ja_1.2.1.M20080827-0800a.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface.databinding.nl_ja_1.2.1.M20080827-0800a.jar">
+ </File>
+ <File Id="OpenrtpPlugins0052" Name="org.eclipse.jface.databinding_1.2.1.M20080827-0800a.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface.databinding_1.2.1.M20080827-0800a.jar">
+ </File>
+ <File Id="OpenrtpPlugins0053" Name="org.eclipse.jface.nl_ja_3.4.2.M20090107-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface.nl_ja_3.4.2.M20090107-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0054" Name="org.eclipse.jface.text.nl_ja_3.4.2.r342_v20081119-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface.text.nl_ja_3.4.2.r342_v20081119-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0055" Name="org.eclipse.jface.text_3.4.2.r342_v20081119-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface.text_3.4.2.r342_v20081119-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0056" Name="org.eclipse.jface_3.4.2.M20090107-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.jface_3.4.2.M20090107-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0057" Name="org.eclipse.osgi.nl_ja_3.4.3.R34x_v20081215-1030.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.osgi.nl_ja_3.4.3.R34x_v20081215-1030.jar">
+ </File>
+ <File Id="OpenrtpPlugins0058" Name="org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar">
+ </File>
+ <File Id="OpenrtpPlugins0059" Name="org.eclipse.swt.nl_ja_3.4.2.v3452b.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.swt.nl_ja_3.4.2.v3452b.jar">
+ </File>
+ <File Id="OpenrtpPlugins0060" Name="org.eclipse.swt.win32.win32.x86_3.4.1.v3452b.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.swt.win32.win32.x86_3.4.1.v3452b.jar">
+ </File>
+ <File Id="OpenrtpPlugins0061" Name="org.eclipse.swt_3.4.2.v3452b.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.swt_3.4.2.v3452b.jar">
+ </File>
+ <File Id="OpenrtpPlugins0062" Name="org.eclipse.text.nl_ja_3.4.0.v20080605-1800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.text.nl_ja_3.4.0.v20080605-1800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0063" Name="org.eclipse.text_3.4.0.v20080605-1800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.text_3.4.0.v20080605-1800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0064" Name="org.eclipse.ui.editors.nl_ja_3.4.0.v20080603-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.editors.nl_ja_3.4.0.v20080603-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0065" Name="org.eclipse.ui.editors_3.4.0.v20080603-2000.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.editors_3.4.0.v20080603-2000.jar">
+ </File>
+ <File Id="OpenrtpPlugins0066" Name="org.eclipse.ui.ide.nl_ja_3.4.2.M20090127-1700.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.ide.nl_ja_3.4.2.M20090127-1700.jar">
+ </File>
+ <File Id="OpenrtpPlugins0067" Name="org.eclipse.ui.ide_3.4.2.M20090127-1700.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.ide_3.4.2.M20090127-1700.jar">
+ </File>
+ <File Id="OpenrtpPlugins0068" Name="org.eclipse.ui.nl_ja_3.4.2.M20090204-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.nl_ja_3.4.2.M20090204-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0069" Name="org.eclipse.ui.views.nl_ja_3.3.1.M20081112-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.views.nl_ja_3.3.1.M20081112-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0070" Name="org.eclipse.ui.views_3.3.1.M20081112-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.views_3.3.1.M20081112-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0071" Name="org.eclipse.ui.win32_3.2.100.v20080408-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.win32_3.2.100.v20080408-0800.jar">
+ </File>
+ <File Id="OpenrtpPlugins0072" Name="org.eclipse.ui.workbench.nl_ja_3.4.2.M20090127-1700.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.workbench.nl_ja_3.4.2.M20090127-1700.jar">
+ </File>
+ <File Id="OpenrtpPlugins0073" Name="org.eclipse.ui.workbench.texteditor.nl_ja_3.4.1.r341_v20080827-1100.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.workbench.texteditor.nl_ja_3.4.1.r341_v20080827-1100.jar">
+ </File>
+ <File Id="OpenrtpPlugins0074" Name="org.eclipse.ui.workbench.texteditor_3.4.1.r341_v20080827-1100.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.workbench.texteditor_3.4.1.r341_v20080827-1100.jar">
+ </File>
+ <File Id="OpenrtpPlugins0075" Name="org.eclipse.ui.workbench_3.4.2.M20090127-1700.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui.workbench_3.4.2.M20090127-1700.jar">
+ </File>
+ <File Id="OpenrtpPlugins0076" Name="org.eclipse.ui_3.4.2.M20090204-0800.jar"
+ DiskId="1" Source="C:\\distribution\\OpenRTP\\RTSystemEditor\\plugins\\org.eclipse.ui_3.4.2.M20090204-0800.jar">
+ </File>
+ </Component>
+ <Directory Id="org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610" Name="org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610">
+ <Component Id="org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610" DiskId="1" Guid="9B406546-ADAC-458F-8868-4D8E286A179F">
+ <File Id="about.html" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610\about.html" />
+ <File Id="fragment.properties" Name="fragment.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610\fragment.properties" />
+ <File Id="runtime_registry_compatibility.jar" Name="runtime_registry_compatibility.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610\runtime_registry_compatibility.jar" />
</Component>
<Directory Id="META_INF" Name="META-INF">
- <Component Id="META_INF" DiskId="1" Guid="2FC7BBAC-7BE2-43A6-B281-45E5321BA6CD">
- <File Id="eclipse.inf" Name="eclipse.inf" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907\META-INF\eclipse.inf" />
- <File Id="MANIFEST.MF" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907\META-INF\MANIFEST.MF" />
+ <Component Id="META_INF" DiskId="1" Guid="845976BB-6E57-4504-B0E4-E92063791414">
+ <File Id="eclipse.inf" Name="eclipse.inf" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610\META-INF\eclipse.inf" />
+ <File Id="MANIFEST.MF" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610\META-INF\MANIFEST.MF" />
</Component>
</Directory>
</Directory>
- <Directory Id="org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227" Name="org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227">
- <Component Id="org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227" DiskId="1" Guid="F1928B56-E60D-4F13-8284-00E2B99BB2BB">
- <File Id="about.html_1" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\about.html" />
- <File Id="nl1.jar" Name="nl1.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\nl1.jar" />
- <File Id="nl_fragment.properties" Name="nl_fragment.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\nl_fragment.properties" />
- <File Id="plugin_de.properties" Name="plugin_de.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_de.properties" />
- <File Id="plugin_es.properties" Name="plugin_es.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_es.properties" />
- <File Id="plugin_fr.properties" Name="plugin_fr.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_fr.properties" />
- <File Id="plugin_it.properties" Name="plugin_it.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_it.properties" />
- <File Id="plugin_ja.properties" Name="plugin_ja.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_ja.properties" />
- <File Id="plugin_ko.properties" Name="plugin_ko.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_ko.properties" />
- <File Id="plugin_pt_BR.properties" Name="plugin_pt_BR.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_pt_BR.properties" />
- <File Id="plugin_zh.properties" Name="plugin_zh.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_zh.properties" />
- <File Id="plugin_zh_HK.properties" Name="plugin_zh_HK.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_zh_HK.properties" />
- <File Id="plugin_zh_TW.properties" Name="plugin_zh_TW.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\plugin_zh_TW.properties" />
+ <Directory Id="org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731" Name="org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731">
+ <Component Id="org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731" DiskId="1" Guid="9B406546-ADAC-458F-8868-4D8E286A179F">
+ <File Id="about.html_1" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\about.html" />
+ <File Id="launcher.win32.win32.x86.properties" Name="launcher.win32.win32.x86.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\launcher.win32.win32.x86.properties" />
+ <File Id="eclipse_1115.dll" Name="eclipse_1115.dll" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\eclipse_1115.dll" />
</Component>
- <Directory Id="META_INF_1" Name="META-INF">
- <Component Id="META_INF_1" DiskId="1" Guid="845976BB-6E57-4504-B0E4-E92063791414">
- <File Id="MANIFEST.MF_1" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime.nl1_3.2.1.v200609270227\META-INF\MANIFEST.MF" />
+ <Directory Id="META_INF_2" Name="META-INF_2">
+ <Component Id="META_INF_2" DiskId="1" Guid="2FC7BBAC-7BE2-43A6-B281-45E5321BA6CD">
+ <File Id="eclipse.inf_1" Name="eclipse.inf" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\META-INF\eclipse.inf" />
+ <File Id="MANIFEST.MF_1" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\META-INF\MANIFEST.MF" />
</Component>
</Directory>
</Directory>
- <Directory Id="org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721" Name="org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721">
- <Component Id="org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721" DiskId="1" Guid="8C9D2750-2CBE-4624-9765-E6E1C21334EA">
- <File Id="about.html_2" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\about.html" />
- <File Id="junitruntime.jar" Name="junitruntime.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\junitruntime.jar" />
- <File Id="plugin.properties" Name="plugin.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\plugin.properties" />
- <File Id="plugin.xml" Name="plugin.xml" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\plugin.xml" />
- </Component>
- <Directory Id="META_INF_2" Name="META-INF">
- <Component Id="META_INF_2" DiskId="1" Guid="995CB0A7-44B0-4096-B6FF-9F0DEAF351F1">
- <File Id="eclipse.inf_1" Name="eclipse.inf" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\META-INF\eclipse.inf" />
- <File Id="MANIFEST.MF_2" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.eclipse.jdt.junit.runtime_3.2.1.r321_v20060721\META-INF\MANIFEST.MF" />
- </Component>
- </Directory>
- </Directory>
- <Directory Id="org.junit_3.8.1" Name="org.junit_3.8.1">
- <Component Id="org.junit_3.8.1" DiskId="1" Guid="83E80B5D-F3C6-4070-B5F5-DBCE74479317">
- <File Id="about.html_3" Name="about.html" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\about.html" />
- <File Id="junit.jar" Name="junit.jar" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\junit.jar" />
- <File Id="plugin.properties_1" Name="plugin.properties" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\plugin.properties" />
- <File Id="plugin.xml_1" Name="plugin.xml" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\plugin.xml" />
- </Component>
- <Directory Id="META_INF_3" Name="META-INF">
- <Component Id="META_INF_3" DiskId="1" Guid="4D8D5C2E-9D89-43F1-99BA-58E91902AFEA">
- <File Id="eclipse.inf_2" Name="eclipse.inf" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\META-INF\eclipse.inf" />
- <File Id="MANIFEST.MF_3" Name="MANIFEST.MF" Source="C:\distribution\OpenRTP\RTSystemEditor\plugins\org.junit_3.8.1\META-INF\MANIFEST.MF" />
- </Component>
- </Directory>
- </Directory>
</Directory>
</Directory>
</Directory>
</Include>
+
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_Mondo_RTM.wxs
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_Mondo_RTM.wxs 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_Mondo_RTM.wxs 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <!-- WixUI_Mondo ã«ã¤ã³ã¹ãã¼ã«ã®ç¨®é¡ãé¸æãããã¤ã¢ãã°ã追å ãããã® -->
<Fragment>
<Property Id='USERNAME' Value='[LogonUser]' />
<Property Id="WixAppFolder" Value="WixPerMachineFolder" />
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_en-us.wxl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_en-us.wxl 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_en-us.wxl 2011-09-16 09:37:35 UTC (rev 478)
@@ -10,7 +10,7 @@
You must not remove this notice, or any other, from this software.
-->
-<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WixUIBack" Overridable="yes">&Back</String>
<String Id="WixUINext" Overridable="yes">&Next</String>
<String Id="WixUICancel" Overridable="yes">Cancel</String>
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_hu-hu.wxl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_hu-hu.wxl 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_hu-hu.wxl 2011-09-16 09:37:35 UTC (rev 478)
@@ -10,7 +10,7 @@
You must not remove this notice, or any other, from this software.
-->
-<WixLocalization Culture="hu-hu" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+<WixLocalization Culture="hu-hu" Codepage="1250" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WixUIBack" Overridable="yes">&Vissza</String>
<String Id="WixUINext" Overridable="yes">&Tov叩bb</String>
<String Id="WixUICancel" Overridable="yes">&M辿gse</String>
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ja-jp.wxl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ja-jp.wxl 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ja-jp.wxl 2011-09-16 09:37:35 UTC (rev 478)
@@ -2,7 +2,7 @@
<!--
Copyright (c) Microsoft Corporation. All rights reserved.
-->
-<WixLocalization Culture="ja-jp" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WixUIBack" Overridable="yes">æ»ã(&B)</String>
<String Id="WixUINext" Overridable="yes">次ã¸(&N)</String>
<String Id="WixUICancel" Overridable="yes">ãã£ã³ã»ã«</String>
@@ -202,7 +202,7 @@
<String Id="SetupTypeDlgTypicalButtonTooltip" Overridable="yes">æ¨æºã¤ã³ã¹ãã¼ã«</String>
<String Id="SetupTypeDlgCustomButton" Overridable="yes">ã«ã¹ã¿ã (&U)</String>
<String Id="SetupTypeDlgCustomButtonTooltip" Overridable="yes">ã«ã¹ã¿ã ã¤ã³ã¹ãã¼ã«</String>
- <String Id="SetupTypeDlgCompleteButton" Overridable="yes">å®äº(&O)</String>
+ <String Id="SetupTypeDlgCompleteButton" Overridable="yes">å®å
¨(&O)</String>
<String Id="SetupTypeDlgCompleteButtonTooltip" Overridable="yes">å®å
¨ã¤ã³ã¹ãã¼ã«</String>
<String Id="SetupTypeDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
<String Id="SetupTypeDlgTitle" Overridable="yes">{\WixUI_Font_Title}ã»ããã¢ããã®ç¨®é¡ã®é¸æ</String>
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ko-kr.wxl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ko-kr.wxl 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_ko-kr.wxl 2011-09-16 09:37:35 UTC (rev 478)
@@ -2,57 +2,57 @@
<!--
Copyright (c) Microsoft Corporation. All rights reserved.
-->
-<WixLocalization Culture="ko-kr" xmlns="http://schemas.microsoft.com/wix/2006/localization">
- <String Id="WixUIBack" Overridable="yes">ë¤ë¡(&B)</String>
- <String Id="WixUINext" Overridable="yes">ë¤ì(&N)</String>
- <String Id="WixUICancel" Overridable="yes">ì·¨ì</String>
- <String Id="WixUIFinish" Overridable="yes">ë§ì¹¨(&F)</String>
- <String Id="WixUIRetry" Overridable="yes">ë¤ì ìë(&R)</String>
- <String Id="WixUIIgnore" Overridable="yes">무ì(&I)</String>
- <String Id="WixUIYes" Overridable="yes">ì(&Y)</String>
- <String Id="WixUINo" Overridable="yes">ìëì(&N)</String>
- <String Id="WixUIOK" Overridable="yes">íì¸</String>
- <String Id="WixUIPrint" Overridable="yes">ì¸ì(&P)</String>
+<WixLocalization Culture="ko-kr" Codepage="949" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="WixUIBack" Overridable="yes">E¤EE&B)</String>
+ <String Id="WixUINext" Overridable="yes">E¤EE&N)</String>
+ <String Id="WixUICancel" Overridable="yes">E¨EE/String>
+ <String Id="WixUIFinish" Overridable="yes">E침(&F)</String>
+ <String Id="WixUIRetry" Overridable="yes">E¤EEEë(&R)</String>
+ <String Id="WixUIIgnore" Overridable="yes">E´EE&I)</String>
+ <String Id="WixUIYes" Overridable="yes">EE&Y)</String>
+ <String Id="WixUINo" Overridable="yes">EEEE&N)</String>
+ <String Id="WixUIOK" Overridable="yes">úµì¸</String>
+ <String Id="WixUIPrint" Overridable="yes">E¸EE&P)</String>
- <String Id="AdvancedWelcomeEulaDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="AdvancedWelcomeEulaDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="AdvancedWelcomeEulaDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="AdvancedWelcomeEulaDlgTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]ì ìíí¸ì¨ì´ ë¼ì´ì¼ì¤ ì¡°íì ì½ì´ì£¼ì¸ì.</String>
- <String Id="AdvancedWelcomeEulaDlgLicenseAcceptedCheckBox" Overridable="yes">ìíí¸ì¨ì´ ë¼ì´ì¼ì¤ ì¡°íì ëìí©ëë¤.(&A)</String>
- <String Id="AdvancedWelcomeEulaDlgDescriptionPerMachine" Overridable="yes">"ì¤ì¹"ë¨ì¶ë¥¼ í´ë¦íë©´ 모ë ì¬ì©ì ëìì ëí´ ì¤ì¹ í©ëë¤. ì¤ì¹ ìµì
ì ë³ê²½íë ¤ë©´ "ìì¸"ë¨ì¶ë¥¼ í´ë¦íììì¤.</String>
- <String Id="AdvancedWelcomeEulaDlgDescriptionPerUser" Overridable="yes">"ì¤ì¹"ë¨ì¶ë¥¼ í´ë¦íë©´ íì¬ ì¬ì©ì ëìì ëí´ ì¤ì¹ í©ëë¤. ì¤ì¹ ìµì
ì ë³ê²½íë ¤ë©´ "ìì¸"ë¨ì¶ë¥¼ í´ë¦íììì¤.</String>
- <String Id="AdvancedWelcomeEulaDlgInstall" Overridable="yes">ì¤ì¹(&I)</String>
- <String Id="AdvancedWelcomeEulaDlgAdvanced" Overridable="yes">ìì¸(&D)</String>
+ <String Id="AdvancedWelcomeEulaDlgTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]EEEíú¦¸E¨E´ E¼E´E¼E¤ E°ú±EEE½E´E¼E¸EE</String>
+ <String Id="AdvancedWelcomeEulaDlgLicenseAcceptedCheckBox" Overridable="yes">Eíú¦¸E¨E´ E¼E´E¼E¤ E°ú±EEEìú±©Eë¤.(&A)</String>
+ <String Id="AdvancedWelcomeEulaDlgDescriptionPerMachine" Overridable="yes">"E¤EEE¨E를 ú´Eú±ë©´ E¨E E¬E©EEEEE Eú±´ E¤EEú±©Eë¤. E¤EEEµEì EE½ú±ë ¤E´ "EE¸"E¨E를 ú´Eú±ìEì¤.</String>
+ <String Id="AdvancedWelcomeEulaDlgDescriptionPerUser" Overridable="yes">"E¤EEE¨E를 ú´Eú±ë©´ ú´E¬ E¬E©EEEEE Eú±´ E¤EEú±©Eë¤. E¤EEEµEì EE½ú±ë ¤E´ "EE¸"E¨E를 ú´Eú±ìEì¤.</String>
+ <String Id="AdvancedWelcomeEulaDlgInstall" Overridable="yes">E¤EE&I)</String>
+ <String Id="AdvancedWelcomeEulaDlgAdvanced" Overridable="yes">EE¸(&D)</String>
<String Id="Advanced_Font_Normal_Size" Overridable="yes">8</String>
<String Id="Advanced_Font_Bigger_Size" Overridable="yes">12</String>
<String Id="Advanced_Font_Title_Size" Overridable="yes">9</String>
<String Id="Advanced_Font_Emphasized_Size" Overridable="yes">8</String>
<String Id="Advanced_Font_FaceName" Overridable="yes">Tahoma</String>
- <String Id="BrowseDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="BrowseDlgComboLabel" Overridable="yes">ì°¾ë ìì¹(&L):</String>
+ <String Id="BrowseDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="BrowseDlgComboLabel" Overridable="yes">E¾EEEE¹E&L):</String>
<String Id="BrowseDlgWixUI_Bmp_Up" Overridable="yes">WixUI_Bmp_Up</String>
- <String Id="BrowseDlgWixUI_Bmp_UpTooltip" Overridable="yes">í ìì¤ ìë¡</String>
+ <String Id="BrowseDlgWixUI_Bmp_UpTooltip" Overridable="yes">ú±EEì¤ EE¡E/String>
<String Id="BrowseDlgNewFolder" Overridable="yes">WixUI_Bmp_New</String>
- <String Id="BrowseDlgNewFolderTooltip" Overridable="yes">ì í´ë ë§ë¤ê¸°</String>
- <String Id="BrowseDlgPathLabel" Overridable="yes">í´ë ì´ë¦(&F):</String>
+ <String Id="BrowseDlgNewFolderTooltip" Overridable="yes">EEú«´EEEë¤E°</String>
+ <String Id="BrowseDlgPathLabel" Overridable="yes">ú«´EEE´EE&F):</String>
<String Id="BrowseDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="BrowseDlgDescription" Overridable="yes">ëì í´ë ì°¾ì보기</String>
- <String Id="BrowseDlgTitle" Overridable="yes">{\WixUI_Font_Title}ëì í´ë ë³ê²½</String>
+ <String Id="BrowseDlgDescription" Overridable="yes">EEEú«´EEE¾EE³´E°</String>
+ <String Id="BrowseDlgTitle" Overridable="yes">{\WixUI_Font_Title}EEEú«´EEEE½</String>
- <String Id="CancelDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="CancelDlgText" Overridable="yes">[ProductName] ì¤ì¹ë¥¼ ì·¨ìíìê² ìµëê¹?</String>
+ <String Id="CancelDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="CancelDlgText" Overridable="yes">[ProductName] E¤E를 E¨EíEê² EµEê¹E</String>
<String Id="CancelDlgIcon" Overridable="yes">WixUI_Ico_Info</String>
- <String Id="CancelDlgIconTooltip" Overridable="yes">ì ë³´ ìì´ì½</String>
+ <String Id="CancelDlgIconTooltip" Overridable="yes">Eë³´ EE´EE/String>
- <String Id="CustomizeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="CustomizeDlgTree" Overridable="yes">ì í í목 í¸ë¦¬</String>
- <String Id="CustomizeDlgBrowse" Overridable="yes">ì°¾ì보기(&R)...</String>
- <String Id="CustomizeDlgReset" Overridable="yes">ìëëë¡(&S)</String>
- <String Id="CustomizeDlgDiskCost" Overridable="yes">ëì¤í¬ ì¬ì©ë(&U)</String>
+ <String Id="CustomizeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="CustomizeDlgTree" Overridable="yes">E úEú±E© ú¦¸E¬</String>
+ <String Id="CustomizeDlgBrowse" Overridable="yes">E¾EE³´E°(&R)...</String>
+ <String Id="CustomizeDlgReset" Overridable="yes">EëEEE&S)</String>
+ <String Id="CustomizeDlgDiskCost" Overridable="yes">Eì¤ú¬ E¬E©EE&U)</String>
<String Id="CustomizeDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="CustomizeDlgText" Overridable="yes">ê¸°ë¥ ì¤ì¹ ë°©ë²ì ë³ê²½íë ¤ë©´ ìëì í¸ë¦¬ìì í´ë¹ ìì´ì½ì í´ë¦íììì¤.</String>
- <String Id="CustomizeDlgDescription" Overridable="yes">ê¸°ë¥ ì¤ì¹ ë°©ë²ì ì íí©ëë¤.</String>
- <String Id="CustomizeDlgTitle" Overridable="yes">{\WixUI_Font_Title}ì¬ì©ì ì§ì ì¤ì¹</String>
+ <String Id="CustomizeDlgText" Overridable="yes">E°E¥ E¤EEE©Eì EE½ú±ë ¤E´ EEEEú¦¸E¬EìE ú±´E¹ EE´Eì ú´Eú±ìEì¤.</String>
+ <String Id="CustomizeDlgDescription" Overridable="yes">E°E¥ E¤EEE©Eì E úí©Eë¤.</String>
+ <String Id="CustomizeDlgTitle" Overridable="yes">{\WixUI_Font_Title}E¬E©EEEEEE¤EE/String>
<String Id="CustomizeDlgItemDescription" Overridable="yes">CustomizeDlgItemDescription-CustomizeDlgItemDescription</String>
<String Id="CustomizeDlgItemSize" Overridable="yes">CustomizeDlgItemSize-CustomizeDlgItemSize</String>
<String Id="CustomizeDlgLocation" Overridable="yes">CustomizeDlgLocation-CustomizeDlgLocation</String>
@@ -60,532 +60,532 @@
<String Id="DiskCostDlg_Title" Overridable="yes">[ProductName] Setup</String>
<String Id="DiskCostDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="DiskCostDlgText" Overridable="yes">ì íë 볼륨ìë íì¬ ì íí 기ë¥ì ì¤ì¹í ë§í¼ 충ë¶í ê³µê°ì´ ììµëë¤. í´ë¹ 볼륨ìì ì¼ë¶ íì¼ì ì ê±°íê±°ë, ì¤ì¹í 기ë¥ì ì¤ì´ê±°ë, ë¤ë¥¸ ëì ëë¼ì´ë¸ë¥¼ ì íí ì ììµëë¤.</String>
- <String Id="DiskCostDlgDescription" Overridable="yes">ì íí 기ë¥ì ì¤ì¹ì íìí ëì¤í¬ ê³µê°ì
ëë¤.</String>
- <String Id="DiskCostDlgTitle" Overridable="yes">{\WixUI_Font_Title}íìí ëì¤í¬ ê³µê°</String>
+ <String Id="DiskCostDlgText" Overridable="yes">E úë E¼E¨Eë ú´E¬ E úí E°E¥EEE¤Eí Eí¼ E©EE EµEE´ EEµEë¤. ú±´E¹ E¼E¨EìE E¼E ú¨ì¼EEEê±°ú±ê±°EE E¤Eí E°E¥EEEE´E°EE E¤E¸ EEEEë¼E´E를 E úí EEEìµEë¤.</String>
+ <String Id="DiskCostDlgDescription" Overridable="yes">E úí E°E¥EEE¤Eì ú±Eú±EEì¤ú¬ EµEE
Eë¤.</String>
+ <String Id="DiskCostDlgTitle" Overridable="yes">{\WixUI_Font_Title}ú±Eú±EEì¤ú¬ EµEE/String>
<String Id="DiskCostDlgVolumeList" Overridable="yes">{120}{70}{70}{70}{70}</String>
- <String Id="ErrorDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="ErrorDlgErrorText" Overridable="yes">ì ë³´ í
ì¤í¸</String>
+ <String Id="ErrorDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="ErrorDlgErrorText" Overridable="yes">Eë³´ ú¡ì¤ú¦¸</String>
<String Id="ErrorDlgErrorIcon" Overridable="yes">WixUI_Ico_Info</String>
- <String Id="ErrorDlgErrorIconTooltip" Overridable="yes">ì ë³´ ìì´ì½</String>
+ <String Id="ErrorDlgErrorIconTooltip" Overridable="yes">Eë³´ EE´EE/String>
- <String Id="ExitDialog_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="ExitDialog_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="ExitDialogBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="ExitDialogDescription" Overridable="yes">ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ë§ì¹¨" ë¨ì¶ë¥¼ í´ë¦íììì¤.</String>
- <String Id="ExitDialogTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ ìë£</String>
+ <String Id="ExitDialogDescription" Overridable="yes">E¤EEEë²ì¬E¼ Eë´E¤E´ "E침" E¨E를 ú´Eú±ìEì¤.</String>
+ <String Id="ExitDialogTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬ EE£E/String>
- <String Id="FatalError_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="FatalError_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="FatalErrorBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="FatalErrorTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ê° ì¤ê°ì ì¤ë¨ëììµëë¤.</String>
- <String Id="FatalErrorDescription1" Overridable="yes">ì¤ë¥ë¡ ì¸í´ [ProductName] ì¤ì¹ ë§ë²ì¬ê° ì¤ê°ì ì¤ë¨ëììµëë¤. ìì¤í
ì´ ìì ëì§ ìììµëë¤. ëì¤ì ì´ íë¡ê·¸ë¨ì ì¤ì¹íë ¤ë©´ ì¤ì¹ ë§ë²ì¬ë¥¼ ë¤ì ì¤ííììì¤.</String>
- <String Id="FatalErrorDescription2" Overridable="yes">ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ë§ì¹¨" ë¨ì¶ë¥¼ í´ë¦íììì¤.</String>
+ <String Id="FatalErrorTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬E Eê°E Eë¨EìEµEë¤.</String>
+ <String Id="FatalErrorDescription1" Overridable="yes">E¤Eë¡EE¸ú±´ [ProductName] E¤EEEë²ì¬E Eê°E Eë¨EìEµEë¤. Eì¤ú¡ì´ Eì ëE EìEµEë¤. Eì¤ì E´ ú°E¡ê·¸E¨EEE¤EíE¤E´ E¤EEEë²ì¬E¼ E¤EEE¤ú²íEEì¤.</String>
+ <String Id="FatalErrorDescription2" Overridable="yes">E¤EEEë²ì¬E¼ Eë´E¤E´ "E침" E¨E를 ú´Eú±ìEì¤.</String>
- <String Id="FeaturesDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="FeaturesDlgTree" Overridable="yes">ì íì 기ë¥</String>
+ <String Id="FeaturesDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="FeaturesDlgTree" Overridable="yes">EíEEE°E¥</String>
<String Id="FeaturesDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="FeaturesDlgDescription" Overridable="yes">ê¸°ë¥ ì¤ì¹ ë°©ë²ì ì ííììì¤.</String>
- <String Id="FeaturesDlgTitle" Overridable="yes">{\WixUI_Font_Title}ì íì 기ë¥</String>
+ <String Id="FeaturesDlgDescription" Overridable="yes">E°E¥ E¤EEE©Eì E úíEEì¤.</String>
+ <String Id="FeaturesDlgTitle" Overridable="yes">{\WixUI_Font_Title}EíEEE°E¥</String>
<String Id="FeaturesDlgItemDescription" Overridable="yes">FeaturesDlgItemDescription</String>
<String Id="FeaturesDlgItemSize" Overridable="yes">FeaturesDlgItemSize</String>
- <String Id="FeaturesDlgInstall" Overridable="yes">ì¤ì¹(&I)</String>
- <String Id="FeaturesDlgChange" Overridable="yes">ë³ê²½(&C)</String>
+ <String Id="FeaturesDlgInstall" Overridable="yes">E¤EE&I)</String>
+ <String Id="FeaturesDlgChange" Overridable="yes">EE½(&C)</String>
- <String Id="FilesInUse_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="FilesInUseExit" Overridable="yes">ëë´ê¸°(&X)</String>
+ <String Id="FilesInUse_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="FilesInUseExit" Overridable="yes">Eë´E°(&X)</String>
<String Id="FilesInUseBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="FilesInUseText" Overridable="yes">ë¤ì ìì© íë¡ê·¸ë¨ìì ì´ ì¤ì¹ íë¡ê·¸ë¨ì´ ì
ë°ì´í¸í´ì¼ í íì¼ì ì¬ì©íê³ ììµëë¤. ê´ë ¨ë ìì© íë¡ê·¸ë¨ì ë«ê³ "ë¤ì ìë"를 í´ë¦íì¬ ì¤ì¹ë¥¼ ê³ìíê±°ë "ëë´ê¸°"를 ëë¬ ëë´ììì¤.</String>
- <String Id="FilesInUseDescription" Overridable="yes">ì
ë°ì´í¸í íì¼ ì¤ ì¼ë¶ë¥¼ ì¬ì©íê³ ììµëë¤.</String>
- <String Id="FilesInUseTitle" Overridable="yes">{\WixUI_Font_Title}íì¼ ì¬ì© ì¤</String>
+ <String Id="FilesInUseText" Overridable="yes">E¤EEEì© ú°E¡ê·¸E¨EìE E´ E¤EEú°E¡ê·¸E¨E´ EE°E´ú¦¸ú±´E¼ ú± ú¨ì¼EEE¬E©ú±ê³ EìµEë¤. EE¨EEEì© ú°E¡ê·¸E¨EEE«E "E¤EEEë"E¼ ú´Eú±ì¬ E¤E를 EEEú±ê±°EE"Eë´E°"E¼ Eë¬ Eë´EEì¤.</String>
+ <String Id="FilesInUseDescription" Overridable="yes">EE°E´ú¦¸ú± ú¨ì¼ EEE¼EE¼ E¬E©ú±ê³ EìµEë¤.</String>
+ <String Id="FilesInUseTitle" Overridable="yes">{\WixUI_Font_Title}ú¨ì¼ E¬E© EE/String>
- <String Id="InstallDirDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="InstallDirDlgChange" Overridable="yes">ë³ê²½(&C)...</String>
- <String Id="InstallDirDlgTitle" Overridable="yes">{\WixUI_Font_Title}ëì í´ë</String>
- <String Id="InstallDirDlgDescription" Overridable="yes">기본 í´ëì ì¤ì¹íë ¤ë©´ "ë¤ì"ì í´ë¦íê³ , ë¤ë¥¸ ì¤ì¹ í´ë를 ì ííë ¤ë©´ "ì°¾ì보기"를 í´ë¦íììì¤.</String>
+ <String Id="InstallDirDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="InstallDirDlgChange" Overridable="yes">EE½(&C)...</String>
+ <String Id="InstallDirDlgTitle" Overridable="yes">{\WixUI_Font_Title}EEEú«´EE/String>
+ <String Id="InstallDirDlgDescription" Overridable="yes">E°E¸ ú«´Eì E¤EíE¤E´ "E¤EEEEú´Eú±ê³ , E¤E¸ E¤EEú«´E를 E úíE¤E´ "E¾EE³´E°"E¼ ú´Eú±ìEì¤.</String>
<String Id="InstallDirDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="InstallDirDlgFolderLabel" Overridable="yes">[ProductName] ì¤ì¹ ìì¹:</String>
+ <String Id="InstallDirDlgFolderLabel" Overridable="yes">[ProductName] E¤EEEE¹E</String>
- <String Id="InstallScopeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="InstallScopeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="InstallScopeDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="InstallScopeDlgDescription" Overridable="yes">ì구ì ê°ì¥ ì ë§ë ì¤ì¹ ì íì ì ííììì¤.</String>
- <String Id="InstallScopeDlgTitle" Overridable="yes">{\WixUI_Font_Title}ì¤ì¹ ì¢
ë¥</String>
- <String Id="InstallScopeDlgPerUser" Overridable="yes">{\WixUI_Font_Emphasized}ì¬ì©ì ([USERNAME]) ì¤ì¹(&F)</String>
- <String Id="InstallScopeDlgPerUserDescription" Overridable="yes">[ProductName] ë(ì) íì¬ ì¬ì©ì ëìì ëí´ ì´ì© ê°ë¥í©ëë¤. Administrator ê¶íì´ íìíì§ ììµëë¤.</String>
- <String Id="InstallScopeDlgNoPerUserDescription" Overridable="yes">[ProductName] ë(ì) ê° ì¬ì©ì ëìì ëíì¬ ì¤ì¹ë¥¼ ì§ìíê³ ìì§ ììµëë¤.</String>
- <String Id="InstallScopeDlgPerMachine" Overridable="yes">{\WixUI_Font_Emphasized}íì¬ ì»´í¨í° 모ë ì¬ì©ì ëìì ëí´ ì¤ì¹(&C)</String>
- <String Id="InstallScopeDlgPerMachineDescription" Overridable="yes">[ProductName] ë(ì) ê° ì¬ì©ì í´ëì ì¤ì¹ëì´ ëª¨ë ì¬ì©ìê° ì´ì© ê°ë¥í©ëë¤.ì¤ì¹ í´ë를 ë³ê²½íë ¤ë©´ Administrator ê¶íì´ íìí©ëë¤.</String>
- <String Id="InstallScopeDlgFolderLabel" Overridable="yes">ì¤ì¹ í´ë(&F):</String>
- <String Id="InstallScopeDlgChange" Overridable="yes">ë³ê²½(&C)...</String>
+ <String Id="InstallScopeDlgDescription" Overridable="yes">E구EEEE¥ EEEë E¤EEE ú´ì E úíEEì¤.</String>
+ <String Id="InstallScopeDlgTitle" Overridable="yes">{\WixUI_Font_Title}E¤EEEE¥E/String>
+ <String Id="InstallScopeDlgPerUser" Overridable="yes">{\WixUI_Font_Emphasized}E¬E©EE([USERNAME]) E¤EE&F)</String>
+ <String Id="InstallScopeDlgPerUserDescription" Overridable="yes">[ProductName] EEE) ú´E¬ E¬E©EEEEE Eú±´ E´E© EE¥ú±©Eë¤. Administrator EíE´ ú±Eú±ì§ EìµEë¤.</String>
+ <String Id="InstallScopeDlgNoPerUserDescription" Overridable="yes">[ProductName] EEE) EEE¬E©EEEEE Eú±ì¬ E¤E를 EEíE Eì§ EìµEë¤.</String>
+ <String Id="InstallScopeDlgPerMachine" Overridable="yes">{\WixUI_Font_Emphasized}ú´E¬ E´ú¯¨ú ° E¨E E¬E©EEEEE Eú±´ E¤EE&C)</String>
+ <String Id="InstallScopeDlgPerMachineDescription" Overridable="yes">[ProductName] EEE) EEE¬E©EEú«´Eì E¤EëE´ E¨E E¬E©Eê° E´E© EE¥ú±©Eë¤.E¤EEú«´E를 EE½ú±ë ¤E´ Administrator EíE´ ú±Eú±©Eë¤.</String>
+ <String Id="InstallScopeDlgFolderLabel" Overridable="yes">E¤EEú«´EE&F):</String>
+ <String Id="InstallScopeDlgChange" Overridable="yes">EE½(&C)...</String>
- <String Id="InvalidDirDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="InvalidDirDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="InvalidDirDlgText" Overridable="yes">Installation directory must be on a local hard drive.</String>
<String Id="InvalidDirDlgIcon" Overridable="yes">WixUI_Ico_Info</String>
<String Id="InvalidDirDlgIconTooltip" Overridable="yes">Information icon</String>
- <String Id="LicenseAgreementDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="LicenseAgreementDlgLicenseAcceptedCheckBox" Overridable="yes">ëìí¨(&A)</String>
+ <String Id="LicenseAgreementDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="LicenseAgreementDlgLicenseAcceptedCheckBox" Overridable="yes">Eìú±¨(&A)</String>
<String Id="LicenseAgreementDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="LicenseAgreementDlgDescription" Overridable="yes">ë¤ì ì¬ì©ê¶ ê³ì½ì ìì¸í ì½ì´ 주ììì¤.</String>
- <String Id="LicenseAgreementDlgTitle" Overridable="yes">{\WixUI_Font_Title}ìµì¢
ì¬ì©ì ì¬ì©ê¶ ê³ì½</String>
+ <String Id="LicenseAgreementDlgDescription" Overridable="yes">E¤EEE¬E©EEEE½EEEì¸úºEE½E´ E¼EEì¤.</String>
+ <String Id="LicenseAgreementDlgTitle" Overridable="yes">{\WixUI_Font_Title}Eì¢EE¬E©EEE¬E©EEEE½</String>
- <String Id="MaintenanceTypeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="MaintenanceTypeDlgChangeButton" Overridable="yes">ë³ê²½(&C)</String>
- <String Id="MaintenanceTypeDlgChangeButtonTooltip" Overridable="yes">ì¤ì¹ ë³ê²½</String>
- <String Id="MaintenanceTypeDlgRepairButton" Overridable="yes">覲糾規(&P)</String>
- <String Id="MaintenanceTypeDlgRepairButtonTooltip" Overridable="yes">ì¤ì¹ 복구</String>
- <String Id="MaintenanceTypeDlgRemoveButton" Overridable="yes">ì ê±°(&R)</String>
- <String Id="MaintenanceTypeDlgRemoveButtonTooltip" Overridable="yes">ì¤ì¹ ì ê±°</String>
+ <String Id="MaintenanceTypeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="MaintenanceTypeDlgChangeButton" Overridable="yes">EE½(&C)</String>
+ <String Id="MaintenanceTypeDlgChangeButtonTooltip" Overridable="yes">E¤EEEE½</String>
+ <String Id="MaintenanceTypeDlgRepairButton" Overridable="yes">EµE¬(&P)</String>
+ <String Id="MaintenanceTypeDlgRepairButtonTooltip" Overridable="yes">E¤EEEµE¬</String>
+ <String Id="MaintenanceTypeDlgRemoveButton" Overridable="yes">Eê±°(&R)</String>
+ <String Id="MaintenanceTypeDlgRemoveButtonTooltip" Overridable="yes">E¤EEEê±°</String>
<String Id="MaintenanceTypeDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="MaintenanceTypeDlgDescription" Overridable="yes">ìíë ìì
ì ì ííììì¤.</String>
- <String Id="MaintenanceTypeDlgTitle" Overridable="yes">{\WixUI_Font_Title}ì¤ì¹ ë³ê²½, 복구, ì ê±°</String>
- <String Id="MaintenanceTypeDlgChangeText" Overridable="yes">ê¸°ë¥ ì¤ì¹ ë°©ë²ì ë³ê²½í ì ììµëë¤.</String>
- <String Id="MaintenanceTypeDlgChangeDisabledText" Overridable="yes">[ProductName]ì ë
립ì ì¼ë¡ ì íí ì ìë 기ë¥ì´ ììµëë¤.</String>
- <String Id="MaintenanceTypeDlgRemoveText" Overridable="yes">ì»´í¨í°ìì [ProductName]ì(를) ì ê±°í©ëë¤.</String>
- <String Id="MaintenanceTypeDlgRemoveDisabledText" Overridable="yes">[ProductName] ì(를) ì ê±°í ì ììµëë¤.</String>
- <String Id="MaintenanceTypeDlgRepairText" Overridable="yes">ê°ì¥ ìµê·¼ì ì¤ì¹ ìíìì ì¤ë¥ë¥¼ 복구í©ëë¤. ìê±°ë ììë íì¼, ë°ë¡ ê°ê¸° ë° ë ì§ì¤í¸ë¦¬ í목ì ê³ ì¹©ëë¤.</String>
+ <String Id="MaintenanceTypeDlgDescription" Overridable="yes">EíEEEì
EEE úíEEì¤.</String>
+ <String Id="MaintenanceTypeDlgTitle" Overridable="yes">{\WixUI_Font_Title}E¤EEEE½, EµE¬, Eê±°</String>
+ <String Id="MaintenanceTypeDlgChangeText" Overridable="yes">E°E¥ E¤EEE©Eì EE½ú± EEEìµEë¤.</String>
+ <String Id="MaintenanceTypeDlgChangeDisabledText" Overridable="yes">[ProductName]EEEE¦½EE¼EEE úí EEEë E°E¥E´ EEµEë¤.</String>
+ <String Id="MaintenanceTypeDlgRemoveText" Overridable="yes">E´ú¯¨ú °EìE [ProductName]EEE¼) Eê±°ú±©Eë¤.</String>
+ <String Id="MaintenanceTypeDlgRemoveDisabledText" Overridable="yes">[ProductName] EEE¼) Eê±°ú± EEEEµEë¤.</String>
+ <String Id="MaintenanceTypeDlgRepairText" Overridable="yes">EE¥ Eê·¼EEE¤EEEEEEìE E¤E를 EµE¬ú±©Eë¤. EE±°EEEìEEú¨ì¼, Eë¡EEE° EEEì§E¤ú¦¸E¬ ú±E©EEE E©Eë¤.</String>
- <String Id="MaintenanceTypeDlgRepairDisabledText" Overridable="yes">[ProductName] ì(를) 복구í ì ììµëë¤.</String>
- <String Id="MaintenanceWelcomeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="MaintenanceTypeDlgRepairDisabledText" Overridable="yes">[ProductName] EEE¼) EµE¬ú± EEEEµEë¤.</String>
+ <String Id="MaintenanceWelcomeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="MaintenanceWelcomeDlgBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="MaintenanceWelcomeDlgDescription" Overridable="yes">ì¤ì¹ ë§ë²ì¬ë¥¼ ì¬ì©íë©´ [ProductName] 기ë¥ì´ ì»´í¨í°ì ì¤ì¹ëë ë°©ë²ì ë³ê²½íê±°ë 기ë¥ì ì ê±°í ì ììµëë¤. ê³ìíë ¤ë©´ "ë¤ì"ì í´ë¦íê³ , ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦í©ëë¤.</String>
- <String Id="MaintenanceWelcomeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ ìì</String>
+ <String Id="MaintenanceWelcomeDlgDescription" Overridable="yes">E¤EEEë²ì¬E¼ E¬E©ú±ë©´ [ProductName] E°E¥E´ E´ú¯¨ú °EEE¤EëEEE©Eì EE½ú±ê±°EEE°E¥EEEê±°ú± EEEìµEë¤. EEEú±ë ¤E´ "E¤EEEEú´Eú±ê³ , E¤EEEë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±©Eë¤.</String>
+ <String Id="MaintenanceWelcomeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬ Eì</String>
- <String Id="MsiRMFilesInUse_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="MsiRMFilesInUse_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="MsiRMFilesInUseBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="MsiRMFilesInUseText" Overridable="yes">ë¤ì ìì© íë¡ê·¸ë¨ìì ì´ ì¤ì¹ íë¡ê·¸ë¨ì´ ì
ë°ì´í¸í´ì¼ í íì¼ì ì¬ì©íê³ ììµëë¤. ì¤ì¹ ë§ë²ì¬ìì ê´ë ¨ íë¡ê·¸ë¨ì ë«ê³ ë¤ì ììíê±°ë ëì¤ì ë¤ì ë¶í
í ì ììµëë¤.</String>
- <String Id="MsiRMFilesInUseDescription" Overridable="yes">ì
ë°ì´í¸í íì¼ ì¤ ì¼ë¶ë¥¼ ì¬ì©íê³ ììµëë¤.</String>
- <String Id="MsiRMFilesInUseTitle" Overridable="yes">{\WixUI_Font_Title}íì¼ ì¬ì© ì¤</String>
- <String Id="MsiRMFilesInUseUseRM" Overridable="yes">ìì© íë¡ê·¸ë¨ì ë«ê³ ë¤ì ììí©ëë¤(&C).</String>
- <String Id="MsiRMFilesInUseDontUseRM" Overridable="yes">ìì© íë¡ê·¸ë¨ì ë«ì§ ììµëë¤. ë¤ì ë¶í
í´ì¼ í©ëë¤(&D).</String>
+ <String Id="MsiRMFilesInUseText" Overridable="yes">E¤EEEì© ú°E¡ê·¸E¨EìE E´ E¤EEú°E¡ê·¸E¨E´ EE°E´ú¦¸ú±´E¼ ú± ú¨ì¼EEE¬E©ú±ê³ EìµEë¤. E¤EEEë²ì¬EìE EE¨ ú°E¡ê·¸E¨EEE«E E¤EEEìú±ê±°EEEì¤ì E¤EEEú¨E EEEìµEë¤.</String>
+ <String Id="MsiRMFilesInUseDescription" Overridable="yes">EE°E´ú¦¸ú± ú¨ì¼ EEE¼EE¼ E¬E©ú±ê³ EìµEë¤.</String>
+ <String Id="MsiRMFilesInUseTitle" Overridable="yes">{\WixUI_Font_Title}ú¨ì¼ E¬E© EE/String>
+ <String Id="MsiRMFilesInUseUseRM" Overridable="yes">Eì© ú°E¡ê·¸E¨EEE«E E¤EEEìú±©Eë¤(&C).</String>
+ <String Id="MsiRMFilesInUseDontUseRM" Overridable="yes">Eì© ú°E¡ê·¸E¨EEE«E EìµEë¤. E¤EEEú¨E´E¼ ú±©Eë¤(&D).</String>
- <String Id="OutOfDiskDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="OutOfDiskDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="OutOfDiskDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="OutOfDiskDlgText" Overridable="yes">ì íë 볼륨ìë íì¬ ì íí 기ë¥ì ì¤ì¹í ë§í¼ 충ë¶í ê³µê°ì´ ììµëë¤. í´ë¹ 볼륨ìì ì¼ë¶ íì¼ì ì ê±°íê±°ë, ì¤ì¹í 기ë¥ì ì¤ì´ê±°ë, ë¤ë¥¸ ëì ëë¼ì´ë¸ë¥¼ ì íí ì ììµëë¤.</String>
- <String Id="OutOfDiskDlgDescription" Overridable="yes">ì¤ì¹ì íìí ëì¤í¬ ê³µê°ì´ ì¬ì© ê°ë¥í ëì¤í¬ ê³µê°ì ì´ê³¼í©ëë¤.</String>
- <String Id="OutOfDiskDlgTitle" Overridable="yes">{\WixUI_Font_Title}ëì¤í¬ ê³µê° ë¶ì¡±</String>
+ <String Id="OutOfDiskDlgText" Overridable="yes">E úë E¼E¨Eë ú´E¬ E úí E°E¥EEE¤Eí Eí¼ E©EE EµEE´ EEµEë¤. ú±´E¹ E¼E¨EìE E¼E ú¨ì¼EEEê±°ú±ê±°EE E¤Eí E°E¥EEEE´E°EE E¤E¸ EEEEë¼E´E를 E úí EEEìµEë¤.</String>
+ <String Id="OutOfDiskDlgDescription" Overridable="yes">E¤Eì ú±Eú±EEì¤ú¬ EµEE´ E¬E© EE¥ú±EEì¤ú¬ EµEE Eê³¼ú±©Eë¤.</String>
+ <String Id="OutOfDiskDlgTitle" Overridable="yes">{\WixUI_Font_Title}Eì¤ú¬ EµEEEE±</String>
<String Id="OutOfDiskDlgVolumeList" Overridable="yes">{120}{70}{70}{70}{70}</String>
- <String Id="OutOfRbDiskDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="OutOfRbDiskDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="OutOfRbDiskDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="OutOfRbDiskDlgText" Overridable="yes">ì íë 볼륨ìë íì¬ ì íí 기ë¥ì ì¤ì¹í ë§í¼ 충ë¶í ê³µê°ì´ ììµëë¤. í´ë¹ 볼륨ìì ì¼ë¶ íì¼ì ì ê±°íê±°ë, ì¤ì¹í 기ë¥ì ì¤ì´ê±°ë, ë¤ë¥¸ ëì ëë¼ì´ë¸ë¥¼ ì íí ì ììµëë¤.</String>
- <String Id="OutOfRbDiskDlgDescription" Overridable="yes">ì¤ì¹ì íìí ëì¤í¬ ê³µê°ì´ ì¬ì© ê°ë¥í ëì¤í¬ ê³µê°ì ì´ê³¼í©ëë¤.</String>
- <String Id="OutOfRbDiskDlgTitle" Overridable="yes">{\WixUI_Font_Title}ëì¤í¬ ê³µê° ë¶ì¡±</String>
+ <String Id="OutOfRbDiskDlgText" Overridable="yes">E úë E¼E¨Eë ú´E¬ E úí E°E¥EEE¤Eí Eí¼ E©EE EµEE´ EEµEë¤. ú±´E¹ E¼E¨EìE E¼E ú¨ì¼EEEê±°ú±ê±°EE E¤Eí E°E¥EEEE´E°EE E¤E¸ EEEEë¼E´E를 E úí EEEìµEë¤.</String>
+ <String Id="OutOfRbDiskDlgDescription" Overridable="yes">E¤Eì ú±Eú±EEì¤ú¬ EµEE´ E¬E© EE¥ú±EEì¤ú¬ EµEE Eê³¼ú±©Eë¤.</String>
+ <String Id="OutOfRbDiskDlgTitle" Overridable="yes">{\WixUI_Font_Title}Eì¤ú¬ EµEEEE±</String>
<String Id="OutOfRbDiskDlgVolumeList" Overridable="yes">{120}{70}{70}{70}{70}</String>
- <String Id="OutOfRbDiskDlgText2" Overridable="yes">ëë 롤백 기ë¥ì ì¬ì©íì§ ìëë¡ ì íí ìë ììµëë¤. ì´ë ê² ì ííë©´, ì¤ì¹ê° ì¤ë¨ë ê²½ì° ì»´í¨í°ë¥¼ ìëì ì´ê¸° ìíë¡ ë³µìí ì ììµëë¤. 롤백ì ì¬ì©íì§ ìì¼ë ¤ë©´ "ì"를 í´ë¦íììì¤.</String>
+ <String Id="OutOfRbDiskDlgText2" Overridable="yes">Eë E¤E± E°E¥EEE¬E©ú±ì§ EëEEE úí Eë EìµEë¤. E´EE²EE úíE´, E¤Eê° Eë¨EEE½E° E´ú¯¨ú °E¼ EëEEE기 EEEEEEµEí EEEEµEë¤. E¤E±EEE¬E©ú±ì§ Eì¼E¤E´ "EEE¼ ú´Eú±ìEì¤.</String>
- <String Id="PrepareDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="PrepareDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="PrepareDlgBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="PrepareDlgDescription" Overridable="yes">ì¤ì¹ ë§ë²ì¬ê° ì¤ì¹ ìë´ë¥¼ ì¤ë¹íë ëì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="PrepareDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ ìì</String>
+ <String Id="PrepareDlgDescription" Overridable="yes">E¤EEEë²ì¬E E¤EEEë´E¼ EEEEEEì E°E¤E¤ E¼EEì¤.</String>
+ <String Id="PrepareDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬ Eì</String>
- <String Id="ProgressDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="ProgressDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="ProgressDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="ProgressDlgTextInstalling" Overridable="yes">ì¤ì¹ ë§ë²ì¬ìì [ProductName]ì(를) ì¤ì¹íë ëì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="ProgressDlgTitleInstalling" Overridable="yes">{\WixUI_Font_Title}[ProductName] ì¤ì¹ ì¤</String>
- <String Id="ProgressDlgTextChanging" Overridable="yes">ì¤ì¹ ë§ë²ì¬ìì [ProductName]ì(를) ë³ê²½íë ëì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="ProgressDlgTitleChanging" Overridable="yes">{\WixUI_Font_Title}[ProductName] ë³ê²½ ì¤</String>
- <String Id="ProgressDlgTextRepairing" Overridable="yes">ì¤ì¹ ë§ë²ì¬ìì [ProductName]ì(를) 복구íë ëì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="ProgressDlgTitleRepairing" Overridable="yes">{\WixUI_Font_Title}[ProductName] 복구 ì¤</String>
- <String Id="ProgressDlgTextRemoving" Overridable="yes">ì¤ì¹ ë§ë²ì¬ìì [ProductName]ì(를) ì ê±°íë ëì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="ProgressDlgTitleRemoving" Overridable="yes">{\WixUI_Font_Title}[ProductName] ì ê±° ì¤</String>
- <String Id="ProgressDlgProgressBar" Overridable="yes">ì§í ìë£</String>
- <String Id="ProgressDlgStatusLabel" Overridable="yes">ìí:</String>
+ <String Id="ProgressDlgTextInstalling" Overridable="yes">E¤EEEë²ì¬EìE [ProductName]EEE¼) E¤EíEEEì E°E¤E¤ E¼EEì¤.</String>
+ <String Id="ProgressDlgTitleInstalling" Overridable="yes">{\WixUI_Font_Title}[ProductName] E¤EEEE/String>
+ <String Id="ProgressDlgTextChanging" Overridable="yes">E¤EEEë²ì¬EìE [ProductName]EEE¼) EE½ú±ë Eì E°E¤E¤ E¼EEì¤.</String>
+ <String Id="ProgressDlgTitleChanging" Overridable="yes">{\WixUI_Font_Title}[ProductName] EE½ EE/String>
+ <String Id="ProgressDlgTextRepairing" Overridable="yes">E¤EEEë²ì¬EìE [ProductName]EEE¼) EµE¬ú±ë Eì E°E¤E¤ E¼EEì¤.</String>
+ <String Id="ProgressDlgTitleRepairing" Overridable="yes">{\WixUI_Font_Title}[ProductName] EµE¬ EE/String>
+ <String Id="ProgressDlgTextRemoving" Overridable="yes">E¤EEEë²ì¬EìE [ProductName]EEE¼) Eê±°ú±ë Eì E°E¤E¤ E¼EEì¤.</String>
+ <String Id="ProgressDlgTitleRemoving" Overridable="yes">{\WixUI_Font_Title}[ProductName] Eê±° EE/String>
+ <String Id="ProgressDlgProgressBar" Overridable="yes">EE EE£E/String>
+ <String Id="ProgressDlgStatusLabel" Overridable="yes">EEE:</String>
- <String Id="ResumeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="ResumeDlgInstall" Overridable="yes">ì¤ì¹(&I)</String>
+ <String Id="ResumeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="ResumeDlgInstall" Overridable="yes">E¤EE&I)</String>
<String Id="ResumeDlgBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="ResumeDlgDescription" Overridable="yes">ì¤ì¹ ë§ë²ì¬ê° [ProductName]ì ì¤ì¹ë¥¼ ìë£í©ëë¤. ê³ìíë ¤ë©´ "ì¤ì¹"를 í´ë¦íê³ , ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="ResumeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ ë¤ì ìì</String>
+ <String Id="ResumeDlgDescription" Overridable="yes">E¤EEEë²ì¬E [ProductName]EEE¤E를 EE£í©Eë¤. EEEú±ë ¤E´ "E¤EEE¼ ú´Eú±ê³ , E¤EEEë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="ResumeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬ E¤EEEì</String>
- <String Id="SetupTypeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="SetupTypeDlgTypicalButton" Overridable="yes">íì¤(&T)</String>
- <String Id="SetupTypeDlgTypicalButtonTooltip" Overridable="yes">íì¤ ì¤ì¹</String>
- <String Id="SetupTypeDlgCustomButton" Overridable="yes">ì¬ì©ì ì§ì (&U)</String>
- <String Id="SetupTypeDlgCustomButtonTooltip" Overridable="yes">ì¬ì©ì ì§ì ì¤ì¹</String>
- <String Id="SetupTypeDlgCompleteButton" Overridable="yes">ì ì²´(&O)</String>
- <String Id="SetupTypeDlgCompleteButtonTooltip" Overridable="yes">ì ì²´ ì¤ì¹</String>
+ <String Id="SetupTypeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="SetupTypeDlgTypicalButton" Overridable="yes">úì¤(&T)</String>
+ <String Id="SetupTypeDlgTypicalButtonTooltip" Overridable="yes">úì¤ E¤EE/String>
+ <String Id="SetupTypeDlgCustomButton" Overridable="yes">E¬E©EEEEE&U)</String>
+ <String Id="SetupTypeDlgCustomButtonTooltip" Overridable="yes">E¬E©EEEEEE¤EE/String>
+ <String Id="SetupTypeDlgCompleteButton" Overridable="yes">EE²´(&O)</String>
+ <String Id="SetupTypeDlgCompleteButtonTooltip" Overridable="yes">EE²´ E¤EE/String>
<String Id="SetupTypeDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="SetupTypeDlgTitle" Overridable="yes">{\WixUI_Font_Title}ì¤ì¹ ì í ì í</String>
- <String Id="SetupTypeDlgDescription" Overridable="yes">ì구ì ê°ì¥ ì ë§ë ì¤ì¹ ì íì ì ííììì¤.</String>
- <String Id="SetupTypeDlgTypicalText" Overridable="yes">ê°ì¥ ì¼ë°ì ì¸ íë¡ê·¸ë¨ 기ë¥ì ì¤ì¹í©ëë¤. ëë¶ë¶ì ì¬ì©ììê² ê¶ì¥í©ëë¤.</String>
- <String Id="SetupTypeDlgCustomText" Overridable="yes">ì¤ì¹í íë¡ê·¸ë¨ 기ë¥ê³¼ ìì¹ë¥¼ ì íí ì ììµëë¤. ê³ ê¸ ì¬ì©ììê² ê¶ì¥í©ëë¤.</String>
- <String Id="SetupTypeDlgCompleteText" Overridable="yes">모ë íë¡ê·¸ë¨ 기ë¥ì ì¤ì¹í©ëë¤. ê°ì¥ ë§ì ëì¤í¬ ê³µê°ì´ íìí©ëë¤.</String>
+ <String Id="SetupTypeDlgTitle" Overridable="yes">{\WixUI_Font_Title}E¤EEE ú´EE úE/String>
+ <String Id="SetupTypeDlgDescription" Overridable="yes">E구EEEE¥ EEEë E¤EEE ú´ì E úíEEì¤.</String>
+ <String Id="SetupTypeDlgTypicalText" Overridable="yes">EE¥ E¼Eì E¸ ú°E¡ê·¸E¨ E°E¥EEE¤Eí©Eë¤. EEEE E¬E©EìEEEì¥ú±©Eë¤.</String>
+ <String Id="SetupTypeDlgCustomText" Overridable="yes">E¤Eí ú°E¡ê·¸E¨ E°E¥E¼ EE¹ë¥¼ E úí EEEìµEë¤. E EEE¬E©EìEEEì¥ú±©Eë¤.</String>
+ <String Id="SetupTypeDlgCompleteText" Overridable="yes">E¨E ú°E¡ê·¸E¨ E°E¥EEE¤Eí©Eë¤. EE¥ Eì Eì¤ú¬ EµEE´ ú±Eú±©Eë¤.</String>
- <String Id="UserExit_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="UserExit_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="UserExitBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="UserExitTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ê° ì¤ê°ì ì¤ë¨ëììµëë¤.</String>
- <String Id="UserExitDescription1" Overridable="yes">[ProductName] ì¤ì¹ê° ì¤ë¨ëììµëë¤. ìì¤í
ì´ ìì ëì§ ìììµëë¤. ëì¤ì ì´ íë¡ê·¸ë¨ì ì¤ì¹íë ¤ë©´ ì¤ì¹ ë§ë²ì¬ë¥¼ ë¤ì ì¤ííììì¤.</String>
- <String Id="UserExitDescription2" Overridable="yes">ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ë§ì¹¨" ë¨ì¶ë¥¼ í´ë¦íììì¤.</String>
+ <String Id="UserExitTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬E Eê°E Eë¨EìEµEë¤.</String>
+ <String Id="UserExitDescription1" Overridable="yes">[ProductName] E¤Eê° Eë¨EìEµEë¤. Eì¤ú¡ì´ Eì ëE EìEµEë¤. Eì¤ì E´ ú°E¡ê·¸E¨EEE¤EíE¤E´ E¤EEEë²ì¬E¼ E¤EEE¤ú²íEEì¤.</String>
+ <String Id="UserExitDescription2" Overridable="yes">E¤EEEë²ì¬E¼ Eë´E¤E´ "E침" E¨E를 ú´Eú±ìEì¤.</String>
- <String Id="VerifyReadyDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="VerifyReadyDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="VerifyReadyDlgBannerBitmap" Overridable="yes">WixUI_Bmp_Banner</String>
- <String Id="VerifyReadyDlgInstall" Overridable="yes">ì¤ì¹(&I)</String>
- <String Id="VerifyReadyDlgInstallText" Overridable="yes">ì¤ì¹ë¥¼ ììíë ¤ë©´ "ì¤ì¹"를 í´ë¦í©ëë¤. ì¤ì¹ ì¤ì ì ê²í íê±°ë ë³ê²½íë ¤ë©´ "ë¤ë¡"를 í´ë¦íê³ , ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="VerifyReadyDlgInstallTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]ì(를) ì¤ì¹í ì¤ë¹ê° ëììµëë¤.</String>
- <String Id="VerifyReadyDlgChange" Overridable="yes">ë³ê²½(&C)</String>
- <String Id="VerifyReadyDlgChangeText" Overridable="yes">ì¤ì¹ë¥¼ ììíë ¤ë©´ "ë³ê²½"ì í´ë¦í©ëë¤. ì¤ì¹ ì¤ì ì ê²í íê±°ë ë³ê²½íë ¤ë©´ "ë¤ë¡"를 í´ë¦íê³ , ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="VerifyReadyDlgChangeTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]ì(를) ë³ê²½í ì¤ë¹ê° ëììµëë¤.</String>
- <String Id="VerifyReadyDlgRepair" Overridable="yes">覲糾規(&P)</String>
- <String Id="VerifyReadyDlgRepairText" Overridable="yes">[ProductName]ì ì¤ì¹ë¥¼ 복구íë ¤ë©´ "복구"를 í´ë¦í©ëë¤. ì¤ì¹ ì¤ì ì ê²í íê±°ë ë³ê²½íë ¤ë©´ "ë¤ë¡"를 í´ë¦íê³ , ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="VerifyReadyDlgRepairTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]ì(를) 복구í ì¤ë¹ê° ëììµëë¤.</String>
- <String Id="VerifyReadyDlgRemove" Overridable="yes">ì ê±°(&R)</String>
- <String Id="VerifyReadyDlgRemoveText" Overridable="yes">[ProductName]ì(를) ì ê±°íë ¤ë©´ "ì ê±°"를 í´ë¦í©ëë¤. ì¤ì¹ ì¤ì ì ê²í íê±°ë ë³ê²½íë ¤ë©´ "ë¤ë¡"를 í´ë¦íê³ , ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="VerifyReadyDlgRemoveTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]ì(를) ì ê±°í ì¤ë¹ê° ëììµëë¤.</String>
+ <String Id="VerifyReadyDlgInstall" Overridable="yes">E¤EE&I)</String>
+ <String Id="VerifyReadyDlgInstallText" Overridable="yes">E¤E를 Eìú±ë ¤E´ "E¤EEE¼ ú´Eú±©Eë¤. E¤EEE¤Eì Eú¢ ú±ê±°EEEE½ú±ë ¤E´ "E¤EEE¼ ú´Eú±ê³ , Eë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="VerifyReadyDlgInstallTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]EEE¼) E¤Eí EEE° EìEµEë¤.</String>
+ <String Id="VerifyReadyDlgChange" Overridable="yes">EE½(&C)</String>
+ <String Id="VerifyReadyDlgChangeText" Overridable="yes">E¤E를 Eìú±ë ¤E´ "EE½"EEú´Eú±©Eë¤. E¤EEE¤Eì Eú¢ ú±ê±°EEEE½ú±ë ¤E´ "E¤EEE¼ ú´Eú±ê³ , Eë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="VerifyReadyDlgChangeTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]EEE¼) EE½ú± EEE° EìEµEë¤.</String>
+ <String Id="VerifyReadyDlgRepair" Overridable="yes">EµE¬(&P)</String>
+ <String Id="VerifyReadyDlgRepairText" Overridable="yes">[ProductName]EEE¤E를 EµE¬ú±ë ¤E´ "EµE¬"E¼ ú´Eú±©Eë¤. E¤EEE¤Eì Eú¢ ú±ê±°EEEE½ú±ë ¤E´ "E¤EEE¼ ú´Eú±ê³ , Eë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="VerifyReadyDlgRepairTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]EEE¼) EµE¬ú± EEE° EìEµEë¤.</String>
+ <String Id="VerifyReadyDlgRemove" Overridable="yes">Eê±°(&R)</String>
+ <String Id="VerifyReadyDlgRemoveText" Overridable="yes">[ProductName]EEE¼) Eê±°ú±ë ¤E´ "Eê±°"E¼ ú´Eú±©Eë¤. E¤EEE¤Eì Eú¢ ú±ê±°EEEE½ú±ë ¤E´ "E¤EEE¼ ú´Eú±ê³ , Eë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="VerifyReadyDlgRemoveTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName]EEE¼) Eê±°ú± EEE° EìEµEë¤.</String>
- <String Id="WaitForCostingDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
- <String Id="WaitForCostingDlgReturn" Overridable="yes">ëìê°ê¸°(&R)</String>
- <String Id="WaitForCostingDlgText" Overridable="yes">íìí ëì¤í¬ ê³µê°ì íì¸íê³ ììµëë¤.</String>
+ <String Id="WaitForCostingDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
+ <String Id="WaitForCostingDlgReturn" Overridable="yes">EìEE°(&R)</String>
+ <String Id="WaitForCostingDlgText" Overridable="yes">ú±Eú±EEì¤ú¬ EµEE úµì¸ú±ê³ EìµEë¤.</String>
<String Id="WaitForCostingDlgIcon" Overridable="yes">WixUI_Ico_Exclam</String>
- <String Id="WaitForCostingDlgIconTooltip" Overridable="yes">ê²½ê³ ìì´ì½</String>
+ <String Id="WaitForCostingDlgIconTooltip" Overridable="yes">E½E EE´EE/String>
- <String Id="WelcomeDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="WelcomeDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="WelcomeDlgBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="WelcomeDlgDescription" Overridable="yes">ì»´í¨í°ì [ProductName]ì(를) ì¤ì¹í©ëë¤. ê³ìíë ¤ë©´ "ë¤ì"ì í´ë¦íê³ ì¤ì¹ ë§ë²ì¬ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="WelcomeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] ì¤ì¹ ë§ë²ì¬ ìì</String>
+ <String Id="WelcomeDlgDescription" Overridable="yes">E´ú¯¨ú °EE[ProductName]EEE¼) E¤Eí©Eë¤. EEEú±ë ¤E´ "E¤EEEEú´Eú±ê³ E¤EEEë²ì¬E¼ Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="WelcomeDlgTitle" Overridable="yes">{\WixUI_Font_Bigger}[ProductName] E¤EEEë²ì¬ Eì</String>
- <String Id="WelcomeEulaDlg_Title" Overridable="yes">[ProductName] ì¤ì¹</String>
+ <String Id="WelcomeEulaDlg_Title" Overridable="yes">[ProductName] E¤EE/String>
<String Id="WelcomeEulaDlgBitmap" Overridable="yes">WixUI_Bmp_Dialog</String>
- <String Id="WelcomeEulaDlgLicenseAcceptedCheckBox" Overridable="yes">ëìí¨(&A)</String>
- <String Id="WelcomeEulaDlgInstall" Overridable="yes">ì¤ì¹(&I)</String>
- <String Id="WelcomeEulaDlgTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName] ì¬ì©ê¶ ê³ì½ì ì½ì´ 주ììì¤.</String>
+ <String Id="WelcomeEulaDlgLicenseAcceptedCheckBox" Overridable="yes">Eìú±¨(&A)</String>
+ <String Id="WelcomeEulaDlgInstall" Overridable="yes">E¤EE&I)</String>
+ <String Id="WelcomeEulaDlgTitle" Overridable="yes">{\WixUI_Font_Title}[ProductName] E¬E©EEEE½EEE½E´ E¼EEì¤.</String>
- <String Id="ProgressTextInstallValidate" Overridable="yes">ì¤ì¹ ì í¨ì± íì¸ ì¤</String>
- <String Id="ProgressTextInstallFiles" Overridable="yes">ì íì¼ ë³µì¬ ì¤</String>
- <String Id="ProgressTextInstallFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9], í¬ê¸°: [6]</String>
- <String Id="ProgressTextInstallAdminPackage" Overridable="yes">ë¤í¸ìí¬ ì¤ì¹ íì¼ì ë³µì¬íë ì¤</String>
- <String Id="ProgressTextInstallAdminPackageTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9], í¬ê¸°: [6]</String>
- <String Id="ProgressTextFileCost" Overridable="yes">íìí ê³µê°ì íì¸íë ì¤</String>
- <String Id="ProgressTextCostInitialize" Overridable="yes">íìí ê³µê°ì íì¸íë ì¤</String>
- <String Id="ProgressTextCostFinalize" Overridable="yes">íìí ê³µê°ì íì¸íë ì¤</String>
- <String Id="ProgressTextCreateShortcuts" Overridable="yes">ë°ë¡ ê°ê¸° ë§ëë ì¤</String>
- <String Id="ProgressTextCreateShortcutsTemplate" Overridable="yes">ë°ë¡ ê°ê¸°: [1]</String>
- <String Id="ProgressTextPublishComponents" Overridable="yes">í´ë¹ êµ¬ì± ìì를 ê²ìíë ì¤</String>
- <String Id="ProgressTextPublishComponentsTemplate" Overridable="yes">êµ¬ì± ìì ID: [1], íì ì: [2]</String>
- <String Id="ProgressTextPublishFeatures" Overridable="yes">ì í 기ë¥ì ê²ìíë ì¤</String>
- <String Id="ProgressTextPublishFeaturesTemplate" Overridable="yes">기ë¥: [1]</String>
- <String Id="ProgressTextPublishProduct" Overridable="yes">ì í ì 보를 ê²ìíë ì¤</String>
- <String Id="ProgressTextRegisterClassInfo" Overridable="yes">í´ëì¤ ìë²ë¥¼ ë±ë¡íë ì¤</String>
- <String Id="ProgressTextRegisterClassInfoTemplate" Overridable="yes">í´ëì¤ ID: [1]</String>
- <String Id="ProgressTextRegisterExtensionInfo" Overridable="yes">íì¥ ìë²ë¥¼ ë±ë¡íë ì¤</String>
- <String Id="ProgressTextRegisterExtensionInfoTemplate" Overridable="yes">íì¥: [1]</String>
- <String Id="ProgressTextRegisterMIMEInfo" Overridable="yes">MIME ì 보를 ë±ë¡íë ì¤</String>
- <String Id="ProgressTextRegisterMIMEInfoTemplate" Overridable="yes">MIME ì½í
í¸ íì: [1], íì¥: [2]</String>
- <String Id="ProgressTextRegisterProgIdInfo" Overridable="yes">íë¡ê·¸ë¨ ID를 ë±ë¡íë ì¤</String>
+ <String Id="ProgressTextInstallValidate" Overridable="yes">E¤EEE ú¶¨E± úµì¸ EE/String>
+ <String Id="ProgressTextInstallFiles" Overridable="yes">EEú¨ì¼ EµE¬ EE/String>
+ <String Id="ProgressTextInstallFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9], ú¬E°: [6]</String>
+ <String Id="ProgressTextInstallAdminPackage" Overridable="yes">E¤ú¦¸Eí¬ E¤EEú¨ì¼EEEµE¬ú±ë EE/String>
+ <String Id="ProgressTextInstallAdminPackageTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9], ú¬E°: [6]</String>
+ <String Id="ProgressTextFileCost" Overridable="yes">ú±Eú±EEµEE úµì¸ú±ë EE/String>
+ <String Id="ProgressTextCostInitialize" Overridable="yes">ú±Eú±EEµEE úµì¸ú±ë EE/String>
+ <String Id="ProgressTextCostFinalize" Overridable="yes">ú±Eú±EEµEE úµì¸ú±ë EE/String>
+ <String Id="ProgressTextCreateShortcuts" Overridable="yes">Eë¡EEE° EëEEEE/String>
+ <String Id="ProgressTextCreateShortcutsTemplate" Overridable="yes">Eë¡EEE°: [1]</String>
+ <String Id="ProgressTextPublishComponents" Overridable="yes">ú±´E¹ E¬E± EìEE¼ Eìú±ë EE/String>
+ <String Id="ProgressTextPublishComponentsTemplate" Overridable="yes">E¬E± EìE ID: [1], ú±ì ì: [2]</String>
+ <String Id="ProgressTextPublishFeatures" Overridable="yes">Eí E°E¥EEEìú±ë EE/String>
+ <String Id="ProgressTextPublishFeaturesTemplate" Overridable="yes">E°E¥: [1]</String>
+ <String Id="ProgressTextPublishProduct" Overridable="yes">Eí Eë³´E¼ Eìú±ë EE/String>
+ <String Id="ProgressTextRegisterClassInfo" Overridable="yes">ú´Eì¤ Eë²E¥¼ E±EíEEEE/String>
+ <String Id="ProgressTextRegisterClassInfoTemplate" Overridable="yes">ú´Eì¤ ID: [1]</String>
+ <String Id="ProgressTextRegisterExtensionInfo" Overridable="yes">úµì¥ Eë²E¥¼ E±EíEEEE/String>
+ <String Id="ProgressTextRegisterExtensionInfoTemplate" Overridable="yes">úµì¥: [1]</String>
+ <String Id="ProgressTextRegisterMIMEInfo" Overridable="yes">MIME Eë³´E¼ E±EíEEEE/String>
+ <String Id="ProgressTextRegisterMIMEInfoTemplate" Overridable="yes">MIME EíEú¦¸ ú´ì: [1], úµì¥: [2]</String>
+ <String Id="ProgressTextRegisterProgIdInfo" Overridable="yes">ú°E¡ê·¸E¨ IDE¼ E±EíEEEE/String>
<String Id="ProgressTextRegisterProgIdInfoTemplate" Overridable="yes">ProgID: [1]</String>
- <String Id="ProgressTextAllocateRegistrySpace" Overridable="yes">ë ì§ì¤í¸ë¦¬ ê³µê°ì í ë¹íë ì¤</String>
- <String Id="ProgressTextAllocateRegistrySpaceTemplate" Overridable="yes">ì¬ì© ê°ë¥í ê³µê°: [1]</String>
- <String Id="ProgressTextAppSearch" Overridable="yes">ì¤ì¹í ìì© íë¡ê·¸ë¨ì ì°¾ë ì¤</String>
- <String Id="ProgressTextAppSearchTemplate" Overridable="yes">ìì±: [1], ìëª
: [2]</String>
- <String Id="ProgressTextBindImage" Overridable="yes">ì¤í íì¼ì ì°ê²°íë ì¤</String>
- <String Id="ProgressTextBindImageTemplate" Overridable="yes">íì¼: [1]</String>
- <String Id="ProgressTextCCPSearch" Overridable="yes">ì íì ì°¾ë ì¤</String>
- <String Id="ProgressTextCreateFolders" Overridable="yes">í´ë를 ë§ëë ì¤</String>
- <String Id="ProgressTextCreateFoldersTemplate" Overridable="yes">í´ë: [1]</String>
- <String Id="ProgressTextDeleteServices" Overridable="yes">ìë¹ì¤ë¥¼ ìì íë ì¤</String>
- <String Id="ProgressTextDeleteServicesTemplate" Overridable="yes">ìë¹ì¤: [1]</String>
- <String Id="ProgressTextDuplicateFiles" Overridable="yes">ì¤ë³µ íì¼ì ë§ëë ì¤</String>
- <String Id="ProgressTextDuplicateFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9], í¬ê¸°: [6]</String>
- <String Id="ProgressTextFindRelatedProducts" Overridable="yes">ê´ë ¨ ìì© íë¡ê·¸ë¨ì ì°¾ë ì¤</String>
- <String Id="ProgressTextFindRelatedProductsTemplate" Overridable="yes">ì°¾ì ìì© íë¡ê·¸ë¨: [1]</String>
- <String Id="ProgressTextInstallODBC" Overridable="yes">ODBC êµ¬ì± ìì를 ì¤ì¹íë ì¤</String>
- <String Id="ProgressTextInstallServices" Overridable="yes">ì ìë¹ì¤ë¥¼ ì¤ì¹íë ì¤</String>
- <String Id="ProgressTextInstallServicesTemplate" Overridable="yes">ìë¹ì¤: [2]</String>
- <String Id="ProgressTextLaunchConditions" Overridable="yes">ìì ì¡°ê±´ì íê°íë ì¤</String>
- <String Id="ProgressTextMigrateFeatureStates" Overridable="yes">ê´ë ¨ ìì© íë¡ê·¸ë¨ìì ê¸°ë¥ ìí를 ë§ì´ê·¸ë ì´ì
íë ì¤</String>
- <String Id="ProgressTextMigrateFeatureStatesTemplate" Overridable="yes">ìì© íë¡ê·¸ë¨: [1]</String>
- <String Id="ProgressTextMoveFiles" Overridable="yes">íì¼ì ì®ê¸°ë ì¤</String>
- <String Id="ProgressTextMoveFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9], í¬ê¸°: [6]</String>
- <String Id="ProgressTextPatchFiles" Overridable="yes">íì¼ì í¨ì¹íë ì¤</String>
- <String Id="ProgressTextPatchFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [2], í¬ê¸°: [3]</String>
- <String Id="ProgressTextProcessComponents" Overridable="yes">êµ¬ì± ìì ë±ë¡ì ì
ë°ì´í¸íë ì¤</String>
- <String Id="ProgressTextRegisterComPlus" Overridable="yes">COM+ ìì© íë¡ê·¸ë¨ ë° êµ¬ì± ìì를 ë±ë¡íë ì¤</String>
- <String Id="ProgressTextRegisterComPlusTemplate" Overridable="yes">AppId: [1]{{, AppType: [2], ì¬ì©ì: [3], RSN: [4]}}</String>
- <String Id="ProgressTextRegisterFonts" Overridable="yes">ê¸ê¼´ì ë±ë¡íë ì¤</String>
- <String Id="ProgressTextRegisterFontsTemplate" Overridable="yes">ê¸ê¼´: [1]</String>
- <String Id="ProgressTextRegisterProduct" Overridable="yes">ì íì ë±ë¡íë ì¤</String>
+ <String Id="ProgressTextAllocateRegistrySpace" Overridable="yes">Eì§E¤ú¦¸E¬ EµEE ú± E¹ú±ë EE/String>
+ <String Id="ProgressTextAllocateRegistrySpaceTemplate" Overridable="yes">E¬E© EE¥ú±EEµEE [1]</String>
+ <String Id="ProgressTextAppSearch" Overridable="yes">E¤Eí Eì© ú°E¡ê·¸E¨EEE¾EEEE/String>
+ <String Id="ProgressTextAppSearchTemplate" Overridable="yes">Eì±: [1], EëªE [2]</String>
+ <String Id="ProgressTextBindImage" Overridable="yes">E¤ú²Eú¨ì¼EEE°E°ú±ë EE/String>
+ <String Id="ProgressTextBindImageTemplate" Overridable="yes">ú¨ì¼: [1]</String>
+ <String Id="ProgressTextCCPSearch" Overridable="yes">EíEEE¾EEEE/String>
+ <String Id="ProgressTextCreateFolders" Overridable="yes">ú«´E를 EëEEEE/String>
+ <String Id="ProgressTextCreateFoldersTemplate" Overridable="yes">ú«´EE [1]</String>
+ <String Id="ProgressTextDeleteServices" Overridable="yes">Eë¹E¤E¼ EEíEEEE/String>
+ <String Id="ProgressTextDeleteServicesTemplate" Overridable="yes">Eë¹E¤: [1]</String>
+ <String Id="ProgressTextDuplicateFiles" Overridable="yes">Eë³µ ú¨ì¼EEEëEEEE/String>
+ <String Id="ProgressTextDuplicateFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9], ú¬E°: [6]</String>
+ <String Id="ProgressTextFindRelatedProducts" Overridable="yes">EE¨ Eì© ú°E¡ê·¸E¨EEE¾EEEE/String>
+ <String Id="ProgressTextFindRelatedProductsTemplate" Overridable="yes">E¾E Eì© ú°E¡ê·¸E¨: [1]</String>
+ <String Id="ProgressTextInstallODBC" Overridable="yes">ODBC E¬E± EìEE¼ E¤EíEEEE/String>
+ <String Id="ProgressTextInstallServices" Overridable="yes">EEEë¹E¤E¼ E¤EíEEEE/String>
+ <String Id="ProgressTextInstallServicesTemplate" Overridable="yes">Eë¹E¤: [2]</String>
+ <String Id="ProgressTextLaunchConditions" Overridable="yes">Eì E°E´EEú«ê°ú±ë EE/String>
+ <String Id="ProgressTextMigrateFeatureStates" Overridable="yes">EE¨ Eì© ú°E¡ê·¸E¨EìE E°E¥ EEEE¼ Eì´E¸Eì´EíEEEE/String>
+ <String Id="ProgressTextMigrateFeatureStatesTemplate" Overridable="yes">Eì© ú°E¡ê·¸E¨: [1]</String>
+ <String Id="ProgressTextMoveFiles" Overridable="yes">ú¨ì¼EEE®E°EEEE/String>
+ <String Id="ProgressTextMoveFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9], ú¬E°: [6]</String>
+ <String Id="ProgressTextPatchFiles" Overridable="yes">ú¨ì¼EEú¨¨EíEEEE/String>
+ <String Id="ProgressTextPatchFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [2], ú¬E°: [3]</String>
+ <String Id="ProgressTextProcessComponents" Overridable="yes">E¬E± EìE E±Eì EE°E´ú¦¸ú±ë EE/String>
+ <String Id="ProgressTextRegisterComPlus" Overridable="yes">COM+ Eì© ú°E¡ê·¸E¨ EEE¬E± EìEE¼ E±EíEEEE/String>
+ <String Id="ProgressTextRegisterComPlusTemplate" Overridable="yes">AppId: [1]{{, AppType: [2], E¬E©EE [3], RSN: [4]}}</String>
+ <String Id="ProgressTextRegisterFonts" Overridable="yes">EE´EEE±EíEEEE/String>
+ <String Id="ProgressTextRegisterFontsTemplate" Overridable="yes">EE´: [1]</String>
+ <String Id="ProgressTextRegisterProduct" Overridable="yes">EíEEE±EíEEEE/String>
<String Id="ProgressTextRegisterProductTemplate" Overridable="yes">[1]</String>
- <String Id="ProgressTextRegisterTypeLibraries" Overridable="yes">íì ë¼ì´ë¸ë¬ë¦¬ë¥¼ ë±ë¡íë ì¤</String>
+ <String Id="ProgressTextRegisterTypeLibraries" Overridable="yes">ú´ì E¼E´Eë¬E¬E¼ E±EíEEEE/String>
<String Id="ProgressTextRegisterTypeLibrariesTemplate" Overridable="yes">LibID: [1]</String>
- <String Id="ProgressTextRegisterUser" Overridable="yes">ì¬ì©ì를 ë±ë¡íë ì¤</String>
+ <String Id="ProgressTextRegisterUser" Overridable="yes">E¬E©E를 E±EíEEEE/String>
<String Id="ProgressTextRegisterUserTemplate" Overridable="yes">[1]</String>
- <String Id="ProgressTextRemoveDuplicateFiles" Overridable="yes">ì¤ë³µ íì¼ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveDuplicateFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9]</String>
- <String Id="ProgressTextRemoveEnvironmentStrings" Overridable="yes">íê²½ 문ìì´ì ì
ë°ì´í¸íë ì¤</String>
- <String Id="ProgressTextRemoveEnvironmentStringsTemplate" Overridable="yes">ì´ë¦: [1], ê°: [2], ìì
[3]</String>
- <String Id="ProgressTextRemoveExistingProducts" Overridable="yes">ìì© íë¡ê·¸ë¨ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveExistingProductsTemplate" Overridable="yes">ìì© íë¡ê·¸ë¨: [1], ëª
ë ¹ì¤: [2]</String>
- <String Id="ProgressTextRemoveFiles" Overridable="yes">íì¼ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9]</String>
- <String Id="ProgressTextRemoveFolders" Overridable="yes">í´ë를 ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveFoldersTemplate" Overridable="yes">í´ë: [1]</String>
- <String Id="ProgressTextRemoveIniValues" Overridable="yes">INI íì¼ í목ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveIniValuesTemplate" Overridable="yes">íì¼: [1], ì¹ì
: [2], í¤: [3], ê°: [4]</String>
- <String Id="ProgressTextRemoveODBC" Overridable="yes">ODBC êµ¬ì± ìì를 ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveRegistryValues" Overridable="yes">ìì¤í
ë ì§ì¤í¸ë¦¬ ê°ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveRegistryValuesTemplate" Overridable="yes">í¤: [1], ì´ë¦: [2]</String>
- <String Id="ProgressTextRemoveShortcuts" Overridable="yes">ë°ë¡ ê°ê¸°ë¥¼ ì ê±°íë ì¤</String>
- <String Id="ProgressTextRemoveShortcutsTemplate" Overridable="yes">ë°ë¡ ê°ê¸°: [1]</String>
- <String Id="ProgressTextRMCCPSearch" Overridable="yes">ì íì ì°¾ë ì¤</String>
- <String Id="ProgressTextSelfRegModules" Overridable="yes">모ëì ë±ë¡íë ì¤</String>
- <String Id="ProgressTextSelfRegModulesTemplate" Overridable="yes">íì¼: [1], í´ë: [2]</String>
- <String Id="ProgressTextSelfUnregModules" Overridable="yes">모ëì ë±ë¡ì ì·¨ìíë ì¤</String>
- <String Id="ProgressTextSelfUnregModulesTemplate" Overridable="yes">íì¼: [1], í´ë: [2]</String>
- <String Id="ProgressTextSetODBCFolders" Overridable="yes">ODBC ëë í°ë¦¬ë¥¼ ì´ê¸°ííë ì¤</String>
- <String Id="ProgressTextStartServices" Overridable="yes">ìë¹ì¤ë¥¼ ììíë ì¤</String>
- <String Id="ProgressTextStartServicesTemplate" Overridable="yes">ìë¹ì¤: [1]</String>
- <String Id="ProgressTextStopServices" Overridable="yes">ìë¹ì¤ë¥¼ ì¤ì§íë ì¤</String>
- <String Id="ProgressTextStopServicesTemplate" Overridable="yes">ìë¹ì¤: [1]</String>
- <String Id="ProgressTextUnpublishComponents" Overridable="yes">í´ë¹ êµ¬ì± ììì ê²ì를 ì·¨ìíë ì¤</String>
- <String Id="ProgressTextUnpublishComponentsTemplate" Overridable="yes">êµ¬ì± ìì ID: [1], íì ì: [2]</String>
- <String Id="ProgressTextUnpublishFeatures" Overridable="yes">ì í 기ë¥ì ê²ì를 ì·¨ìíë ì¤</String>
- <String Id="ProgressTextUnpublishFeaturesTemplate" Overridable="yes">기ë¥: [1]</String>
- <String Id="ProgressTextUnregisterClassInfo" Overridable="yes">í´ëì¤ ìë² ë±ë¡ ì·¨ì</String>
- <String Id="ProgressTextUnregisterClassInfoTemplate" Overridable="yes">í´ëì¤ ID: [1]</String>
- <String Id="ProgressTextUnregisterComPlus" Overridable="yes">COM+ ìì© íë¡ê·¸ë¨ ë° êµ¬ì± ììì ë±ë¡ì ì·¨ìíë ì¤</String>
+ <String Id="ProgressTextRemoveDuplicateFiles" Overridable="yes">Eë³µ ú¨ì¼EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveDuplicateFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9]</String>
+ <String Id="ProgressTextRemoveEnvironmentStrings" Overridable="yes">úµê²½ E¸Eì´EEEE°E´ú¦¸ú±ë EE/String>
+ <String Id="ProgressTextRemoveEnvironmentStringsTemplate" Overridable="yes">E´EE [1], EE [2], Eì
[3]</String>
+ <String Id="ProgressTextRemoveExistingProducts" Overridable="yes">Eì© ú°E¡ê·¸E¨EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveExistingProductsTemplate" Overridable="yes">Eì© ú°E¡ê·¸E¨: [1], EE ¹EE [2]</String>
+ <String Id="ProgressTextRemoveFiles" Overridable="yes">ú¨ì¼EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9]</String>
+ <String Id="ProgressTextRemoveFolders" Overridable="yes">ú«´E를 Eê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveFoldersTemplate" Overridable="yes">ú«´EE [1]</String>
+ <String Id="ProgressTextRemoveIniValues" Overridable="yes">INI ú¨ì¼ ú±E©EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveIniValuesTemplate" Overridable="yes">ú¨ì¼: [1], E¹EE [2], ú¤: [3], EE [4]</String>
+ <String Id="ProgressTextRemoveODBC" Overridable="yes">ODBC E¬E± EìEE¼ Eê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveRegistryValues" Overridable="yes">Eì¤ú¡EEì§E¤ú¦¸E¬ Eì Eê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveRegistryValuesTemplate" Overridable="yes">ú¤: [1], E´EE [2]</String>
+ <String Id="ProgressTextRemoveShortcuts" Overridable="yes">Eë¡EEE°E¼ Eê±°ú±ë EE/String>
+ <String Id="ProgressTextRemoveShortcutsTemplate" Overridable="yes">Eë¡EEE°: [1]</String>
+ <String Id="ProgressTextRMCCPSearch" Overridable="yes">EíEEE¾EEEE/String>
+ <String Id="ProgressTextSelfRegModules" Overridable="yes">E¨Eì E±EíEEEE/String>
+ <String Id="ProgressTextSelfRegModulesTemplate" Overridable="yes">ú¨ì¼: [1], ú«´EE [2]</String>
+ <String Id="ProgressTextSelfUnregModules" Overridable="yes">E¨Eì E±Eì E¨EíEEEE/String>
+ <String Id="ProgressTextSelfUnregModulesTemplate" Overridable="yes">ú¨ì¼: [1], ú«´EE [2]</String>
+ <String Id="ProgressTextSetODBCFolders" Overridable="yes">ODBC Eë í°E¬E¼ E기úµíEEEE/String>
+ <String Id="ProgressTextStartServices" Overridable="yes">Eë¹E¤E¼ Eìú±ë EE/String>
+ <String Id="ProgressTextStartServicesTemplate" Overridable="yes">Eë¹E¤: [1]</String>
+ <String Id="ProgressTextStopServices" Overridable="yes">Eë¹E¤E¼ Eì§ú±ë EE/String>
+ <String Id="ProgressTextStopServicesTemplate" Overridable="yes">Eë¹E¤: [1]</String>
+ <String Id="ProgressTextUnpublishComponents" Overridable="yes">ú±´E¹ E¬E± EìEEEEìE¼ E¨EíEEEE/String>
+ <String Id="ProgressTextUnpublishComponentsTemplate" Overridable="yes">E¬E± EìE ID: [1], ú±ì ì: [2]</String>
+ <String Id="ProgressTextUnpublishFeatures" Overridable="yes">Eí E°E¥EEEìE¼ E¨EíEEEE/String>
+ <String Id="ProgressTextUnpublishFeaturesTemplate" Overridable="yes">E°E¥: [1]</String>
+ <String Id="ProgressTextUnregisterClassInfo" Overridable="yes">ú´Eì¤ Eë²EE±EEE¨EE/String>
+ <String Id="ProgressTextUnregisterClassInfoTemplate" Overridable="yes">ú´Eì¤ ID: [1]</String>
+ <String Id="ProgressTextUnregisterComPlus" Overridable="yes">COM+ Eì© ú°E¡ê·¸E¨ EEE¬E± EìEEEE±Eì E¨EíEEEE/String>
<String Id="ProgressTextUnregisterComPlusTemplate" Overridable="yes">AppId: [1]{{, AppType: [2]}}</String>
- <String Id="ProgressTextUnregisterExtensionInfo" Overridable="yes">íì¥ ìë²ì ë±ë¡ì ì·¨ìíë ì¤</String>
- <String Id="ProgressTextUnregisterExtensionInfoTemplate" Overridable="yes">íì¥: [1]</String>
- <String Id="ProgressTextUnregisterFonts" Overridable="yes">ê¸ê¼´ ë±ë¡ì ì·¨ìíë ì¤</String>
- <String Id="ProgressTextUnregisterFontsTemplate" Overridable="yes">ê¸ê¼´: [1]</String>
- <String Id="ProgressTextUnregisterMIMEInfo" Overridable="yes">MIME ì ë³´ì ë±ë¡ì ì·¨ìíë ì¤</String>
- <String Id="ProgressTextUnregisterMIMEInfoTemplate" Overridable="yes">MIME ì½í
í¸ íì: [1], íì¥: [2]</String>
- <String Id="ProgressTextUnregisterProgIdInfo" Overridable="yes">íë¡ê·¸ë¨ ìë³ìì ë±ë¡ì ì·¨ìíë ì¤</String>
+ <String Id="ProgressTextUnregisterExtensionInfo" Overridable="yes">úµì¥ Eë²E E±Eì E¨EíEEEE/String>
+ <String Id="ProgressTextUnregisterExtensionInfoTemplate" Overridable="yes">úµì¥: [1]</String>
+ <String Id="ProgressTextUnregisterFonts" Overridable="yes">EE´ E±Eì E¨EíEEEE/String>
+ <String Id="ProgressTextUnregisterFontsTemplate" Overridable="yes">EE´: [1]</String>
+ <String Id="ProgressTextUnregisterMIMEInfo" Overridable="yes">MIME Eë³´EEE±Eì E¨EíEEEE/String>
+ <String Id="ProgressTextUnregisterMIMEInfoTemplate" Overridable="yes">MIME EíEú¦¸ ú´ì: [1], úµì¥: [2]</String>
+ <String Id="ProgressTextUnregisterProgIdInfo" Overridable="yes">ú°E¡ê·¸E¨ Eë³EEEE±Eì E¨EíEEEE/String>
<String Id="ProgressTextUnregisterProgIdInfoTemplate" Overridable="yes">ProgID: [1]</String>
- <String Id="ProgressTextUnregisterTypeLibraries" Overridable="yes">íì ë¼ì´ë¸ë¬ë¦¬ì ë±ë¡ì ì·¨ìíë ì¤</String>
+ <String Id="ProgressTextUnregisterTypeLibraries" Overridable="yes">ú´ì E¼E´Eë¬E¬EEE±Eì E¨EíEEEE/String>
<String Id="ProgressTextUnregisterTypeLibrariesTemplate" Overridable="yes">LibID: [1]</String>
- <String Id="ProgressTextWriteEnvironmentStrings" Overridable="yes">íê²½ 문ìì´ì ì
ë°ì´í¸íë ì¤</String>
- <String Id="ProgressTextWriteEnvironmentStringsTemplate" Overridable="yes">ì´ë¦: [1], ê°: [2], ìì
[3]</String>
- <String Id="ProgressTextWriteIniValues" Overridable="yes">INI íì¼ ê°ì ì°ë ì¤</String>
- <String Id="ProgressTextWriteIniValuesTemplate" Overridable="yes">íì¼: [1], ì¹ì
: [2], í¤: [3], ê°: [4]</String>
- <String Id="ProgressTextWriteRegistryValues" Overridable="yes">ìì¤í
ë ì§ì¤í¸ë¦¬ ê°ì ì°ë ì¤</String>
- <String Id="ProgressTextWriteRegistryValuesTemplate" Overridable="yes">í¤: [1], ì´ë¦: [2], ê°: [3]</String>
- <String Id="ProgressTextAdvertise" Overridable="yes">ì²ì ì¬ì©í ë ì¤ì¹íë ìì© íë¡ê·¸ë¨</String>
- <String Id="ProgressTextGenerateScript" Overridable="yes">ì¤íí ì¤í¬ë¦½í¸ ìì
ì ìì±íë ì¤:</String>
+ <String Id="ProgressTextWriteEnvironmentStrings" Overridable="yes">úµê²½ E¸Eì´EEEE°E´ú¦¸ú±ë EE/String>
+ <String Id="ProgressTextWriteEnvironmentStringsTemplate" Overridable="yes">E´EE [1], EE [2], Eì
[3]</String>
+ <String Id="ProgressTextWriteIniValues" Overridable="yes">INI ú¨ì¼ Eì E°EEEE/String>
+ <String Id="ProgressTextWriteIniValuesTemplate" Overridable="yes">ú¨ì¼: [1], E¹EE [2], ú¤: [3], EE [4]</String>
+ <String Id="ProgressTextWriteRegistryValues" Overridable="yes">Eì¤ú¡EEì§E¤ú¦¸E¬ Eì E°EEEE/String>
+ <String Id="ProgressTextWriteRegistryValuesTemplate" Overridable="yes">ú¤: [1], E´EE [2], EE [3]</String>
+ <String Id="ProgressTextAdvertise" Overridable="yes">Eì E¬E©ú± EEE¤EíEEEì© ú°E¡ê·¸E¨</String>
+ <String Id="ProgressTextGenerateScript" Overridable="yes">E¤ú²í E¤ú¬E½ú¦¸ Eì
EEEì±ú±ë EE</String>
<String Id="ProgressTextGenerateScriptTemplate" Overridable="yes">[1]</String>
- <String Id="ProgressTextInstallSFPCatalogFile" Overridable="yes">ìì¤í
ì¹´íë¡ê·¸ë¥¼ ì¤ì¹íë ì¤</String>
- <String Id="ProgressTextInstallSFPCatalogFileTemplate" Overridable="yes">íì¼: [1], ì¢
ìì±: [2]</String>
- <String Id="ProgressTextMsiPublishAssemblies" Overridable="yes">ì´ì
ë¸ë¦¬ ì 보를 ê²ìíë ì¤</String>
- <String Id="ProgressTextMsiPublishAssembliesTemplate" Overridable="yes">ìì© íë¡ê·¸ë¨ 컨í
ì¤í¸:[1], ì´ì
ë¸ë¦¬ ì´ë¦:[2]</String>
- <String Id="ProgressTextMsiUnpublishAssemblies" Overridable="yes">ì´ì
ë¸ë¦¬ ì ë³´ì ê²ì를 ì·¨ìíë ì¤</String>
- <String Id="ProgressTextMsiUnpublishAssembliesTemplate" Overridable="yes">ìì© íë¡ê·¸ë¨ 컨í
ì¤í¸:[1], ì´ì
ë¸ë¦¬ ì´ë¦:[2]</String>
- <String Id="ProgressTextRollback" Overridable="yes">ìì
ì 롤백íë ì¤:</String>
+ <String Id="ProgressTextInstallSFPCatalogFile" Overridable="yes">Eì¤ú¡EE´úë¡ê·¸E¼ E¤EíEEEE/String>
+ <String Id="ProgressTextInstallSFPCatalogFileTemplate" Overridable="yes">ú¨ì¼: [1], EEEE±: [2]</String>
+ <String Id="ProgressTextMsiPublishAssemblies" Overridable="yes">E´Eë¸ë¦¬ Eë³´E¼ Eìú±ë EE/String>
+ <String Id="ProgressTextMsiPublishAssembliesTemplate" Overridable="yes">Eì© ú°E¡ê·¸E¨ E¨ú¡ì¤ú¦¸:[1], E´Eë¸ë¦¬ E´EE[2]</String>
+ <String Id="ProgressTextMsiUnpublishAssemblies" Overridable="yes">E´Eë¸ë¦¬ Eë³´EEEìE¼ E¨EíEEEE/String>
+ <String Id="ProgressTextMsiUnpublishAssembliesTemplate" Overridable="yes">Eì© ú°E¡ê·¸E¨ E¨ú¡ì¤ú¦¸:[1], E´Eë¸ë¦¬ E´EE[2]</String>
+ <String Id="ProgressTextRollback" Overridable="yes">Eì
EEE¤E±ú±ë EE</String>
<String Id="ProgressTextRollbackTemplate" Overridable="yes">[1]</String>
- <String Id="ProgressTextRollbackCleanup" Overridable="yes">ë°±ì
íì¼ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextRollbackCleanupTemplate" Overridable="yes">íì¼: [1]</String>
- <String Id="ProgressTextUnmoveFiles" Overridable="yes">ì´ëí íì¼ì ì ê±°íë ì¤</String>
- <String Id="ProgressTextUnmoveFilesTemplate" Overridable="yes">íì¼: [1], ëë í°ë¦¬: [9]</String>
- <String Id="ProgressTextUnpublishProduct" Overridable="yes">ì í ì ë³´ì ê²ì를 ì·¨ìíë ì¤</String>
+ <String Id="ProgressTextRollbackCleanup" Overridable="yes">E±EEú¨ì¼EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextRollbackCleanupTemplate" Overridable="yes">ú¨ì¼: [1]</String>
+ <String Id="ProgressTextUnmoveFiles" Overridable="yes">E´Eí ú¨ì¼EEEê±°ú±ë EE/String>
+ <String Id="ProgressTextUnmoveFilesTemplate" Overridable="yes">ú¨ì¼: [1], Eë í°E¬: [9]</String>
+ <String Id="ProgressTextUnpublishProduct" Overridable="yes">Eí Eë³´EEEìE¼ E¨EíEEEE/String>
- <String Id="Error0" Overridable="yes">{{ì¬ê°í ì¤ë¥: }}</String>
- <String Id="Error1" Overridable="yes">{{ì¤ë¥ [1]. }}</String>
- <String Id="Error2" Overridable="yes">ê²½ê³ [1]. </String>
- <String Id="Error4" Overridable="yes">ì ë³´ [1]. </String>
- <String Id="Error5" Overridable="yes">ì´ í¨í¤ì§ë¥¼ ì¤ì¹íë ëì ììì¹ ìì ì¤ë¥ê° ë°ìíìµëë¤. í¨í¤ì§ì 문ì ê° ìì ì ììµëë¤. ì¤ë¥ ì½ë: [1]. {{ì¸ì: [2], [3], [4]}}</String>
- <String Id="Error7" Overridable="yes">{{ëì¤í¬ ê½ ì°¸: }}</String>
- <String Id="Error8" Overridable="yes">ìì
[Time]: [1]. [2]</String>
+ <String Id="Error0" Overridable="yes">{{E¬EE E¤EE }}</String>
+ <String Id="Error1" Overridable="yes">{{E¤EE[1]. }}</String>
+ <String Id="Error2" Overridable="yes">E½E [1]. </String>
+ <String Id="Error4" Overridable="yes">Eë³´ [1]. </String>
+ <String Id="Error5" Overridable="yes">E´ ú¨¨ú¤EE¼ E¤EíEEEì EìEEEì E¤Eê° EìEú²ìµEë¤. ú¨¨ú¤EEEE¸Eê° Eì EEEìµEë¤. E¤EEEë: [1]. {{E¸EE [2], [3], [4]}}</String>
+ <String Id="Error7" Overridable="yes">{{Eì¤ú¬ EEE¸: }}</String>
+ <String Id="Error8" Overridable="yes">Eì
[Time]: [1]. [2]</String>
<String Id="Error9" Overridable="yes">[ProductName]</String>
<String Id="Error10" Overridable="yes">{[2]}{, [3]}{, [4]}</String>
- <String Id="Error11" Overridable="yes">ë©ìì§ ì í: [1], ì¸ì: [2]</String>
- <String Id="Error12" Overridable="yes">=== ë¡ê¹
ìì: [Date] [Time] ===</String>
- <String Id="Error13" Overridable="yes">=== ë¡ê¹
ì¤ì§: [Date] [Time] ===</String>
- <String Id="Error14" Overridable="yes">ìì
ìì [Time]: [1].</String>
- <String Id="Error15" Overridable="yes">ìì
ë [Time]: [1]. ë°í ê° [2].</String>
- <String Id="Error16" Overridable="yes">ë¨ì ìê°: {[1]ë¶ }{[2]ì´}</String>
- <String Id="Error17" Overridable="yes">ë©ëª¨ë¦¬ê° ë¶ì¡±í©ëë¤. ë¤ë¥¸ ìì© íë¡ê·¸ë¨ì ì¢
ë£í í ë¤ì ìëíììì¤.</String>
- <String Id="Error18" Overridable="yes">ì¤ì¹ ê´ë¦¬ìê° ë ì´ì ìëµíì§ ììµëë¤.</String>
- <String Id="Error19" Overridable="yes">ì¤ì¹ê° ì¤ë¨ëììµëë¤.</String>
- <String Id="Error20" Overridable="yes">[ProductName]ì(를) 구ì±íë ëì ì ì 기ë¤ë ¤ 주ììì¤.</String>
- <String Id="Error21" Overridable="yes">íìí ì 보를 모ì¼ë ì¤...</String>
- <String Id="Error22" Overridable="yes">ì´ ìì© íë¡ê·¸ë¨ì ì´ì ë²ì ì ì ê±°íë ì¤...</String>
- <String Id="Error23" Overridable="yes">ì´ ìì© íë¡ê·¸ë¨ì ì´ì ë²ì ì ì ê±°í기 ìí´ ì¤ë¹íë ì¤...</String>
- <String Id="Error32" Overridable="yes">{[ProductName] }ì¤ì¹ê° ì±ê³µì ì¼ë¡ ìë£ëììµëë¤.</String>
- <String Id="Error33" Overridable="yes">{[ProductName] }ì¤ì¹íì§ ëª»íìµëë¤.</String>
- <String Id="Error1101" Overridable="yes">íì¼ ì½ê¸° ì¤ë¥: [2]. {{ ìì¤í
ì¤ë¥ [3].}} íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1301" Overridable="yes">ê°ì ì´ë¦ì ëë í°ë¦¬ê° ì´ë¯¸ ìì¼ë¯ë¡ íì¼ '[2]'ì(를) ë§ë¤ ì ììµëë¤. ì¤ì¹ë¥¼ ì·¨ìíê³ ë¤ë¥¸ ìì¹ì ë¤ì ì¤ì¹í´ ë³´ììì¤.</String>
- <String Id="Error1302" Overridable="yes">ë¤ì ëì¤í¬ë¥¼ ë£ì¼ììì¤. [2]</String>
- <String Id="Error1303" Overridable="yes">ì´ ëë í°ë¦¬ì ì¡ì¸ì¤í ì ìë ê¶íì´ ììµëë¤: [2]. ì¤ì¹ë¥¼ ê³ìí ì ììµëë¤. Administratorë¡ ë¡ê·¸ì¨íê±°ë ìì¤í
ê´ë¦¬ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1304" Overridable="yes">íì¼ì ì°ë ëì ì¤ë¥ê° ë°ìíìµëë¤: [2]. í´ë¹ ëë í°ë¦¬ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1305" Overridable="yes">íì¼ ì½ê¸° ì¤ë¥: [2]. {{ ìì¤í
ì¤ë¥ [3].}} íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1306" Overridable="yes">ë¤ë¥¸ ìì© íë¡ê·¸ë¨ìì íì¼ '[2]'ì(를) ë¨ë
ì¼ë¡ ì¬ì©íê³ ììµëë¤. ë¤ë¥¸ ìì© íë¡ê·¸ë¨ì 모ë ë«ì í "ë¤ì ìë"를 í´ë¦íììì¤.</String>
- <String Id="Error1307" Overridable="yes">ëì¤í¬ ê³µê°ì´ ë¶ì¡±í´ì ì´ íì¼ì ì¤ì¹í ì ììµëë¤: [2]. ëì¤í¬ ê³µê°ì ë린 í "ë¤ì ìë"를 í´ë¦íê±°ë "ì·¨ì"를 í´ë¦íì¬ ëë´ììì¤.</String>
- <String Id="Error1308" Overridable="yes">ì본 íì¼ì´ ììµëë¤: [2]. íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1309" Overridable="yes">íì¼ ì½ê¸° ì¤ë¥: [3]. {{ ìì¤í
ì¤ë¥ [2].}} íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1310" Overridable="yes">íì¼ ì°ê¸° ì¤ë¥: [3]. {{ ìì¤í
ì¤ë¥ [2].}} í´ë¹ ëë í°ë¦¬ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1311" Overridable="yes">ì본 íì¼ì´ ììµëë¤{{(cabinet)}}: [2]. íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1312" Overridable="yes">ê°ì ì´ë¦ì íì¼ì´ ì´ë¯¸ ìì¼ë¯ë¡ ëë í°ë¦¬ '[2]'ì(를) ë§ë¤ ì ììµëë¤. íì¼ì ì´ë¦ì ë°ê¾¸ê±°ë íì¼ì ì ê±°í í "ë¤ì ìë"를 í´ë¦íê±°ë, "ì·¨ì"를 í´ë¦íì¬ ëë´ììì¤.</String>
- <String Id="Error1313" Overridable="yes">볼륨 [2]ì(를) íì¬ ì¬ì©í ì ììµëë¤. ë¤ë¥¸ 볼륨ì ì ííììì¤.</String>
- <String Id="Error1314" Overridable="yes">ì§ì í ê²½ë¡ '[2]'ì(를) ì¬ì©í ì ììµëë¤.</String>
- <String Id="Error1315" Overridable="yes">ì§ì í í´ë [2]ì ì¸ ì ììµëë¤.</String>
- <String Id="Error1316" Overridable="yes">[2] íì¼ì ì½ë ëì ë¤í¸ìí¬ ì¤ë¥ê° ë°ìíìµëë¤.</String>
- <String Id="Error1317" Overridable="yes">[2] ëë í°ë¦¬ë¥¼ ë§ëë ëì ì¤ë¥ê° ë°ìíìµëë¤.</String>
- <String Id="Error1318" Overridable="yes">[2] ëë í°ë¦¬ë¥¼ ë§ëë ëì ë¤í¸ìí¬ ì¤ë¥ê° ë°ìíìµëë¤.</String>
- <String Id="Error1319" Overridable="yes">[2] ì본 íì¼ ìºë¹ëì ì¬ë ëì ë¤í¸ìí¬ ì¤ë¥ê° ë°ìíìµëë¤.</String>
- <String Id="Error1320" Overridable="yes">ì§ì í ê²½ë¡ [2]ì´(ê°) ë무 ê¹ëë¤.</String>
- <String Id="Error1321" Overridable="yes">íì¼ [2]ì(를) ìì í ì ìë ê¶íì´ ììµëë¤.</String>
- <String Id="Error1322" Overridable="yes">í´ë ê²½ë¡ '[2]'ì ì¼ë¶ê° ì¬ë°ë¥´ì§ ììµëë¤. 공백ì´ê±°ë, ìì¤í
ìì íì©íë 길ì´ë¥¼ ì´ê³¼í©ëë¤.</String>
- <String Id="Error1323" Overridable="yes">í´ë ê²½ë¡ '[2]'ì í´ë ê²½ë¡ì ì¬ì©í ì ìë ë¨ì´ê° ë¤ì´ ììµëë¤.</String>
- <String Id="Error1324" Overridable="yes">í´ë ê²½ë¡ '[2]'ì ì¬ì©í ì ìë 문ìê° ë¤ì´ ììµëë¤.</String>
- <String Id="Error1325" Overridable="yes">'[2]'ì(ë) ì í¨í ì½ì íì¼ ì´ë¦ì´ ìëëë¤.</String>
- <String Id="Error1326" Overridable="yes">íì¼ ë³´ì ì¤ë¥: [3] GetLastError: [2]</String>
- <String Id="Error1327" Overridable="yes">ì í¨íì§ ìì ëë¼ì´ë¸: [2]</String>
- <String Id="Error1328" Overridable="yes">íì¼ [2]ì í¨ì¹ë¥¼ ì ì©íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ë¤ë¥¸ ë°©ë²ì¼ë¡ ì
ë°ì´í¸ëì´, ì´ í¨ì¹ë¥¼ íµí ìì ì´ ë¶ê°ë¥í©ëë¤. ë ìì¸í ì ë³´ë í¨ì¹ ê³µê¸ì
ì²´ì 문ìíììì¤. {{ìì¤í
ì¤ë¥: [3]}}</String>
- <String Id="Error1329" Overridable="yes">ìºë¹ë íì¼ [2]ì´(ê°) ëì§í¸ ìëª
ëì´ ìì§ ì기 ë문ì íìí íì¼ì ì¤ì¹í ì ììµëë¤. ìºë¹ë íì¼ì´ ììëìì ì ììµëë¤.</String>
- <String Id="Error1330" Overridable="yes">ìºë¹ë íì¼ [2]ì ëì§í¸ ìëª
ì´ ì¬ë°ë¥´ì§ ì기 ë문ì íìí íì¼ì ì¤ì¹í ì ììµëë¤. ìºë¹ë íì¼ì´ ììëìì ì ììµëë¤.{{ WinVerifyTrustê° ì¤ë¥ [3]ì(를) ë°ííìµëë¤.}}</String>
- <String Id="Error1331" Overridable="yes">[2] íì¼ì ì¬ë°ë¡ ë³µì¬íì§ ëª»íìµëë¤. CRC ì¤ë¥ì
ëë¤.</String>
- <String Id="Error1332" Overridable="yes">[2] íì¼ì ì¬ë°ë¡ ì´ëíì§ ëª»íìµëë¤. CRC ì¤ë¥ì
ëë¤.</String>
- <String Id="Error1333" Overridable="yes">[2] íì¼ì ì¬ë°ë¡ í¨ì¹íì§ ëª»íìµëë¤. CRC ì¤ë¥ì
ëë¤.</String>
- <String Id="Error1334" Overridable="yes">ìºë¹ë íì¼ '[3]'ìì ì°¾ì ì ìì´ì '[2]' íì¼ì ì¤ì¹í ì ììµëë¤. ë¤í¸ìí¬ ì¤ë¥ì´ê±°ë, CD-ROMìì ì½ê¸° ì¤ë¥ì´ê±°ë, ì´ í¨í¤ì§ì 문ì ê° ìì ì ììµëë¤.</String>
- <String Id="Error1335" Overridable="yes">ì¤ì¹ì íìí ìºë¹ë íì¼ '[2]'ì´(ê°) ììëì´ ì¬ì©í ì ììµëë¤. ë¤í¸ìí¬ ì¤ë¥ì´ê±°ë, CD-ROMìì ì½ê¸° ì¤ë¥ì´ê±°ë, ì´ í¨í¤ì§ì 문ì ê° ìì ì ììµëë¤.</String>
- <String Id="Error1336" Overridable="yes">ì¤ì¹ë¥¼ ë§ì¹ëë° íìí ìì íì¼ì ë§ëë ëì ì¤ë¥ê° ë°ìíìµëë¤.{{ í´ë: [3]. ìì¤í
ì¤ë¥ ì½ë: [2]}}</String>
- <String Id="Error1401" Overridable="yes">í¤ [2]ì(를) ë§ë¤ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë, ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤. </String>
- <String Id="Error1402" Overridable="yes">í¤ [2]ì(를) ì´ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤. </String>
- <String Id="Error1403" Overridable="yes">í¤ [3]ìì ê° [2]ì(를) ìì íì§ ëª»íìµëë¤. {{ ìì¤í
ì¤ë¥ [4].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤. </String>
- <String Id="Error1404" Overridable="yes">í¤ [2]ì(를) ìì íì§ ëª»íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤. </String>
- <String Id="Error1405" Overridable="yes">í¤ [3]ìì ê° [2]ì(를) ì½ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [4].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤. </String>
- <String Id="Error1406" Overridable="yes">í¤ [3]ì ê° [2]ì(를) ì°ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [4].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1407" Overridable="yes">í¤ [2]ì ê° ì´ë¦ì ê°ì ¸ì¤ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1408" Overridable="yes">í¤ [2]ì íì í¤ ì´ë¦ì ê°ì ¸ì¤ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1409" Overridable="yes">í¤ [2]ì ë³´ì ì 보를 ì½ì§ 못íìµëë¤. {{ ìì¤í
ì¤ë¥ [3].}} ê·¸ í¤ì ëí ì¡ì¸ì¤ ê¶íì´ ìëì§ íì¸íê±°ë ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1410" Overridable="yes">ì¬ì© ê°ë¥í ë ì§ì¤í¸ë¦¬ ê³µê°ì ëë¦¬ì§ ëª»íìµëë¤. [2]KB ì ëì ì¬ì© ê°ë¥í ë ì§ì¤í¸ë¦¬ ê³µê°ì´ ìì´ì¼ ìì© íë¡ê·¸ë¨ì ì¤ì¹í ì ììµëë¤.</String>
- <String Id="Error1500" Overridable="yes">ë¤ë¥¸ íë¡ê·¸ë¨ì ì¤ì¹íê³ ììµëë¤. ê·¸ íë¡ê·¸ë¨ì ì¤ì¹ë¥¼ ëë¸ í ì´ ìì
ì ê³ìíììì¤.</String>
- <String Id="Error1501" Overridable="yes">ë³´ì ë°ì´í°ì ì¡ì¸ì¤íë ëì ì¤ë¥ê° ë°ìíìµëë¤. Windows Installer 구ì±ì ì¬ë°ë¥´ê² ì¤ì íëì§ íì¸íê³ ë¤ì ì¤ì¹íììì¤.</String>
- <String Id="Error1502" Overridable="yes">ì¬ì©ì '[2]'ì´(ê°) ì í '[3]'ì ì¤ì¹ë¥¼ ììí ì ì´ ììµëë¤. ì´ ì¬ì©ìê° í´ë¹ ì íì ì¬ì©íë ¤ë©´ ì¤ì¹ íë¡ê·¸ë¨ì ë¤ì ì¤íí´ì¼ í©ëë¤. ê·íì íì¬ ì¤ì¹ë ê³ìë©ëë¤.</String>
- <String Id="Error1503" Overridable="yes">ì¬ì©ì '[2]'ì´(ê°) ì í '[3]'ì ì¤ì¹ë¥¼ ììí ì ì´ ììµëë¤. ì´ ì¬ì©ìê° í´ë¹ ì íì ì¬ì©íë ¤ë©´ ì¤ì¹ íë¡ê·¸ë¨ì ë¤ì ì¤íí´ì¼ í©ëë¤. ê·íì íì¬ ì¤ì¹ë ê³ìë©ëë¤.</String>
- <String Id="Error1601" Overridable="yes">ëì¤í¬ ê³µê° ë¶ì¡± -- 볼륨: '[2]', íìí ê³µê°: [3]KB, ì¬ì© ê°ë¥í ê³µê°: [4]KB. ëì¤í¬ ê³µê°ì ë린 í ë¤ì ìëíììì¤.</String>
- <String Id="Error1602" Overridable="yes">ì·¨ìíìê² ìµëê¹?</String>
- <String Id="Error1603" Overridable="yes">íì¼ [2][3]ì(를) ë¤ë¥¸ íë¡ì¸ì¤{ì´ë¦: [4], Id: [5], ì°½ ì 목: '[6]'}ìì ì¬ì© ì¤ì
ëë¤. ì´ ìì© íë¡ê·¸ë¨ì ë«ì í ë¤ì ìëíììì¤.</String>
- <String Id="Error1604" Overridable="yes">ì í '[2]'ì´(ê°) ì´ë¯¸ ì¤ì¹ëì´ ìì´ì ì´ ì íì ì¤ì¹íì§ ëª»í©ëë¤. ë ê°ì ì íì í¸íëì§ ììµëë¤.</String>
- <String Id="Error1605" Overridable="yes">복구를 ì¬ì©íì¬ ì¤ì¹ë¥¼ ê³ìí기ìë '[2]' 볼륨ì ëì¤í¬ ê³µê°ì´ ë¶ì¡±í©ëë¤. [3]KBê° íìíë, [4]KBë§ ì¬ì© ê°ë¥í©ëë¤. 복구 ì 보를 ì ì¥íì§ ìê³ ì¤ì¹ë¥¼ ê³ìíë ¤ë©´ "무ì"를 í´ë¦íê³ , ì¬ì© ê°ë¥í ê³µê°ì ë¤ì íì¸íë ¤ë©´ "ë¤ì ìë"를 í´ë¦íììì¤. ì¤ì¹ë¥¼ ëë´ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤.</String>
- <String Id="Error1606" Overridable="yes">ë¤í¸ìí¬ [2]ì ì¡ì¸ì¤íì§ ëª»íìµëë¤.</String>
- <String Id="Error1607" Overridable="yes">ì¤ì¹ë¥¼ ê³ìíë ¤ë©´ ë¤ì ìì© íë¡ê·¸ë¨ì ë«ìì¼ í©ëë¤:</String>
- <String Id="Error1608" Overridable="yes">ì§ê¸ ì¤ì¹íë ¤ë ì íì ì´ì ë²ì ì´ ì´ ìì¤í
ì ì¤ì¹ëì´ ìì§ ììµëë¤.</String>
- <String Id="Error1609" Overridable="yes">ë³´ì ì¤ì ì ì ì©íë ëì ì¤ë¥ê° ë°ìíìµëë¤. [2]ì(ë) ì í¨í ì¬ì©ì ëë ê·¸ë£¹ì´ ìëëë¤. í¨í¤ì§ì 문ì ê° ìê±°ë, ë¤í¸ìí¬ì ëë©ì¸ 컨í¸ë¡¤ë¬ì ì°ê²°íëë° ë¬¸ì ê° ìì ì ììµëë¤. ë¤í¸ìí¬ ì°ê²°ì íì¸íê³ "ë¤ì ìë"를 í´ë¦íê±°ë, ì¤ì¹ë¥¼ ë§ì¹ë ¤ë©´ "ì·¨ì"를 í´ë¦íììì¤. {{ì¬ì©ì SID를 ì°¾ì ì ììµëë¤. ìì¤í
ì¤ë¥ [3]}}</String>
- <String Id="Error1701" Overridable="yes">í¤ [2]ì´(ê°) ì í¨íì§ ììµëë¤. ì íí í¤ë¥¼ ì
ë ¥íëì§ íì¸íììì¤.</String>
- <String Id="Error1702" Overridable="yes">[2]ì 구ì±ì ê³ìíë ¤ë©´ ìì¤í
ì ë¤ì ììí´ì¼ í©ëë¤. ì§ê¸ ë¤ì ììíë ¤ë©´ "ì"를 í´ë¦íê³ , ëì¤ì ìëì¼ë¡ ë¤ì ììíë ¤ë©´ "ìëì"를 í´ë¦íììì¤.</String>
- <String Id="Error1703" Overridable="yes">ë³ê²½ë êµ¬ì± ì¤ì ì [2]ì ì ì©íë ¤ë©´ ìì¤í
ì ë¤ì ììí´ì¼ í©ëë¤. ì§ê¸ ë¤ì ììíë ¤ë©´ "ì"를 í´ë¦íê³ , ëì¤ì ìëì¼ë¡ ë¤ì ììíë ¤ë©´ "ìëì"를 í´ë¦íììì¤.</String>
- <String Id="Error1704" Overridable="yes">[2]ì ì¤ì¹ê° íì¬ ì¤ì§ë ìíì
ëë¤. ìì
ì ê³ìíë ¤ë©´ ì¤ì¹íë©´ì ë³ê²½ë ë´ì©ì ì·¨ìí´ì¼ í©ëë¤. ë³ê²½ë ë´ì©ì ì·¨ìíìê² ìµëê¹?</String>
- <String Id="Error1705" Overridable="yes">ì´ì ì ì¤íí ì´ ì íì ì¤ì¹ ìì
ì´ ì ì©ë ìíì
ëë¤. ê³ìíë ¤ë©´ ê·¸ ë ë³ê²½ë ë´ì©ì ì·¨ìí´ì¼ í©ëë¤. ë³ê²½ë ë´ì©ì ì·¨ìíìê² ìµëê¹?</String>
- <String Id="Error1706" Overridable="yes">ì í [2]ì ì¤ì¹ í¨í¤ì§ê° ììµëë¤. ì¤ì¹ í¨í¤ì§ '[3]'ì ì¬ë°ë¥¸ ì¤ì¹ í¨í¤ì§ ì¬ë³¸ì ì¬ì©íì¬ ì¤ì¹ë¥¼ ë¤ì ìëíììì¤.</String>
- <String Id="Error1707" Overridable="yes">ì¤ì¹ê° ìë£ëììµëë¤.</String>
- <String Id="Error1708" Overridable="yes">ì¤ì¹íì§ ëª»íìµëë¤.</String>
- <String Id="Error1709" Overridable="yes">ì í: [2] -- [3]</String>
- <String Id="Error1710" Overridable="yes">ì»´í¨í°ë¥¼ ì´ì ìíë¡ ë³µìíê±°ë ëì¤ì ë¤ì ì¤ì¹í´ì¼ í©ëë¤. ë³µìíìê² ìµëê¹?</String>
- <String Id="Error1711" Overridable="yes">ì¤ì¹ ì 보를 ëì¤í¬ì ì°ë ëì ì¤ë¥ê° ë°ìíìµëë¤. ëì¤í¬ ê³µê°ì´ 충ë¶íì§ íì¸íê³ "ë¤ì ìë"를 í´ë¦íê±°ë, "ì·¨ì"를 í´ë¦íì¬ ì¤ì¹ë¥¼ ëë´ììì¤.</String>
- <String Id="Error1712" Overridable="yes">ì»´í¨í°ë¥¼ ì´ì ìíë¡ ë³µìíë ë° íìí ì¼ë¶ íì¼ì ì°¾ì§ ëª»íìµëë¤. ë³µìí ì ììµëë¤.</String>
- <String Id="Error1713" Overridable="yes">[2]ì´(ê°) íìí ì í ì¤ íë를 ì¤ì¹í ì ììµëë¤. 기ì ì§ì 그룹ì 문ìíììì¤. {{ìì¤í
ì¤ë¥: [3].}}</String>
- <String Id="Error1714" Overridable="yes">[2]ì ì´ì ë²ì ì ì ê±°í ì ììµëë¤. 기ì ì§ì 그룹ì 문ìíììì¤. {{ìì¤í
ì¤ë¥ [3].}}</String>
- <String Id="Error1715" Overridable="yes">[2] ì¤ì¹ë¨</String>
- <String Id="Error1716" Overridable="yes">[2] 구ì±ë¨</String>
- <String Id="Error1717" Overridable="yes">[2] ì ê±°ë¨</String>
- <String Id="Error1718" Overridable="yes">ëì§í¸ ìëª
ì ì±
ì´ íì¼ [2]ì(를) ê±°ë¶íìµëë¤.</String>
- <String Id="Error1719" Overridable="yes">Windows Installer Service를 ì¡ì¸ì¤í ì ììµëë¤. Windows를 ìì 모ëìì ì¤í ì¤ì´ê±°ë, Windows Installerê° ì¬ë°ë¡ ì¤ì¹ëì§ ìì ê²½ì° ë°ìí ì ììµëë¤. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1720" Overridable="yes">Windows Installer í¨í¤ì§ì 문ì ê° ììµëë¤. ì¤ì¹ë¥¼ ìë£í기 ìí´ íìí ì¤í¬ë¦½í¸ë¥¼ ì¤íí ì ììµëë¤. ê³ ê° ì§ì ë´ë¹ìë í¨í¤ì§ ê³µê¸ì
ì²´ì 문ìíììì¤. {{ì¬ì©ì ì§ì ìì
[2] ì¤í¬ë¦½í¸ ì¤ë¥ [3], [4]: [5] [6]í, [7]ì´, [8] }}</String>
- <String Id="Error1721" Overridable="yes">Windows Installer í¨í¤ì§ì 문ì ê° ììµëë¤. ì¤ì¹ë¥¼ ìë£í기 ìí´ íìí íë¡ê·¸ë¨ì ì¤íí ì ììµëë¤. ê³ ê° ì§ì ë´ë¹ìë í¨í¤ì§ ê³µê¸ì
ì²´ì 문ìíììì¤. {{ìì
: [2], ìì¹: [3], ëª
ë ¹: [4] }}</String>
- <String Id="Error1722" Overridable="yes">Windows Installer í¨í¤ì§ì 문ì ê° ììµëë¤. ì¤ì¹ íë¡ê·¸ë¨ì ì¼ë¶ë¡ ì¤íí íë¡ê·¸ë¨ì´ ììëë¡ ìë£ëì§ ìììµëë¤. ê³ ê° ì§ì ë´ë¹ìë í¨í¤ì§ ê³µê¸ì
ì²´ì 문ìíììì¤. {{ìì
: [2], ìì¹: [3], ëª
ë ¹: [4] }}</String>
- <String Id="Error1723" Overridable="yes">Windows Installer í¨í¤ì§ì 문ì ê° ììµëë¤. ì¤ì¹ë¥¼ ìë£í기 ìí´ íìí DLLì ì¤íí ì ììµëë¤. ê³ ê° ì§ì ë´ë¹ìë í¨í¤ì§ ê³µê¸ì
ì²´ì 문ìíììì¤. {{ìì
[2], í목: [3], ë¼ì´ë¸ë¬ë¦¬: [4] }}</String>
- <String Id="Error1724" Overridable="yes">ì ê±°ê° ìë£ëììµëë¤.</String>
- <String Id="Error1725" Overridable="yes">ì ê±°íì§ ëª»íìµëë¤.</String>
- <String Id="Error1726" Overridable="yes">ë³´ê¸ ìë¦¼ì´ ìë£ëììµëë¤.</String>
- <String Id="Error1727" Overridable="yes">ë³´ê¸ ìë¦¼ì´ ì¤í¨íìµëë¤.</String>
- <String Id="Error1728" Overridable="yes">구ì±ì´ ìë£ëììµëë¤.</String>
- <String Id="Error1729" Overridable="yes">구ì±íì§ ëª»íìµëë¤.</String>
- <String Id="Error1730" Overridable="yes">Administratorë§ì´ ì´ ìì© íë¡ê·¸ë¨ì ì ê±°í ì ììµëë¤. ì´ ìì© íë¡ê·¸ë¨ì ì ê±°íë ¤ë©´, Administratorë¡ ë¡ê·¸ì¨íê±°ë, 기ì ì§ì 그룹ì 문ìíììì¤.</String>
- <String Id="Error1731" Overridable="yes">ì í [2]ì ì본 ì¤ì¹ í¨í¤ì§ê° í´ë¼ì´ì¸í¸ í¨í¤ì§ì ë기íëì§ ìììµëë¤. ì¤ì¹ í¨í¤ì§ '[3]'ì ì¬ë°ë¥¸ ì¤ì¹ í¨í¤ì§ ì¬ë³¸ì ì¬ì©íì¬ ë¤ì ì¤ì¹í´ ë³´ììì¤.</String>
- <String Id="Error1732" Overridable="yes">[2]ì ì¤ì¹ë¥¼ ìë£íë ¤ë©´ ì»´í¨í°ë¥¼ ë¤ì ììí´ì¼ í©ëë¤. íì¬ ë¤ë¥¸ ì¬ì©ìê° ì´ ì»´í¨í°ì ë¡ê·¸ì¨í´ ìì ê²½ì° ì»´í¨í°ë¥¼ ë¤ì ììíë©´ ì¤í ì¤ì¸ ìì
ì ìê² ë ì ììµëë¤. ì§ê¸ ì»´í¨í°ë¥¼ ë¤ì ììíìê² ìµëê¹?</String>
- <String Id="Error1801" Overridable="yes">ê²½ë¡ [2]ì´(ê°) ì¬ë°ë¥´ì§ ììµëë¤. ì¬ë°ë¥¸ ê²½ë¡ë¥¼ ì§ì íììì¤.</String>
- <String Id="Error1802" Overridable="yes">ë©ëª¨ë¦¬ê° ë¶ì¡±í©ëë¤. ë¤ë¥¸ ìì© íë¡ê·¸ë¨ì ì¢
ë£í í ë¤ì ìëíììì¤.</String>
- <String Id="Error1803" Overridable="yes">ëë¼ì´ë¸ [2]ì ëì¤í¬ê° ììµëë¤. ëì¤í¬ë¥¼ ë£ì í "ë¤ì ìë"를 í´ë¦íê±°ë, "ì·¨ì"를 í´ë¦íì¬ ì´ì ì ì íí 볼륨ì¼ë¡ ë¤ì ëìê°ììì¤.</String>
- <String Id="Error1804" Overridable="yes">ëë¼ì´ë¸ [2]ì ëì¤í¬ê° ììµëë¤. ëì¤í¬ë¥¼ ë£ì í "ë¤ì ìë"를 í´ë¦íê±°ë, "ì·¨ì"를 í´ë¦íì¬ "ì°¾ì보기" ëí ììë¡ ê° í ë¤ë¥¸ 볼륨ì ì ííììì¤.</String>
- <String Id="Error1805" Overridable="yes">í´ë [2]ì´(ê°) ììµëë¤. ì¡´ì¬íë í´ë ê²½ë¡ë¥¼ ì
ë ¥íììì¤.</String>
- <String Id="Error1806" Overridable="yes">ì´ í´ë를 ì½ì ì ìë ê¶íì´ ììµëë¤.</String>
- <String Id="Error1807" Overridable="yes">ì¤ì¹í ëì í´ë를 ê²°ì íì§ ëª»íìµëë¤.</String>
- <String Id="Error1901" Overridable="yes">ì본 ì¤ì¹ ë°ì´í°ë² ì´ì¤ë¥¼ ì½ë ì¤ì ì¤ë¥ ë°ì: [2].</String>
- <String Id="Error1902" Overridable="yes">ë¤ì ë¶í
ìì
ì ìì½íê³ ììµëë¤. [2] íì¼ì ì´ë¦ì [3](ì¼)ë¡ ë°ê¿ëë¤. ìì
ì ìë£íë ¤ë©´ ë¤ì ë¶í
í´ì¼ í©ëë¤.</String>
- <String Id="Error1903" Overridable="yes">ë¤ì ë¶í
ìì
ì ìì½íê³ ììµëë¤. [2] íì¼ì ìì í©ëë¤. ìì
ì ìë£íë ¤ë©´ ë¤ì ë¶í
í´ì¼ í©ëë¤.</String>
- <String Id="Error1904" Overridable="yes">모ë [2]ì(를) ë±ë¡íì§ ëª»íìµëë¤. HRESULT [3]. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1905" Overridable="yes">모ë [2]ì ë±ë¡ì ì·¨ìíì§ ëª»íìµëë¤. HRESULT [3]. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1906" Overridable="yes">í¨í¤ì§ [2]ì(를) ìºìíì§ ëª»íìµëë¤. ì¤ë¥: [3]. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1907" Overridable="yes">ê¸ê¼´ [2]ì(를) ë±ë¡íì§ ëª»íìµëë¤. ê¸ê¼´ì ì¤ì¹í ì ìë ê¶íì´ ì¶©ë¶íì§, ê·¸ë¦¬ê³ ì´ ê¸ê¼´ì ìì¤í
ìì ì§ìíëì§ íì¸íììì¤.</String>
- <String Id="Error1908" Overridable="yes">ê¸ê¼´ [2]ì ë±ë¡ì ì·¨ìíì§ ëª»íìµëë¤. ê¸ê¼´ì ì ê±°í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1909" Overridable="yes">ë°ë¡ ê°ê¸° [2]ì(를) ë§ë¤ì§ 못íìµëë¤. ëì í´ëê° ìëì§, ê·¸ë¦¬ê³ ê·¸ í´ëì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1910" Overridable="yes">ë°ë¡ ê°ê¸° [2]ì(를) ì ê±°íì§ ëª»íìµëë¤. ë°ë¡ ê°ê¸° íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1911" Overridable="yes">íì¼ [2]ì íì ë¼ì´ë¸ë¬ë¦¬ë¥¼ ë±ë¡íì§ ëª»íìµëë¤. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1912" Overridable="yes">íì¼ [2]ì íì ë¼ì´ë¸ë¬ë¦¬ ë±ë¡ì ì·¨ìíì§ ëª»íìµëë¤. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1913" Overridable="yes">ini íì¼ [2][3]ì(를) ì
ë°ì´í¸íì§ ëª»íìµëë¤. íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1914" Overridable="yes">ë¤ì ë¶í
í ë íì¼ [2]ì(를) [3](ì¼)ë¡ ë°ê¾¸ëë¡ ì§ì íì§ ëª»íìµëë¤. íì¼ [3]ì ëí ì°ê¸° ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1915" Overridable="yes">ODBC ëë¼ì´ë² ê´ë¦¬ì를 ì ê±°íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ODBC ì¤ë¥ [2]: [3]. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1916" Overridable="yes">ODBC ëë¼ì´ë² ê´ë¦¬ì를 ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ODBC ì¤ë¥ [2]: [3]. ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1917" Overridable="yes">ODBC ëë¼ì´ë² [4]ì(를) ì ê±°íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ODBC ì¤ë¥ [2]: [3]. ODBC ëë¼ì´ë²ë¥¼ ì ê±°í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1918" Overridable="yes">ODBC ëë¼ì´ë² [4]ì(를) ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ODBC ì¤ë¥ [2]: [3]. [4] íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1919" Overridable="yes">ODBC ë°ì´í° ì본 [4]ì(를) 구ì±íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ODBC ì¤ë¥ [2]: [3]. [4] íì¼ì´ ìëì§, ê·¸ë¦¬ê³ ê·¸ íì¼ì ì¡ì¸ì¤í ì ìëì§ íì¸íììì¤.</String>
- <String Id="Error1920" Overridable="yes">ìë¹ì¤ '[2]' ([3])ì(를) ììíì§ ëª»íìµëë¤. ìì¤í
ìë¹ì¤ë¥¼ ììí ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1921" Overridable="yes">ìë¹ì¤ '[2]' ([3])ì(를) ì¤ì§íì§ ëª»íìµëë¤. ìì¤í
ìë¹ì¤ë¥¼ ì¤ì§í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1922" Overridable="yes">ìë¹ì¤ '[2]' ([3])ì(를) ìì íì§ ëª»íìµëë¤. ìì¤í
ìë¹ì¤ë¥¼ ì ê±°í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1923" Overridable="yes">ìë¹ì¤ '[2]' ([3])ì(를) ì¤ì¹íì§ ëª»íìµëë¤. ìì¤í
ìë¹ì¤ë¥¼ ì¤ì¹í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1924" Overridable="yes">íê²½ ë³ì '[2]'ì(를) ì
ë°ì´í¸íì§ ëª»íìµëë¤. íê²½ ë³ì를 ìì í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1925" Overridable="yes">ì´ ìì¤í
ì 모ë ì¬ì©ìê° ì¬ì©íëë¡ ì íì ì¤ì¹í ê¶íì´ ììµëë¤. Administratorë¡ ë¡ê·¸ì¨í í ë¤ì ì¤ì¹íììì¤.</String>
- <String Id="Error1926" Overridable="yes">íì¼ '[3]'ì ëí ë³´ìì ì¤ì í ì ììµëë¤. ì¤ë¥: [2]. ì´ íì¼ ë³´ìì ìì í ì ìë ê¶íì´ ìëì§ íì¸íììì¤.</String>
- <String Id="Error1927" Overridable="yes">ì»´í¨í°ì êµ¬ì± ìì ìë¹ì¤(COM+ 1.0)ê° ì¤ì¹ëì´ ìì§ ììµëë¤. ì¤ì¹ë¥¼ ì ëë¡ ë§ì¹ë ¤ë©´ êµ¬ì± ìì ìë¹ì¤ê° íìí©ëë¤. êµ¬ì± ìì ìë¹ì¤ë Windows 2000ì ììµëë¤.</String>
- <String Id="Error1928" Overridable="yes">COM+ ìì© íë¡ê·¸ë¨ì ë±ë¡íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ìì¸í ë´ì©ì ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1929" Overridable="yes">COM+ ìì© íë¡ê·¸ë¨ì ë±ë¡ì ì·¨ìíë ëì ì¤ë¥ê° ë°ìíìµëë¤. ìì¸í ë´ì©ì ê³ ê° ì§ì ë´ë¹ììê² ë¬¸ìíììì¤.</String>
- <String Id="Error1930" Overridable="yes">ìë¹ì¤ '[2]' ([3])ì ì¤ëª
ì ë³ê²½í ì ììµëë¤.</String>
- <String Id="Error1931" Overridable="yes">Windowsê° íì¼ì ë³´í¸íê³ ì기 ë문ì Windows Installer ìë¹ì¤ê° ìì¤í
íì¼ [2]ì(를) ì
ë°ì´í¸í ì ììµëë¤. ì´ íë¡ê·¸ë¨ì ì¬ë°ë¥´ê² ìëìí¤ë ¤ë©´ ì´ì ì²´ì 를 ì
ë°ì´í¸í´ì¼ í©ëë¤. {{í¨í¤ì§ ë²ì : [3], OS ë³´í¸ë ë²ì : [4]}}</String>
- <String Id="Error1932" Overridable="yes">Windows Installer ìë¹ì¤ê° ë³´í¸ë Windows íì¼ [2]ì(를) ì
ë°ì´í¸í ì ììµëë¤. {{í¨í¤ì§ ë²ì : [3], OS ë³´í¸ë ë²ì : [4], SFP ì¤ë¥: [5]}}</String>
- <String Id="Error1933" Overridable="yes">Windows Installer ìë¹ì¤ê° ë³´í¸ë ì¼ë¶ Windows íì¼ì ì
ë°ì´í¸í ì ììµëë¤. {{SFP ì¤ë¥: [2]. ë³´í¸ë íì¼ ëª©ë¡:\r\n[3]}}</String>
- <String Id="Error1934" Overridable="yes">ì»´í¨í°ì ì ì±
ì ìí´ ì¬ì©ì ì¤ì¹ë¥¼ í ì ììµëë¤ .</String>
- <String Id="Error1935" Overridable="yes">ì´ì
ë¸ë¦¬'[6]'ì(를) ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ìì¸í ë´ì©ì ëìë§ ë° ì§ìì 참조íììì¤. HRESULT: [3]. {{ì´ì
ë¸ë¦¬ ì¸í°íì´ì¤: [4], í¨ì: [5], êµ¬ì± ìì: [2]}}</String>
- <String Id="Error1936" Overridable="yes">ì´ì
ë¸ë¦¬'[6]'ì(를) ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ê°ë ¥í ì´ë¦ì ì´ì
ë¸ë¦¬ê° ìëê±°ë ìµì í¤ ê¸¸ì´ë¡ ìëª
ëì§ ìììµëë¤. HRESULT: [3]. {{ì´ì
ë¸ë¦¬ ì¸í°íì´ì¤: [4], í¨ì: [5], êµ¬ì± ìì: [2]}}</String>
- <String Id="Error1937" Overridable="yes">ì´ì
ë¸ë¦¬'[6]'ì(를) ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. ìëª
ì´ë ì¹´íë¡ê·¸ê° ì¬ë°ë¥´ì§ ìê±°ë íì¸í ì ììµëë¤. HRESULT: [3]. {{ì´ì
ë¸ë¦¬ ì¸í°íì´ì¤: [4], í¨ì: [5], êµ¬ì± ìì: [2]}}</String>
- <String Id="Error1938" Overridable="yes">ì´ì
ë¸ë¦¬'[6]'ì(를) ì¤ì¹íë ëì ì¤ë¥ê° ë°ìíìµëë¤. íë ì´ìì ì´ì
ë¸ë¦¬ 모ëì ì°¾ì ì ììµëë¤. HRESULT: [3]. {{ì´ì
ë¸ë¦¬ ì¸í°íì´ì¤: [4], í¨ì: [5], êµ¬ì± ìì: [2]}}</String>
+ <String Id="Error11" Overridable="yes">EìE E ú´E [1], E¸EE [2]</String>
+ <String Id="Error12" Overridable="yes">=== Eê¹EEì: [Date] [Time] ===</String>
+ <String Id="Error13" Overridable="yes">=== Eê¹EEì§: [Date] [Time] ===</String>
+ <String Id="Error14" Overridable="yes">Eì
Eì [Time]: [1].</String>
+ <String Id="Error15" Overridable="yes">Eì
EE[Time]: [1]. Eí EE[2].</String>
+ <String Id="Error16" Overridable="yes">E¨E Eê°E {[1]EE}{[2]EE</String>
+ <String Id="Error17" Overridable="yes">E모E¬E EE±ú±©Eë¤. E¤E¸ Eì© ú°E¡ê·¸E¨EEEE£í ú·EE¤EEEëú±ìEì¤.</String>
+ <String Id="Error18" Overridable="yes">E¤EEEE¬Eê° EEE´EEEëµú±ì§ EìµEë¤.</String>
+ <String Id="Error19" Overridable="yes">E¤Eê° Eë¨EìEµEë¤.</String>
+ <String Id="Error20" Overridable="yes">[ProductName]EEE¼) E¬E±ú±ë Eì E EEE°E¤E¤ E¼EEì¤.</String>
+ <String Id="Error21" Overridable="yes">ú±Eú±EEë³´E¼ E¨E¼EEEE..</String>
+ <String Id="Error22" Overridable="yes">E´ Eì© ú°E¡ê·¸E¨EEE´EEEE E Eê±°ú±ë EE..</String>
+ <String Id="Error23" Overridable="yes">E´ Eì© ú°E¡ê·¸E¨EEE´EEEE E Eê±°ú±ê¸° EE´ EEEEEEE..</String>
+ <String Id="Error32" Overridable="yes">{[ProductName] }E¤Eê° E±EµEE¼EEEE£ëEìµEë¤.</String>
+ <String Id="Error33" Overridable="yes">{[ProductName] }E¤EíE E»ú²ìµEë¤.</String>
+ <String Id="Error1101" Overridable="yes">ú¨ì¼ E½E° E¤EE [2]. {{ Eì¤ú¡EE¤EE[3].}} ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1301" Overridable="yes">Eì E´EE Eë í°E¬E E´E¸ Eì¼EEEú¨ì¼ '[2]'EEE¼) Eë¤ EEEEµEë¤. E¤E를 E¨EíE E¤E¸ EE¹ì E¤EEE¤Eí´ E´EEì¤.</String>
+ <String Id="Error1302" Overridable="yes">E¤EEEì¤ú¬E¼ E£E¼EEì¤. [2]</String>
+ <String Id="Error1303" Overridable="yes">E´ Eë í°E¬EEE¡E¸E¤ú± EEEë EíE´ EEµEë¤: [2]. E¤E를 EEEú± EEEEµEë¤. AdministratorEEEê·¸E¨ú±ê±°EEEì¤ú¡EEE¬EìEEE¸EíEEì¤.</String>
+ <String Id="Error1304" Overridable="yes">ú¨ì¼EEE°EEEì E¤Eê° EìEú²ìµEë¤: [2]. ú±´E¹ Eë í°E¬EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1305" Overridable="yes">ú¨ì¼ E½E° E¤EE [2]. {{ Eì¤ú¡EE¤EE[3].}} ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1306" Overridable="yes">E¤E¸ Eì© ú°E¡ê·¸E¨EìE ú¨ì¼ '[2]'EEE¼) E¨EE¼EEE¬E©ú±ê³ EìµEë¤. E¤E¸ Eì© ú°E¡ê·¸E¨EEE¨EEE«E ú·E"E¤EEEë"E¼ ú´Eú±ìEì¤.</String>
+ <String Id="Error1307" Overridable="yes">Eì¤ú¬ EµEE´ EE±ú±´EEE´ ú¨ì¼EEE¤Eí EEEEµEë¤: [2]. Eì¤ú¬ EµEE E린 ú·E"E¤EEEë"E¼ ú´Eú±ê±°EE"E¨EEE¼ ú´Eú±ì¬ Eë´EEì¤.</String>
+ <String Id="Error1308" Overridable="yes">E본 ú¨ì¼E´ EEµEë¤: [2]. ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1309" Overridable="yes">ú¨ì¼ E½E° E¤EE [3]. {{ Eì¤ú¡EE¤EE[2].}} ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1310" Overridable="yes">ú¨ì¼ E°E° E¤EE [3]. {{ Eì¤ú¡EE¤EE[2].}} ú±´E¹ Eë í°E¬EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1311" Overridable="yes">E본 ú¨ì¼E´ EEµEë¤{{(cabinet)}}: [2]. ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1312" Overridable="yes">Eì E´EE ú¨ì¼E´ E´E¸ Eì¼EEEEë í°E¬ '[2]'EEE¼) Eë¤ EEEEµEë¤. ú¨ì¼EEE´EE E꾸E°EEú¨ì¼EEEê±°ú±Eú·E"E¤EEEë"E¼ ú´Eú±ê±°EE "E¨EEE¼ ú´Eú±ì¬ Eë´EEì¤.</String>
+ <String Id="Error1313" Overridable="yes">E¼E¨ [2]EEE¼) ú´E¬ E¬E©ú± EEEEµEë¤. E¤E¸ E¼E¨EEE úíEEì¤.</String>
+ <String Id="Error1314" Overridable="yes">EEí E½EE'[2]'EEE¼) E¬E©ú± EEEEµEë¤.</String>
+ <String Id="Error1315" Overridable="yes">EEí ú«´EE[2]EEE¸ EEEEµEë¤.</String>
+ <String Id="Error1316" Overridable="yes">[2] ú¨ì¼EEE½EEEì E¤ú¦¸Eí¬ E¤Eê° EìEú²ìµEë¤.</String>
+ <String Id="Error1317" Overridable="yes">[2] Eë í°E¬E¼ EëEEEì E¤Eê° EìEú²ìµEë¤.</String>
+ <String Id="Error1318" Overridable="yes">[2] Eë í°E¬E¼ EëEEEì E¤ú¦¸Eí¬ E¤Eê° EìEú²ìµEë¤.</String>
+ <String Id="Error1319" Overridable="yes">[2] E본 ú¨ì¼ Eë¹EEEE¬EEEì E¤ú¦¸Eí¬ E¤Eê° EìEú²ìµEë¤.</String>
+ <String Id="Error1320" Overridable="yes">EEí E½EE[2]E´(E) E무 EEE¤.</String>
+ <String Id="Error1321" Overridable="yes">ú¨ì¼ [2]EEE¼) Eì í EEEë EíE´ EEµEë¤.</String>
+ <String Id="Error1322" Overridable="yes">ú«´EEE½EE'[2]'EEE¼EE E¬E르E EìµEë¤. EµE±E´E°EE Eì¤ú¡ìEEú³ì©ú±ë E¸E´E¼ Eê³¼ú±©Eë¤.</String>
+ <String Id="Error1323" Overridable="yes">ú«´EEE½EE'[2]'EEú«´EEE½Eì E¬E©ú± EEEE E¨E´E E¤E´ EìµEë¤.</String>
+ <String Id="Error1324" Overridable="yes">ú«´EEE½EE'[2]'EEE¬E©ú± EEEE E¸Eê° E¤E´ EìµEë¤.</String>
+ <String Id="Error1325" Overridable="yes">'[2]'E(EE E ú¶¨ú±EE½EEú¨ì¼ E´EE´ EEEë¤.</String>
+ <String Id="Error1326" Overridable="yes">ú¨ì¼ E´EEE¤EE [3] GetLastError: [2]</String>
+ <String Id="Error1327" Overridable="yes">E ú¶¨ú±ì§ Eì Eë¼E´EE [2]</String>
+ <String Id="Error1328" Overridable="yes">ú¨ì¼ [2]EEú¨¨E를 EE©ú±ë Eì E¤Eê° EìEú²ìµEë¤. E¤E¸ E©Eì¼EEEE°E´ú¦¸Eì´, E´ ú¨¨E를 ú¢µú±EEì ì´ Eê°E¥ú±©Eë¤. EEEì¸ú±EEë³´EEú¨¨EEEµEì
E´EEE¸EíEEì¤. {{Eì¤ú¡EE¤EE [3]}}</String>
+ <String Id="Error1329" Overridable="yes">Eë¹E ú¨ì¼ [2]E´(E) Eì§ú ¸ EëªEE´ Eì§ E기 E문EEú±Eú±Eú¨ì¼EEE¤Eí EEEEµEë¤. Eë¹E ú¨ì¼E´ EìEìEEEEEìµEë¤.</String>
+ <String Id="Error1330" Overridable="yes">Eë¹E ú¨ì¼ [2]EEEì§ú ¸ EëªE´ E¬E르E E기 E문EEú±Eú±Eú¨ì¼EEE¤Eí EEEEµEë¤. Eë¹E ú¨ì¼E´ EìEìEEEEEìµEë¤.{{ WinVerifyTrustE E¤EE[3]EEE¼) Eíú²ìµEë¤.}}</String>
+ <String Id="Error1331" Overridable="yes">[2] ú¨ì¼EEE¬Eë¡EEµE¬ú±ì§ E»ú²ìµEë¤. CRC E¤Eì
Eë¤.</String>
+ <String Id="Error1332" Overridable="yes">[2] ú¨ì¼EEE¬Eë¡EE´EíE E»ú²ìµEë¤. CRC E¤Eì
Eë¤.</String>
+ <String Id="Error1333" Overridable="yes">[2] ú¨ì¼EEE¬Eë¡Eú¨¨EíE E»ú²ìµEë¤. CRC E¤Eì
Eë¤.</String>
+ <String Id="Error1334" Overridable="yes">Eë¹E ú¨ì¼ '[3]'EìE E¾EEEEEE´EE'[2]' ú¨ì¼EEE¤Eí EEEEµEë¤. E¤ú¦¸Eí¬ E¤Eì´E°EE CD-ROMEìE E½E° E¤Eì´E°EE E´ ú¨¨ú¤EEEE¸Eê° Eì EEEìµEë¤.</String>
+ <String Id="Error1335" Overridable="yes">E¤Eì ú±Eú±EEë¹E ú¨ì¼ '[2]'E´(E) EìEì´ E¬E©ú± EEEEµEë¤. E¤ú¦¸Eí¬ E¤Eì´E°EE CD-ROMEìE E½E° E¤Eì´E°EE E´ ú¨¨ú¤EEEE¸Eê° Eì EEEìµEë¤.</String>
+ <String Id="Error1336" Overridable="yes">E¤E를 Eì¹ëE° ú±Eú±EEE ú¨ì¼EEEëEEEì E¤Eê° EìEú²ìµEë¤.{{ ú«´EE [3]. Eì¤ú¡EE¤EEEë: [2]}}</String>
+ <String Id="Error1401" Overridable="yes">ú¤ [2]EEE¼) Eë¤E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EE E EEEEEE´E¹EìEEE¸EíEEì¤. </String>
+ <String Id="Error1402" Overridable="yes">ú¤ [2]EEE¼) E´E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤. </String>
+ <String Id="Error1403" Overridable="yes">ú¤ [3]EìE EE[2]EEE¼) EEíE E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[4].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤. </String>
+ <String Id="Error1404" Overridable="yes">ú¤ [2]EEE¼) EEíE E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤. </String>
+ <String Id="Error1405" Overridable="yes">ú¤ [3]EìE EE[2]EEE¼) E½E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[4].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤. </String>
+ <String Id="Error1406" Overridable="yes">ú¤ [3]EEEE[2]EEE¼) E°E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[4].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1407" Overridable="yes">ú¤ [2]EEEEE´EE EE¸E¤E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1408" Overridable="yes">ú¤ [2]EEú±ì ú¤ E´EE EE¸E¤E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1409" Overridable="yes">ú¤ [2]EEE´EEEë³´E¼ E½E E»ú²ìµEë¤. {{ Eì¤ú¡EE¤EE[3].}} E¸ ú¤EEEú±EE¡E¸E¤ EíE´ EëE úµì¸ú±ê±°EEE EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1410" Overridable="yes">E¬E© EE¥ú±EEì§E¤ú¦¸E¬ EµEE E리E E»ú²ìµEë¤. [2]KB EëEEE¬E© EE¥ú±EEì§E¤ú¦¸E¬ EµEE´ Eì´E¼ Eì© ú°E¡ê·¸E¨EEE¤Eí EEEìµEë¤.</String>
+ <String Id="Error1500" Overridable="yes">E¤E¸ ú°E¡ê·¸E¨EEE¤EíE EìµEë¤. E¸ ú°E¡ê·¸E¨EEE¤E를 Eë¸ ú·EE´ Eì
EEEEEú±ìEì¤.</String>
+ <String Id="Error1501" Overridable="yes">E´EEE°E´ú °EEE¡E¸E¤ú±ë Eì E¤Eê° EìEú²ìµEë¤. Windows Installer E¬E±EEE¬E르EEE¤EíEì§ úµì¸ú±ê³ E¤EEE¤EíEEì¤.</String>
+ <String Id="Error1502" Overridable="yes">E¬E©EE'[2]'E´(E) Eí '[3]'EEE¤E를 Eìú±EEE´ EìµEë¤. E´ E¬E©Eê° ú±´E¹ EíEEE¬E©ú±ë ¤E´ E¤EEú°E¡ê·¸E¨EEE¤EEE¤ú²í´E¼ ú±©Eë¤. Eú±ì ú´E¬ E¤Eë EEEE©Eë¤.</String>
+ <String Id="Error1503" Overridable="yes">E¬E©EE'[2]'E´(E) Eí '[3]'EEE¤E를 Eìú±EEE´ EìµEë¤. E´ E¬E©Eê° ú±´E¹ EíEEE¬E©ú±ë ¤E´ E¤EEú°E¡ê·¸E¨EEE¤EEE¤ú²í´E¼ ú±©Eë¤. Eú±ì ú´E¬ E¤Eë EEEE©Eë¤.</String>
+ <String Id="Error1601" Overridable="yes">Eì¤ú¬ EµEEEE± -- E¼E¨: '[2]', ú±Eú±EEµEE [3]KB, E¬E© EE¥ú±EEµEE [4]KB. Eì¤ú¬ EµEE E린 ú·EE¤EEEëú±ìEì¤.</String>
+ <String Id="Error1602" Overridable="yes">E¨EíEê² EµEê¹E</String>
+ <String Id="Error1603" Overridable="yes">ú¨ì¼ [2][3]EEE¼) E¤E¸ ú°E¡ì¸E¤{E´EE [4], Id: [5], E½ E목: '[6]'}EìE E¬E© Eì
Eë¤. E´ Eì© ú°E¡ê·¸E¨EEE«E ú·EE¤EEEëú±ìEì¤.</String>
+ <String Id="Error1604" Overridable="yes">Eí '[2]'E´(E) E´E¸ E¤EëE´ Eì´EEE´ EíEEE¤EíE E»ú±©Eë¤. EEEì EíE ú´¸úµëE EìµEë¤.</String>
+ <String Id="Error1605" Overridable="yes">EµE¬E¼ E¬E©ú±ì¬ E¤E를 EEEú±ê¸°Eë '[2]' E¼E¨EEEì¤ú¬ EµEE´ EE±ú±©Eë¤. [3]KBE ú±Eú±ë, [4]KBEEE¬E© EE¥ú±©Eë¤. EµE¬ Eë³´E¼ EE¥ú±ì§ Eê³ E¤E를 EEEú±ë ¤E´ "E´EEE¼ ú´Eú±ê³ , E¬E© EE¥ú±EEµEE E¤EEúµì¸ú±ë ¤E´ "E¤EEEë"E¼ ú´Eú±ìEì¤. E¤E를 Eë´E¤E´ "E¨EEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="Error1606" Overridable="yes">E¤ú¦¸Eí¬ [2]EEE¡E¸E¤ú±ì§ E»ú²ìµEë¤.</String>
+ <String Id="Error1607" Overridable="yes">E¤E를 EEEú±ë ¤E´ E¤EEEì© ú°E¡ê·¸E¨EEE«EE¼ ú±©Eë¤:</String>
+ <String Id="Error1608" Overridable="yes">EEEE¤EíE¤EEEíEEE´EEEE E´ E´ Eì¤ú¡ì E¤EëE´ Eì§ EìµEë¤.</String>
+ <String Id="Error1609" Overridable="yes">E´EEE¤Eì EE©ú±ë Eì E¤Eê° EìEú²ìµEë¤. [2]E(EE E ú¶¨ú±EE¬E©EEEë E¸E¹E´ EEEë¤. ú¨¨ú¤EEEE¸Eê° Eê±°EE E¤ú¦¸Eí¬EEEE©ì¸ E¨ú¦¸E¤E¬EEE°E°ú±ëE° E¸Eê° Eì EEEìµEë¤. E¤ú¦¸Eí¬ E°E°EEúµì¸ú±ê³ "E¤EEEë"E¼ ú´Eú±ê±°EE E¤E를 Eì¹ë ¤E´ "E¨EEE¼ ú´Eú±ìEì¤. {{E¬E©EESIDE¼ E¾EEEEEEµEë¤. Eì¤ú¡EE¤EE[3]}}</String>
+ <String Id="Error1701" Overridable="yes">ú¤ [2]E´(E) E ú¶¨ú±ì§ EìµEë¤. Eíú±Eú¤E¼ EE ¥ú²ëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1702" Overridable="yes">[2]EEE¬E±EEEEEú±ë ¤E´ Eì¤ú¡ì E¤EEEìú±´E¼ ú±©Eë¤. EEEE¤EEEìú±ë ¤E´ "EEE¼ ú´Eú±ê³ , Eì¤ì EëE¼EEE¤EEEìú±ë ¤E´ "EEEEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="Error1703" Overridable="yes">EE½EEE¬E± E¤Eì [2]EEEE©ú±ë ¤E´ Eì¤ú¡ì E¤EEEìú±´E¼ ú±©Eë¤. EEEE¤EEEìú±ë ¤E´ "EEE¼ ú´Eú±ê³ , Eì¤ì EëE¼EEE¤EEEìú±ë ¤E´ "EEEEE¼ ú´Eú±ìEì¤.</String>
+ <String Id="Error1704" Overridable="yes">[2]EEE¤Eê° ú´E¬ Eì§EEEEEEEE¤. Eì
EEEEEú±ë ¤E´ E¤EíE´EEEE½EEE´E©EEE¨Eí´E¼ ú±©Eë¤. EE½EEE´E©EEE¨EíEê² EµEê¹E</String>
+ <String Id="Error1705" Overridable="yes">E´EE E¤ú²í E´ EíEEE¤EEEì
E´ EE©EEEEEEEE¤. EEEú±ë ¤E´ E¸ EEEE½EEE´E©EEE¨Eí´E¼ ú±©Eë¤. EE½EEE´E©EEE¨EíEê² EµEê¹E</String>
+ <String Id="Error1706" Overridable="yes">Eí [2]EEE¤EEú¨¨ú¤EE EEµEë¤. E¤EEú¨¨ú¤E '[3]'EEE¬E른 E¤EEú¨¨ú¤E E¬E¸EEE¬E©ú±ì¬ E¤E를 E¤EEEëú±ìEì¤.</String>
+ <String Id="Error1707" Overridable="yes">E¤Eê° EE£ëEìµEë¤.</String>
+ <String Id="Error1708" Overridable="yes">E¤EíE E»ú²ìµEë¤.</String>
+ <String Id="Error1709" Overridable="yes">Eí: [2] -- [3]</String>
+ <String Id="Error1710" Overridable="yes">E´ú¯¨ú °E¼ E´EEEEEEEEµEíE°EEEì¤ì E¤EEE¤Eí´E¼ ú±©Eë¤. EµEíEê² EµEê¹E</String>
+ <String Id="Error1711" Overridable="yes">E¤EEEë³´E¼ Eì¤ú¬EEE°EEEì E¤Eê° EìEú²ìµEë¤. Eì¤ú¬ EµEE´ E©EEE úµì¸ú±ê³ "E¤EEEë"E¼ ú´Eú±ê±°EE "E¨EEE¼ ú´Eú±ì¬ E¤E를 Eë´EEì¤.</String>
+ <String Id="Error1712" Overridable="yes">E´ú¯¨ú °E¼ E´EEEEEEEEµEíEEE° ú±Eú±EE¼E ú¨ì¼EEE¾E E»ú²ìµEë¤. EµEí EEEEµEë¤.</String>
+ <String Id="Error1713" Overridable="yes">[2]E´(E) ú±Eú±EEí EEú±ëE¼ E¤Eí EEEEµEë¤. E°E EEEE¸E¹EEE¸EíEEì¤. {{Eì¤ú¡EE¤EE [3].}}</String>
+ <String Id="Error1714" Overridable="yes">[2]EEE´EEEE E Eê±°ú± EEEEµEë¤. E°E EEEE¸E¹EEE¸EíEEì¤. {{Eì¤ú¡EE¤EE[3].}}</String>
+ <String Id="Error1715" Overridable="yes">[2] E¤Eë¨</String>
+ <String Id="Error1716" Overridable="yes">[2] E¬E±E¨</String>
+ <String Id="Error1717" Overridable="yes">[2] Eê±°E¨</String>
+ <String Id="Error1718" Overridable="yes">Eì§ú ¸ EëªEEì±E´ ú¨ì¼ [2]EEE¼) E°Eú²ìµEë¤.</String>
+ <String Id="Error1719" Overridable="yes">Windows Installer ServiceE¼ E¡E¸E¤ú± EEEEµEë¤. WindowsE¼ Eì EE¨EìEEE¤ú²EEì´E°EE Windows InstallerE E¬Eë¡EE¤EëE Eì E½E° EìEú± EEEìµEë¤. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1720" Overridable="yes">Windows Installer ú¨¨ú¤EEEE¸Eê° EìµEë¤. E¤E를 EE£íE° EE´ ú±Eú±EE¤ú¬E½ú¦¸E¼ E¤ú²í EEEEµEë¤. E EEEEEE´E¹Eë ú¨¨ú¤E EµEì
E´EEE¸EíEEì¤. {{E¬E©EEEEEEì
[2] E¤ú¬E½ú¦¸ E¤EE[3], [4]: [5] [6]ú²E [7]E´, [8] }}</String>
+ <String Id="Error1721" Overridable="yes">Windows Installer ú¨¨ú¤EEEE¸Eê° EìµEë¤. E¤E를 EE£íE° EE´ ú±Eú±Eú°E¡ê·¸E¨EEE¤ú²í EEEEµEë¤. E EEEEEE´E¹Eë ú¨¨ú¤E EµEì
E´EEE¸EíEEì¤. {{Eì
: [2], EE¹E [3], EE ¹: [4] }}</String>
+ <String Id="Error1722" Overridable="yes">Windows Installer ú¨¨ú¤EEEE¸Eê° EìµEë¤. E¤EEú°E¡ê·¸E¨EEE¼EEEE¤ú²í ú°E¡ê·¸E¨E´ EìEEEEE£ëE EìEµEë¤. E EEEEEE´E¹Eë ú¨¨ú¤E EµEì
E´EEE¸EíEEì¤. {{Eì
: [2], EE¹E [3], EE ¹: [4] }}</String>
+ <String Id="Error1723" Overridable="yes">Windows Installer ú¨¨ú¤EEEE¸Eê° EìµEë¤. E¤E를 EE£íE° EE´ ú±Eú±EDLLEEE¤ú²í EEEEµEë¤. E EEEEEE´E¹Eë ú¨¨ú¤E EµEì
E´EEE¸EíEEì¤. {{Eì
[2], ú±E©: [3], E¼E´Eë¬E¬: [4] }}</String>
+ <String Id="Error1724" Overridable="yes">Eê±°E EE£ëEìµEë¤.</String>
+ <String Id="Error1725" Overridable="yes">Eê±°ú±ì§ E»ú²ìµEë¤.</String>
+ <String Id="Error1726" Overridable="yes">E´EEE림E´ EE£ëEìµEë¤.</String>
+ <String Id="Error1727" Overridable="yes">E´EEE림E´ E¤ú¨¨ú²ìµEë¤.</String>
+ <String Id="Error1728" Overridable="yes">E¬E±E´ EE£ëEìµEë¤.</String>
+ <String Id="Error1729" Overridable="yes">E¬E±ú±ì§ E»ú²ìµEë¤.</String>
+ <String Id="Error1730" Overridable="yes">AdministratorEì´ E´ Eì© ú°E¡ê·¸E¨EEEê±°ú± EEEìµEë¤. E´ Eì© ú°E¡ê·¸E¨EEEê±°ú±ë ¤E´, AdministratorEEEê·¸E¨ú±ê±°EE E°E EEEE¸E¹EEE¸EíEEì¤.</String>
+ <String Id="Error1731" Overridable="yes">Eí [2]EEE본 E¤EEú¨¨ú¤EE ú´E¼E´E¸ú¦¸ ú¨¨ú¤EE E기úµëE EìEµEë¤. E¤EEú¨¨ú¤E '[3]'EEE¬E른 E¤EEú¨¨ú¤E E¬E¸EEE¬E©ú±ì¬ E¤EEE¤Eí´ E´EEì¤.</String>
+ <String Id="Error1732" Overridable="yes">[2]EEE¤E를 EE£íE¤E´ E´ú¯¨ú °E¼ E¤EEEìú±´E¼ ú±©Eë¤. ú´E¬ E¤E¸ E¬E©Eê° E´ E´ú¯¨ú °EEEê·¸E¨ú±´ Eì E½E° E´ú¯¨ú °E¼ E¤EEEìú±ë©´ E¤ú²EEì¸ Eì
EEEE²EE EEEìµEë¤. EEEE´ú¯¨ú °E¼ E¤EEEìú±ìE EµEê¹E</String>
+ <String Id="Error1801" Overridable="yes">E½EE[2]E´(E) E¬E르E EìµEë¤. E¬E른 E½E를 EEíEEì¤.</String>
+ <String Id="Error1802" Overridable="yes">E모E¬E EE±ú±©Eë¤. E¤E¸ Eì© ú°E¡ê·¸E¨EEEE£í ú·EE¤EEEëú±ìEì¤.</String>
+ <String Id="Error1803" Overridable="yes">Eë¼E´EE[2]EEEì¤ú¬E EEµEë¤. Eì¤ú¬E¼ E£E ú·E"E¤EEEë"E¼ ú´Eú±ê±°EE "E¨EEE¼ ú´Eú±ì¬ E´EE E úí E¼E¨E¼EEE¤EEEìEEEì¤.</String>
+ <String Id="Error1804" Overridable="yes">Eë¼E´EE[2]EEEì¤ú¬E EEµEë¤. Eì¤ú¬E¼ E£E ú·E"E¤EEEë"E¼ ú´Eú±ê±°EE "E¨EEE¼ ú´Eú±ì¬ "E¾EE³´E°" EúµEEEEEEEú·EE¤E¸ E¼E¨EEE úíEEì¤.</String>
+ <String Id="Error1805" Overridable="yes">ú«´EE[2]E´(E) EEµEë¤. E´E¬ú±ë ú«´EEE½E를 EE ¥ú±ìEì¤.</String>
+ <String Id="Error1806" Overridable="yes">E´ ú«´E를 E½EEEEEë EíE´ EEµEë¤.</String>
+ <String Id="Error1807" Overridable="yes">E¤Eí EEEú«´E를 E°EíE E»ú²ìµEë¤.</String>
+ <String Id="Error1901" Overridable="yes">E본 E¤EEE°E´ú °E E´E¤E¼ E½EEEì E¤EEEìE: [2].</String>
+ <String Id="Error1902" Overridable="yes">E¤EEEú¨EEì
EEEì½ú±ê³ EìµEë¤. [2] ú¨ì¼EEE´EE [3](E¼)EEEê¿ëE¤. Eì
EEEE£íE¤E´ E¤EEEú¨E´E¼ ú±©Eë¤.</String>
+ <String Id="Error1903" Overridable="yes">E¤EEEú¨EEì
EEEì½ú±ê³ EìµEë¤. [2] ú¨ì¼EEEEí©Eë¤. Eì
EEEE£íE¤E´ E¤EEEú¨E´E¼ ú±©Eë¤.</String>
+ <String Id="Error1904" Overridable="yes">E¨EE[2]EEE¼) E±EíE E»ú²ìµEë¤. HRESULT [3]. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1905" Overridable="yes">E¨EE[2]EEE±Eì E¨EíE E»ú²ìµEë¤. HRESULT [3]. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1906" Overridable="yes">ú¨¨ú¤E [2]EEE¼) Eìú±ì§ E»ú²ìµEë¤. E¤EE [3]. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1907" Overridable="yes">EE´ [2]EEE¼) E±EíE E»ú²ìµEë¤. EE´EEE¤Eí EEEë EíE´ E©EEE, E¸E¬E E´ EE´EEEì¤ú¡ìEEEEíEì§ úµì¸ú±ìEì¤.</String>
+ <String Id="Error1908" Overridable="yes">EE´ [2]EEE±Eì E¨EíE E»ú²ìµEë¤. EE´EEEê±°ú± EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1909" Overridable="yes">Eë¡EEE° [2]EEE¼) Eë¤E E»ú²ìµEë¤. EEEú«´Eê° EëE, E¸E¬E E¸ ú«´Eì E¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1910" Overridable="yes">Eë¡EEE° [2]EEE¼) Eê±°ú±ì§ E»ú²ìµEë¤. Eë¡EEE° ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1911" Overridable="yes">ú¨ì¼ [2]EEú´ì E¼E´Eë¬E¬E¼ E±EíE E»ú²ìµEë¤. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1912" Overridable="yes">ú¨ì¼ [2]EEú´ì E¼E´Eë¬E¬ E±Eì E¨EíE E»ú²ìµEë¤. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1913" Overridable="yes">ini ú¨ì¼ [2][3]EEE¼) EE°E´ú¦¸ú±ì§ E»ú²ìµEë¤. ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1914" Overridable="yes">E¤EEEú¨E EEú¨ì¼ [2]EEE¼) [3](E¼)EEE꾸EE¡EEEíE E»ú²ìµEë¤. ú¨ì¼ [3]EEEú±EE°E° EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1915" Overridable="yes">ODBC Eë¼E´EEEE¬E를 Eê±°ú±ë Eì E¤Eê° EìEú²ìµEë¤. ODBC E¤EE[2]: [3]. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1916" Overridable="yes">ODBC Eë¼E´EEEE¬E를 E¤EíEEEì E¤Eê° EìEú²ìµEë¤. ODBC E¤EE[2]: [3]. E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1917" Overridable="yes">ODBC Eë¼E´EE[4]EEE¼) Eê±°ú±ë Eì E¤Eê° EìEú²ìµEë¤. ODBC E¤EE[2]: [3]. ODBC Eë¼E´EE¥¼ Eê±°ú± EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1918" Overridable="yes">ODBC Eë¼E´EE[4]EEE¼) E¤EíEEEì E¤Eê° EìEú²ìµEë¤. ODBC E¤EE[2]: [3]. [4] ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1919" Overridable="yes">ODBC E°E´ú ° E본 [4]EEE¼) E¬E±ú±ë Eì E¤Eê° EìEú²ìµEë¤. ODBC E¤EE[2]: [3]. [4] ú¨ì¼E´ EëE, E¸E¬E E¸ ú¨ì¼EEE¡E¸E¤ú± EEEëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1920" Overridable="yes">Eë¹E¤ '[2]' ([3])EEE¼) Eìú±ì§ E»ú²ìµEë¤. Eì¤ú¡EEë¹E¤E¼ Eìú± EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1921" Overridable="yes">Eë¹E¤ '[2]' ([3])EEE¼) Eì§ú±ì§ E»ú²ìµEë¤. Eì¤ú¡EEë¹E¤E¼ Eì§ú± EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1922" Overridable="yes">Eë¹E¤ '[2]' ([3])EEE¼) EEíE E»ú²ìµEë¤. Eì¤ú¡EEë¹E¤E¼ Eê±°ú± EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1923" Overridable="yes">Eë¹E¤ '[2]' ([3])EEE¼) E¤EíE E»ú²ìµEë¤. Eì¤ú¡EEë¹E¤E¼ E¤Eí EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1924" Overridable="yes">úµê²½ EEE'[2]'EEE¼) EE°E´ú¦¸ú±ì§ E»ú²ìµEë¤. úµê²½ EE를 Eì í EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1925" Overridable="yes">E´ Eì¤ú¡ì E¨E E¬E©Eê° E¬E©ú±ëEEEíEEE¤Eí EíE´ EEµEë¤. AdministratorEEEê·¸E¨ú±Eú·EE¤EEE¤EíEEì¤.</String>
+ <String Id="Error1926" Overridable="yes">ú¨ì¼ '[3]'EEEú±EE´Eì E¤Eí EEEEµEë¤. E¤EE [2]. E´ ú¨ì¼ E´Eì Eì í EEEë EíE´ EëE úµì¸ú±ìEì¤.</String>
+ <String Id="Error1927" Overridable="yes">E´ú¯¨ú °EEE¬E± EìE Eë¹E¤(COM+ 1.0)E E¤EëE´ Eì§ EìµEë¤. E¤E를 EëEEEì¹ë ¤E´ E¬E± EìE Eë¹E¤E ú±Eú±©Eë¤. E¬E± EìE Eë¹E¤EEWindows 2000EEEìµEë¤.</String>
+ <String Id="Error1928" Overridable="yes">COM+ Eì© ú°E¡ê·¸E¨EEE±EíEEEì E¤Eê° EìEú²ìµEë¤. Eì¸ú±EE´E©E E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1929" Overridable="yes">COM+ Eì© ú°E¡ê·¸E¨EEE±Eì E¨EíEEEì E¤Eê° EìEú²ìµEë¤. Eì¸ú±EE´E©E E EEEEEE´E¹EìEEE¸EíEEì¤.</String>
+ <String Id="Error1930" Overridable="yes">Eë¹E¤ '[2]' ([3])EEE¤EE EE½ú± EEEEµEë¤.</String>
+ <String Id="Error1931" Overridable="yes">WindowsE ú¨ì¼EEE´ú´¸ú±ê³ E기 E문EEWindows Installer Eë¹E¤E Eì¤ú¡Eú¨ì¼ [2]EEE¼) EE°E´ú¦¸ú± EEEEµEë¤. E´ ú°E¡ê·¸E¨EEE¬E르EEEëEí¤E¤E´ E´EEE´E를 EE°E´ú¦¸ú±´E¼ ú±©Eë¤. {{ú¨¨ú¤E EE E [3], OS E´ú´¸EEEE E [4]}}</String>
+ <String Id="Error1932" Overridable="yes">Windows Installer Eë¹E¤E E´ú´¸EEWindows ú¨ì¼ [2]EEE¼) EE°E´ú¦¸ú± EEEEµEë¤. {{ú¨¨ú¤E EE E [3], OS E´ú´¸EEEE E [4], SFP E¤EE [5]}}</String>
+ <String Id="Error1933" Overridable="yes">Windows Installer Eë¹E¤E E´ú´¸EEE¼E Windows ú¨ì¼EEEE°E´ú¦¸ú± EEEEµEë¤. {{SFP E¤EE [2]. E´ú´¸EEú¨ì¼ E©EE\r\n[3]}}</String>
+ <String Id="Error1934" Overridable="yes">E´ú¯¨ú °EEEì±E Eí´ E¬E©EEE¤E를 ú± EEEEµEë¤ .</String>
+ <String Id="Error1935" Overridable="yes">E´Eë¸ë¦¬'[6]'EEE¼) E¤EíEEEì E¤Eê° EìEú²ìµEë¤. Eì¸ú±EE´E©E EEEEEEEEì E¸E°ú±ìEì¤. HRESULT: [3]. {{E´Eë¸ë¦¬ E¸ú °úªì´E¤: [4], ú±¨EE [5], E¬E± EìE: [2]}}</String>
+ <String Id="Error1936" Overridable="yes">E´Eë¸ë¦¬'[6]'EEE¼) E¤EíEEEì E¤Eê° EìEú²ìµEë¤. Eë ¥ú±EE´EE E´Eë¸ë¦¬E EEE°EEEìE ú¤ E¸E´EEEëªEE EìEµEë¤. HRESULT: [3]. {{E´Eë¸ë¦¬ E¸ú °úªì´E¤: [4], ú±¨EE [5], E¬E± EìE: [2]}}</String>
+ <String Id="Error1937" Overridable="yes">E´Eë¸ë¦¬'[6]'EEE¼) E¤EíEEEì E¤Eê° EìEú²ìµEë¤. EëªE´EEE´úë¡ê·¸E E¬E르E Eê±°EEúµì¸ú± EEEEµEë¤. HRESULT: [3]. {{E´Eë¸ë¦¬ E¸ú °úªì´E¤: [4], ú±¨EE [5], E¬E± EìE: [2]}}</String>
+ <String Id="Error1938" Overridable="yes">E´Eë¸ë¦¬'[6]'EEE¼) E¤EíEEEì E¤Eê° EìEú²ìµEë¤. ú±ë E´EE E´Eë¸ë¦¬ E¨Eì E¾EEEEEEµEë¤. HRESULT: [3]. {{E´Eë¸ë¦¬ E¸ú °úªì´E¤: [4], ú±¨EE [5], E¬E± EìE: [2]}}</String>
- <String Id="UITextbytes" Overridable="yes">ë°ì´í¸</String>
+ <String Id="UITextbytes" Overridable="yes">Eì´ú¦¸</String>
<String Id="UITextGB" Overridable="yes">GB</String>
<String Id="UITextKB" Overridable="yes">KB</String>
<String Id="UITextMB" Overridable="yes">MB</String>
- <String Id="UITextMenuAbsent" Overridable="yes">모ë 기ë¥ì ì¬ì©í ì ìì</String>
- <String Id="UITextMenuAdvertise" Overridable="yes">íìí ë 기ë¥ì ì¤ì¹</String>
- <String Id="UITextMenuAllCD" Overridable="yes">모ë 기ë¥ì´ CDìì ì¤íëëë¡ ì¤ì¹</String>
- <String Id="UITextMenuAllLocal" Overridable="yes">모ë 기ë¥ì´ ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹</String>
- <String Id="UITextMenuAllNetwork" Overridable="yes">모ë 기ë¥ì´ ë¤í¸ìí¬ìì ì¤íëëë¡ ì¤ì¹</String>
- <String Id="UITextMenuCD" Overridable="yes">CDìì ì¤íëëë¡ ì¤ì¹</String>
- <String Id="UITextMenuLocal" Overridable="yes">ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹</String>
- <String Id="UITextMenuNetwork" Overridable="yes">ë¤í¸ìí¬ìì ì¤íëëë¡ ì¤ì¹</String>
- <String Id="UITextNewFolder" Overridable="yes">Folder|í ìì¤ ìë¡</String>
- <String Id="UITextScriptInProgress" Overridable="yes">íìí ì 보를 모ì¼ë ì¤...</String>
- <String Id="UITextSelAbsentAbsent" Overridable="yes">ì´ ê¸°ë¥ì ì¤ì¹ëì§ ììµëë¤.</String>
- <String Id="UITextSelAbsentAdvertise" Overridable="yes">íìí ë ì´ ê¸°ë¥ì ì¤ì¹íëë¡ ì¤ì í ì ììµëë¤.</String>
- <String Id="UITextSelAbsentCD" Overridable="yes">ì´ ê¸°ë¥ì CDìì ì¤íëëë¡ ì¤ì¹ë©ëë¤.</String>
- <String Id="UITextSelAbsentLocal" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹ë©ëë¤.</String>
- <String Id="UITextSelAbsentNetwork" Overridable="yes">ì´ ê¸°ë¥ì ë¤í¸ìí¬ìì ì¤íëëë¡ ì¤ì¹ë©ëë¤.</String>
- <String Id="UITextSelAdvertiseAbsent" Overridable="yes">ì´ ê¸°ë¥ì ì¬ì©í ì ìê² ë©ëë¤.</String>
- <String Id="UITextSelAdvertiseAdvertise" Overridable="yes">íìí ë ì¤ì¹</String>
- <String Id="UITextSelAdvertiseCD" Overridable="yes">ì´ ê¸°ë¥ì CDìì ì¤íí ì ììµëë¤.</String>
- <String Id="UITextSelAdvertiseLocal" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹ë©ëë¤.</String>
- <String Id="UITextSelAdvertiseNetwork" Overridable="yes">ì´ ê¸°ë¥ì ë¤í¸ìí¬ìì ì¤íí ì ììµëë¤.</String>
- <String Id="UITextSelCDAbsent" Overridable="yes">ì´ ê¸°ë¥ì ìì í ì ê±°ë©ëë¤. CDìì ì¤íí ì ììµëë¤.</String>
- <String Id="UITextSelCDAdvertise" Overridable="yes">ì´ ê¸°ë¥ì CDìì ì¤íëë ìíìì íìí ë ì¤ì¹ëë ê²ì¼ë¡ ë³ê²½ë©ëë¤.</String>
- <String Id="UITextSelCDCD" Overridable="yes">ì´ ê¸°ë¥ì ê·¸ëë¡ CDìì ì¤íë©ëë¤.</String>
- <String Id="UITextSelCDLocal" Overridable="yes">ì´ ê¸°ë¥ì CDìì ì¤íëë ìíìì ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹ëë ê²ì¼ë¡ ë³ê²½ë©ëë¤.</String>
- <String Id="UITextSelChildCostNeg" Overridable="yes">ì´ ê¸°ë¥ì íë ëë¼ì´ë¸ìì [1]ì ê³µê°ì ë§ëëë¤.</String>
- <String Id="UITextSelChildCostPos" Overridable="yes">ì´ ê¸°ë¥ì ì¤ííë ¤ë©´ íë ëë¼ì´ë¸ì [1]ì´(ê°) ìì´ì¼ í©ëë¤.</String>
- <String Id="UITextSelCostPending" Overridable="yes">ì´ ê¸°ë¥ì ëí ê³µê°ì ì»´íì¼íë ì¤...</String>
- <String Id="UITextSelLocalAbsent" Overridable="yes">ì´ ê¸°ë¥ì ìì í ì ê±°ë©ëë¤.</String>
- <String Id="UITextSelLocalAdvertise" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ìì ì ê±°ëì§ë§ íìí ë ì¤ì¹íëë¡ ì¤ì í ì ììµëë¤.</String>
- <String Id="UITextSelLocalCD" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ìì ì ê±°ëì§ë§ CDììë ì¤íí ì ììµëë¤.</String>
- <String Id="UITextSelLocalLocal" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ì ê·¸ëë¡ ë¨ì ìê² ë©ëë¤.</String>
- <String Id="UITextSelLocalNetwork" Overridable="yes">ì´ ê¸°ë¥ì ë¡ì»¬ íë ëë¼ì´ë¸ìì ì ê±°ëì§ë§ ë¤í¸ìí¬ìì ì¤íí ì ììµëë¤.</String>
- <String Id="UITextSelNetworkAbsent" Overridable="yes">ì´ ê¸°ë¥ì ìì í ì ê±°ë©ëë¤. ë¤í¸ìí¬ìì ì¤íí ì ìê² ë©ëë¤.</String>
- <String Id="UITextSelNetworkAdvertise" Overridable="yes">ì´ ê¸°ë¥ì ë¤í¸ìí¬ìì ì¤íëë ìíìì íìí ë ì¤ì¹ëë ê²ì¼ë¡ ë³ê²½ë©ëë¤.</String>
- <String Id="UITextSelNetworkLocal" Overridable="yes">ì´ ê¸°ë¥ì ë¤í¸ìí¬ìì ì¤íëë ìíìì ë¡ì»¬ íë ëë¼ì´ë¸ì ì¤ì¹ëë ê²ì¼ë¡ ë³ê²½ë©ëë¤.</String>
- <String Id="UITextSelNetworkNetwork" Overridable="yes">ì´ ê¸°ë¥ì ê·¸ëë¡ ë¤í¸ìí¬ìì ì¤íë©ëë¤.</String>
- <String Id="UITextSelParentCostNegNeg" Overridable="yes">ì´ ê¸°ë¥ì íë ëë¼ì´ë¸ìì [1]ì ê³µê°ì ë§ëëë¤. [3]ê°ì íì ê¸°ë¥ ì¤ [2]ê°ê° ì íëììµëë¤. íì 기ë¥ì íë ëë¼ì´ë¸ìì [4]ì ê³µê°ì ë§ëëë¤.</String>
- <String Id="UITextSelParentCostNegPos" Overridable="yes">ì´ ê¸°ë¥ì íë ëë¼ì´ë¸ìì [1]ì ê³µê°ì ë§ëëë¤. [3]ê°ì íì ê¸°ë¥ ì¤ [2]ê°ê° ì íëììµëë¤. íì 기ë¥ì ì¬ì©íë ¤ë©´ íë ëë¼ì´ë¸ì [4]ì´(ê°) ìì´ì¼ í©ëë¤.</String>
- <String Id="UITextSelParentCostPosNeg" Overridable="yes">ì´ ê¸°ë¥ì ì¬ì©íë ¤ë©´ íë ëë¼ì´ë¸ì [1]ì´(ê°) ìì´ì¼ í©ëë¤. [3]ê°ì íì ê¸°ë¥ ì¤ [2]ê°ê° ì íëììµëë¤. íì 기ë¥ì íë ëë¼ì´ë¸ìì [4]ì ê³µê°ì ë§ëëë¤.</String>
- <String Id="UITextSelParentCostPosPos" Overridable="yes">ì´ ê¸°ë¥ì ì¬ì©íë ¤ë©´ íë ëë¼ì´ë¸ì [1]ì´(ê°) ìì´ì¼ í©ëë¤. [3]ê°ì íì ê¸°ë¥ ì¤ [2]ê°ê° ì íëììµëë¤. íì 기ë¥ì ì¬ì©íë ¤ë©´ íë ëë¼ì´ë¸ì [4]ì´(ê°) ìì´ì¼ í©ëë¤.</String>
- <String Id="UITextTimeRemaining" Overridable="yes">ë¨ì ìê°: {[1]ë¶ }{[2]ì´}</String>
- <String Id="UITextVolumeCostAvailable" Overridable="yes">ì¬ì© ê°ë¥</String>
- <String Id="UITextVolumeCostDifference" Overridable="yes">ì°¨ì´</String>
- <String Id="UITextVolumeCostRequired" Overridable="yes">íì</String>
- <String Id="UITextVolumeCostSize" Overridable="yes">ëì¤í¬ í¬ê¸°</String>
- <String Id="UITextVolumeCostVolume" Overridable="yes">覲朱エ</String>
+ <String Id="UITextMenuAbsent" Overridable="yes">E¨E E°E¥EEE¬E©ú± EEEE</String>
+ <String Id="UITextMenuAdvertise" Overridable="yes">ú±Eú± EEE°E¥EEE¤EE/String>
+ <String Id="UITextMenuAllCD" Overridable="yes">E¨E E°E¥E´ CDEìE E¤ú²ëEE¡EE¤EE/String>
+ <String Id="UITextMenuAllLocal" Overridable="yes">E¨E E°E¥E´ E컬 ú±ë Eë¼E´Eì E¤EE/String>
+ <String Id="UITextMenuAllNetwork" Overridable="yes">E¨E E°E¥E´ E¤ú¦¸Eí¬EìE E¤ú²ëEE¡EE¤EE/String>
+ <String Id="UITextMenuCD" Overridable="yes">CDEìE E¤ú²ëEE¡EE¤EE/String>
+ <String Id="UITextMenuLocal" Overridable="yes">E컬 ú±ë Eë¼E´Eì E¤EE/String>
+ <String Id="UITextMenuNetwork" Overridable="yes">E¤ú¦¸Eí¬EìE E¤ú²ëEE¡EE¤EE/String>
+ <String Id="UITextNewFolder" Overridable="yes">Folder|ú±EEì¤ EE¡E/String>
+ <String Id="UITextScriptInProgress" Overridable="yes">ú±Eú±EEë³´E¼ E¨E¼EEEE..</String>
+ <String Id="UITextSelAbsentAbsent" Overridable="yes">E´ E°E¥E E¤EëE EìµEë¤.</String>
+ <String Id="UITextSelAbsentAdvertise" Overridable="yes">ú±Eú± EEE´ E°E¥EEE¤EíEE¡EE¤Eí EEEìµEë¤.</String>
+ <String Id="UITextSelAbsentCD" Overridable="yes">E´ E°E¥E CDEìE E¤ú²ëEE¡EE¤Eë©Eë¤.</String>
+ <String Id="UITextSelAbsentLocal" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´Eì E¤Eë©Eë¤.</String>
+ <String Id="UITextSelAbsentNetwork" Overridable="yes">E´ E°E¥E E¤ú¦¸Eí¬EìE E¤ú²ëEE¡EE¤Eë©Eë¤.</String>
+ <String Id="UITextSelAdvertiseAbsent" Overridable="yes">E´ E°E¥EEE¬E©ú± EEEE²EE©Eë¤.</String>
+ <String Id="UITextSelAdvertiseAdvertise" Overridable="yes">ú±Eú± EEE¤EE/String>
+ <String Id="UITextSelAdvertiseCD" Overridable="yes">E´ E°E¥E CDEìE E¤ú²í EEEìµEë¤.</String>
+ <String Id="UITextSelAdvertiseLocal" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´Eì E¤Eë©Eë¤.</String>
+ <String Id="UITextSelAdvertiseNetwork" Overridable="yes">E´ E°E¥E E¤ú¦¸Eí¬EìE E¤ú²í EEEìµEë¤.</String>
+ <String Id="UITextSelCDAbsent" Overridable="yes">E´ E°E¥E EE E Eê±°E©Eë¤. CDEìE E¤ú²í EEEEµEë¤.</String>
+ <String Id="UITextSelCDAdvertise" Overridable="yes">E´ E°E¥E CDEìE E¤ú²ëEEEEEEìE ú±Eú± EEE¤EëEEEE¼EEEE½E©Eë¤.</String>
+ <String Id="UITextSelCDCD" Overridable="yes">E´ E°E¥E E¸EEECDEìE E¤ú²ë©Eë¤.</String>
+ <String Id="UITextSelCDLocal" Overridable="yes">E´ E°E¥E CDEìE E¤ú²ëEEEEEEìE E컬 ú±ë Eë¼E´Eì E¤EëEEEE¼EEEE½E©Eë¤.</String>
+ <String Id="UITextSelChildCostNeg" Overridable="yes">E´ E°E¥E ú±ë Eë¼E´EìEE[1]EEEµEE EëEë¤.</String>
+ <String Id="UITextSelChildCostPos" Overridable="yes">E´ E°E¥EEE¤ú²íE¤E´ ú±ë Eë¼E´Eì [1]E´(E) Eì´E¼ ú±©Eë¤.</String>
+ <String Id="UITextSelCostPending" Overridable="yes">E´ E°E¥EEEú±EEµEE E´ú¨ì¼ú±ë EE..</String>
+ <String Id="UITextSelLocalAbsent" Overridable="yes">E´ E°E¥E EE E Eê±°E©Eë¤.</String>
+ <String Id="UITextSelLocalAdvertise" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´EìEEEê±°Eì§EEú±Eú± EEE¤EíEE¡EE¤Eí EEEìµEë¤.</String>
+ <String Id="UITextSelLocalCD" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´EìEEEê±°Eì§EECDEìEEEE¤ú²í EEEìµEë¤.</String>
+ <String Id="UITextSelLocalLocal" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´Eì E¸EEEE¨EEEê²EE©Eë¤.</String>
+ <String Id="UITextSelLocalNetwork" Overridable="yes">E´ E°E¥E E컬 ú±ë Eë¼E´EìEEEê±°Eì§EEE¤ú¦¸Eí¬EìE E¤ú²í EEEìµEë¤.</String>
+ <String Id="UITextSelNetworkAbsent" Overridable="yes">E´ E°E¥E EE E Eê±°E©Eë¤. E¤ú¦¸Eí¬EìE E¤ú²í EEEE²EE©Eë¤.</String>
+ <String Id="UITextSelNetworkAdvertise" Overridable="yes">E´ E°E¥E E¤ú¦¸Eí¬EìE E¤ú²ëEEEEEEìE ú±Eú± EEE¤EëEEEE¼EEEE½E©Eë¤.</String>
+ <String Id="UITextSelNetworkLocal" Overridable="yes">E´ E°E¥E E¤ú¦¸Eí¬EìE E¤ú²ëEEEEEEìE E컬 ú±ë Eë¼E´Eì E¤EëEEEE¼EEEE½E©Eë¤.</String>
+ <String Id="UITextSelNetworkNetwork" Overridable="yes">E´ E°E¥E E¸EEEE¤ú¦¸Eí¬EìE E¤ú²ë©Eë¤.</String>
+ <String Id="UITextSelParentCostNegNeg" Overridable="yes">E´ E°E¥E ú±ë Eë¼E´EìEE[1]EEEµEE EëEë¤. [3]Eì ú±ì E°E¥ EE[2]Eê° E úëEìµEë¤. ú±ì E°E¥E ú±ë Eë¼E´EìEE[4]EEEµEE EëEë¤.</String>
+ <String Id="UITextSelParentCostNegPos" Overridable="yes">E´ E°E¥E ú±ë Eë¼E´EìEE[1]EEEµEE EëEë¤. [3]Eì ú±ì E°E¥ EE[2]Eê° E úëEìµEë¤. ú±ì E°E¥EEE¬E©ú±ë ¤E´ ú±ë Eë¼E´Eì [4]E´(E) Eì´E¼ ú±©Eë¤.</String>
+ <String Id="UITextSelParentCostPosNeg" Overridable="yes">E´ E°E¥EEE¬E©ú±ë ¤E´ ú±ë Eë¼E´Eì [1]E´(E) Eì´E¼ ú±©Eë¤. [3]Eì ú±ì E°E¥ EE[2]Eê° E úëEìµEë¤. ú±ì E°E¥E ú±ë Eë¼E´EìEE[4]EEEµEE EëEë¤.</String>
+ <String Id="UITextSelParentCostPosPos" Overridable="yes">E´ E°E¥EEE¬E©ú±ë ¤E´ ú±ë Eë¼E´Eì [1]E´(E) Eì´E¼ ú±©Eë¤. [3]Eì ú±ì E°E¥ EE[2]Eê° E úëEìµEë¤. ú±ì E°E¥EEE¬E©ú±ë ¤E´ ú±ë Eë¼E´Eì [4]E´(E) Eì´E¼ ú±©Eë¤.</String>
+ <String Id="UITextTimeRemaining" Overridable="yes">E¨E Eê°E {[1]EE}{[2]EE</String>
+ <String Id="UITextVolumeCostAvailable" Overridable="yes">E¬E© EE¥</String>
+ <String Id="UITextVolumeCostDifference" Overridable="yes">E¨E´</String>
+ <String Id="UITextVolumeCostRequired" Overridable="yes">ú±E</String>
+ <String Id="UITextVolumeCostSize" Overridable="yes">Eì¤ú¬ ú¬E°</String>
+ <String Id="UITextVolumeCostVolume" Overridable="yes">E¼E¨</String>
</WixLocalization>
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_zh-tw.wxl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_zh-tw.wxl 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/WixUI_zh-tw.wxl 2011-09-16 09:37:35 UTC (rev 478)
@@ -10,7 +10,7 @@
You must not remove this notice, or any other, from this software.
-->
-<WixLocalization Culture="zh-tw" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WixUIBack" Overridable="yes">ä¸ä¸æ¥(&B)</String>
<String Id="WixUINext" Overridable="yes">ä¸ä¸æ¥(&N)</String>
<String Id="WixUICancel" Overridable="yes">åæ¶</String>
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/build.cmd
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/build.cmd 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/build.cmd 2011-09-16 09:37:35 UTC (rev 478)
@@ -4,7 +4,7 @@
@rem usually only %TARGET% might be changed
@rem ------------------------------------------------------------
@set PATH=%WIX%\bin;%PATH%
- at set VERSION=1.0.1
+ at set VERSION=1.1.0
@set TARGET=OpenRTM-aist-Python
@set TARGET_WXS=%TARGET%.wxs
@set TARGET_WIXOBJ=%TARGET%.wixobj
@@ -22,7 +22,7 @@
@rem default distribution package folder
@rem ------------------------------------------------------------
@set DISTRIBUTION=C:\distribution
- at set OPENRTM_PY=%DISTRIBUTION%\OpenRTM-aist-Python-1.0.0
+ at set OPENRTM_PY=%DISTRIBUTION%\OpenRTM-aist-Python-1.1.0
@set OMNIORB_PY24=%DISTRIBUTION%\omniORBpy-3.0-Python2.4
@set OMNIORB_PY25=%DISTRIBUTION%\omniORBpy-3.4-Python2.5
@set OMNIORB_PY26=%DISTRIBUTION%\omniORBpy-3.4-Python2.6
@@ -33,7 +33,7 @@
@rem supported languages have to be specified
@rem ------------------------------------------------------------
set LANGUAGES=(ja-jp de-de es-es fr-fr hu-hu it-it ko-kr zh-tw)
-
+copy OpenRTM-aist-Python.wxs.yaml.in OpenRTM-aist-Python.wxs.yaml
echo off
@rem ------------------------------------------------------------
@rem Checking WiX
@@ -82,12 +82,14 @@
if not exist OpenRTP_inc.wxs (
cd OpenRTP
-rem set TMP_PYTHONPATH=%PYTHONPATH%
-rem set PYTHONPATH=../../bin;%PYTHONPATH%
-rem echo Generating OpenRTP_inc.wxs......
-rem openrtpwxs.py
-rem set PYTHONPATH=%TMP_PYTHONPATH%
+ copy ../makewxs.py .
+ copy ../yat.py .
+ echo Generating OpenRTP_inc.wxs......
+ at rem openrtpwxs.py
+ at rem set PYTHONPATH=%TMP_PYTHONPATH%
copy OpenRTP_inc.wxs ..
+ del makewxs.py yat.py
+ del *.yaml
cd ..
)
@@ -149,3 +151,5 @@
:END
del *.yaml
+pause;
+
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/makewxs.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/makewxs.py 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/makewxs.py 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,204 +1,204 @@
-#!/usr/bin/env python
-#
-# @brief WiX wxsd file generator
-# @date $Date: 2008-02-26 13:58:13 $
-# @author Norkai Ando <n-ando at aist.go.jp>
-#
-# Copyright (C) 2008
-# Noriaki Ando
-# Task-intelligence Research Group,
-# Intelligent Systems Research Institute,
-# National Institute of
-# Advanced Industrial Science and Technology (AIST), Japan
-# All rights reserved.
-#
-# $Id: makewxs.py 1686 2010-01-18 13:36:16Z n-ando $
-#
-
-import yaml
-import yat
-import sys
-import uuid
-import getopt
-import os
-
-def replace_uuid(text):
- token0 = text.split("__GUID__")
- text0 = token0[0]
- for i in range(1, len(token0)):
- u = str(uuid.uuid1()).upper()
- text0 += u + token0[i]
-
- token1 = text0.split("__UUID")
- text1 = token1[0]
- for i in range(1, len(token1)):
- u = "_" + str(uuid.uuid1()).replace("-", "")
- text1 += u + token1[i]
- return text1
-
-class file_list:
- def __init__(self, comp, path, files):
- self.comp = comp
- self.path = self.check_path(path)
- self.files = self.to_basename(files)
- self.shortnames = {}
- self.shortext = {}
- self.output = ""
- self.head = """%s:
- GUID: %s
- Files:
-"""
- self.fitem = """ - Id: %s
- ShortName: %s
- Name: %s
- Source: %s
-"""
- self.count = -1
-
- def check_path(self, path):
- if path[-1] != "\\" or path[-1] != "/":
- return path + "\\"
-
- def to_basename(self, files):
- out = []
- for f in files:
- out.append(os.path.basename(f))
- return out
-
- def to_shortname(self, fname):
- try:
- name, ext = fname.rsplit(".", 1)
- except:
- name = fname
- ext = ""
- if name != None and len(name) > 8:
- short_name = name[:5] + self.sn_num(name[:5])
- else:
- short_name = name
- if ext != None and len(ext) > 3:
- short_ext = ext[:3]
- else:
- short_ext = ext
- if short_ext == "":
- return short_name
- return short_name + "." + short_ext
-
- def id(self):
- self.count += 1
- return self.comp + '%04d' % (self.count)
-
- def sn_num(self, name):
- if self.shortnames.has_key(name):
- self.shortnames[name] += 1
- else:
- self.shortnames[name] = 0
- return "%03d" % (self.shortnames[name])
-
- def se_num(self, ext):
- if self.shortext.has_key(ext):
- self.shortext[ext] += 1
- else:
- self.shortext[ext] = 0
- return "%01d" % (self.shortext[ext])
-
- def write(self, text):
- self.output += text
-
- def escape(self, text):
- return text.replace("\\", "\\\\")
-
- def yaml(self):
- self.write(self.head % (self.comp, str(uuid.uuid1()).upper()))
- for fname in self.files:
- self.write(self.fitem % (self.escape(self.id()),
- self.escape(self.to_shortname(fname)),
- self.escape(fname),
- self.escape(self.path + fname)))
- return self.output
-
-
-class make_wxs:
- def __init__(self, outfile, infile, yaml_files):
- self.outfile = outfile
- self.template = self.load_template(infile)
- self.dict = self.load_yaml(yaml_files)
-
- def load_template(self, template):
- fd = open(template, 'r')
- t = yat.Template(fd.read(), "{% ", " %}")
- fd.close()
- return t
-
- def load_yaml(self, yaml_files):
- yaml_text = ""
- for f in yaml_files:
- fd = open(f, "r")
- yaml_text += replace_uuid(fd.read())
- fd.close()
- return yaml.load(yaml_text)
-
- def generate(self):
- of = open(self.outfile, 'w')
- of.write(self.template.generate(self.dict))
- of.close()
-
-
-def usage():
- print """makewxs.py cmd options
-commands:
- flist: make file list to be included wxs file
- wxs : make wxs file from a input template file and yaml files
-examples:
- makewxs.py flist -c ComponentName -p Path -o OutputFilename file_names...
- makewxs.py wxs -o Output.wxs -i InputTempalte input_yaml_files...
-"""
-
-
-def main(argv):
- if len(argv) == 0:
- usage()
- sys.exit(-1)
-
- cmd = argv[0]
- out = None
- if cmd == "flist":
- opts, args = getopt.getopt(argv[1:], "c:p:o:", [])
- if opts == None:
- usage()
- sys.exit(-1)
- return
- for o, a in opts:
- if o in ("-c"):
- comp = a
- if o in ("-p"):
- path = a
- if o in ("-o"):
- out = a
- fl = file_list(comp, path, args)
- if out == None:
- f = sys.stdout
- else:
- f = open(out, "w")
- f.write(fl.yaml())
- f.close()
- elif cmd == "wxs":
- opts, args = getopt.getopt(argv[1:], "o:i:", [])
- if opts == None:
- usage()
- sys.exit(-1)
- return
- for o, a in opts:
- if o in ("-o"):
- outfile = a
- if o in ("-i"):
- infile = a
- wxs = make_wxs(outfile, infile, args)
- wxs.generate()
- elif cmd == "":
- pass
- else:
- pass
-
-
-if __name__ == "__main__":
- main(sys.argv[1:])
+#!/usr/bin/env python
+#
+# @brief WiX wxsd file generator
+# @date $Date: 2008-02-26 13:58:13 $
+# @author Norkai Ando <n-ando at aist.go.jp>
+#
+# Copyright (C) 2008
+# Noriaki Ando
+# Task-intelligence Research Group,
+# Intelligent Systems Research Institute,
+# National Institute of
+# Advanced Industrial Science and Technology (AIST), Japan
+# All rights reserved.
+#
+# $Id: makewxs.py 1686 2010-01-18 13:36:16Z n-ando $
+#
+
+import yaml
+import yat
+import sys
+import uuid
+import getopt
+import os
+
+def replace_uuid(text):
+ token0 = text.split("__GUID__")
+ text0 = token0[0]
+ for i in range(1, len(token0)):
+ u = str(uuid.uuid1()).upper()
+ text0 += u + token0[i]
+
+ token1 = text0.split("__UUID")
+ text1 = token1[0]
+ for i in range(1, len(token1)):
+ u = "_" + str(uuid.uuid1()).replace("-", "")
+ text1 += u + token1[i]
+ return text1
+
+class file_list:
+ def __init__(self, comp, path, files):
+ self.comp = comp
+ self.path = self.check_path(path)
+ self.files = self.to_basename(files)
+ self.shortnames = {}
+ self.shortext = {}
+ self.output = ""
+ self.head = """%s:
+ GUID: %s
+ Files:
+"""
+ self.fitem = """ - Id: %s
+ ShortName: %s
+ Name: %s
+ Source: %s
+"""
+ self.count = -1
+
+ def check_path(self, path):
+ if path[-1] != "\\" or path[-1] != "/":
+ return path + "\\"
+
+ def to_basename(self, files):
+ out = []
+ for f in files:
+ out.append(os.path.basename(f))
+ return out
+
+ def to_shortname(self, fname):
+ try:
+ name, ext = fname.rsplit(".", 1)
+ except:
+ name = fname
+ ext = ""
+ if name != None and len(name) > 8:
+ short_name = name[:5] + self.sn_num(name[:5])
+ else:
+ short_name = name
+ if ext != None and len(ext) > 3:
+ short_ext = ext[:3]
+ else:
+ short_ext = ext
+ if short_ext == "":
+ return short_name
+ return short_name + "." + short_ext
+
+ def id(self):
+ self.count += 1
+ return self.comp + '%04d' % (self.count)
+
+ def sn_num(self, name):
+ if self.shortnames.has_key(name):
+ self.shortnames[name] += 1
+ else:
+ self.shortnames[name] = 0
+ return "%03d" % (self.shortnames[name])
+
+ def se_num(self, ext):
+ if self.shortext.has_key(ext):
+ self.shortext[ext] += 1
+ else:
+ self.shortext[ext] = 0
+ return "%01d" % (self.shortext[ext])
+
+ def write(self, text):
+ self.output += text
+
+ def escape(self, text):
+ return text.replace("\\", "\\\\")
+
+ def yaml(self):
+ self.write(self.head % (self.comp, str(uuid.uuid1()).upper()))
+ for fname in self.files:
+ self.write(self.fitem % (self.escape(self.id()),
+ self.escape(self.to_shortname(fname)),
+ self.escape(fname),
+ self.escape(self.path + fname)))
+ return self.output
+
+
+class make_wxs:
+ def __init__(self, outfile, infile, yaml_files):
+ self.outfile = outfile
+ self.template = self.load_template(infile)
+ self.dict = self.load_yaml(yaml_files)
+
+ def load_template(self, template):
+ fd = open(template, 'r')
+ t = yat.Template(fd.read(), "{% ", " %}")
+ fd.close()
+ return t
+
+ def load_yaml(self, yaml_files):
+ yaml_text = ""
+ for f in yaml_files:
+ fd = open(f, "r")
+ yaml_text += replace_uuid(fd.read())
+ fd.close()
+ return yaml.load(yaml_text)
+
+ def generate(self):
+ of = open(self.outfile, 'w')
+ of.write(self.template.generate(self.dict))
+ of.close()
+
+
+def usage():
+ print """makewxs.py cmd options
+commands:
+ flist: make file list to be included wxs file
+ wxs : make wxs file from a input template file and yaml files
+examples:
+ makewxs.py flist -c ComponentName -p Path -o OutputFilename file_names...
+ makewxs.py wxs -o Output.wxs -i InputTempalte input_yaml_files...
+"""
+
+
+def main(argv):
+ if len(argv) == 0:
+ usage()
+ sys.exit(-1)
+
+ cmd = argv[0]
+ out = None
+ if cmd == "flist":
+ opts, args = getopt.getopt(argv[1:], "c:p:o:", [])
+ if opts == None:
+ usage()
+ sys.exit(-1)
+ return
+ for o, a in opts:
+ if o in ("-c"):
+ comp = a
+ if o in ("-p"):
+ path = a
+ if o in ("-o"):
+ out = a
+ fl = file_list(comp, path, args)
+ if out == None:
+ f = sys.stdout
+ else:
+ f = open(out, "w")
+ f.write(fl.yaml())
+ f.close()
+ elif cmd == "wxs":
+ opts, args = getopt.getopt(argv[1:], "o:i:", [])
+ if opts == None:
+ usage()
+ sys.exit(-1)
+ return
+ for o, a in opts:
+ if o in ("-o"):
+ outfile = a
+ if o in ("-i"):
+ infile = a
+ wxs = make_wxs(outfile, infile, args)
+ wxs.generate()
+ elif cmd == "":
+ pass
+ else:
+ pass
+
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/uuid.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/uuid.py 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/uuid.py 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,479 +1,479 @@
-#!/usr/bin/env python
-
-r"""UUID objects (universally unique identifiers) according to RFC 4122.
-
-This module provides immutable UUID objects (class UUID) and the functions
-uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5
-UUIDs as specified in RFC 4122.
-
-If all you want is a unique ID, you should probably call uuid1() or uuid4().
-Note that uuid1() may compromise privacy since it creates a UUID containing
-the computer's network address. uuid4() creates a random UUID.
-
-Typical usage:
-
- >>> import uuid
-
- # make a UUID based on the host ID and current time
- >>> uuid.uuid1()
- UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
-
- # make a UUID using an MD5 hash of a namespace UUID and a name
- >>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
- UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
-
- # make a random UUID
- >>> uuid.uuid4()
- UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
-
- # make a UUID using a SHA-1 hash of a namespace UUID and a name
- >>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
- UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
-
- # make a UUID from a string of hex digits (braces and hyphens ignored)
- >>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
-
- # convert a UUID to a string of hex digits in standard form
- >>> str(x)
- '00010203-0405-0607-0809-0a0b0c0d0e0f'
-
- # get the raw 16 bytes of the UUID
- >>> x.bytes
- '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
-
- # make a UUID from a 16-byte string
- >>> uuid.UUID(bytes=x.bytes)
- UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')
-
-This module works with Python 2.3 or higher."""
-
-__author__ = 'Ka-Ping Yee <ping at zesty.ca>'
-__date__ = '$Date: 2007-07-20 15:38:13 $'.split()[1].replace('/', '-')
-__version__ = '$Revision: 1.1.2.1 $'.split()[1]
-
-RESERVED_NCS, RFC_4122, RESERVED_MICROSOFT, RESERVED_FUTURE = [
- 'reserved for NCS compatibility', 'specified in RFC 4122',
- 'reserved for Microsoft compatibility', 'reserved for future definition']
-
-class UUID(object):
- """Instances of the UUID class represent UUIDs as specified in RFC 4122.
- UUID objects are immutable, hashable, and usable as dictionary keys.
- Converting a UUID to a string with str() yields something in the form
- '12345678-1234-1234-1234-123456789abc'. The UUID constructor accepts
- four possible forms: a similar string of hexadecimal digits, or a
- string of 16 raw bytes as an argument named 'bytes', or a tuple of
- six integer fields (with 32-bit, 16-bit, 16-bit, 8-bit, 8-bit, and
- 48-bit values respectively) as an argument named 'fields', or a single
- 128-bit integer as an argument named 'int'.
-
- UUIDs have these read-only attributes:
-
- bytes the UUID as a 16-byte string
-
- fields a tuple of the six integer fields of the UUID,
- which are also available as six individual attributes
- and two derived attributes:
-
- time_low the first 32 bits of the UUID
- time_mid the next 16 bits of the UUID
- time_hi_version the next 16 bits of the UUID
- clock_seq_hi_variant the next 8 bits of the UUID
- clock_seq_low the next 8 bits of the UUID
- node the last 48 bits of the UUID
-
- time the 60-bit timestamp
- clock_seq the 14-bit sequence number
-
- hex the UUID as a 32-character hexadecimal string
-
- int the UUID as a 128-bit integer
-
- urn the UUID as a URN as specified in RFC 4122
-
- variant the UUID variant (one of the constants RESERVED_NCS,
- RFC_4122, RESERVED_MICROSOFT, or RESERVED_FUTURE)
-
- version the UUID version number (1 through 5, meaningful only
- when the variant is RFC_4122)
- """
-
- def __init__(self, hex=None, bytes=None, fields=None, int=None,
- version=None):
- r"""Create a UUID from either a string of 32 hexadecimal digits,
- a string of 16 bytes as the 'bytes' argument, a tuple of six
- integers (32-bit time_low, 16-bit time_mid, 16-bit time_hi_version,
- 8-bit clock_seq_hi_variant, 8-bit clock_seq_low, 48-bit node) as
- the 'fields' argument, or a single 128-bit integer as the 'int'
- argument. When a string of hex digits is given, curly braces,
- hyphens, and a URN prefix are all optional. For example, these
- expressions all yield the same UUID:
-
- UUID('{12345678-1234-5678-1234-567812345678}')
- UUID('12345678123456781234567812345678')
- UUID('urn:uuid:12345678-1234-5678-1234-567812345678')
- UUID(bytes='\x12\x34\x56\x78'*4)
- UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678))
- UUID(int=0x12345678123456781234567812345678)
-
- Exactly one of 'hex', 'bytes', 'fields', or 'int' must be given.
- The 'version' argument is optional; if given, the resulting UUID
- will have its variant and version number set according to RFC 4122,
- overriding bits in the given 'hex', 'bytes', 'fields', or 'int'.
- """
-
- if [hex, bytes, fields, int].count(None) != 3:
- raise TypeError('need just one of hex, bytes, fields, or int')
- if hex is not None:
- hex = hex.replace('urn:', '').replace('uuid:', '')
- hex = hex.strip('{}').replace('-', '')
- if len(hex) != 32:
- raise ValueError('badly formed hexadecimal UUID string')
- int = long(hex, 16)
- if bytes is not None:
- if len(bytes) != 16:
- raise ValueError('bytes is not a 16-char string')
- int = long(('%02x'*16) % tuple(map(ord, bytes)), 16)
- if fields is not None:
- if len(fields) != 6:
- raise ValueError('fields is not a 6-tuple')
- (time_low, time_mid, time_hi_version,
- clock_seq_hi_variant, clock_seq_low, node) = fields
- if not 0 <= time_low < 1<<32L:
- raise ValueError('field 1 out of range (need a 32-bit value)')
- if not 0 <= time_mid < 1<<16L:
- raise ValueError('field 2 out of range (need a 16-bit value)')
- if not 0 <= time_hi_version < 1<<16L:
- raise ValueError('field 3 out of range (need a 16-bit value)')
- if not 0 <= clock_seq_hi_variant < 1<<8L:
- raise ValueError('field 4 out of range (need an 8-bit value)')
- if not 0 <= clock_seq_low < 1<<8L:
- raise ValueError('field 5 out of range (need an 8-bit value)')
- if not 0 <= node < 1<<48L:
- raise ValueError('field 6 out of range (need a 48-bit value)')
- clock_seq = (clock_seq_hi_variant << 8L) | clock_seq_low
- int = ((time_low << 96L) | (time_mid << 80L) |
- (time_hi_version << 64L) | (clock_seq << 48L) | node)
- if int is not None:
- if not 0 <= int < 1<<128L:
- raise ValueError('int is out of range (need a 128-bit value)')
- if version is not None:
- if not 1 <= version <= 5:
- raise ValueError('illegal version number')
- # Set the variant to RFC 4122.
- int &= ~(0xc000 << 48L)
- int |= 0x8000 << 48L
- # Set the version number.
- int &= ~(0xf000 << 64L)
- int |= version << 76L
- self.__dict__['int'] = int
-
- def __cmp__(self, other):
- if isinstance(other, UUID):
- return cmp(self.int, other.int)
- return NotImplemented
-
- def __hash__(self):
- return hash(self.int)
-
- def __int__(self):
- return self.int
-
- def __repr__(self):
- return 'UUID(%r)' % str(self)
-
- def __setattr__(self, name, value):
- raise TypeError('UUID objects are immutable')
-
- def __str__(self):
- hex = '%032x' % self.int
- return '%s-%s-%s-%s-%s' % (
- hex[:8], hex[8:12], hex[12:16], hex[16:20], hex[20:])
-
- def get_bytes(self):
- bytes = ''
- for shift in range(0, 128, 8):
- bytes = chr((self.int >> shift) & 0xff) + bytes
- return bytes
-
- bytes = property(get_bytes)
-
- def get_fields(self):
- return (self.time_low, self.time_mid, self.time_hi_version,
- self.clock_seq_hi_variant, self.clock_seq_low, self.node)
-
- fields = property(get_fields)
-
- def get_time_low(self):
- return self.int >> 96L
-
- time_low = property(get_time_low)
-
- def get_time_mid(self):
- return (self.int >> 80L) & 0xffff
-
- time_mid = property(get_time_mid)
-
- def get_time_hi_version(self):
- return (self.int >> 64L) & 0xffff
-
- time_hi_version = property(get_time_hi_version)
-
- def get_clock_seq_hi_variant(self):
- return (self.int >> 56L) & 0xff
-
- clock_seq_hi_variant = property(get_clock_seq_hi_variant)
-
- def get_clock_seq_low(self):
- return (self.int >> 48L) & 0xff
-
- clock_seq_low = property(get_clock_seq_low)
-
- def get_time(self):
- return (((self.time_hi_version & 0x0fffL) << 48L) |
- (self.time_mid << 32L) | self.time_low)
-
- time = property(get_time)
-
- def get_clock_seq(self):
- return (((self.clock_seq_hi_variant & 0x3fL) << 8L) |
- self.clock_seq_low)
-
- clock_seq = property(get_clock_seq)
-
- def get_node(self):
- return self.int & 0xffffffffffff
-
- node = property(get_node)
-
- def get_hex(self):
- return '%032x' % self.int
-
- hex = property(get_hex)
-
- def get_urn(self):
- return 'urn:uuid:' + str(self)
-
- urn = property(get_urn)
-
- def get_variant(self):
- if not self.int & (0x8000 << 48L):
- return RESERVED_NCS
- elif not self.int & (0x4000 << 48L):
- return RFC_4122
- elif not self.int & (0x2000 << 48L):
- return RESERVED_MICROSOFT
- else:
- return RESERVED_FUTURE
-
- variant = property(get_variant)
-
- def get_version(self):
- # The version bits are only meaningful for RFC 4122 UUIDs.
- if self.variant == RFC_4122:
- return int((self.int >> 76L) & 0xf)
-
- version = property(get_version)
-
-def _ifconfig_getnode():
- """Get the hardware address on Unix by running ifconfig."""
- import os
- for dir in ['', '/sbin/', '/usr/sbin']:
- try:
- pipe = os.popen(os.path.join(dir, 'ifconfig'))
- except IOError:
- continue
- for line in pipe:
- words = line.lower().split()
- for i in range(len(words)):
- if words[i] in ['hwaddr', 'ether']:
- return int(words[i + 1].replace(':', ''), 16)
-
-def _ipconfig_getnode():
- """Get the hardware address on Windows by running ipconfig.exe."""
- import os, re
- dirs = ['', r'c:\windows\system32', r'c:\winnt\system32']
- try:
- import ctypes
- buffer = ctypes.create_string_buffer(300)
- ctypes.windll.kernel32.GetSystemDirectoryA(buffer, 300)
- dirs.insert(0, buffer.value.decode('mbcs'))
- except:
- pass
- for dir in dirs:
- try:
- pipe = os.popen(os.path.join(dir, 'ipconfig') + ' /all')
- except IOError:
- continue
- for line in pipe:
- value = line.split(':')[-1].strip().lower()
- if re.match('([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value):
- return int(value.replace('-', ''), 16)
-
-def _netbios_getnode():
- """Get the hardware address on Windows using NetBIOS calls.
- See http://support.microsoft.com/kb/118623 for details."""
- import win32wnet, netbios
- ncb = netbios.NCB()
- ncb.Command = netbios.NCBENUM
- ncb.Buffer = adapters = netbios.LANA_ENUM()
- adapters._pack()
- if win32wnet.Netbios(ncb) != 0:
- return
- adapters._unpack()
- for i in range(adapters.length):
- ncb.Reset()
- ncb.Command = netbios.NCBRESET
- ncb.Lana_num = ord(adapters.lana[i])
- if win32wnet.Netbios(ncb) != 0:
- continue
- ncb.Reset()
- ncb.Command = netbios.NCBASTAT
- ncb.Lana_num = ord(adapters.lana[i])
- ncb.Callname = '*'.ljust(16)
- ncb.Buffer = status = netbios.ADAPTER_STATUS()
- if win32wnet.Netbios(ncb) != 0:
- continue
- status._unpack()
- bytes = map(ord, status.adapter_address)
- return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) +
- (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5])
-
-# Thanks to Thomas Heller for ctypes and for his help with its use here.
-
-# If ctypes is available, use it to find system routines for UUID generation.
-_uuid_generate_random = _uuid_generate_time = _UuidCreate = None
-try:
- import ctypes, ctypes.util
- _buffer = ctypes.create_string_buffer(16)
-
- # The uuid_generate_* routines are provided by libuuid on at least
- # Linux and FreeBSD, and provided by libc on Mac OS X.
- for libname in ['uuid', 'c']:
- try:
- lib = ctypes.CDLL(ctypes.util.find_library(libname))
- except:
- continue
- if hasattr(lib, 'uuid_generate_random'):
- _uuid_generate_random = lib.uuid_generate_random
- if hasattr(lib, 'uuid_generate_time'):
- _uuid_generate_time = lib.uuid_generate_time
-
- # On Windows prior to 2000, UuidCreate gives a UUID containing the
- # hardware address. On Windows 2000 and later, UuidCreate makes a
- # random UUID and UuidCreateSequential gives a UUID containing the
- # hardware address. These routines are provided by the RPC runtime.
- try:
- lib = ctypes.windll.rpcrt4
- except:
- lib = None
- _UuidCreate = getattr(lib, 'UuidCreateSequential',
- getattr(lib, 'UuidCreate', None))
-except:
- pass
-
-def _unixdll_getnode():
- """Get the hardware address on Unix using ctypes."""
- _uuid_generate_time(_buffer)
- return UUID(bytes=_buffer.raw).node
-
-def _windll_getnode():
- """Get the hardware address on Windows using ctypes."""
- if _UuidCreate(_buffer) == 0:
- return UUID(bytes=_buffer.raw).node
-
-def _random_getnode():
- """Get a random node ID, with eighth bit set as suggested by RFC 4122."""
- import random
- return random.randrange(0, 1<<48L) | 0x010000000000L
-
-_node = None
-
-def getnode():
- """Get the hardware address as a 48-bit integer. The first time this
- runs, it may launch a separate program, which could be quite slow. If
- all attempts to obtain the hardware address fail, we choose a random
- 48-bit number with its eighth bit set to 1 as recommended in RFC 4122."""
-
- global _node
- if _node is not None:
- return _node
-
- import sys
- if sys.platform == 'win32':
- getters = [_windll_getnode, _netbios_getnode, _ipconfig_getnode]
- else:
- getters = [_unixdll_getnode, _ifconfig_getnode]
-
- for getter in getters + [_random_getnode]:
- try:
- _node = getter()
- except:
- continue
- if _node is not None:
- return _node
-
-def uuid1(node=None, clock_seq=None):
- """Generate a UUID from a host ID, sequence number, and the current time.
- If 'node' is not given, getnode() is used to obtain the hardware
- address. If 'clock_seq' is given, it is used as the sequence number;
- otherwise a random 14-bit sequence number is chosen."""
-
- # When the system provides a version-1 UUID generator, use it (but don't
- # use UuidCreate here because its UUIDs don't conform to RFC 4122).
- if _uuid_generate_time and node is clock_seq is None:
- _uuid_generate_time(_buffer)
- return UUID(bytes=_buffer.raw)
-
- import time
- nanoseconds = int(time.time() * 1e9)
- # 0x01b21dd213814000 is the number of 100-ns intervals between the
- # UUID epoch 1582-10-15 00:00:00 and the Unix epoch 1970-01-01 00:00:00.
- timestamp = int(nanoseconds/100) + 0x01b21dd213814000L
- if clock_seq is None:
- import random
- clock_seq = random.randrange(1<<14L) # instead of stable storage
- time_low = timestamp & 0xffffffffL
- time_mid = (timestamp >> 32L) & 0xffffL
- time_hi_version = (timestamp >> 48L) & 0x0fffL
- clock_seq_low = clock_seq & 0xffL
- clock_seq_hi_variant = (clock_seq >> 8L) & 0x3fL
- if node is None:
- node = getnode()
- return UUID(fields=(time_low, time_mid, time_hi_version,
- clock_seq_hi_variant, clock_seq_low, node), version=1)
-
-def uuid3(namespace, name):
- """Generate a UUID from the MD5 hash of a namespace UUID and a name."""
- import md5
- hash = md5.md5(namespace.bytes + name).digest()
- return UUID(bytes=hash[:16], version=3)
-
-def uuid4():
- """Generate a random UUID."""
-
- # When the system provides a version-4 UUID generator, use it.
- if _uuid_generate_random:
- _uuid_generate_random(_buffer)
- return UUID(bytes=_buffer.raw)
-
- # Otherwise, get randomness from urandom or the 'random' module.
- try:
- import os
- return UUID(bytes=os.urandom(16), version=4)
- except:
- import random
- bytes = [chr(random.randrange(256)) for i in range(16)]
- return UUID(bytes=bytes, version=4)
-
-def uuid5(namespace, name):
- """Generate a UUID from the SHA-1 hash of a namespace UUID and a name."""
- import sha
- hash = sha.sha(namespace.bytes + name).digest()
- return UUID(bytes=hash[:16], version=5)
-
-# The following standard UUIDs are for use with uuid3() or uuid5().
-
-NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')
-NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')
-NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8')
-NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')
+#!/usr/bin/env python
+
+r"""UUID objects (universally unique identifiers) according to RFC 4122.
+
+This module provides immutable UUID objects (class UUID) and the functions
+uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5
+UUIDs as specified in RFC 4122.
+
+If all you want is a unique ID, you should probably call uuid1() or uuid4().
+Note that uuid1() may compromise privacy since it creates a UUID containing
+the computer's network address. uuid4() creates a random UUID.
+
+Typical usage:
+
+ >>> import uuid
+
+ # make a UUID based on the host ID and current time
+ >>> uuid.uuid1()
+ UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
+
+ # make a UUID using an MD5 hash of a namespace UUID and a name
+ >>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
+ UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
+
+ # make a random UUID
+ >>> uuid.uuid4()
+ UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
+
+ # make a UUID using a SHA-1 hash of a namespace UUID and a name
+ >>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
+ UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
+
+ # make a UUID from a string of hex digits (braces and hyphens ignored)
+ >>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
+
+ # convert a UUID to a string of hex digits in standard form
+ >>> str(x)
+ '00010203-0405-0607-0809-0a0b0c0d0e0f'
+
+ # get the raw 16 bytes of the UUID
+ >>> x.bytes
+ '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
+
+ # make a UUID from a 16-byte string
+ >>> uuid.UUID(bytes=x.bytes)
+ UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')
+
+This module works with Python 2.3 or higher."""
+
+__author__ = 'Ka-Ping Yee <ping at zesty.ca>'
+__date__ = '$Date: 2007-07-20 15:38:13 $'.split()[1].replace('/', '-')
+__version__ = '$Revision: 1.1.2.1 $'.split()[1]
+
+RESERVED_NCS, RFC_4122, RESERVED_MICROSOFT, RESERVED_FUTURE = [
+ 'reserved for NCS compatibility', 'specified in RFC 4122',
+ 'reserved for Microsoft compatibility', 'reserved for future definition']
+
+class UUID(object):
+ """Instances of the UUID class represent UUIDs as specified in RFC 4122.
+ UUID objects are immutable, hashable, and usable as dictionary keys.
+ Converting a UUID to a string with str() yields something in the form
+ '12345678-1234-1234-1234-123456789abc'. The UUID constructor accepts
+ four possible forms: a similar string of hexadecimal digits, or a
+ string of 16 raw bytes as an argument named 'bytes', or a tuple of
+ six integer fields (with 32-bit, 16-bit, 16-bit, 8-bit, 8-bit, and
+ 48-bit values respectively) as an argument named 'fields', or a single
+ 128-bit integer as an argument named 'int'.
+
+ UUIDs have these read-only attributes:
+
+ bytes the UUID as a 16-byte string
+
+ fields a tuple of the six integer fields of the UUID,
+ which are also available as six individual attributes
+ and two derived attributes:
+
+ time_low the first 32 bits of the UUID
+ time_mid the next 16 bits of the UUID
+ time_hi_version the next 16 bits of the UUID
+ clock_seq_hi_variant the next 8 bits of the UUID
+ clock_seq_low the next 8 bits of the UUID
+ node the last 48 bits of the UUID
+
+ time the 60-bit timestamp
+ clock_seq the 14-bit sequence number
+
+ hex the UUID as a 32-character hexadecimal string
+
+ int the UUID as a 128-bit integer
+
+ urn the UUID as a URN as specified in RFC 4122
+
+ variant the UUID variant (one of the constants RESERVED_NCS,
+ RFC_4122, RESERVED_MICROSOFT, or RESERVED_FUTURE)
+
+ version the UUID version number (1 through 5, meaningful only
+ when the variant is RFC_4122)
+ """
+
+ def __init__(self, hex=None, bytes=None, fields=None, int=None,
+ version=None):
+ r"""Create a UUID from either a string of 32 hexadecimal digits,
+ a string of 16 bytes as the 'bytes' argument, a tuple of six
+ integers (32-bit time_low, 16-bit time_mid, 16-bit time_hi_version,
+ 8-bit clock_seq_hi_variant, 8-bit clock_seq_low, 48-bit node) as
+ the 'fields' argument, or a single 128-bit integer as the 'int'
+ argument. When a string of hex digits is given, curly braces,
+ hyphens, and a URN prefix are all optional. For example, these
+ expressions all yield the same UUID:
+
+ UUID('{12345678-1234-5678-1234-567812345678}')
+ UUID('12345678123456781234567812345678')
+ UUID('urn:uuid:12345678-1234-5678-1234-567812345678')
+ UUID(bytes='\x12\x34\x56\x78'*4)
+ UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678))
+ UUID(int=0x12345678123456781234567812345678)
+
+ Exactly one of 'hex', 'bytes', 'fields', or 'int' must be given.
+ The 'version' argument is optional; if given, the resulting UUID
+ will have its variant and version number set according to RFC 4122,
+ overriding bits in the given 'hex', 'bytes', 'fields', or 'int'.
+ """
+
+ if [hex, bytes, fields, int].count(None) != 3:
+ raise TypeError('need just one of hex, bytes, fields, or int')
+ if hex is not None:
+ hex = hex.replace('urn:', '').replace('uuid:', '')
+ hex = hex.strip('{}').replace('-', '')
+ if len(hex) != 32:
+ raise ValueError('badly formed hexadecimal UUID string')
+ int = long(hex, 16)
+ if bytes is not None:
+ if len(bytes) != 16:
+ raise ValueError('bytes is not a 16-char string')
+ int = long(('%02x'*16) % tuple(map(ord, bytes)), 16)
+ if fields is not None:
+ if len(fields) != 6:
+ raise ValueError('fields is not a 6-tuple')
+ (time_low, time_mid, time_hi_version,
+ clock_seq_hi_variant, clock_seq_low, node) = fields
+ if not 0 <= time_low < 1<<32L:
+ raise ValueError('field 1 out of range (need a 32-bit value)')
+ if not 0 <= time_mid < 1<<16L:
+ raise ValueError('field 2 out of range (need a 16-bit value)')
+ if not 0 <= time_hi_version < 1<<16L:
+ raise ValueError('field 3 out of range (need a 16-bit value)')
+ if not 0 <= clock_seq_hi_variant < 1<<8L:
+ raise ValueError('field 4 out of range (need an 8-bit value)')
+ if not 0 <= clock_seq_low < 1<<8L:
+ raise ValueError('field 5 out of range (need an 8-bit value)')
+ if not 0 <= node < 1<<48L:
+ raise ValueError('field 6 out of range (need a 48-bit value)')
+ clock_seq = (clock_seq_hi_variant << 8L) | clock_seq_low
+ int = ((time_low << 96L) | (time_mid << 80L) |
+ (time_hi_version << 64L) | (clock_seq << 48L) | node)
+ if int is not None:
+ if not 0 <= int < 1<<128L:
+ raise ValueError('int is out of range (need a 128-bit value)')
+ if version is not None:
+ if not 1 <= version <= 5:
+ raise ValueError('illegal version number')
+ # Set the variant to RFC 4122.
+ int &= ~(0xc000 << 48L)
+ int |= 0x8000 << 48L
+ # Set the version number.
+ int &= ~(0xf000 << 64L)
+ int |= version << 76L
+ self.__dict__['int'] = int
+
+ def __cmp__(self, other):
+ if isinstance(other, UUID):
+ return cmp(self.int, other.int)
+ return NotImplemented
+
+ def __hash__(self):
+ return hash(self.int)
+
+ def __int__(self):
+ return self.int
+
+ def __repr__(self):
+ return 'UUID(%r)' % str(self)
+
+ def __setattr__(self, name, value):
+ raise TypeError('UUID objects are immutable')
+
+ def __str__(self):
+ hex = '%032x' % self.int
+ return '%s-%s-%s-%s-%s' % (
+ hex[:8], hex[8:12], hex[12:16], hex[16:20], hex[20:])
+
+ def get_bytes(self):
+ bytes = ''
+ for shift in range(0, 128, 8):
+ bytes = chr((self.int >> shift) & 0xff) + bytes
+ return bytes
+
+ bytes = property(get_bytes)
+
+ def get_fields(self):
+ return (self.time_low, self.time_mid, self.time_hi_version,
+ self.clock_seq_hi_variant, self.clock_seq_low, self.node)
+
+ fields = property(get_fields)
+
+ def get_time_low(self):
+ return self.int >> 96L
+
+ time_low = property(get_time_low)
+
+ def get_time_mid(self):
+ return (self.int >> 80L) & 0xffff
+
+ time_mid = property(get_time_mid)
+
+ def get_time_hi_version(self):
+ return (self.int >> 64L) & 0xffff
+
+ time_hi_version = property(get_time_hi_version)
+
+ def get_clock_seq_hi_variant(self):
+ return (self.int >> 56L) & 0xff
+
+ clock_seq_hi_variant = property(get_clock_seq_hi_variant)
+
+ def get_clock_seq_low(self):
+ return (self.int >> 48L) & 0xff
+
+ clock_seq_low = property(get_clock_seq_low)
+
+ def get_time(self):
+ return (((self.time_hi_version & 0x0fffL) << 48L) |
+ (self.time_mid << 32L) | self.time_low)
+
+ time = property(get_time)
+
+ def get_clock_seq(self):
+ return (((self.clock_seq_hi_variant & 0x3fL) << 8L) |
+ self.clock_seq_low)
+
+ clock_seq = property(get_clock_seq)
+
+ def get_node(self):
+ return self.int & 0xffffffffffff
+
+ node = property(get_node)
+
+ def get_hex(self):
+ return '%032x' % self.int
+
+ hex = property(get_hex)
+
+ def get_urn(self):
+ return 'urn:uuid:' + str(self)
+
+ urn = property(get_urn)
+
+ def get_variant(self):
+ if not self.int & (0x8000 << 48L):
+ return RESERVED_NCS
+ elif not self.int & (0x4000 << 48L):
+ return RFC_4122
+ elif not self.int & (0x2000 << 48L):
+ return RESERVED_MICROSOFT
+ else:
+ return RESERVED_FUTURE
+
+ variant = property(get_variant)
+
+ def get_version(self):
+ # The version bits are only meaningful for RFC 4122 UUIDs.
+ if self.variant == RFC_4122:
+ return int((self.int >> 76L) & 0xf)
+
+ version = property(get_version)
+
+def _ifconfig_getnode():
+ """Get the hardware address on Unix by running ifconfig."""
+ import os
+ for dir in ['', '/sbin/', '/usr/sbin']:
+ try:
+ pipe = os.popen(os.path.join(dir, 'ifconfig'))
+ except IOError:
+ continue
+ for line in pipe:
+ words = line.lower().split()
+ for i in range(len(words)):
+ if words[i] in ['hwaddr', 'ether']:
+ return int(words[i + 1].replace(':', ''), 16)
+
+def _ipconfig_getnode():
+ """Get the hardware address on Windows by running ipconfig.exe."""
+ import os, re
+ dirs = ['', r'c:\windows\system32', r'c:\winnt\system32']
+ try:
+ import ctypes
+ buffer = ctypes.create_string_buffer(300)
+ ctypes.windll.kernel32.GetSystemDirectoryA(buffer, 300)
+ dirs.insert(0, buffer.value.decode('mbcs'))
+ except:
+ pass
+ for dir in dirs:
+ try:
+ pipe = os.popen(os.path.join(dir, 'ipconfig') + ' /all')
+ except IOError:
+ continue
+ for line in pipe:
+ value = line.split(':')[-1].strip().lower()
+ if re.match('([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value):
+ return int(value.replace('-', ''), 16)
+
+def _netbios_getnode():
+ """Get the hardware address on Windows using NetBIOS calls.
+ See http://support.microsoft.com/kb/118623 for details."""
+ import win32wnet, netbios
+ ncb = netbios.NCB()
+ ncb.Command = netbios.NCBENUM
+ ncb.Buffer = adapters = netbios.LANA_ENUM()
+ adapters._pack()
+ if win32wnet.Netbios(ncb) != 0:
+ return
+ adapters._unpack()
+ for i in range(adapters.length):
+ ncb.Reset()
+ ncb.Command = netbios.NCBRESET
+ ncb.Lana_num = ord(adapters.lana[i])
+ if win32wnet.Netbios(ncb) != 0:
+ continue
+ ncb.Reset()
+ ncb.Command = netbios.NCBASTAT
+ ncb.Lana_num = ord(adapters.lana[i])
+ ncb.Callname = '*'.ljust(16)
+ ncb.Buffer = status = netbios.ADAPTER_STATUS()
+ if win32wnet.Netbios(ncb) != 0:
+ continue
+ status._unpack()
+ bytes = map(ord, status.adapter_address)
+ return ((bytes[0]<<40L) + (bytes[1]<<32L) + (bytes[2]<<24L) +
+ (bytes[3]<<16L) + (bytes[4]<<8L) + bytes[5])
+
+# Thanks to Thomas Heller for ctypes and for his help with its use here.
+
+# If ctypes is available, use it to find system routines for UUID generation.
+_uuid_generate_random = _uuid_generate_time = _UuidCreate = None
+try:
+ import ctypes, ctypes.util
+ _buffer = ctypes.create_string_buffer(16)
+
+ # The uuid_generate_* routines are provided by libuuid on at least
+ # Linux and FreeBSD, and provided by libc on Mac OS X.
+ for libname in ['uuid', 'c']:
+ try:
+ lib = ctypes.CDLL(ctypes.util.find_library(libname))
+ except:
+ continue
+ if hasattr(lib, 'uuid_generate_random'):
+ _uuid_generate_random = lib.uuid_generate_random
+ if hasattr(lib, 'uuid_generate_time'):
+ _uuid_generate_time = lib.uuid_generate_time
+
+ # On Windows prior to 2000, UuidCreate gives a UUID containing the
+ # hardware address. On Windows 2000 and later, UuidCreate makes a
+ # random UUID and UuidCreateSequential gives a UUID containing the
+ # hardware address. These routines are provided by the RPC runtime.
+ try:
+ lib = ctypes.windll.rpcrt4
+ except:
+ lib = None
+ _UuidCreate = getattr(lib, 'UuidCreateSequential',
+ getattr(lib, 'UuidCreate', None))
+except:
+ pass
+
+def _unixdll_getnode():
+ """Get the hardware address on Unix using ctypes."""
+ _uuid_generate_time(_buffer)
+ return UUID(bytes=_buffer.raw).node
+
+def _windll_getnode():
+ """Get the hardware address on Windows using ctypes."""
+ if _UuidCreate(_buffer) == 0:
+ return UUID(bytes=_buffer.raw).node
+
+def _random_getnode():
+ """Get a random node ID, with eighth bit set as suggested by RFC 4122."""
+ import random
+ return random.randrange(0, 1<<48L) | 0x010000000000L
+
+_node = None
+
+def getnode():
+ """Get the hardware address as a 48-bit integer. The first time this
+ runs, it may launch a separate program, which could be quite slow. If
+ all attempts to obtain the hardware address fail, we choose a random
+ 48-bit number with its eighth bit set to 1 as recommended in RFC 4122."""
+
+ global _node
+ if _node is not None:
+ return _node
+
+ import sys
+ if sys.platform == 'win32':
+ getters = [_windll_getnode, _netbios_getnode, _ipconfig_getnode]
+ else:
+ getters = [_unixdll_getnode, _ifconfig_getnode]
+
+ for getter in getters + [_random_getnode]:
+ try:
+ _node = getter()
+ except:
+ continue
+ if _node is not None:
+ return _node
+
+def uuid1(node=None, clock_seq=None):
+ """Generate a UUID from a host ID, sequence number, and the current time.
+ If 'node' is not given, getnode() is used to obtain the hardware
+ address. If 'clock_seq' is given, it is used as the sequence number;
+ otherwise a random 14-bit sequence number is chosen."""
+
+ # When the system provides a version-1 UUID generator, use it (but don't
+ # use UuidCreate here because its UUIDs don't conform to RFC 4122).
+ if _uuid_generate_time and node is clock_seq is None:
+ _uuid_generate_time(_buffer)
+ return UUID(bytes=_buffer.raw)
+
+ import time
+ nanoseconds = int(time.time() * 1e9)
+ # 0x01b21dd213814000 is the number of 100-ns intervals between the
+ # UUID epoch 1582-10-15 00:00:00 and the Unix epoch 1970-01-01 00:00:00.
+ timestamp = int(nanoseconds/100) + 0x01b21dd213814000L
+ if clock_seq is None:
+ import random
+ clock_seq = random.randrange(1<<14L) # instead of stable storage
+ time_low = timestamp & 0xffffffffL
+ time_mid = (timestamp >> 32L) & 0xffffL
+ time_hi_version = (timestamp >> 48L) & 0x0fffL
+ clock_seq_low = clock_seq & 0xffL
+ clock_seq_hi_variant = (clock_seq >> 8L) & 0x3fL
+ if node is None:
+ node = getnode()
+ return UUID(fields=(time_low, time_mid, time_hi_version,
+ clock_seq_hi_variant, clock_seq_low, node), version=1)
+
+def uuid3(namespace, name):
+ """Generate a UUID from the MD5 hash of a namespace UUID and a name."""
+ import md5
+ hash = md5.md5(namespace.bytes + name).digest()
+ return UUID(bytes=hash[:16], version=3)
+
+def uuid4():
+ """Generate a random UUID."""
+
+ # When the system provides a version-4 UUID generator, use it.
+ if _uuid_generate_random:
+ _uuid_generate_random(_buffer)
+ return UUID(bytes=_buffer.raw)
+
+ # Otherwise, get randomness from urandom or the 'random' module.
+ try:
+ import os
+ return UUID(bytes=os.urandom(16), version=4)
+ except:
+ import random
+ bytes = [chr(random.randrange(256)) for i in range(16)]
+ return UUID(bytes=bytes, version=4)
+
+def uuid5(namespace, name):
+ """Generate a UUID from the SHA-1 hash of a namespace UUID and a name."""
+ import sha
+ hash = sha.sha(namespace.bytes + name).digest()
+ return UUID(bytes=hash[:16], version=5)
+
+# The following standard UUIDs are for use with uuid3() or uuid5().
+
+NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')
+NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')
+NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8')
+NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')
Modified: branches/RELENG_1_1/OpenRTM-aist-Python/installer/yat.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/installer/yat.py 2011-09-16 08:50:01 UTC (rev 477)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/installer/yat.py 2011-09-16 09:37:35 UTC (rev 478)
@@ -1,835 +1,835 @@
-#!/usr/bin/env python
-#
-# @brief YAT: YAml Template text processor
-# @date $Date: 2008-02-09 20:04:27 $
-# @author Norkai Ando <n-ando at aist.go.jp>
-#
-# Copyright (C) 2008 Noriaki Ando, All rights reserved.
-#
-# $Id: yat.py 775 2008-07-28 16:14:45Z n-ando $
-#
-
-#
-# Usage:
-#------------------------------------------------------------
-# import yaml
-# import yat
-#
-# dict = yaml.load(open(filename, "r").read())
-# t = yat.Template(template, "\[", "\]")
-# result = t.generate(dict)
-#------------------------------------------------------------
-#
-# 1. Simple directive:
-# [dictionary_key]
-#
-# Nested dictionaries can be expressed by dotted expression.
-#
-# example:
-# dict = {"a": "This is a",
-# "b": {"1": "This is b.1",
-# "2": "This is b.2"}
-# }
-#
-# template:
-# [a]
-#
-# [b.1]
-#
-# [b.2]
-#
-# result:
-# This is a
-# This is b.1
-# This is b.2
-#
-#
-# 2. "for" directive:
-# [for key in list] statement [endfor]
-#
-# Iterative evaluation for listed values is performed by "for" statement.
-# In iteration at each evaluation, the value of the list is assigned to
-# "key". The "key" also can be the nested dictionary directive.
-#
-# example:
-# dict = {"list": [0, 1, 2],
-# "listed_dict": [
-# {"name": "x", "value": "1.0"},
-# {"name": "y", "value": "0.2"},
-# {"name": "z", "value": "0.1"}]}
-#
-# template:
-# [for lst in list]
-# [lst],
-# [endfor]
-# [for lst in listed_dict]
-# [lst.name]: [lst.value]
-#
-# [endfor]
-#
-# result:
-# 1, 2, 3,
-# x: 1.0
-# y: 0.2
-# x: 0.1
-#
-#
-# 3. "if-index" directive:
-# [for key in val]
-# [if-index key is first|even|odd|last|NUMBER] statement1
-# [elif-index key is first|even|odd|last|NUMBER] statement2
-# [endif][endfor]
-#
-# "if-index" is used to specify the index of the "for" iteration.
-# The "key" string which is defined in the "for" statement is used as index.
-# A number or predefined directives such as "first", "even", "odd" and
-# "last" can be used to specify the index.
-#
-# example:
-# dict = {"list": [0,1,2,3,4,5,6,7,8,9,10]}
-#
-# template:
-# [for key in list]
-# [if-index key is 3] [key] is hoge!!
-# [elif-index key is 6] [key] is foo!!
-# [elif-index key is 9] [key] is bar!!
-# [elif-index key is first] [key] is first
-# [elif-index key is last] Omoro-------!!!!
-# [elif-index key is odd] [key] is odd number
-# [elif-index key is even] [key] is even number
-# [endif]
-# [endfor]
-#
-# result:
-# 0 is first
-# 1 is odd number
-# 2 is even number
-# 3 is hoge!!
-# 4 is even number
-# 5 is odd number
-# 6 is foo!!
-# 7 is odd number
-# 8 is even number
-# 9 is bar!!
-# Omoro-------!!!!
-#
-#
-# 4. "if" directive: [if key is value] text1 [else] text2 [endif]
-# If "key" is "value", "text1" appears, otherwise "text2" appears.
-#
-# example:
-# dict = {"key1": "a", "key2": "b"}
-#
-# template:
-# [if key1 is a]
-# The key1 is "a".
-# [else]
-# This key1 is not "a".
-# [endif]
-#
-# result:
-# The key1 is "a".
-#
-#
-# 5. "if-any" directive: [if-any key1] text1 [else] text2 [endif]
-# If the "key1" exists in the dictionary, "text1" appears, otherwise
-# "text2" appears.
-#
-# example:
-# dict = {"key1": "a", "key2": "b"}
-#
-# template:
-# [if-any key1]
-# key1 exists.
-# [endif][if-any key3]
-# key3 exists.
-# [else]
-# key3 does not exists.
-# [endif]
-#
-# result:
-# key1 exists.
-# key3 does not exists.
-#
-#
-# 6. bracket and comment:
-# [[] is left bracket if begin mark is "["
-# [# comment ] is comment if begin/end marks are "[" and "]"
-#
-# example:
-# dict = {}
-#
-# template:
-# [[]bracket]
-# [# comment]
-#
-# result:
-# [bracket]
-#
-import string
-import re
-from types import StringType, IntType, FloatType, DictType, ListType, ClassType
-import sys
-
-class Template:
- """
- usage:
- tempalte_text = read template text from file
- dictionary = create dictionaly by using yaml
- t = Template(tempalte_text)
- generated_text = t.generate(dictionary)
-
- """
-
- def __init__(self, template, begin_mark="\[", end_mark="\]"):
- self.__procs = [self.__proc_text,
- self.__proc_cmd,
- self.__proc_bracket]
- self.template = template
-
- # regular expression to devide text into DIRECTIVE, BRACKET and COMMENT
- #
- # default:
- # START_MARK: "["
- # END_MARK : "]"
- # -> START_MARK and END_MARK can be given in ctor
- #
- # ITEM: (?:"(?:[^\\"]|\\.)*"|[-\w.]+)
- # \[(ITEM(?: +ITEM)*)\]|(\[\[\])|\[#[^\]]*\]
- # ~~~~~~~~(1)~~~~~~ ~~(2)~~~ ~~~(3)~~~~~
- # (1) COMMAND : '[' ITEM (whitespace ITEM)* ']
- # ITEM : STRING | NAME
- # STRING : '"' (not-slash-or-dquote | '\' anychar)* '"'
- # NAME : (alphanum | '_' | '-' | '.')+
- # (2) BEGIN_MARK_ESCAPE : '[[]'
- # (3) COMMENT : '[#' not-rbracket
- #
- # re_item = r'(?:"(?:[^\\"]|\\.)*"|[-\w.]+)'
- # re_command = r'\[(%s(?: +%s)*)\]' % (re_item, re_item)
- # re_beginmark = r'\[\[\]'
- # re_comment = r'\[#[^\]]*\]'
- # re_parse = re.compile(r'%s|(%s)|%s'
- # % (re_command, re_beginmark, re_comment))
- # re_args = re.compile(r'"(?:[^\\"]|\\.)*"|[-\w.]+')
- #
- #
- re_item = r'(?:"(?:[^\\"]|\\.)*"|[-\w.:]+)'
- re_command = r'%s(%s(?: +%s)*)%s' % \
- (begin_mark, re_item, re_item, end_mark)
- re_bracket = r'%s%s%s' % \
- (begin_mark, begin_mark, end_mark)
- re_comment = r'%s#[^%s]*%s' % \
- (begin_mark, end_mark, end_mark)
- self.begin_mark = begin_mark.replace("\\","")
- self.re_parse = re.compile(r'%s|(%s)|%s' % \
- (re_command, re_bracket, re_comment))
- self.re_args = re.compile(r'"(?:[^\\"]|\\.)*"|[-\w.:]+')
- self.re_number = re.compile(r'[0-9]+')
-
- # tokenize input text
- self.token = self.re_parse.split(self.template)
- self.token_len = len(self.token)
-
- # initialize variables
- self.script = program
- self.indent = 4
- self.script_level = 2
- self.level = 0
- self.index = 0
- self.cmd_cxt = []
-
- # parse token
- self.__parse_template(self.token)
-
- return
-
- def generate(self, dict):
- # eval generated script
- exec(self.script)
- # script includes Generator class
- gen = Generator(self.token, dict)
- # execute generated script
- return gen.generate()
-
- def get_script(self):
- return self.script
-
- def __push_level(self):
- self.level += 1
-
- def __pop_level(self):
- self.level -= 1
-
- def __write_cmd(self, cmd):
- tmp_cmd = self.__indent()
- tmp_cmd += "self.set_index(%s)\n" % (self.index)
- self.script += tmp_cmd
- self.__write_cmd_noindex(cmd)
-
- def __write_cmd_noindex(self, cmd):
- tmp_cmd = self.__indent()
- tmp_cmd += cmd + "\n"
- self.script += tmp_cmd
-
- def __parse_template(self, dict):
- try:
- # split into (TEXT DIRECTIVE BRACKET)* TEXT
- self.__parse()
- except YATException, e:
- self.__print_error(e)
- sys.exit(-1)
-
- def __indent(self):
- indent = " " * ((self.script_level + self.level) * self.indent)
- return indent
-
- def __parse(self):
- while self.index < self.token_len:
- self.__procs[self.index % 3]()
- self.index += 1
-
- def __proc_text(self):
- if self.token[self.index] == None:
- return
- cmd_text = "self.write_token(%s)" % (self.index)
- self.__write_cmd(cmd_text)
- return True
-
- def __proc_bracket(self):
- if self.token[self.index] == None:
- return
- cmd_text = "self.write(\"" + self.begin_mark + "\")"
- self.__write_cmd(cmd_text)
- return True
-
- def __proc_cmd(self):
- cmd = self.token[self.index]
- try:
- args = self.re_args.findall(cmd)
- except:
- return
- self.del_nl_after_cmd()
- argc = len(args)
- if argc == 0:
- raise InvalidDirective(self.lineno(), "_an empty directive_ ")
-
- # simple directive
- if argc == 1:
- if args[0] == "endfor":
- self.__endfor_cmd(args)
- return
- elif args[0] == "else":
- self.__else_cmd(args)
- return
- elif args[0] == "last":
- self.__last_cmd(args)
- return
- elif args[0] == "endif":
- self.__endif_cmd(args)
- return
- else:
- self.__cmd(args)
- return
- elif argc == 2:
- if args[0] == "if-any":
- self.__if_any_cmd(args)
- return
- elif argc == 4: # [for key in value]
- if args[0] == "for" and args[2] == "in":
- self.__for_cmd(args)
- return True
- elif args[0] == "if" and args[2] == "is":
- self.__if_cmd(args)
- elif args[0] == "elif" and args[2] == "is":
- self.__elif_cmd(args)
- elif args[0] == "if-index" and args[2] == "is":
- self.__if_index_cmd(args)
- elif args[0] == "elif-index" and args[2] == "is":
- self.__elif_index_cmd(args)
- else:
- raise InvalidDirective(self.lineno(), cmd)
- else:
- raise InvalidDirective(self.lineno(), cmd)
- return True
-
- def __cmd(self, args):
- cmd_text = "self.write_dict(\"%s\")" % (args[0])
- self.__write_cmd(cmd_text)
-
- #------------------------------------------------------------
- # [for] commands
- # - for
- # - last
- # - endfor
- #------------------------------------------------------------
- def __for_cmd(self, args):
- """
- The following [for] directive
- [for tmp_key in directive]
- is converted into the following python command.
- for i in len(directive):
- self.dicts.append({tmp_key: ditective[i])
- and, endfor directive terminate as the following,
- self.dicts.pop()
- """
- key = args[1]
- directive = args[3]
- # (key) : variable string of index variable for [for] block
- # (key)_list: list value of specified directive
- # (key)_len : length of the list
- cmd_text = "%s_list = self.get_list(\"%s\")" % (key, directive)
- self.__write_cmd(cmd_text)
- cmd_text = "%s_len = len(%s_list)" % (key, key)
- self.__write_cmd(cmd_text)
- cmd_text = "for %s_index in range(len(%s_list)):" % (key, key)
- self.__write_cmd(cmd_text)
- self.__push_level()
- cmd_text = "self.push_dict({\"%s\": %s_list[%s_index]})" \
- % (key, key, key)
- self.__write_cmd(cmd_text)
- self.cmd_cxt.append("for")
-
- def __endfor_cmd(self, args):
- try:
- cxt = self.cmd_cxt.pop()
- if cxt != "for":
- raise UnmatchedBlock(self.lineno(), "endfor")
- self.__write_cmd("self.pop_dict()")
- self.__pop_level()
- except:
- print args, self.lineno()
- raise UnmatchedBlock(self.lineno(), "endfor")
- return
-
- # end of [for] commands
- #------------------------------------------------------------
-
- #------------------------------------------------------------
- # [if] commands
- # - if
- # - if-index
- # - if-any
- #------------------------------------------------------------
- def __if_cmd(self, args):
- """
- The following [if] directive
- [if directive is string]
- is converted into the following python command.
- if self.__get_string() == "string":
- """
- directive = args[1]
- string = args[3]
- cmd_text = "if self.get_text(\"%s\") == \"%s\":" % \
- (directive, string)
- self.__write_cmd(cmd_text)
- self.__push_level()
- self.cmd_cxt.append("if")
- return
-
- def __elif_cmd(self, args):
- if self.cmd_cxt[-1] != "if":
- raise UnmatchedBlock(self.lineno(), "elif")
- directive = args[1]
- string = args[3]
- cmd_text = "elif self.get_text(\"%s\") == \"%s\":" % \
- (directive, string)
- self.__pop_level()
- self.__write_cmd_noindex(cmd_text)
- self.__push_level()
- return
-
- # [if-index] commands
- def __if_index_cmd(self, args):
- # [if-index KEY is [first|even|odd|last|NUMBER]]
- # ~~~0~~~ ~1~ 2 ~~~~~~~~~~~~~~3~~~~~~~~~~~~
- cmdlist = {"first": "if %s_index == 0:",
- "even" : "if (%s_index %% 2) == 0:",
- "odd" : "if (%s_index %% 2) != 0:",
- "last" : "if %s_index == %s_len - 1:"}
- key = args[1]
- cmd = args[3]
- if len(self.re_number.findall(cmd)) == 1:
- cmd_text = "if %s_index == %s:" % (key, cmd)
- elif cmdlist.has_key(cmd):
- if cmd == "last":
- cmd_text = cmdlist[cmd] % (key,key)
- else:
- cmd_text = cmdlist[cmd] % (key)
- else:
- raise InvalidDirective(self.lineno(), ''.join(args))
- self.__write_cmd(cmd_text)
- self.__push_level()
- self.cmd_cxt.append("if-index")
-
- def __elif_index_cmd(self, args):
- if self.cmd_cxt[-1] != "if-index":
- raise UnmatchedBlock(self.lineno(), "elif-index")
- # [elif-index KEY is [first|even|odd|last|NUMBER]]
- # ~~~0~~~ ~1~ 2 ~~~~~~~~~~~~~~3~~~~~~~~~~~~
- cmdlist = {"first": "elif %s_index == 0:",
- "even" : "elif (%s_index %% 2) == 0:",
- "odd" : "elif (%s_index %% 2) != 0:",
- "last" : "elif %s_index == %s_len - 1:"}
- key = args[1]
- cmd = args[3]
- if len(self.re_number.findall(cmd)) == 1:
- cmd_text = "elif %s_index == %s:" % (key, cmd)
- elif cmdlist.has_key(cmd):
- if cmd == "last":
- cmd_text = cmdlist[cmd] % (key,key)
- else:
- cmd_text = cmdlist[cmd] % (key)
- else:
- raise InvalidDirective(self.lineno(), ' '.join(args))
- self.__pop_level()
- self.__write_cmd_noindex(cmd_text)
- self.__push_level()
-
- # [if-any] command
- def __if_any_cmd(self, args):
- directive = args[1]
- cmd_text = "if self.has_key(\"%s\"):" % (directive)
- self.__write_cmd(cmd_text)
- self.__push_level()
- self.cmd_cxt.append("if-any")
- return
-
- def __elif_any_cmd(self, args):
- if self.cmd_cxt[-1] != "if-any":
- raise UnmatchedBlock(self.lineno(), "elif-any")
- directive = args[1]
- cmd_text = "if self.has_key(\"%s\"):" % (directive)
- self.__pop_level()
- self.__write_cmd_noindex(cmd_text)
- self.__push_level()
- return
-
- # [else], [endif] commands
- def __else_cmd(self, args):
- if self.cmd_cxt[-1] != "if" and self.cmd_cxt[-1] != "if-index" \
- and self.cmd_cxt[-1] != "if-any":
- raise UnmatchedBlock(self.lineno(), "else")
- self.__pop_level()
- self.__write_cmd_noindex("else:")
- self.__push_level()
- return
-
- def __endif_cmd(self, args):
- if self.cmd_cxt[-1] != "if" and self.cmd_cxt[-1] != "if-index" \
- and self.cmd_cxt[-1] != "if-any":
- raise UnmatchedBlock(self.lineno(), "endif")
- self.cmd_cxt.pop()
- self.__pop_level()
- return
- # end of [if] commands
- #------------------------------------------------------------
-
- def __print_error(self, e):
- print "Parse Error: line", e.lineno, "in input data"
- print " " + ''.join(nesteditem(e.value))
- lines = self.template.split("\n")
- length = len(lines)
- print "------------------------------------------------------------"
- for i in range(1,10):
- l = e.lineno - 6 + i
- if l > 0 and l < length:
- print lines[l]
- if i == 5:
- uline = '~'*len(lines[l])
- print uline
- print "------------------------------------------------------------"
-
- def del_nl_after_cmd(self):
- # next text index after command
- next = self.index + 2
- if next > self.token_len: return
- if self.token[next] == None: return
- text = self.token[next]
- tlen = len(text)
- if tlen > 0 and text[0] == '\n':
- self.token[next] = text[1:]
- return
- elif tlen > 0 and text[0] == '\r':
- self.token[next] = text[1:]
- return
- elif tlen > 1 and text[0:2] == '\r\n':
- self.token[next] = text[2:]
-
- def lineno(self):
- l = 1
- for i in range(self.index):
- if isinstance(self.token[i], StringType):
- l += self.token[i].count('\n')
- for i in range(1, self.index, 3):
- l += 1
- return l
-
-
-#------------------------------------------------------------
-# Generator and GeneratorBase classes
-#------------------------------------------------------------
-program = """
-class Generator(GeneratorBase):
- def __init__(self, token, dict):
- GeneratorBase.__init__(self, token, dict)
- def generate(self):
- try:
- self.process()
- except YATException, e:
- self.print_error(e)
- sys.exit(-1)
- return self.text
-
- def process(self):
-"""
-
-class GeneratorBase:
- def __init__(self, token, dict):
- self.token = token
- self.dicts = [dict]
- self.index = 0
- self.text = ""
-
- def print_error(self, e):
- print "\nTemplate Generation Error: line", e.lineno, "in input data"
- print " " + ''.join(nesteditem(e.value))
- temp = ""
- for i, s in enumerate(self.token):
- if s != None:
- if i % 3 == 1:
- temp += "[" + s + "]\n"
- else:
- temp += s
- lines = temp.split("\n")
- length = len(lines)
- print "------------------------------------------------------------"
- for i in range(1,10):
- l = e.lineno - 6 + i
- if l > 0 and l < length:
- print lines[l]
- if i == 5:
- uline = '~'*len(lines[l])
- print uline
- print "------------------------------------------------------------"
-
- def set_index(self, index):
- self.index = index
-
- def push_dict(self, dict):
- self.dicts.append(dict)
-
- def pop_dict(self):
- if len(self.dicts) < 2:
- raise UnmatchedBlock(self.lineno(), "")
- self.dicts.pop()
-
- def write(self, text):
- self.text += text
-
- def write_dict(self, keytext):
- self.write(self.get_text(keytext))
-
- def write_token(self, index):
- self.write(self.token[index])
-
- def lineno(self):
- cnt = 1
- for i in range(0, self.index, 3):
- if self.token[i] != None:
- cnt += self.token[i].count('\n')
- # count deleted '\n' after commands
- for i in range(1, self.index, 3):
- if self.token[i] != None:
- cnt += 1
- return cnt
-
- def get_text(self, keytext):
- val = self.get_value(keytext)
- if isinstance(val, StringType):
- return val
- if isinstance(val, IntType) or isinstance(val, FloatType):
- return str(val)
- raise UnexpectedData(self.lineno(), "\"" + keytext + \
- "\" should have string, int or float value.")
-
- def get_list(self, keytext):
- val = self.get_value(keytext)
- if not isinstance(val, ListType):
- raise UnexpectedData(self.lineno(),
- "\"" + keytext + "\" should have list value.")
- return val
-
- def has_key(self, keytext):
- try:
- self.get_value(keytext)
- return True
- except NotFound, e:
- return False
-
- def get_value(self, keytext):
- keys = keytext.split('.')
- for i in range(len(self.dicts) - 1, -1, -1):
- dict_value = self.get_dict_value(keys, self.dicts[i])
- if dict_value != None:
- return dict_value
- raise NotFound(self.lineno(), keytext)
-
- def get_dict_value(self, keys, dict):
- length = len(keys)
- d = dict
- for i in range(length):
- if isinstance(d, DictType) and d.has_key(keys[i]):
- d = d[keys[i]]
- else:
- return None
- return d
-
-
-#------------------------------------------------------------
-# Exceptions
-#------------------------------------------------------------
-class YATException(Exception):
- pass
-
-class UnknownError(YATException):
- def __init__(self, lineno):
- self.lineno = lineno
- self.value = "Unknown error."
-
-class UnmatchedBlock(YATException):
- def __init__(self, lineno, msg):
- self.lineno = lineno
- self.value = "Unmatched block error: " + msg
-
-class UnexpectedData(YATException):
- def __init__(self, lineno, msg):
- self.lineno = lineno
- self.value = msg
-
-class NotFinalElement(YATException):
- def __init__(self, dictkey, dictvalue):
- self.value = "Specified key is not final element: ",\
- dictkey, "=>", dictvalue
-
-class InvalidDirective(YATException):
- def __init__(self, lineno, directive):
- self.lineno = lineno
- self.value = "Invalid directive: \"[" + directive + "]\""
-
-class UnmatchedData(YATException):
- def __init__(self, lineno, description):
- self.lineno = lineno
- self.value = "Unmatched data and input: ", description
-
-class NotFound(YATException):
- def __init__(self, lineno, description):
- self.lineno = lineno
- self.value = "Value not found for: \"" + description + "\""
-
-#------------------------------------------------------------
-# other functions
-#------------------------------------------------------------
-def nesteditem(aList):
- for anItem in aList:
- if type(anItem)==list:
- for subitem in nesteditem(anItem):
- yield subitem
- else:
- yield anItem
-
-
-
-if __name__ == "__main__":
- dict = []
- template = []
- #------------------------------------------------------------
- # Example 0
- #------------------------------------------------------------
- dict.append({"a": "This is a",
- "b": {"1": "This is b.1",
- "2": "This is b.2"}
- })
- template.append("""[a]
-
-[b.1]
-
-[b.2]""")
-
- #------------------------------------------------------------
- # Example 1
- #------------------------------------------------------------
- dict.append({"list": [0, 1, 2],
- "listed_dict": [
- {"name": "x", "value": "1.0"},
- {"name": "y", "value": "0.2"},
- {"name": "z", "value": "0.1"}]})
- template.append("""[for lst in list]
-[lst],
-[endfor]
-[for lst in listed_dict]
-[lst.name]: [lst.value]
-
-[endfor]""")
-
- #------------------------------------------------------------
- # Example 2
- #------------------------------------------------------------
- dict.append({"list": [0,1,2,3,4,5,6,7,8,9,10]})
- template.append("""[for key in list]
-[if-index key is 3] [key] is hoge!!
-[elif-index key is 6] [key] is foo!!
-[elif-index key is 9] [key] is bar!!
-[elif-index key is first] [key] is first
-[elif-index key is last] Omoro-------!!!!
-[elif-index key is odd] [key] is odd number
-[elif-index key is even] [key] is even number
-[endif]
-[endfor]""")
-
- #------------------------------------------------------------
- # Example 3
- #------------------------------------------------------------
- dict.append({"key1": "a", "key2": "b"})
- template.append("""[if key1 is a]
-The key1 is "a".
-[else]
-This key1 is not "a".
-[endif]""")
-
- #------------------------------------------------------------
- # Example 4
- #------------------------------------------------------------
- dict.append({"key1": "a", "key2": "b"})
- template.append("""[if-any key1]
-key1 exists.
-[endif][if-any key3]
-key3 exists.
-[else]
-key3 does not exists.
-[endif]""")
-
- dict.append({})
- template.append("""
-[[]bracket]
-[# comment]
-""")
-
- import yaml
- if len(dict) == len(template):
- for i in range(len(dict)-1,len(dict)):
- t = Template(template[i])
- print "-" * 60
- print "Example:", i
- print "-" * 60
- print "Template:\n"
- print template[i]
- print "-" * 60
- print "Dictionary:\n"
- print yaml.dump(dict[i], default_flow_style=False)
- print "-" * 60
- print "Generated Script:\n"
- print t.get_script()
- print "-" * 60
- print "Generated Text:\n"
- print t.generate(dict[i])
- print ""
+#!/usr/bin/env python
+#
+# @brief YAT: YAml Template text processor
+# @date $Date: 2008-02-09 20:04:27 $
+# @author Norkai Ando <n-ando at aist.go.jp>
+#
+# Copyright (C) 2008 Noriaki Ando, All rights reserved.
+#
+# $Id: yat.py 775 2008-07-28 16:14:45Z n-ando $
+#
+
+#
+# Usage:
+#------------------------------------------------------------
+# import yaml
+# import yat
+#
+# dict = yaml.load(open(filename, "r").read())
+# t = yat.Template(template, "\[", "\]")
+# result = t.generate(dict)
+#------------------------------------------------------------
+#
+# 1. Simple directive:
+# [dictionary_key]
+#
+# Nested dictionaries can be expressed by dotted expression.
+#
+# example:
+# dict = {"a": "This is a",
+# "b": {"1": "This is b.1",
+# "2": "This is b.2"}
+# }
+#
+# template:
+# [a]
+#
+# [b.1]
+#
+# [b.2]
+#
+# result:
+# This is a
+# This is b.1
+# This is b.2
+#
+#
+# 2. "for" directive:
+# [for key in list] statement [endfor]
+#
+# Iterative evaluation for listed values is performed by "for" statement.
+# In iteration at each evaluation, the value of the list is assigned to
+# "key". The "key" also can be the nested dictionary directive.
+#
+# example:
+# dict = {"list": [0, 1, 2],
+# "listed_dict": [
+# {"name": "x", "value": "1.0"},
+# {"name": "y", "value": "0.2"},
+# {"name": "z", "value": "0.1"}]}
+#
+# template:
+# [for lst in list]
+# [lst],
+# [endfor]
+# [for lst in listed_dict]
+# [lst.name]: [lst.value]
+#
+# [endfor]
+#
+# result:
+# 1, 2, 3,
+# x: 1.0
+# y: 0.2
+# x: 0.1
+#
+#
+# 3. "if-index" directive:
+# [for key in val]
+# [if-index key is first|even|odd|last|NUMBER] statement1
+# [elif-index key is first|even|odd|last|NUMBER] statement2
+# [endif][endfor]
+#
+# "if-index" is used to specify the index of the "for" iteration.
+# The "key" string which is defined in the "for" statement is used as index.
+# A number or predefined directives such as "first", "even", "odd" and
+# "last" can be used to specify the index.
+#
+# example:
+# dict = {"list": [0,1,2,3,4,5,6,7,8,9,10]}
+#
+# template:
+# [for key in list]
+# [if-index key is 3] [key] is hoge!!
+# [elif-index key is 6] [key] is foo!!
+# [elif-index key is 9] [key] is bar!!
+# [elif-index key is first] [key] is first
+# [elif-index key is last] Omoro-------!!!!
+# [elif-index key is odd] [key] is odd number
+# [elif-index key is even] [key] is even number
+# [endif]
+# [endfor]
+#
+# result:
+# 0 is first
+# 1 is odd number
+# 2 is even number
+# 3 is hoge!!
+# 4 is even number
+# 5 is odd number
+# 6 is foo!!
+# 7 is odd number
+# 8 is even number
+# 9 is bar!!
+# Omoro-------!!!!
+#
+#
+# 4. "if" directive: [if key is value] text1 [else] text2 [endif]
+# If "key" is "value", "text1" appears, otherwise "text2" appears.
+#
+# example:
+# dict = {"key1": "a", "key2": "b"}
+#
+# template:
+# [if key1 is a]
+# The key1 is "a".
+# [else]
+# This key1 is not "a".
+# [endif]
+#
+# result:
+# The key1 is "a".
+#
+#
+# 5. "if-any" directive: [if-any key1] text1 [else] text2 [endif]
+# If the "key1" exists in the dictionary, "text1" appears, otherwise
+# "text2" appears.
+#
+# example:
+# dict = {"key1": "a", "key2": "b"}
+#
+# template:
+# [if-any key1]
+# key1 exists.
+# [endif][if-any key3]
+# key3 exists.
+# [else]
+# key3 does not exists.
+# [endif]
+#
+# result:
+# key1 exists.
+# key3 does not exists.
+#
+#
+# 6. bracket and comment:
+# [[] is left bracket if begin mark is "["
+# [# comment ] is comment if begin/end marks are "[" and "]"
+#
+# example:
+# dict = {}
+#
+# template:
+# [[]bracket]
+# [# comment]
+#
+# result:
+# [bracket]
+#
+import string
+import re
+from types import StringType, IntType, FloatType, DictType, ListType, ClassType
+import sys
+
+class Template:
+ """
+ usage:
+ tempalte_text = read template text from file
+ dictionary = create dictionaly by using yaml
+ t = Template(tempalte_text)
+ generated_text = t.generate(dictionary)
+
+ """
+
+ def __init__(self, template, begin_mark="\[", end_mark="\]"):
+ self.__procs = [self.__proc_text,
+ self.__proc_cmd,
+ self.__proc_bracket]
+ self.template = template
+
+ # regular expression to devide text into DIRECTIVE, BRACKET and COMMENT
+ #
+ # default:
+ # START_MARK: "["
+ # END_MARK : "]"
+ # -> START_MARK and END_MARK can be given in ctor
+ #
+ # ITEM: (?:"(?:[^\\"]|\\.)*"|[-\w.]+)
+ # \[(ITEM(?: +ITEM)*)\]|(\[\[\])|\[#[^\]]*\]
+ # ~~~~~~~~(1)~~~~~~ ~~(2)~~~ ~~~(3)~~~~~
+ # (1) COMMAND : '[' ITEM (whitespace ITEM)* ']
+ # ITEM : STRING | NAME
+ # STRING : '"' (not-slash-or-dquote | '\' anychar)* '"'
+ # NAME : (alphanum | '_' | '-' | '.')+
+ # (2) BEGIN_MARK_ESCAPE : '[[]'
+ # (3) COMMENT : '[#' not-rbracket
+ #
+ # re_item = r'(?:"(?:[^\\"]|\\.)*"|[-\w.]+)'
+ # re_command = r'\[(%s(?: +%s)*)\]' % (re_item, re_item)
+ # re_beginmark = r'\[\[\]'
+ # re_comment = r'\[#[^\]]*\]'
+ # re_parse = re.compile(r'%s|(%s)|%s'
+ # % (re_command, re_beginmark, re_comment))
+ # re_args = re.compile(r'"(?:[^\\"]|\\.)*"|[-\w.]+')
+ #
+ #
+ re_item = r'(?:"(?:[^\\"]|\\.)*"|[-\w.:]+)'
+ re_command = r'%s(%s(?: +%s)*)%s' % \
+ (begin_mark, re_item, re_item, end_mark)
+ re_bracket = r'%s%s%s' % \
+ (begin_mark, begin_mark, end_mark)
+ re_comment = r'%s#[^%s]*%s' % \
+ (begin_mark, end_mark, end_mark)
+ self.begin_mark = begin_mark.replace("\\","")
+ self.re_parse = re.compile(r'%s|(%s)|%s' % \
+ (re_command, re_bracket, re_comment))
+ self.re_args = re.compile(r'"(?:[^\\"]|\\.)*"|[-\w.:]+')
+ self.re_number = re.compile(r'[0-9]+')
+
+ # tokenize input text
+ self.token = self.re_parse.split(self.template)
+ self.token_len = len(self.token)
+
+ # initialize variables
+ self.script = program
+ self.indent = 4
+ self.script_level = 2
+ self.level = 0
+ self.index = 0
+ self.cmd_cxt = []
+
+ # parse token
+ self.__parse_template(self.token)
+
+ return
+
+ def generate(self, dict):
+ # eval generated script
+ exec(self.script)
+ # script includes Generator class
+ gen = Generator(self.token, dict)
+ # execute generated script
+ return gen.generate()
+
+ def get_script(self):
+ return self.script
+
+ def __push_level(self):
+ self.level += 1
+
+ def __pop_level(self):
+ self.level -= 1
+
+ def __write_cmd(self, cmd):
+ tmp_cmd = self.__indent()
+ tmp_cmd += "self.set_index(%s)\n" % (self.index)
+ self.script += tmp_cmd
+ self.__write_cmd_noindex(cmd)
+
+ def __write_cmd_noindex(self, cmd):
+ tmp_cmd = self.__indent()
+ tmp_cmd += cmd + "\n"
+ self.script += tmp_cmd
+
+ def __parse_template(self, dict):
+ try:
+ # split into (TEXT DIRECTIVE BRACKET)* TEXT
+ self.__parse()
+ except YATException, e:
+ self.__print_error(e)
+ sys.exit(-1)
+
+ def __indent(self):
+ indent = " " * ((self.script_level + self.level) * self.indent)
+ return indent
+
+ def __parse(self):
+ while self.index < self.token_len:
+ self.__procs[self.index % 3]()
+ self.index += 1
+
+ def __proc_text(self):
+ if self.token[self.index] == None:
+ return
+ cmd_text = "self.write_token(%s)" % (self.index)
+ self.__write_cmd(cmd_text)
+ return True
+
+ def __proc_bracket(self):
+ if self.token[self.index] == None:
+ return
+ cmd_text = "self.write(\"" + self.begin_mark + "\")"
+ self.__write_cmd(cmd_text)
+ return True
+
+ def __proc_cmd(self):
+ cmd = self.token[self.index]
+ try:
+ args = self.re_args.findall(cmd)
+ except:
+ return
+ self.del_nl_after_cmd()
+ argc = len(args)
+ if argc == 0:
+ raise InvalidDirective(self.lineno(), "_an empty directive_ ")
+
+ # simple directive
+ if argc == 1:
+ if args[0] == "endfor":
+ self.__endfor_cmd(args)
+ return
+ elif args[0] == "else":
+ self.__else_cmd(args)
+ return
+ elif args[0] == "last":
+ self.__last_cmd(args)
+ return
+ elif args[0] == "endif":
+ self.__endif_cmd(args)
+ return
+ else:
+ self.__cmd(args)
+ return
+ elif argc == 2:
+ if args[0] == "if-any":
+ self.__if_any_cmd(args)
+ return
+ elif argc == 4: # [for key in value]
+ if args[0] == "for" and args[2] == "in":
+ self.__for_cmd(args)
+ return True
+ elif args[0] == "if" and args[2] == "is":
+ self.__if_cmd(args)
+ elif args[0] == "elif" and args[2] == "is":
+ self.__elif_cmd(args)
+ elif args[0] == "if-index" and args[2] == "is":
+ self.__if_index_cmd(args)
+ elif args[0] == "elif-index" and args[2] == "is":
+ self.__elif_index_cmd(args)
+ else:
+ raise InvalidDirective(self.lineno(), cmd)
+ else:
+ raise InvalidDirective(self.lineno(), cmd)
+ return True
+
+ def __cmd(self, args):
+ cmd_text = "self.write_dict(\"%s\")" % (args[0])
+ self.__write_cmd(cmd_text)
+
+ #------------------------------------------------------------
+ # [for] commands
+ # - for
+ # - last
+ # - endfor
+ #------------------------------------------------------------
+ def __for_cmd(self, args):
+ """
+ The following [for] directive
+ [for tmp_key in directive]
+ is converted into the following python command.
+ for i in len(directive):
+ self.dicts.append({tmp_key: ditective[i])
+ and, endfor directive terminate as the following,
+ self.dicts.pop()
+ """
+ key = args[1]
+ directive = args[3]
+ # (key) : variable string of index variable for [for] block
+ # (key)_list: list value of specified directive
+ # (key)_len : length of the list
+ cmd_text = "%s_list = self.get_list(\"%s\")" % (key, directive)
+ self.__write_cmd(cmd_text)
+ cmd_text = "%s_len = len(%s_list)" % (key, key)
+ self.__write_cmd(cmd_text)
+ cmd_text = "for %s_index in range(len(%s_list)):" % (key, key)
+ self.__write_cmd(cmd_text)
+ self.__push_level()
+ cmd_text = "self.push_dict({\"%s\": %s_list[%s_index]})" \
+ % (key, key, key)
+ self.__write_cmd(cmd_text)
+ self.cmd_cxt.append("for")
+
+ def __endfor_cmd(self, args):
+ try:
+ cxt = self.cmd_cxt.pop()
+ if cxt != "for":
+ raise UnmatchedBlock(self.lineno(), "endfor")
+ self.__write_cmd("self.pop_dict()")
+ self.__pop_level()
+ except:
+ print args, self.lineno()
+ raise UnmatchedBlock(self.lineno(), "endfor")
+ return
+
+ # end of [for] commands
+ #------------------------------------------------------------
+
+ #------------------------------------------------------------
+ # [if] commands
+ # - if
+ # - if-index
+ # - if-any
+ #------------------------------------------------------------
+ def __if_cmd(self, args):
+ """
+ The following [if] directive
+ [if directive is string]
+ is converted into the following python command.
+ if self.__get_string() == "string":
+ """
+ directive = args[1]
+ string = args[3]
+ cmd_text = "if self.get_text(\"%s\") == \"%s\":" % \
+ (directive, string)
+ self.__write_cmd(cmd_text)
+ self.__push_level()
+ self.cmd_cxt.append("if")
+ return
+
+ def __elif_cmd(self, args):
+ if self.cmd_cxt[-1] != "if":
+ raise UnmatchedBlock(self.lineno(), "elif")
+ directive = args[1]
+ string = args[3]
+ cmd_text = "elif self.get_text(\"%s\") == \"%s\":" % \
+ (directive, string)
+ self.__pop_level()
+ self.__write_cmd_noindex(cmd_text)
+ self.__push_level()
+ return
+
+ # [if-index] commands
+ def __if_index_cmd(self, args):
+ # [if-index KEY is [first|even|odd|last|NUMBER]]
+ # ~~~0~~~ ~1~ 2 ~~~~~~~~~~~~~~3~~~~~~~~~~~~
+ cmdlist = {"first": "if %s_index == 0:",
+ "even" : "if (%s_index %% 2) == 0:",
+ "odd" : "if (%s_index %% 2) != 0:",
+ "last" : "if %s_index == %s_len - 1:"}
+ key = args[1]
+ cmd = args[3]
+ if len(self.re_number.findall(cmd)) == 1:
+ cmd_text = "if %s_index == %s:" % (key, cmd)
+ elif cmdlist.has_key(cmd):
+ if cmd == "last":
+ cmd_text = cmdlist[cmd] % (key,key)
+ else:
+ cmd_text = cmdlist[cmd] % (key)
+ else:
+ raise InvalidDirective(self.lineno(), ''.join(args))
+ self.__write_cmd(cmd_text)
+ self.__push_level()
+ self.cmd_cxt.append("if-index")
+
+ def __elif_index_cmd(self, args):
+ if self.cmd_cxt[-1] != "if-index":
+ raise UnmatchedBlock(self.lineno(), "elif-index")
+ # [elif-index KEY is [first|even|odd|last|NUMBER]]
+ # ~~~0~~~ ~1~ 2 ~~~~~~~~~~~~~~3~~~~~~~~~~~~
+ cmdlist = {"first": "elif %s_index == 0:",
+ "even" : "elif (%s_index %% 2) == 0:",
+ "odd" : "elif (%s_index %% 2) != 0:",
+ "last" : "elif %s_index == %s_len - 1:"}
+ key = args[1]
+ cmd = args[3]
+ if len(self.re_number.findall(cmd)) == 1:
+ cmd_text = "elif %s_index == %s:" % (key, cmd)
+ elif cmdlist.has_key(cmd):
+ if cmd == "last":
+ cmd_text = cmdlist[cmd] % (key,key)
+ else:
+ cmd_text = cmdlist[cmd] % (key)
+ else:
+ raise InvalidDirective(self.lineno(), ' '.join(args))
+ self.__pop_level()
+ self.__write_cmd_noindex(cmd_text)
+ self.__push_level()
+
+ # [if-any] command
+ def __if_any_cmd(self, args):
+ directive = args[1]
+ cmd_text = "if self.has_key(\"%s\"):" % (directive)
+ self.__write_cmd(cmd_text)
+ self.__push_level()
+ self.cmd_cxt.append("if-any")
+ return
+
+ def __elif_any_cmd(self, args):
+ if self.cmd_cxt[-1] != "if-any":
+ raise UnmatchedBlock(self.lineno(), "elif-any")
+ directive = args[1]
+ cmd_text = "if self.has_key(\"%s\"):" % (directive)
+ self.__pop_level()
+ self.__write_cmd_noindex(cmd_text)
+ self.__push_level()
+ return
+
+ # [else], [endif] commands
+ def __else_cmd(self, args):
+ if self.cmd_cxt[-1] != "if" and self.cmd_cxt[-1] != "if-index" \
+ and self.cmd_cxt[-1] != "if-any":
+ raise UnmatchedBlock(self.lineno(), "else")
+ self.__pop_level()
+ self.__write_cmd_noindex("else:")
+ self.__push_level()
+ return
+
+ def __endif_cmd(self, args):
+ if self.cmd_cxt[-1] != "if" and self.cmd_cxt[-1] != "if-index" \
+ and self.cmd_cxt[-1] != "if-any":
+ raise UnmatchedBlock(self.lineno(), "endif")
+ self.cmd_cxt.pop()
+ self.__pop_level()
+ return
+ # end of [if] commands
+ #------------------------------------------------------------
+
+ def __print_error(self, e):
+ print "Parse Error: line", e.lineno, "in input data"
+ print " " + ''.join(nesteditem(e.value))
+ lines = self.template.split("\n")
+ length = len(lines)
+ print "------------------------------------------------------------"
+ for i in range(1,10):
+ l = e.lineno - 6 + i
+ if l > 0 and l < length:
+ print lines[l]
+ if i == 5:
+ uline = '~'*len(lines[l])
+ print uline
+ print "------------------------------------------------------------"
+
+ def del_nl_after_cmd(self):
+ # next text index after command
+ next = self.index + 2
+ if next > self.token_len: return
+ if self.token[next] == None: return
+ text = self.token[next]
+ tlen = len(text)
+ if tlen > 0 and text[0] == '\n':
+ self.token[next] = text[1:]
+ return
+ elif tlen > 0 and text[0] == '\r':
+ self.token[next] = text[1:]
+ return
+ elif tlen > 1 and text[0:2] == '\r\n':
+ self.token[next] = text[2:]
+
+ def lineno(self):
+ l = 1
+ for i in range(self.index):
+ if isinstance(self.token[i], StringType):
+ l += self.token[i].count('\n')
+ for i in range(1, self.index, 3):
+ l += 1
+ return l
+
+
+#------------------------------------------------------------
+# Generator and GeneratorBase classes
+#------------------------------------------------------------
+program = """
+class Generator(GeneratorBase):
+ def __init__(self, token, dict):
+ GeneratorBase.__init__(self, token, dict)
+ def generate(self):
+ try:
+ self.process()
+ except YATException, e:
+ self.print_error(e)
+ sys.exit(-1)
+ return self.text
+
+ def process(self):
+"""
+
+class GeneratorBase:
+ def __init__(self, token, dict):
+ self.token = token
+ self.dicts = [dict]
+ self.index = 0
+ self.text = ""
+
+ def print_error(self, e):
+ print "\nTemplate Generation Error: line", e.lineno, "in input data"
+ print " " + ''.join(nesteditem(e.value))
+ temp = ""
+ for i, s in enumerate(self.token):
+ if s != None:
+ if i % 3 == 1:
+ temp += "[" + s + "]\n"
+ else:
+ temp += s
+ lines = temp.split("\n")
+ length = len(lines)
+ print "------------------------------------------------------------"
+ for i in range(1,10):
+ l = e.lineno - 6 + i
+ if l > 0 and l < length:
+ print lines[l]
+ if i == 5:
+ uline = '~'*len(lines[l])
+ print uline
+ print "------------------------------------------------------------"
+
+ def set_index(self, index):
+ self.index = index
+
+ def push_dict(self, dict):
+ self.dicts.append(dict)
+
+ def pop_dict(self):
+ if len(self.dicts) < 2:
+ raise UnmatchedBlock(self.lineno(), "")
+ self.dicts.pop()
+
+ def write(self, text):
+ self.text += text
+
+ def write_dict(self, keytext):
+ self.write(self.get_text(keytext))
+
+ def write_token(self, index):
+ self.write(self.token[index])
+
+ def lineno(self):
+ cnt = 1
+ for i in range(0, self.index, 3):
+ if self.token[i] != None:
+ cnt += self.token[i].count('\n')
+ # count deleted '\n' after commands
+ for i in range(1, self.index, 3):
+ if self.token[i] != None:
+ cnt += 1
+ return cnt
+
+ def get_text(self, keytext):
+ val = self.get_value(keytext)
+ if isinstance(val, StringType):
+ return val
+ if isinstance(val, IntType) or isinstance(val, FloatType):
+ return str(val)
+ raise UnexpectedData(self.lineno(), "\"" + keytext + \
+ "\" should have string, int or float value.")
+
+ def get_list(self, keytext):
+ val = self.get_value(keytext)
+ if not isinstance(val, ListType):
+ raise UnexpectedData(self.lineno(),
+ "\"" + keytext + "\" should have list value.")
+ return val
+
+ def has_key(self, keytext):
+ try:
+ self.get_value(keytext)
+ return True
+ except NotFound, e:
+ return False
+
+ def get_value(self, keytext):
+ keys = keytext.split('.')
+ for i in range(len(self.dicts) - 1, -1, -1):
+ dict_value = self.get_dict_value(keys, self.dicts[i])
+ if dict_value != None:
+ return dict_value
+ raise NotFound(self.lineno(), keytext)
+
+ def get_dict_value(self, keys, dict):
+ length = len(keys)
+ d = dict
+ for i in range(length):
+ if isinstance(d, DictType) and d.has_key(keys[i]):
+ d = d[keys[i]]
+ else:
+ return None
+ return d
+
+
+#------------------------------------------------------------
+# Exceptions
+#------------------------------------------------------------
+class YATException(Exception):
+ pass
+
+class UnknownError(YATException):
+ def __init__(self, lineno):
+ self.lineno = lineno
+ self.value = "Unknown error."
+
+class UnmatchedBlock(YATException):
+ def __init__(self, lineno, msg):
+ self.lineno = lineno
+ self.value = "Unmatched block error: " + msg
+
+class UnexpectedData(YATException):
+ def __init__(self, lineno, msg):
+ self.lineno = lineno
+ self.value = msg
+
+class NotFinalElement(YATException):
+ def __init__(self, dictkey, dictvalue):
+ self.value = "Specified key is not final element: ",\
+ dictkey, "=>", dictvalue
+
+class InvalidDirective(YATException):
+ def __init__(self, lineno, directive):
+ self.lineno = lineno
+ self.value = "Invalid directive: \"[" + directive + "]\""
+
+class UnmatchedData(YATException):
+ def __init__(self, lineno, description):
+ self.lineno = lineno
+ self.value = "Unmatched data and input: ", description
+
+class NotFound(YATException):
+ def __init__(self, lineno, description):
+ self.lineno = lineno
+ self.value = "Value not found for: \"" + description + "\""
+
+#------------------------------------------------------------
+# other functions
+#------------------------------------------------------------
+def nesteditem(aList):
+ for anItem in aList:
+ if type(anItem)==list:
+ for subitem in nesteditem(anItem):
+ yield subitem
+ else:
+ yield anItem
+
+
+
+if __name__ == "__main__":
+ dict = []
+ template = []
+ #------------------------------------------------------------
+ # Example 0
+ #------------------------------------------------------------
+ dict.append({"a": "This is a",
+ "b": {"1": "This is b.1",
+ "2": "This is b.2"}
+ })
+ template.append("""[a]
+
+[b.1]
+
+[b.2]""")
+
+ #------------------------------------------------------------
+ # Example 1
+ #------------------------------------------------------------
+ dict.append({"list": [0, 1, 2],
+ "listed_dict": [
+ {"name": "x", "value": "1.0"},
+ {"name": "y", "value": "0.2"},
+ {"name": "z", "value": "0.1"}]})
+ template.append("""[for lst in list]
+[lst],
+[endfor]
+[for lst in listed_dict]
+[lst.name]: [lst.value]
+
+[endfor]""")
+
+ #------------------------------------------------------------
+ # Example 2
+ #------------------------------------------------------------
+ dict.append({"list": [0,1,2,3,4,5,6,7,8,9,10]})
+ template.append("""[for key in list]
+[if-index key is 3] [key] is hoge!!
+[elif-index key is 6] [key] is foo!!
+[elif-index key is 9] [key] is bar!!
+[elif-index key is first] [key] is first
+[elif-index key is last] Omoro-------!!!!
+[elif-index key is odd] [key] is odd number
+[elif-index key is even] [key] is even number
+[endif]
+[endfor]""")
+
+ #------------------------------------------------------------
+ # Example 3
+ #------------------------------------------------------------
+ dict.append({"key1": "a", "key2": "b"})
+ template.append("""[if key1 is a]
+The key1 is "a".
+[else]
+This key1 is not "a".
+[endif]""")
+
+ #------------------------------------------------------------
+ # Example 4
+ #------------------------------------------------------------
+ dict.append({"key1": "a", "key2": "b"})
+ template.append("""[if-any key1]
+key1 exists.
+[endif][if-any key3]
+key3 exists.
+[else]
+key3 does not exists.
+[endif]""")
+
+ dict.append({})
+ template.append("""
+[[]bracket]
+[# comment]
+""")
+
+ import yaml
+ if len(dict) == len(template):
+ for i in range(len(dict)-1,len(dict)):
+ t = Template(template[i])
+ print "-" * 60
+ print "Example:", i
+ print "-" * 60
+ print "Template:\n"
+ print template[i]
+ print "-" * 60
+ print "Dictionary:\n"
+ print yaml.dump(dict[i], default_flow_style=False)
+ print "-" * 60
+ print "Generated Script:\n"
+ print t.get_script()
+ print "-" * 60
+ print "Generated Text:\n"
+ print t.generate(dict[i])
+ print ""
openrtm-commit メーリングリストの案内