# SOME DESCRIPTIVE TITLE.
# Copyright (C)
# This file is distributed under the same license as the Apache CloudStack Administration Documentation package.
# 
# Translators:
# morgan wang <morganwang010@gmail.com>, 2014
# renoshen <shenkuan-ghq@sinosig.com>, 2014
# 语法盐 <umlsoa@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration RTD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-03-31 14:08-0400\n"
"PO-Revision-Date: 2014-05-23 11:44+0000\n"
"Last-Translator: renoshen <shenkuan-ghq@sinosig.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/apache-cloudstack-administration-rtd/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"

# b97982f6c7534586be38178d1c1fdcd8
#: ../../templates.rst:17
msgid "Working with Templates"
msgstr "使用模板"

# e9dce9aaa8b14b9b8163fc28465cbca2
#: ../../templates.rst:19
msgid ""
"A template is a reusable configuration for virtual machines. When users "
"launch VMs, they can choose from a list of templates in CloudStack."
msgstr "模板相当于虚拟机的重用配置。当用户创建虚拟机时能从CloudStack的模板列表中选择一个。"

# d0a82a53c7814d2bad8709d6ea8d8243
#: ../../templates.rst:22
msgid ""
"Specifically, a template is a virtual disk image that includes one of a "
"variety of operating systems, optional additional software such as office "
"applications, and settings such as access control to determine who can use "
"the template. Each template is associated with a particular type of "
"hypervisor, which is specified when the template is added to CloudStack."
msgstr "特殊情况下，模板可以是一个包含一个或多个操作系统的虚拟磁盘镜像，你可以选择性的安装另外的软件，比如office应用并设置访问控制来决定谁能使用这个模板。每个模板对应一个特殊类型的虚拟机，此类虚拟机在将模板添加入CloudStack时指定。"

# 3cea19812ae7412c873921f3b112df2d
#: ../../templates.rst:29
msgid ""
"CloudStack ships with a default template. In order to present more choices "
"to users, CloudStack administrators and users can create templates and add "
"them to CloudStack."
msgstr "CloudStack附带一个默认模板。为了向用户呈现出更多选择，CloudStack的管理员和用户能创建模板并添加到CloudStack中。"

# cdd1318db7514de09ddba24875b24795
#: ../../templates.rst:34
msgid "Creating Templates: Overview"
msgstr "创建模板概览"

# 6604bbcbda1146a8947cec849b8aacfc
#: ../../templates.rst:36
msgid ""
"CloudStack ships with a default template for the CentOS operating system. "
"There are a variety of ways to add more templates. Administrators and end "
"users can add templates. The typical sequence of events is:"
msgstr "CloudStack默认已经有了一个带CentOS系统的默认模板。有许多添加更多模板的方法，管理员和普通用户均能添加。一般是这样的顺序："

# f34378876e0d44ff800666b2d65fc180
#: ../../templates.rst:43
msgid ""
"Launch a VM instance that has the operating system you want. Make any other "
"desired configuration changes to the VM."
msgstr "运行一个带有你需要的操作系统的虚拟机实例，并进行一些你期望的设置。"

# 24b37b205a73458c8aa1fb8a40a568e0
#: ../../templates.rst:48
msgid "Stop the VM."
msgstr "停止VM。"

# c64df33a7a6842908b88d0747e1af601
#: ../../templates.rst:52
msgid "Convert the volume into a template."
msgstr "将卷转换为模板。"

# 59a9ab57227c474ab160737b378627a2
#: ../../templates.rst:54
msgid ""
"There are other ways to add templates to CloudStack. For example, you can "
"take a snapshot of the VM's volume and create a template from the snapshot, "
"or import a VHD from another system into CloudStack."
msgstr "还有其他方法向CloudStack中添加模板。比如你可以对虚机磁盘卷做个快照然后通过这个快照创建模板，或者从另一个系统导入一个VHD到CloudStack。"

# ed480ef0b4464b7f8970f7eab786dc96
#: ../../templates.rst:58
msgid ""
"The various techniques for creating templates are described in the next few "
"sections."
msgstr "接下来的几节中将继续讲述各种创建模板的技术。"

# af2d0bd506da45ac8de738d250325f24
#: ../../templates.rst:62
msgid "Requirements for Templates"
msgstr "模板的需求"

# fc604d7ce79041b2897e66c4616fd723
#: ../../templates.rst:66
msgid ""
"For XenServer, install PV drivers / Xen tools on each template that you "
"create. This will enable live migration and clean guest shutdown."
msgstr "对于 XenServer, 在每一个你创建的模板上安装 PV 驱动 / Xen tools。 这将使动态迁移和干净的宾客关机成为可能。"

# 2b50282ce07c41bab1cee4868ba4f5d6
#: ../../templates.rst:71
msgid ""
"For vSphere, install VMware Tools on each template that you create. This "
"will enable console view to work properly."
msgstr "对于 vSphere, 在每一个你创建的模板上安装VMware 工具。这将使控制台视图能够正常工作。"

# 5377504bbc294b95a18bed88ae03f1d9
#: ../../templates.rst:75
msgid "Best Practices for Templates"
msgstr "模板最佳实践"

# 8b50a16e441f4fd184b61b8ee029f3f5
#: ../../templates.rst:77
msgid ""
"If you plan to use large templates (100 GB or larger), be sure you have a "
"10-gigabit network to support the large templates. A slower network can lead"
" to timeouts and other errors when large templates are used."
msgstr "如果你计划使用大的模板(100 GB 或更大)，确保你有10g 的网络以支持大的模板。 当大的模板被使用时，较慢的网络可能导致超时及其它错误。"

# c65bd804ed504406aef7628943a9c8d2
#: ../../templates.rst:82
msgid "The Default Template"
msgstr "默认模版"

# 3b90996336f84b0aa52436eb288e8fba
#: ../../templates.rst:84
msgid ""
"CloudStack includes a CentOS template. This template is downloaded by the "
"Secondary Storage VM after the primary and secondary storage are configured."
" You can use this template in your production deployment or you can delete "
"it and use custom templates."
msgstr "CloudStack包含一个CentOS 模版。当主存储和二级存储配置完成后，这个模版会由二级存储虚拟机下载。可以在生产部署中使用这个模版，也可以删除掉它，使用自定义的模版。"

# bf35079fef2c4e0da02bb26f3df5fe85
#: ../../templates.rst:89
msgid "The root password for the default template is \"password\"."
msgstr "默认模版的root用户密码是“password”。"

# d186fb39f0b14670b9a5253112624276
#: ../../templates.rst:91
msgid ""
"A default template is provided for each of XenServer, KVM, and vSphere. The "
"templates that are downloaded depend on the hypervisor type that is "
"available in your cloud. Each template is approximately 2.5 GB physical "
"size."
msgstr "为XenServer，KVM和vSphere各提供了一个默认模板。下载的模板取决于你的云中使用的hypervisor类型。每个模板大概占用2.5GB的存储空间。"

# ae8fa27cab21480a8c78818ad26a73cb
#: ../../templates.rst:96
msgid ""
"The default template includes the standard iptables rules, which will block "
"most access to the template excluding ssh."
msgstr "默认模版包括标准的iptables 规则，会阻止除了ssh以外的其他访问。"

# 585bfd6d56c141f389acaac29c2bc2b6
#: ../../templates.rst:127
msgid "Private and Public Templates"
msgstr "私有模板和公共模板"

# 094bc80655894801afd84e326eb84942
#: ../../templates.rst:129
msgid ""
"When a user creates a template, it can be designated private or public."
msgstr "用户创建模板时可选择模板为公有还是私有。"

# 38f8f0da399c4f41a347cc19f748ae1b
#: ../../templates.rst:131
msgid ""
"Private templates are only available to the user who created them. By "
"default, an uploaded template is private."
msgstr "私有模板只对创建者可用。默认上传的模板都是私有的。"

# 2a9baa4520e347fe908ae26fd50998f9
#: ../../templates.rst:134
msgid ""
"When a user marks a template as “public,” the template becomes available to "
"all users in all accounts in the user's domain, as well as users in any "
"other domains that have access to the Zone where the template is stored. "
"This depends on whether the Zone, in turn, was defined as private or public."
" A private Zone is assigned to a single domain, and a public Zone is "
"accessible to any domain. If a public template is created in a private Zone,"
" it is available only to users in the domain assigned to that Zone. If a "
"public template is created in a public Zone, it is available to all users in"
" all domains."
msgstr "当用户将模板标识为“公有”，该模板不但能让该用户域中所有账户中的所有用户使用，还可以让能访问存储该模板的区域的其他域中用户使用。这取决于zone是设置成公用还是私有。私有区域被分配到一个单一的域，而公共区域能被任何域访问。"

# 3d8553febf0c4c4fbc1aed2d798b78c2
#: ../../templates.rst:145
msgid "Creating a Template from an Existing Virtual Machine"
msgstr "通过已存在的虚拟机创建模板"

# b34a4411b3bf42179857b79aaec48563
#: ../../templates.rst:147
msgid ""
"Once you have at least one VM set up in the way you want, you can use it as "
"the prototype for other VMs."
msgstr "当你已经有了一台按你的想法已经配置好的虚拟机，你就能以他为原型创建别的虚拟机。"

# 78c1160dd7654cdfbe52f57d079f5abd
#: ../../templates.rst:152
msgid ""
"Create and start a virtual machine using any of the techniques given in "
"`“Creating VMs” <virtual_machines.html#creating-vms>`_."
msgstr "使用 `“创建VMs” <virtual_machines.html#creating-vms>`_给出的方法创建并且开启一个虚拟机。"

# 2929319d149c4fcdb37c841bdbcc196a
#: ../../templates.rst:157
msgid ""
"Make any desired configuration changes on the running VM, then click Stop."
msgstr "在虚拟机中做好需要的配置，然后点击按钮关闭该虚拟机。"

# 2d69a12ca4de48a78512bbbbebb2eefa
#: ../../templates.rst:162
msgid ""
"Wait for the VM to stop. When the status shows Stopped, go to the next step."
msgstr "等待虚拟机关闭。当虚拟机状态显示为“已停止”，执行下一步。"

# f6f6ce0522624d9996ceb76388d1b770
#: ../../templates.rst:167
msgid "Click Create Template and provide the following:"
msgstr "点击创建模板并填写如下内容："

# df5bf3067ef5417d92794b9738fd372f
#: ../../templates.rst:171
msgid ""
"**Name and Display Text**. These will be shown in the UI, so choose "
"something descriptive."
msgstr "**名称和显示文本**。这些会在UI中显示，所以建议写一些描述信息。"

# 903462ebc26045d2af6e191c552a45ab
#: ../../templates.rst:176
msgid ""
"**OS Type**. This helps CloudStack and the hypervisor perform certain "
"operations and make assumptions that improve the performance of the guest. "
"Select one of the following."
msgstr "**操作系统类型*:。这有助于CloudStack和Hypervisor执行某些操作并可能提高来宾虚拟机的性能。选择下列之一。"

# eef0499093fc423da1fb5e509f3cb7be
# eaaf0c252a824fccb1af2998fee8d49f
#: ../../templates.rst:182 ../../templates.rst:279
msgid "If the operating system of the stopped VM is listed, choose it."
msgstr "如果已停止虚拟机的系统在列表中，选择它。"

# 4f0b55b1cccf465198f844ca55404e39
# dc5c72f566c5451a87f2d2f76991185a
#: ../../templates.rst:186 ../../templates.rst:283
msgid "If the OS type of the stopped VM is not listed, choose Other."
msgstr "如果已停止虚拟机系统类型不在列表中就选择其他。"

# 85bc582d7b3342eabcac40adc7d072c8
#: ../../templates.rst:190
msgid ""
"If you want to boot from this template in PV mode, choose Other PV (32-bit) "
"or Other PV (64-bit). This choice is available only for XenServere:"
msgstr "如果你打算以PV模式启动该模板，请选择其他PV(32位)或其他PV(64位)。这个选项只对XenServer有效："

# a41f73ed716e4aa3a7f43e06bada92ed
#: ../../templates.rst:195
msgid ""
"Generally you should not choose an older version of the OS than the version "
"in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image"
" will in general not work. In those cases you should choose Other."
msgstr "通常你不能选择比镜像版本老的OS版本。比如，选择CentOS 5.4来支持CentOS 6.2镜像通常来说是不工作的。在这种情况下，你应该选择其他。"

# 44c4a4919ef041128bb76ba89fffa6d6
# e06181c135fe4c93bd3a807628405544
#: ../../templates.rst:199 ../../templates.rst:311
msgid ""
"**Public**. Choose Yes to make this template accessible to all users of this"
" CloudStack installation. The template will appear in the Community "
"Templates list. See `“Private and Public Templates” <#private-and-public-"
"templates>`_."
msgstr "**公共**。选择是来让CloudStack里面的所有用户都能访问这个模板。模板将会出现在社区模板列表中。请参阅 `“私有和公共模板” <#private-and-public-templates>`_。"

# 05097ba3eec34760b41263458363d672
# 7e830042c5e14c27bb0dc51842194b14
#: ../../templates.rst:206 ../../templates.rst:300
msgid ""
"**Password Enabled**. Choose Yes if your template has the CloudStack "
"password change script installed. See :ref:`adding-password-management-to-"
"templates`."
msgstr "**启用密码**。如果你的模板中安装了CLoudStack密码修改脚本，选择是。请参阅 :ref:`adding-password-management-to-templates`。"

# b8c02b54e1284747953940f7ccf942a8
#: ../../templates.rst:212
msgid "Click Add."
msgstr "点击 添加"

# cb7e9326affc4313ac75fea0bff14a3c
#: ../../templates.rst:214
msgid ""
"The new template will be visible in the Templates section when the template "
"creation process has been completed. The template is then available when "
"creating a new VM."
msgstr "当模版创建过程完成后，新模版会出现在模版页面。在创建虚机时就可以使用新模版了。"

# d1fecfebba6645d9a4f9568d91c0fb06
#: ../../templates.rst:219
msgid "Creating a Template from a Snapshot"
msgstr "从一个快照创建一个模板"

# a7cea31e283c40dd96c119053c993503
#: ../../templates.rst:221
msgid ""
"If you do not want to stop the VM in order to use the Create Template menu "
"item (as described in `“Creating a Template from an Existing Virtual "
"Machine” <#creating-a-template-from-an-existing-virtual-machine>`_), you can"
" create a template directly from any snapshot through the CloudStack UI."
msgstr "如果你不想为了使用创建模板菜单项而停止虚拟机(如在`“从已有的虚机创建模板” <#creating-a-template-from-an-existing-virtual-machine>`_中描述的)， 你可以通过CloudStack UI从任何快照直接创建模板。"

# 984009ddf50d40dfb2110f5b23387f61
#: ../../templates.rst:228
msgid "Uploading Templates"
msgstr "上传模板"

# 196471dc9b5849d2aa744d1e7b8d0ec0
#: ../../templates.rst:231
msgid "vSphere Templates and ISOs"
msgstr "vSphere模板和ISOs"

# 30866cf195c8486db3b993897617b502
#: ../../templates.rst:233
msgid ""
"If you are uploading a template that was created using vSphere Client, be "
"sure the OVA file does not contain an ISO. If it does, the deployment of VMs"
" from the template will fail."
msgstr "如果你通过vSphere Client上传模板，请确认OVA文件不包含ISO。如果是的话，从模板部署虚拟机将失败。"

# f8a902f51889404f9159fc314d776820
#: ../../templates.rst:237
msgid ""
"Templates are uploaded based on a URL. HTTP is the supported access "
"protocol. Templates are frequently large files. You can optionally gzip them"
" to decrease upload times."
msgstr "模板是使用HTTP协议通过URL来上传的。模板通常都很大。你可以使用gzip压缩它们以缩短上传时间。"

# cbcb2f29584346b6abf842dfd76253c5
#: ../../templates.rst:241
msgid "To upload a template:"
msgstr "要上传模板："

# b46958da45914799b6d8ff82c369141a
#: ../../templates.rst:245
msgid "In the left navigation bar, click Templates."
msgstr "在左边的导航栏，点击模板。"

# 19421f0f499d41a987b6029ab13e22d2
#: ../../templates.rst:249
msgid "Click Register Template."
msgstr "点击注册模板。"

# 7350ec439ecf4b9fa396697dfa3435e5
#: ../../templates.rst:253
msgid "Provide the following:"
msgstr "填写以下内容："

# 1ce39115484049f199d0e70ec9561044
#: ../../templates.rst:257
msgid ""
"**Name and Description**. These will be shown in the UI, so choose something"
" descriptive."
msgstr "**名称和显示文本**。这些会在UI中显示，所以建议写一些描述信息。"

# 127eb097c195441b944d50f4a71deca7
#: ../../templates.rst:262
msgid ""
"**URL**. The Management Server will download the file from the specified "
"URL, such as ``http://my.web.server/filename.vhd.gz``."
msgstr "**URL**。管理服务器会从指定的URL下载模板，就像 ``http://my.web.server/filename.vhd.gz``。"

# 6f01a7bde653483995bb5ea42190e593
#: ../../templates.rst:267
msgid ""
"**Zone**. Choose the zone where you want the template to be available, or "
"All Zones to make it available throughout CloudStack."
msgstr "**区域**:：选择你希望该模板在到哪个区域可用，或者选择所有区域使该模板在CloudStack中全部区域中可用。"

# ef2f1a58ba5c4460bdbfda5ae10bcc24
#: ../../templates.rst:273
msgid ""
"**OS Type**: This helps CloudStack and the hypervisor perform certain "
"operations and make assumptions that improve the performance of the guest. "
"Select one of the following:"
msgstr "**操作系统类型*:：这有助于CloudStack和Hypervisor执行某些操作并假设可提高来宾虚拟机的性能。选择下列之一。"

# c7645974b5a64764ac62444e1d454568
#: ../../templates.rst:286
msgid ""
"You should not choose an older version of the OS than the version in the "
"image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will "
"in general not work. In those cases you should choose Other."
msgstr "你不能选择比镜像版本老的OS版本。比如，选择CentOS 5.4来支持CentOS 6.2镜像通常来说是不工作的。在这种情况下，你应该选择其他。"

# bd3382cf7fe747aab8acebd0878992e0
#: ../../templates.rst:290
msgid ""
"**Hypervisor**: The supported hypervisors are listed. Select the desired "
"one."
msgstr "**Hypervisor**：列表中显示支持的hypervisors。选择想要的一个。"

# c413d15acab8476abae76e3ec4158efe
#: ../../templates.rst:295
msgid ""
"**Format**. The format of the template upload file, such as VHD or OVA."
msgstr "**格式**。上传的模板文件的格式，如VHD或OVA。"

# eb40e62c6b99406f95b7505520fc671c
#: ../../templates.rst:305
msgid ""
"**Extractable**. Choose Yes if the template is available for extraction. If "
"this option is selected, end users can download a full image of a template."
msgstr "**可提取**。如果模板可以被提取请选择是。如果选择了此选项，终端用户可以下载此模板的完全镜。"

# d0c590b7a8ff4fde8139138840e3a796
#: ../../templates.rst:318
msgid ""
"**Featured**. Choose Yes if you would like this template to be more "
"prominent for users to select. The template will appear in the Featured "
"Templates list. Only an administrator can make a template Featured."
msgstr "**精选**: 。如果你想这个用户在选择这个模板时更明显则选择Yes。该模板将出现在精选模板列表中。只有管理员可以设置模板为精选。"

# b953221466f84cdaaf807ddf3dd14331
#: ../../templates.rst:324
msgid "Exporting Templates"
msgstr "导出模板"

# 210af661681d4b74ab96649040a98801
#: ../../templates.rst:326
msgid ""
"End users and Administrators may export templates from the CloudStack. "
"Navigate to the template in the UI and choose the Download function from the"
" Actions menu."
msgstr "最终用户和管理员可以从CloudStack导出模板。导航到用户界面中的模板并选择动作菜单中的下载功能。"

# c9e622e4441c486e9792dad0071c79a4
#: ../../templates.rst:331
msgid "Creating a Linux Template"
msgstr "创建Linux模板"

# f3d40c1bd83a40e482eecb6fc443d8d8
#: ../../templates.rst:333
msgid ""
"Linux templates should be prepared using this documentation in order to "
"prepare your linux VMs for template deployment. For ease of documentation, "
"the VM which you are configuring the template on will be referred to as "
"\"Template Master\". This guide currently covers legacy setups which do not "
"take advantage of UserData and cloud-init and assumes openssh-server is "
"installed during installation."
msgstr "为了准备使用模板部署你的Linux VMs，可以使用此文档来准备Linux模板。对于文档中的情况，你要通过配置模板，这会涉及\"主模板\"。这个指导目前覆盖了传统的安装，但不会涉及用户数据和cloud-init还有假设在装过程中安装了openshh服务。"

# cbdcfc92ef3c42daaad80eab662526ec
#: ../../templates.rst:340
msgid "An overview of the procedure is as follow:"
msgstr "过程概述如下："

# 09ce1d3c4240411da2de19daa0e75a14
#: ../../templates.rst:344
msgid "Upload your Linux ISO."
msgstr "上传你的Linux ISO。"

# b709b7a1294e4b3a89aba8985610f2bf
# ac566543d5174806b5b43b5c4b2d8e51
#: ../../templates.rst:346 ../../templates.rst:621
msgid ""
"For more information, see `“Adding an ISO” <virtual_machines.html#adding-an-"
"iso>`_."
msgstr "更多信息，请参阅 `“添加ISO” <virtual_machines.html#adding-an-iso>`_。"

# 9f5f963ccb544cd799db5e8d28c3f13a
# 55a6ab4f297b490494f31fcd9bef1cc4
#: ../../templates.rst:351 ../../templates.rst:626
msgid "Create a VM Instance with this ISO."
msgstr "使用这个ISO创建VM实例。"

# 7b26a17b00654d78b1d48449d47bb693
# 018114db744c49f7a4ebca7ebe93a5f2
#: ../../templates.rst:353 ../../templates.rst:628
msgid ""
"For more information, see `“Creating VMs” <virtual_machines.html#creating-"
"vms>`_."
msgstr "更多信息，请参阅 `“创建VMs” <virtual_machines.html#creating-vms>`_。"

# 0eaeb0fc68664d88bafb0c88f87caeee
#: ../../templates.rst:358
msgid "Prepare the Linux VM"
msgstr "准备Linux VM"

# 1bcbb90a25ea4b2b9644a3aa3ee13c96
#: ../../templates.rst:362
msgid "Create a template from the VM."
msgstr "从VM创建模板。"

# 6d747156af6d4e22b6f7f4183a481d23
#: ../../templates.rst:364
msgid ""
"For more information, see `“Creating a Template from an Existing Virtual "
"Machine” <#creating-a-template-from-an-existing-virtual-machine>`_."
msgstr "更多信息，请参阅 `“从已有的虚拟机创建模板” <#creating-a-template-from-an-existing-virtual-machine>`_。"

# d0502af4e09d4f53a49dc979cc2115ff
#: ../../templates.rst:368
msgid "System preparation for Linux"
msgstr "Linux的系统准备工作"

# f2357087bc5f42eaa080740d2f383720
#: ../../templates.rst:370
msgid ""
"The following steps will prepare a basic Linux installation for templating."
msgstr "下列步骤将会为模板准备一个基本的Linux安装。"

# 2f768f536c1c467eb43f846f7d4b20e7
#: ../../templates.rst:375
msgid "**Installation**"
msgstr "**安装**"

# c0e24128e57f4829b65dc62d46c7ba22
#: ../../templates.rst:377
msgid ""
"It is good practice to name your VM something generic during installation, "
"this will ensure components such as LVM do not appear unique to a machine. "
"It is recommended that the name of \"localhost\" is used for installation."
msgstr "通常在安装过程中给VM命名是一个好的做法，这么做能确保某些组件如LVM不会只在一台机器中出现。推荐在在安装过程中使用\"localhost\"命名。"

# c7b181c8424c4ac2a5db84ab32932c6b
#: ../../templates.rst:383
msgid ""
"For CentOS, it is necessary to take unique identification out of the "
"interface configuration file, for this edit /etc/sysconfig/network-scripts"
"/ifcfg-eth0 and change the content to the following."
msgstr "对于CentOS，必须要修改网络接口的配置文件，在这里我们编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件，更改下面的内容。"

# c809b5e9069d4d308ce145cebfe06181
#: ../../templates.rst:395
msgid "The next steps updates the packages on the Template Master."
msgstr "下一步更新主模板中的包。"

# 579e290288bf4dbd83390d508b5ef3d1
# 4495571dfe17446e936d6c2e985e2ab1
# e55ce9881af345a1b47fc4f7b61bc53b
#: ../../templates.rst:399 ../../templates.rst:452 ../../templates.rst:507
msgid "Ubuntu"
msgstr "Ubuntu"

# e80c530710fb4cee96e8d71723f4d96e
# c67c8bb4b1744c8ba004a8c61a6fad89
#: ../../templates.rst:411 ../../templates.rst:516
msgid "CentOS"
msgstr "CentOS"

# 547d3c2473034af098b576f4f992a237
#: ../../templates.rst:421
msgid "**Password management**"
msgstr "**密码管理**"

# d51304bc25b14d99b74a9110a390ccca
#: ../../templates.rst:424
msgid ""
"If preferred, custom users (such as ones created during the Ubuntu "
"installation) should be removed. First ensure the root user account is "
"enabled by giving it a password and then login as root to continue."
msgstr "如果需要，客户(如在Ubuntu的安装过程中创建的用户)应该被移除。首先确认root用户账户是启用的并且使用了密码，然后使用root登录。"

# 658b170366354ccf83ce75fe1639bc4d
#: ../../templates.rst:431
msgid ""
"As root, remove any custom user accounts created during the installation "
"process."
msgstr "使用root，移除任何在安装过程中创建的自定义用户账户。"

# f637065854134e638919541fb32eb84b
#: ../../templates.rst:438
msgid ""
"See :ref:`adding-password-management-to-templates` for instructions to setup"
" the password management script, this will allow CloudStack to change your "
"root password from the web interface."
msgstr "关于设置密码管理脚本的相关说明，请参阅 :ref:`adding-password-management-to-templates` ，这样能允许CloudStack通过web界面更改root密码。"

# d13b9fe31d374f469fac4aa8ce8dc9f4
#: ../../templates.rst:444
msgid "**Hostname Management**"
msgstr "**主机名管理**"

# 982c2c40802c440eb281ce70ee1039de
#: ../../templates.rst:446
msgid ""
"CentOS configures the hostname by default on boot. Unfortunately Ubuntu does"
" not have this functionality, for Ubuntu installations use the following "
"steps."
msgstr "默认情况下CentOS在启动的时候配置主机名。但是，Ubuntu却没有此功能，对于Ubuntu，安装时使用下面步骤。"

# 0178c9ebbec047ac97ddc98ca473d916
#: ../../templates.rst:454
msgid ""
"The hostname of a Templated VM is set by a custom script in `/etc/dhcp"
"/dhclient-exit-hooks.d`, this script first checks if the current hostname is"
" localhost, if true, it will get the host-name, domain-name and fixed-ip "
"from the DHCP lease file and use those values to set the hostname and append"
" the `/etc/hosts` file for local hostname resolution. Once this script, or a"
" user has changed the hostname from localhost, it will no longer adjust "
"system files regardless of it's new hostname. The script also recreates "
"openssh-server keys, which should have been deleted before templating (shown"
" below). Save the following script to `/etc/dhcp/dhclient-exit-"
"hooks.d/sethostname`, and adjust the permissions."
msgstr "一个模板化的VM使用`/etc/dhcp/dhclient-exit-hooks.d`中的一个自定义脚本来设置主机名，这个脚本首先检查当前的主机名是是否是hostname，如果是，它将从DHCP租约文件获取host-name，domain-name和fix-ip，并且使用这些值来设置主机名并将其追加到 `/etc/hosts` 文件以用来本地主机名解析。一旦这个脚本或者一个用户从本地改变了主机名，那么它将不再根据新的主机名调整系统文件。此脚本同样也会重建openssh-server keys，这个keys在做模板(如下所示)之前被删除了。保存下面的脚本到`/etc/dhcp/dhclient-exit-hooks.d/sethostname`，并且调整权限。"

# fe871e346c034a448c839f15e941772f
#: ../../templates.rst:495
msgid ""
"The following steps should be run when you are ready to template your "
"Template Master. If the Template Master is rebooted during these steps you "
"will have to run all the steps again. At the end of this process the "
"Template Master should be shutdown and the template created in order to "
"create and deploy the final template."
msgstr "当你准备好做你的主模板的时候请运行下列步骤。如果主模板在这些步骤期间重启了，那么你要重新运行所有的步骤。在这个过程的最后，主模板应该关机并且将其创建为模板，然后再部署。"

# 149ee407a0784b0e8d7ead7d9d8a7569
#: ../../templates.rst:499
msgid "**Remove the udev persistent device rules**"
msgstr "**移除udev持久设备规则**"

# 09d2f6969ea4495f8d3200289619bc87
#: ../../templates.rst:501
msgid ""
"This step removes information unique to your Template Master such as network"
" MAC addresses, lease files and CD block devices, the files are "
"automatically generated on next boot."
msgstr "这一步会移除你的主模板的特殊信息，如网络MAC地址，租约信息和CD块设备，这个文件会在下次启动时自动生成。"

# dccc779f465d434584a69fd29714e940
#: ../../templates.rst:525
msgid "**Remove SSH Keys**"
msgstr "**移除SSH Keys**"

# d6760ea97ea8402d93af0b6120f93697
#: ../../templates.rst:527
msgid ""
"This step is to ensure all your Templated VMs do not have the same SSH keys,"
" which would decrease the security of the machines dramatically."
msgstr "这步是为了确认所有要作为模板的VMs的SSH Keys都不相同，否则这样会降低虚拟机的安全性。"

# e4e46d9373974bb9a3ae5ccf1f52f702
#: ../../templates.rst:537
msgid "**Cleaning log files**"
msgstr "**清除日志文件**"

# 980fbba40e0f47e7b22db48d406cc44b
#: ../../templates.rst:539
msgid "It is good practice to remove old logs from the Template Master."
msgstr "从主模板移除旧的日志文件是一个好习惯。"

# 7f8be6e73c1d47068b14e4ad28ef5e15
#: ../../templates.rst:550
msgid "**Setting hostname**"
msgstr "**设置主机名**"

# de0f2fa5263e473abcbeb7c76a6d40c3
#: ../../templates.rst:552
msgid ""
"In order for the Ubuntu DHCP script to function and the CentOS dhclient to "
"set the VM hostname they both require the Template Master's hostname to be "
"\"localhost\", run the following commands to change the hostname."
msgstr "为了Ubuntu DHCP的脚本功能和CentOS dhclient能设置VM主机名，他们都去要设置主模板的主机名设置为“localhost”，运行下面的命令来更改主机名。"

# f2483a338de1437d970961b780b42986
#: ../../templates.rst:564
msgid "**Set user password to expire**"
msgstr "**设置用户密码期限**"

# f4f9060b59e04300a00134b382b7e942
#: ../../templates.rst:566
msgid ""
"This step forces the user to change the password of the VM after the "
"template has been deployed."
msgstr "这步是要在模板部署之后强制用户更改VM的密码。"

# 1d5004344434482e955600fae7641ddd
#: ../../templates.rst:575
msgid "**Clearing User History**"
msgstr "**清除用户历史**"

# 558586e151b34ea9bee4fca84ebe87e0
#: ../../templates.rst:577
msgid "The next step clears the bash commands you have just run."
msgstr "下一步来清除你曾经运行过的bash命令。"

# d067fa08a996436f8012882688681b5f
#: ../../templates.rst:586
msgid "**Shutdown the VM**"
msgstr "**关闭VM**"

# 3385f8a2912f4b7aa403ac9336129197
#: ../../templates.rst:588
msgid "Your now ready to shutdown your Template Master and create a template!"
msgstr "现在你可以关闭你的主模板并且创建模板了！"

# 833287af973b459dade1e7d9b9e12fd0
#: ../../templates.rst:597
msgid "**Create the template!**"
msgstr "**创建模板！**"

# cc845b025bf7436c8a2fe1a5370697dd
#: ../../templates.rst:599
msgid ""
"You are now ready to create the template, for more information see "
"`“Creating a Template from an Existing Virtual Machine” <#creating-a"
"-template-from-an-existing-virtual-machine>`_."
msgstr "现在你可以创建模板了，更多信息请参阅 `“从已存在的虚拟机创建模板” <#creating-a-template-from-an-existing-virtual-machine>`_。"

# 49f52c8fd11641b28939444cfcce76ae
#: ../../templates.rst:603
msgid ""
"Templated VMs for both Ubuntu and CentOS may require a reboot after "
"provisioning in order to pickup the hostname."
msgstr "通过Ubuntu和CentOS的模板分发的虚机可能需要重启才让主机名生效。"

# 1010fc47e18749c68019824bc996c021
#: ../../templates.rst:606
msgid "Creating a Windows Template"
msgstr "创建Windows模板"

# 62aa5a53936342a5be49acafed8787e2
#: ../../templates.rst:608
msgid ""
"Windows templates must be prepared with Sysprep before they can be "
"provisioned on multiple machines. Sysprep allows you to create a generic "
"Windows template and avoid any possible SID conflicts."
msgstr "Windows模板在分发多个虚拟机的之前必须使用Sysprep初始化。Sysprep允许你创建一个通用的Windows模板和避免任何可能的SID冲突。"

# 93f8c56a97ed45f9b7eef40d188fa6f6
#: ../../templates.rst:613
msgid ""
"(XenServer) Windows VMs running on XenServer require PV drivers, which may "
"be provided in the template or added after the VM is created. The PV drivers"
" are necessary for essential management functions such as mounting "
"additional volumes and ISO images, live migration, and graceful shutdown."
msgstr "(XenServer)XXenServer上运行的Windows VMs需要安装PV驱动，它可能在模板中或在创建完VM后添加。PV驱动对于基本的管理功能是必要的，比如挂载额外的卷和ISO镜像、在线迁移和正常关机。"

# 10e9f2ae09f346b191803a1268827c34
#: ../../templates.rst:615
msgid "An overview of the procedure is as follows:"
msgstr "过程概述如下："

# 7c74d731ea0c49059fbcf67d5ff664a2
#: ../../templates.rst:619
msgid "Upload your Windows ISO."
msgstr "上传你的Windows ISO。"

# 2b9ecebbe01b4c29a2d7ffbc9ed8b065
#: ../../templates.rst:633
msgid ""
"Follow the steps in Sysprep for Windows Server 2008 R2 (below) or Sysprep "
"for Windows Server 2003 R2, depending on your version of Windows Server"
msgstr "按照你所使用的WIndows Server版本进行Windows Server 2008 R2(下面的)或者Windows Server 2003 R2中Sysprep的操作步骤。"

# 169ee710e92b4161841d3210c6b91486
#: ../../templates.rst:639
msgid ""
"The preparation steps are complete. Now you can actually create the template"
" as described in Creating the Windows Template."
msgstr "准本工作完成了。现在你可以按照创建Windows模板中描述的来创建模板。"

# c0ab9ccaa2854a52a850fa038d0151e0
#: ../../templates.rst:643
msgid "System Preparation for Windows Server 2008 R2"
msgstr "为Windows Server 2008 R2进行系统准备"

# 2e7993ee27744e2b89db43f38f717532
#: ../../templates.rst:645
msgid ""
"For Windows 2008 R2, you run Windows System Image Manager to create a custom"
" sysprep response XML file. Windows System Image Manager is installed as "
"part of the Windows Automated Installation Kit (AIK). Windows AIK can be "
"downloaded from `Microsoft Download Center <http://www.microsoft.com/en-"
"us/download/details.aspx?id=9085>`_."
msgstr "对于Windows 2008 R2，你运行Windows系统镜像管理来创建一个自定义的sysprep应答XML文件。Windows系统镜像管理作为Windows Automated Installation Kit (AIK)的一部分安装在系统中。Windows AIK可以从 `微软下载中心 <http://www.microsoft.com/en-us/download/details.aspx?id=9085>`_下载到。"

# 9735f11f65f043fc812bfee77f30b42f
#: ../../templates.rst:651
msgid "Use the following steps to run sysprep for Windows 2008 R2:"
msgstr "按照以下步骤运行Windows 2008 R2的sysprep："

# fdb356b8473046cca0039cd58ece0ffc
#: ../../templates.rst:654
msgid ""
"The steps outlined here are derived from the excellent guide by Charity "
"Shelbourne, originally published at `Windows Server 2008 Sysprep Mini-Setup."
" <http://blogs.technet.com/askcore/archive/2008/10/31/automating-the-oobe-"
"process-during-windows-server-2008-sysprep-mini-setup.aspx>`_"
msgstr "这些步骤的概述来源于Charity Shelbourne一个非常棒的指导，发布在 `Windows Server 2008 Sysprep Mini-Setup. <http://blogs.technet.com/askcore/archive/2008/10/31/automating-the-oobe-process-during-windows-server-2008-sysprep-mini-setup.aspx>`_。"

# a800a2000a8a43e19b88a1d6530c372f
#: ../../templates.rst:658
msgid "Download and install the Windows AIK"
msgstr "下载和安装Windows AIK"

# f66f1235066d41e8b512a595faad7818
#: ../../templates.rst:660
msgid ""
"Windows AIK should not be installed on the Windows 2008 R2 VM you just "
"created. Windows AIK should not be part of the template you create. It is "
"only used to create the sysprep answer file."
msgstr "刚刚创建的Windows 2008 R2上面并没有安装Windows AIK。Windows AIK不是你创建的模板中的一部分。它仅仅用于创建sysprep应答文件。"

# f5c23584f8704d3e8eafef5f0c3ca904
#: ../../templates.rst:664
msgid ""
"Copy the install.wim file in the \\\\sources directory of the Windows 2008 "
"R2 installation DVD to the hard disk. This is a very large file and may take"
" a long time to copy. Windows AIK requires the WIM file to be writable."
msgstr "在\\\\Windows 2008 R2安装DVD中的源目录复制install.wim文件到本地硬盘。这是一个非常大的文件可能会复制较长时间。Windows AIK要求WIM文件是可写的。"

# aab8b3e2b3974f70baa1625fac2c14fd
#: ../../templates.rst:671
msgid ""
"Start the Windows System Image Manager, which is part of the Windows AIK."
msgstr "打开Windows系统镜像管理器。"

# 1c160daa1e4d45298e989df5d4cfd37f
#: ../../templates.rst:676
msgid ""
"In the Windows Image pane, right click the Select a Windows image or catalog"
" file option to load the install.wim file you just copied."
msgstr "在Windows镜像面板，右击选择一个Windows镜像或编录文件选项来读取你刚刚复制的install.wim文件。"

# 2f06fcf046b24cecb301f75499dad24c
#: ../../templates.rst:681
msgid "Select the Windows 2008 R2 Edition."
msgstr "选择Windows 2008 R2版本。"

# 8469a2417aad4122900ecb188ce0fcbe
#: ../../templates.rst:683
msgid ""
"You may be prompted with a warning that the catalog file cannot be opened. "
"Click Yes to create a new catalog file."
msgstr "你可能会收到一个警告提示说不能打开编录文件。点击是来创建一个新的编录文件。"

# 8635e88aab6e46139f303271f469e2bc
#: ../../templates.rst:688
msgid "In the Answer File pane, right click to create a new answer file."
msgstr "在应答文件面板，右击来创建一个新的应答文件。"

# 24d7e05616d6424cb5eaee30ee84e85c
#: ../../templates.rst:692
msgid ""
"Generate the answer file from the Windows System Image Manager using the "
"following steps:"
msgstr "使用以下步骤从Windows系统镜像管理器生成应答文件："

# 7d146d237bdf4c8b9bc322249916735e
#: ../../templates.rst:697
msgid ""
"The first page you need to automate is the Language and Country or Region "
"Selection page. To automate this, expand Components in your Windows Image "
"pane, right-click and add the Microsoft-Windows-International-Core setting "
"to Pass 7 oobeSystem. In your Answer File pane, configure the InputLocale, "
"SystemLocale, UILanguage, and UserLocale with the appropriate settings for "
"your language and country or region. Should you have a question about any of"
" these settings, you can right-click on the specific setting and select "
"Help. This will open the appropriate CHM help file with more information, "
"including examples on the setting you are attempting to configure."
msgstr "第一个页面你必须让语言和国家或位置选择页面是自动的。要使这个自动化，请在你的Windows 镜像面板扩展组件，右击Microsoft-Windows-International-Core添加设置以传送 7 oobeSystem。在你的应答文件面板中，为语言和国家或位置用适当的设置配置InputLocale、SystemLocale、UILanguage、和UserLocale。你可能对这些设置有疑问，你可以指定一个设置右击选择帮助。这将打开对应的CHM帮助文件，这里面包括了与你尝试配置的设置相关的一些示例。"

# 39a6eeb7c8944403884a739c0cf32e3b
#: ../../templates.rst:709
msgid "|sysmanager.png|"
msgstr "|sysmanager.png|"

# 1395a502c6dd45f58cfcd4f820af8fe7
#: ../../templates.rst:713
msgid ""
"You need to automate the Software License Terms Selection page, otherwise "
"known as the End-User License Agreement (EULA). To do this, expand the "
"Microsoft-Windows-Shell-Setup component. High-light the OOBE setting, and "
"add the setting to the Pass 7 oobeSystem. In Settings, set HideEULAPage "
"true."
msgstr "你需要将软件授权选择页配置为自动进行，这不是众所周知的EULA。为此，展开Microsoft-Windows-Shell-Setup组件，选中OOBE 设置，将此设置加入到Pass 7 oobeSystem中去。在设置中，将HideEULAPage 设置为true。"

# db723163193447488c0439d1a6632aed
#: ../../templates.rst:719
msgid "|software-license.png|"
msgstr "|software-license.png|"

# d98cb51114994e44a8bdd0d588ba834f
#: ../../templates.rst:723
msgid ""
"Make sure the license key is properly set. If you use MAK key, you can just "
"enter the MAK key on the Windows 2008 R2 VM. You need not input the MAK into"
" the Windows System Image Manager. If you use KMS host for activation you "
"need not enter the Product Key. Details of Windows Volume Activation can be "
"found at `http://technet.microsoft.com/en-us/library/bb892849.aspx "
"<http://technet.microsoft.com/en-us/library/bb892849.aspx>`_"
msgstr "确保恰当的设置了序列号。如果使用MAK的话，可以在Windows2008R2的虚拟机上输入MAK。并不需要将MAK输入到Windows映像管理器中。如果你使用KMS主机进行激活，则不需要输入产品序列号。Windows卷激活的详细信息可以在http://technet.microsoft.com/en-us/library/bb892849.aspx 上查看。"

# acb1ca72a0a5474295b25d5e1c567eed
#: ../../templates.rst:732
msgid ""
"You need to automate is the Change Administrator Password page. Expand the "
"Microsoft-Windows-Shell-Setup component (if it is not still expanded), "
"expand UserAccounts, right-click on AdministratorPassword, and add the "
"setting to the Pass 7 oobeSystem configuration pass of your answer file. "
"Under Settings, specify a password next to Value."
msgstr "类似机械化的操作还有更改管理员密码页。展开Microsoft-Windows-Shell-Setup组件（如果没有展开的话），展开用户账户，右键点击管理员密码，添加设置到Pass 7 oobeSystem配置，在设置中，指定一个密码。"

# e682e956688f47d68955125dac840c14
#: ../../templates.rst:739
msgid "|change-admin-password.png|"
msgstr "|change-admin-password.png|"

# daf0fbba34134968a9719502d2441755
#: ../../templates.rst:741
msgid ""
"You may read the AIK documentation and set many more options that suit your "
"deployment. The steps above are the minimum needed to make Windows "
"unattended setup work."
msgstr "可能会需要阅读AIK文档并设置多个选项来适合你的部署。以上的步骤至少需要使windows脱离建立网络的过程。"

# 2177f3f79d7745109ee2ed854da656fa
#: ../../templates.rst:747
msgid ""
"Save the answer file as unattend.xml. You can ignore the warning messages "
"that appear in the validation window."
msgstr "将答案文件保存为unattend.xml，可以忽略验证窗口中的警告信息。"

# 75e9203b76fe4bbbae1be6975b972993
#: ../../templates.rst:752
msgid ""
"Copy the unattend.xml file into the c:\\\\windows\\\\system32\\\\sysprep "
"directory of the Windows 2008 R2 Virtual Machine"
msgstr "将unattend.xml文件拷贝到Windows 2008 R2 虚拟机的c:\\\\windows\\\\system32\\\\sysprep 文件夹下，"

# e84ae652bc724676b0076c85b3cf53f8
#: ../../templates.rst:757
msgid ""
"Once you place the unattend.xml file in c:\\\\windows\\\\system32\\\\sysprep"
" directory, you run the sysprep tool as follows:"
msgstr "一旦将unattend.xml文件放到 c:\\\\windows\\\\system32\\\\sysprep文件夹下，则按以下步骤运行sysprep工具："

# 0d8f98d28cb44bee935c1a3fa186b971
#: ../../templates.rst:766
msgid ""
"The Windows 2008 R2 VM will automatically shut down after sysprep is "
"complete."
msgstr "Windows 2008 R2虚拟机在sysprep完成后，会自动关闭。"

# 131fba78f4fe42138a6d62dff1e93de1
#: ../../templates.rst:770
msgid "System Preparation for Windows Server 2003 R2"
msgstr "针对Windows Server 2003R2的系统准备"

# 5a4f1cef39ff41a08b9ac2528ffb6f92
#: ../../templates.rst:772
msgid ""
"Earlier versions of Windows have a different sysprep tool. Follow these "
"steps for Windows Server 2003 R2."
msgstr "早期的windows版本有个不同的sysprep的工具，按照这些步骤准备Windows Server 2003 R2。"

# c249bea7dcdf459ab7238be1d409e256
#: ../../templates.rst:777
msgid ""
"Extract the content of \\\\support\\\\tools\\\\deploy.cab on the Windows "
"installation CD into a directory called c:\\\\sysprep on the Windows 2003 R2"
" VM."
msgstr "从Windows 安装CD中提取\\\\support\\\\tools\\\\deploy.cab到WIndows 2003 R2 虚拟机中的此目录 c:\\\\sysprep。"

# 7e7e0bd9f3b44465a5160687008f203e
#: ../../templates.rst:783
msgid "Run c:\\\\sysprep\\\\setupmgr.exe to create the sysprep.inf file."
msgstr "运行 c:\\\\sysprep\\\\setupmgr.exe 来创建syprep.inf文件。"

# ee8815b2ec4b4be893fb36a3348d01f8
#: ../../templates.rst:787
msgid "Select Create New to create a new Answer File."
msgstr "选择创建新的来创建一个新的应答文件。"

# 045a9cf32e0548aaa69c44f772b4d46f
#: ../../templates.rst:791
msgid "Enter “Sysprep setup” for the Type of Setup."
msgstr "安装的类型选择 “Sysprep 安装”"

# d6bf6bd23bb94cf6b60f6b6907bbf7a6
#: ../../templates.rst:795
msgid "Select the appropriate OS version and edition."
msgstr "选择合适的OS版本"

# 7e54b77b3e2e4d80a63a6be54ae18c5c
#: ../../templates.rst:799
msgid ""
"On the License Agreement screen, select “Yes fully automate the "
"installation”."
msgstr "在许可协议界面，选择\"是，完全自动安装\""

# 82b865e18fbb473082090aa49f85ae93
#: ../../templates.rst:804
msgid "Provide your name and organization."
msgstr "提供你的名称和组织。"

# 7a5769e94b4a428db294a3fb3a0207f4
#: ../../templates.rst:808
msgid "Leave display settings at default."
msgstr "保留显示设置为默认。"

# 010c51f88169452b957f232e3157804a
#: ../../templates.rst:812
msgid "Set the appropriate time zone."
msgstr "设置合适的时区。"

# bfb59b5726d6458fa9279b6d55943a6d
#: ../../templates.rst:816
msgid "Provide your product key."
msgstr "提供你的产品key。"

# 4deb0945241246ea8ce43407adf7d91d
#: ../../templates.rst:820
msgid "Select an appropriate license mode for your deployment"
msgstr "给你的部署选择一个合适的许可模式。"

# 5ab1bdc24ada4093b615dee9c5f9272c
#: ../../templates.rst:824
msgid "Select “Automatically generate computer name”."
msgstr "选择\"自动生成计算机名\"。"

# 42d2434653d540858a5cba81e3d19ef3
#: ../../templates.rst:828
msgid ""
"Type a default administrator password. If you enable the password reset "
"feature, the users will not actually use this password. This password will "
"be reset by the instance manager after the guest boots up."
msgstr "输入一个默认的管理员密码。如果你启用了密码重置功能，用户实际上将不会使用这个密码。在来宾虚机启动之后实例管理器会重置密码。"

# a4ff18a071b740839db9b822fbc1294a
#: ../../templates.rst:835
msgid "Leave Network Components at “Typical Settings”."
msgstr "网络组件使用\"典型设置\"。"

# 685f000b0e2c437889a925b63be7891b
#: ../../templates.rst:839
msgid "Select the “WORKGROUP” option."
msgstr "选择“WORKGROUP”选项。"

# d5daab57605f4acda1d1527df570facc
#: ../../templates.rst:843
msgid "Leave Telephony options at default."
msgstr "电话服务使用默认。"

# 307c10038df64e339b109d2ef3c1edb8
#: ../../templates.rst:847
msgid "Select appropriate Regional Settings."
msgstr "选择合适的区域设置。"

# 327e06e3a211403cbf0495a02e7ddb7d
#: ../../templates.rst:851
msgid "Select appropriate language settings."
msgstr "选择合适的语言选项。"

# 294dd6e2af71471691c00afa513dafc3
#: ../../templates.rst:855
msgid "Do not install printers."
msgstr "不要安装打印机。"

# 43b1e07d7cc44c428ba0bc1102ca572e
#: ../../templates.rst:859
msgid "Do not specify “Run Once commands”."
msgstr "不要指定\"运行一次\"。"

# ab30e54717e5455988d343bfe649d8f8
#: ../../templates.rst:863
msgid "You need not specify an identification string."
msgstr "你不必指定标示字符串。"

# 107e4b3c6eba43cbbf9a800861554df3
#: ../../templates.rst:867
msgid "Save the Answer File as c:\\\\sysprep\\\\sysprep.inf."
msgstr "将应答文件保存到c:\\\\sysprep\\\\sysprep.inf。"

# 5545498adcc84a05ad9f5e12352d008f
#: ../../templates.rst:871
msgid "Run the following command to sysprep the image:"
msgstr "运行以下命令行来sysprep镜像："

# 3b883691a9b0417b9a68bce12f0f527c
#: ../../templates.rst:877
msgid "After this step the machine will automatically shut down"
msgstr "在这个步骤之后，虚拟机会自动关机。"

# 4775b7c9a84248d1805900870fc3d92b
#: ../../templates.rst:880
msgid "Importing Amazon Machine Images"
msgstr "导入Amazon Machine Images"

# 2eefa378d4324b908272db125ba9c907
#: ../../templates.rst:882
msgid ""
"The following procedures describe how to import an Amazon Machine Image "
"(AMI) into CloudStack when using the XenServer hypervisor."
msgstr "以下过程描述了当使用XenServer hypervisor时，如何导入一个AMI到Cloudstack中。"

# cdd42569882b4c7bbd9ed8019c883085
#: ../../templates.rst:885
msgid ""
"Assume you have an AMI file and this file is called CentOS\\_6.2\\_x64. "
"Assume further that you are working on a CentOS host. If the AMI is a Fedora"
" image, you need to be working on a Fedora host initially."
msgstr "假定你有一个叫做CentOS\\_6.2|_x64的AMI文件。假定未来你将工作在CentOS主机上。如果AMI是一个Fedora镜像，你需要将它立即安装到Fedora主机上。"

# 086bce4bc9064c9ea174a48be1aa2c74
#: ../../templates.rst:889
msgid ""
"You need to have a XenServer host with a file-based storage repository "
"(either a local ext3 SR or an NFS SR) to convert to a VHD once the image "
"file has been customized on the Centos/Fedora host."
msgstr "一旦镜像文件在CentOS/Fedora主机上自定义完毕，你必须有一台使用文件存储库(本地ext3 SR或者NFS SP)的XenServer主机将其转换VHD。"

# f965846d43ff4abfb3740625b21cae0a
#: ../../templates.rst:894
msgid ""
"When copying and pasting a command, be sure the command has pasted as a "
"single line before executing. Some document viewers may introduce unwanted "
"line breaks in copied text."
msgstr "当你在拷贝和粘贴这个命令时，请确保所有的命令都在同一行里。有的文档拷贝工具会将这个命令分割为多行。"

# f6ed8764a50b4608af894c68403d242d
#: ../../templates.rst:896
msgid "To import an AMI:"
msgstr "导入一个AMI:"

# 88712070dbe94517bb3d3d0647f5441e
#: ../../templates.rst:900
msgid "Set up loopback on image file:"
msgstr "建立在镜像文件上的回滚"

# 731b13cca9b34c8fb6d76b76714b91a7
#: ../../templates.rst:909
msgid ""
"Install the kernel-xen package into the image. This downloads the PV kernel "
"and ramdisk to the image."
msgstr "安装kernel-xen包到镜像文件中。下载PV内核和ramdisk到镜像中。"

# d80578e92f4f4dbeb7b4cb4520ef13fd
#: ../../templates.rst:918
msgid "Create a grub entry in /boot/grub/grub.conf."
msgstr "在 /boot/grub/grub.conf中创建一个引导。"

# 40de498250654d60970ab0fde749f33d
#: ../../templates.rst:928
msgid ""
"Determine the name of the PV kernel that has been installed into the image."
msgstr "终止已经安装到镜像文件中的PV内核名称"

# 12376387693e4b6c8d20181fcfefddf8
#: ../../templates.rst:941
msgid ""
"Xen kernels/ramdisk always end with \"xen\". For the kernel version you "
"choose, there has to be an entry for that version under lib/modules, there "
"has to be an initrd and vmlinuz corresponding to that. Above, the only "
"kernel that satisfies this condition is 2.6.18-164.15.1.el5xen."
msgstr "Xen的kernels/ramdisk通常以“xen\"结尾。在lib/modules中选择相应的内核版本，intrd和vmlinuz将作出相应的反应.综上，唯一要求的条件是版本为2.6.18-164.15.1.el5xen。"

# 3a62a427fb3c49b7b2b502d29b65a104
#: ../../templates.rst:949
msgid ""
"Based on your findings, create an entry in the grub.conf file. Below is an "
"example entry."
msgstr "根据你要找的内容，在grub.conf文件中创建一个入口。以下为入口例子。"

# 1f77fea0644a4939a5aa5518e600b8f0
#: ../../templates.rst:964
msgid ""
"Edit etc/fstab, changing “sda1” to “xvda” and changing “sdb” to “xvdb”."
msgstr "编辑 etc/fstab,将”sda1“改为”xvda\"并将“sdb\"改为”xbdb\"."

# 6dbb820000b64e9fb6810b145ca28d42
#: ../../templates.rst:978
msgid ""
"Enable login via the console. The default console device in a XenServer "
"system is xvc0. Ensure that etc/inittab and etc/securetty have the following"
" lines respectively:"
msgstr "通过终端开启登陆。在默认终端设备XenServer系统上的是xvc0.确定在etc/inittab和etc/securetty中有以下各自的行："

# d845e8d11c9d4fe38746eb6b52797f86
#: ../../templates.rst:991
msgid ""
"Ensure the ramdisk supports PV disk and PV network. Customize this for the "
"kernel version you have determined above."
msgstr "确保虚拟盘支持PV磁盘和PV网络。为你之前选择好的kernel版本自定义这些。"

# 4893ef89071946749654fbb656b0e336
#: ../../templates.rst:1003
msgid "Change the password."
msgstr "修改密码"

# 5909d8aaa9b341d1b5d2f6b578e69426
#: ../../templates.rst:1015
msgid "Exit out of chroot."
msgstr "退出chroot"

# e19dfedb8f7a41dd8565196723f12adc
#: ../../templates.rst:1023
msgid ""
"Check `etc/ssh/sshd_config` for lines allowing ssh login using a password."
msgstr "检查 `etc/ssh/sshd_config`中关于允许在ssh登录时使用密码的相关行。"

# 2c14e5b85e714ea5b0d15324faaf9dc8
#: ../../templates.rst:1034
msgid ""
"If you need the template to be enabled to reset passwords from the "
"CloudStack UI or API, install the password change script into the image at "
"this point. See :ref:`adding-password-management-to-templates`."
msgstr "如果你需要通过CloudStack· UI或API启用重置模板的密码功能，在镜像中安装密码更改脚本。相关内容请参考:ref:`adding-password-management-to-templates`。"

# e3ae811674584093b712c1621429a742
#: ../../templates.rst:1040
msgid "Unmount and delete loopback mount."
msgstr "卸载或删除loopback挂载。"

# ef597f13741c4cacb5592cc16ddea1c6
#: ../../templates.rst:1049
msgid ""
"Copy the image file to your XenServer host's file-based storage repository. "
"In the example below, the Xenserver is \"xenhost\". This XenServer has an "
"NFS repository whose uuid is a9c5b8c8-536b-a193-a6dc-51af3e5ff799."
msgstr "复制镜像文件到XenServer主机的文件存储库。在下面的例子中，XenServer是\"xenhost\"。这个XenServer有一个UUID为a9c5b8c8-536b-a193-a6dc-51af3e5ff799的NFS库。"

# bb52019afeee4122a6ea0771f8b19f31
#: ../../templates.rst:1060
msgid "Log in to the Xenserver and create a VDI the same size as the image."
msgstr "登录到XenServer然后创建一个与镜像同样大小的VDI。"

# 86293b52fbc14f619d01d676808e0013
#: ../../templates.rst:1072
msgid "Import the image file into the VDI. This may take 10–20 minutes."
msgstr "将镜像导入到VDI中。这可能会花费10-20分钟。"

# f04c66a89a2c438996c653df62753586
#: ../../templates.rst:1080
msgid ""
"Locate a the VHD file. This is the file with the VDI’s UUID as its name. "
"Compress it and upload it to your web server."
msgstr "找到这个VHD文件。它的名字是以VDI的UUID命名的。压缩并上床至你的web服务器。"

# 2c6186dad1e149ffb6b4c6088919cf7b
#: ../../templates.rst:1089
msgid "Converting a Hyper-V VM to a Template"
msgstr "将Hyper-V的VM转换为模板"

# 93e316bb224044d49835989bb24f4307
#: ../../templates.rst:1091
msgid ""
"To convert a Hyper-V VM to a XenServer-compatible CloudStack template, you "
"will need a standalone XenServer host with an attached NFS VHD SR. Use "
"whatever XenServer version you are using with CloudStack, but use XenCenter "
"5.6 FP1 or SP2 (it is backwards compatible to 5.6). Additionally, it may "
"help to have an attached NFS ISO SR."
msgstr "要转换Hyper-V的VM到兼容XenServer的CloudStack模板，你需要一个独立的添加了NFS VHD SR的XenServer主机。无论使用CloudStack管理哪个版本XenServer，但必须是XenCenter 5.6 FP1或SP2(它向下兼容5.6)。另外，添加了NFS ISO SR是有帮助的。"

# 5f6b98e6e49d496aa214066dc19570f8
#: ../../templates.rst:1097
msgid ""
"For Linux VMs, you may need to do some preparation in Hyper-V before trying "
"to get the VM to work in XenServer. Clone the VM and work on the clone if "
"you still want to use the VM in Hyper-V. Uninstall Hyper-V Integration "
"Components and check for any references to device names in /etc/fstab:"
msgstr "对于Linux VMs，在尝试让VM在XenServer中工作之前你可能必须在Hyper-V做一些准备工作。如果你仍然想要在Hyper-V中使用这个VM的话，克隆这个VM然后在克隆的虚机上操作。卸载Hyper-V集成组件然后检查任何/etc/fstab中涉及的相关设备名称："

# 6ac2232482394839a03c271bbca3c8f9
#: ../../templates.rst:1105
msgid ""
"From the linux\\_ic/drivers/dist directory, run make uninstall (where "
"\"linux\\_ic\" is the path to the copied Hyper-V Integration Components "
"files)."
msgstr "从 linux\\_ic/drivers/dist 目录中，运行make uninstall(\"linux\\_ic\" 是复制的Hyper-V集成组件的路径)。"

# 46e3b7b8475e4952bb6daf4722722e41
#: ../../templates.rst:1111
msgid ""
"Restore the original initrd from backup in /boot/ (the backup is named "
"\\*.backup0)."
msgstr "从备份/boot/ 恢复原始的文件系统(备份名称为 \\*.backup0)。"

# 111dd445f55a471a98190fb0c78e40b6
#: ../../templates.rst:1116
msgid "Remove the \"hdX=noprobe\" entries from /boot/grub/menu.lst."
msgstr "从 /boot/grub/menu.lst移除 \"hdX=noprobe\" 。"

# be3986f7247d4a5faed5369107bfe3e9
#: ../../templates.rst:1120
msgid ""
"Check /etc/fstab for any partitions mounted by device name. Change those "
"entries (if any) to mount by LABEL or UUID. You can get that information "
"with the blkid command."
msgstr "通过名称从 /etc/fstab中检查任何挂载的分区。将这些条目(如果有)改成使用LABEL或者UUID挂载。你能通过 blkid命令获得这些信息。"

# f9e63db044dc4f719af8694d4b426090
#: ../../templates.rst:1124
msgid ""
"The next step is make sure the VM is not running in Hyper-V, then get the "
"VHD into XenServer. There are two options for doing this."
msgstr "下一步请确保Hyper-V中的这个VM没有运行，然后把VHD送至XenServer。有两个选择。"

# a3bfb3c562494523b1f9e34e1f784513
#: ../../templates.rst:1127
msgid "Option one:"
msgstr "选项一："

# c7c46c25ea2c446296f3c469a1ca7fbc
#: ../../templates.rst:1131
msgid ""
"Import the VHD using XenCenter. In XenCenter, go to Tools>Virtual Appliance "
"Tools>Disk Image Import."
msgstr "使用XenCenter导入VHD。在XenCenter中，找到Tools>Virtual Appliance Tools>Disk Image Import。"

# 02a3b8607a71477686060abece70fd5c
# ac971f1553804894ab99e8034171a895
#: ../../templates.rst:1136 ../../templates.rst:1156
msgid "Choose the VHD, then click Next."
msgstr "选择VHD，然后点击下一步。"

# a9bab1d1a45a4cafb6e8c6249a5876a9
#: ../../templates.rst:1140
msgid ""
"Name the VM, choose the NFS VHD SR under Storage, enable \"Run Operating "
"System Fixups\" and choose the NFS ISO SR."
msgstr "给VM起个名字，在Storage下选择 NFS VHD SR，启用\"Run Operating System Fixups\" 然后选择NFS ISO SR。"

# 6cbb139632604de5ab457b8a26f09644
#: ../../templates.rst:1145
msgid "Click Next, then Finish. A VM should be created."
msgstr "点击下一步 完成。完成虚拟机创建。"

# b64f3cb8f2b94ad4b2420392608be3b9
#: ../../templates.rst:1147
msgid "Option two:"
msgstr "选项二："

# 8fa8282a43bf473ca4d7c4c12a507faf
#: ../../templates.rst:1151
msgid ""
"Run XenConvert, under From choose VHD, under To choose XenServer. Click "
"Next."
msgstr "运行 XenConvert ,选择 VHD,选择 XenServer,点击下一步。"

# 637e824a79ea42cfad3ee75f6b72178c
#: ../../templates.rst:1160
msgid "Input the XenServer host info, then click Next."
msgstr "输入XenServer主机信息，点击下一步。"

# 31ec8cb452ee4cd3a4e1fbd1a5591cce
#: ../../templates.rst:1164
msgid "Name the VM, then click Next, then Convert. A VM should be created."
msgstr "输入VM名称，点击“下一步”，点击“转换”。VM应该就创建了。"

# 496176bfda5f4ca090835a247ab83525
#: ../../templates.rst:1166
msgid ""
"Once you have a VM created from the Hyper-V VHD, prepare it using the "
"following steps:"
msgstr "一旦你完成从hyper-v VHD到虚拟机的创建，准备使用以下步骤："

# 4e71cb70625645019467653e605e2c10
#: ../../templates.rst:1171
msgid "Boot the VM, uninstall Hyper-V Integration Services, and reboot."
msgstr "启动虚拟机，卸载Hyper-V集成服务，并重新启动。"

# 73af4ce888ac410fb724f43a4f97b6e1
#: ../../templates.rst:1175
msgid "Install XenServer Tools, then reboot."
msgstr "安装XenServer Tools，然后重新启动。"

# c3d2431ce6f140379ffc743673a49262
#: ../../templates.rst:1179
msgid ""
"Prepare the VM as desired. For example, run sysprep on Windows VMs. See "
"`“Creating a Windows Template” <#creating-a-windows-template>`_."
msgstr "按需要准备VM。例如在Windows VM上执行sysprep。请参阅 `“创建Windows模板” <#creating-a-windows-template>`_。"

# 45c26189e85d4114914986ecd8612d99
#: ../../templates.rst:1183
msgid ""
"Either option above will create a VM in HVM mode. This is fine for Windows "
"VMs, but Linux VMs may not perform optimally. Converting a Linux VM to PV "
"mode will require additional steps and will vary by distribution."
msgstr "以上任一选项将在HVM模式下创建一个VM。对于Windows虚拟机来说这是很好的，但Linux的虚拟机可能无法达到最佳性能。要转换Linux虚拟机到PV模式，对于不同的发行版本将需要额外的步骤。"

# e991522b48624c3880f9b55c06c5a0e0
#: ../../templates.rst:1190
msgid ""
"Shut down the VM and copy the VHD from the NFS storage to a web server; for "
"example, mount the NFS share on the web server and copy it, or from the "
"XenServer host use sftp or scp to upload it to the web server."
msgstr "关闭虚拟机，从NFS存储拷贝VHD到一个web服务器；比如，在web服务器上挂载NFS共享然后拷贝它，或者是在XenServer主机上用sftp或scp将VHD上传到web服务器。"

# cb7bc05407234c42ae3603ec5da5f4e4
#: ../../templates.rst:1197
msgid "In CloudStack, create a new template using the following values:"
msgstr "在 CloudStack中，使用以下值创建一个新的模板："

# 9604d23f8f734af59c09a539f13ca526
#: ../../templates.rst:1201
msgid "URL. Give the URL for the VHD"
msgstr "URL。给VHD指定URL。"

# d1f70e73d3234873b57cb7171f26765b
#: ../../templates.rst:1205
msgid ""
"OS Type. Use the appropriate OS. For PV mode on CentOS, choose Other PV "
"(32-bit) or Other PV (64-bit). This choice is available only for XenServer."
msgstr "OS类型。使用适当的OS。对于CentOS的PV模式来说，选择其他PV (32位)或其他PV(64位)。这个选项仅适用于XenServer。"

# 0ac91486a990460eb7221cf9d1fafe83
#: ../../templates.rst:1211
msgid "Hypervisor. XenServer"
msgstr "Hypervisor。XenServer"

# 9d054209286d4d7c9c0610236b45cfa7
#: ../../templates.rst:1215
msgid "Format. VHD"
msgstr "格式。VHD"

# 5bcee6035ba44c2d8d9cb1dd8cf29469
#: ../../templates.rst:1217
msgid "The template will be created, and you can create instances from it."
msgstr "模板就创建好了，然后你可以通过它创建实例。"

# dd759eeb19364467981383f61c60927b
#: ../../templates.rst:1222
msgid "Adding Password Management to Your Templates"
msgstr "给你的模板添加密码管理"

# fb423b84f13b4398afd1b6531cbaf84e
#: ../../templates.rst:1224
msgid ""
"CloudStack provides an optional password reset feature that allows users to "
"set a temporary admin or root password as well as reset the existing admin "
"or root password from the CloudStack UI."
msgstr "CloudStack提供了可选的密码重置功能，该功能允许用户在CloudStack UI上设置临时的admin或root密码，也可以重置现有的admin或root密码。"

# df4d415dd2564e7ab3b4de2a880058fa
#: ../../templates.rst:1228
msgid ""
"To enable the Reset Password feature, you will need to download an "
"additional script to patch your template. When you later upload the template"
" into CloudStack, you can specify whether reset admin/root password feature "
"should be enabled for this template."
msgstr "为启用密码重置功能，您需要下载额外的脚本到模版上。当您之后在CloudStack中添加模版时，您可以指定该模版是否启用重置admin或root密码的功能。"

# 78843c1122fa4c54a3929a71cdc9802a
#: ../../templates.rst:1233
msgid ""
"The password management feature works always resets the account password on "
"instance boot. The script does an HTTP call to the virtual router to "
"retrieve the account password that should be set. As long as the virtual "
"router is accessible the guest will have access to the account password that"
" should be used. When the user requests a password reset the management "
"server generates and sends a new password to the virtual router for the "
"account. Thus an instance reboot is necessary to effect any password "
"changes."
msgstr "密码管理功能总是在虚机启动时重置账号的密码。该脚本通过对虚拟路由器的HTTP调用，获取需要重置的账号密码。启动时，只要虚拟路由器可以访问，虚机就可以获得应该设置的账号密码。当用户请求密码重置时，管理服务器会生成新密码，并发送到虚拟路由器。因而，虚机需要重启新密码才能生效。"

# 7e61c96f8bbb4f4ca576ab92fe9ce78c
#: ../../templates.rst:1242
msgid ""
"If the script is unable to contact the virtual router during instance boot "
"it will not set the password but boot will continue normally."
msgstr "在虚机重启时，如果脚本不能连接到虚拟路由器，则密码不会被重置，但启动过程还会继续正常执行。"

# 49eed667df7349ffbb96bf4c5855b760
#: ../../templates.rst:1246
msgid "Linux OS Installation"
msgstr "Linux系统安装"

# cdb19794d6b74c899b8104d2993f5d8a
#: ../../templates.rst:1248
msgid "Use the following steps to begin the Linux OS installation:"
msgstr "使用一下步骤开始Linux系统的安装："

# 103d0d138ee144c78942523b42447afd
#: ../../templates.rst:1252
msgid "Download the script file cloud-set-guest-password:"
msgstr "下载cloud-set-guest-password脚本文件："

# d55938ee41df43778f8a15a14f3bea66
#: ../../templates.rst:1256
msgid ""
"`http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in "
"<http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-"
"password.in>`_"
msgstr "`http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in <http://download.cloud.com/templates/4.2/bindir/cloud-set-guest-password.in>`_"

# 69a9531c06f3411aab079ec846b69481
#: ../../templates.rst:1260
msgid "Copy this file to /etc/init.d."
msgstr "拷贝本文件到 /etc/init.d 。"

# 386ec6429c6d4721a35bf98174797cba
#: ../../templates.rst:1262
msgid "On some Linux distributions, copy the file to ``/etc/rc.d/init.d``."
msgstr "在某些linux发行版拷贝此文件到 ``/etc/rc.d/init.d``。"

# 8a851834aab54db0bd4728de50b5ce79
#: ../../templates.rst:1266
msgid "Run the following command to make the script executable:"
msgstr "执行以下命令使脚本可执行："

# a32adaaea0b346c9a57ebee47ad88300
#: ../../templates.rst:1274
msgid ""
"Depending on the Linux distribution, continue with the appropriate step."
msgstr "根据不同的Linux发行版，选择适当的步骤继续。"

# 4a6cab3c328841e6943b0113ca737c5b
#: ../../templates.rst:1277
msgid "On Fedora, CentOS/RHEL, and Debian, run:"
msgstr "在Fedora,CentOS/RHEL和Debian上运行："

# 1d4622c6039c4d018da6f87125f5d8f5
#: ../../templates.rst:1284
msgid "Windows OS Installation"
msgstr "Windows OS 安装"

# ceaf3ec621d44c85ad793bdc04cb5ea8
#: ../../templates.rst:1286
msgid ""
"Download the installer, CloudInstanceManager.msi, from the `Download page "
"<http://sourceforge.net/projects/cloudstack/files/Password%20Management%20Scripts/CloudInstanceManager.msi/download>`_"
" and run the installer in the newly created Windows VM."
msgstr "从`下载页<http://sourceforge.net/projects/cloudstack/files/Password%20Management%20Scripts/CloudInstanceManager.msi/download>`_ 下载安装程序CloudInstanceManager.msi，并在新创建的Windows 虚拟机中运行安装程序。"

# 26d4aac3e7914c3eb9e017404da446e7
#: ../../templates.rst:1291
msgid "Deleting Templates"
msgstr "删除模板"

# 254a98cbb5b9413287be33a6278244f4
#: ../../templates.rst:1293
msgid ""
"Templates may be deleted. In general, when a template spans multiple Zones, "
"only the copy that is selected for deletion will be deleted; the same "
"template in other Zones will not be deleted. The provided CentOS template is"
" an exception to this. If the provided CentOS template is deleted, it will "
"be deleted from all Zones."
msgstr "模板可以被删除。在一般情况下，当一个模板跨越多个区域，只有被选中的副本才会被删除，在其他区域相同的模板将不会被删除。CentOS的模板是一个例外。如果所提供的CentOS的模板被删除，它从所有区域都将被删除。"

# dd775f9e560549d88e1e2f6582bc17b8
#: ../../templates.rst:1299
msgid ""
"When templates are deleted, the VMs instantiated from them will continue to "
"run. However, new VMs cannot be created based on the deleted template."
msgstr "当删除模板时，从它们中产生的虚拟机实例将继续运行。然而，新的虚拟机不能在被删除模板的基础上创建。"
