论坛首页
论坛首页 开发者论坛 PortableApps开发 正在试着翻译portableapps的PortableApps.com Format™ 3.0 (2012-05-11)

正在试着翻译portableapps的PortableApps.com Format™ 3.0 (2012-05-11)

讨论关于便携软件开发的技术与问题,包括PAL、NSIS、VMware ThinApp及其他。
pbphoo 红心可鉴
红心可鉴

帖子: 53
发现个问题,好多版式都丢失了,懒得重排版了,是想看的可以去我的那个“便携软件爱好者”的群共享看,群号:208058546
翻译了第一段:

PortableApps.com格式™3(2012-05-11)
原文网址:http://portableapps.com/development/portableapps.com_format

PortableApps.com格式是一个控制文件和目录布局以及便携式应用的操作行为的简单规范。文件分布是为了更容易的使用.paf.exe™安装文件。本规范分解为几个部分是为了大家可以容易阅读。
1。目录和文件布局
2。appinfo.ini(应用程序配置)
3。图标
4。PortableApps.com appcompactor和appcompactor.ini
5。PortableApps.com安装和installer.ini
6。主机PC的修改和移植
7。插件的安装程序
8。历史版本和讨论
  1。目录和文件布局
  每个便携式应用的基本目录布局由一个主目录,appnameportable包含三个目录:App, Data and Other.  
  
  AppNamePortable
  + App
   + AppInfo
   + FileTypeIcons
   + AppName
   + DefaultData
  + Data
  + Other
   + Help
   + Images
   + Source

  appnameportable:主要包含应用程序启动器,通常称为appnameportable.exe和主要的帮助文件help.html。默认情况下没有其他的文件在这个目录。
App :包含所有的二进制文件以及组成应用程序本身的其他文件,通常包含一个名为AppName的目录。目录appinfo(2节中讨论)包含PortableApps.com平台配置的细节以及在菜单中使用的图标。它也常常包含用于PortableApps.com启动器的launcher.ini配置文件。第三个目录,defaultdata通常用来放置默认的软件运行数据。一般来说,当启动器运行时将首先检查在Data目录下是不是含有一个配置文件,如果没有的话,将会从defaultdata目录下复制一份软件的默认数据至Data文件夹并开始运行软件。PortableApps.com安装程序的下一个版本将做同样的事情。
  Data :包含用户关于此软件的所有数据,当然也包括了软件的设置,配置和其他数据都被存储在APPDATA目录。PortableApps.com发布的应用程序通常将软件的设置存放在settings文件夹的子目录,比如Mozilla这个程序的配置文件在一个名为 profiles 的子目录。没有应用程序组件(二进制文件等)应包含在数据目录。启动器或应用程序必须在Data文件夹丢失的情况下能够重新创建Data目录和所有必需的文件。
This may include the source for the AppNamePortable.exe launcher, a readme.txt file detailing the usage of the launcher, license information and other files.
  Other :包含不被其他目录时用的文件。在Other这个文件夹下有附加图片和用于help.html的一些文件,他们共同存在于主目录appnameportable下。在Help这个子目录下,保存有帮助文件的图片。
  任何源代码或者源代码许可以及PortableApps.com安装程序源文件(如果需要)都包括在Source这个子目录。这可能包括appnameportable.exe启动器的资源,一个名为readme.txt的自述文件会详细的描述启动器的使用,授权信息和其他文件。
最后由 pbphoo 编辑于 2013-05-12 9:02,总共编辑了 2 次

pbphoo 红心可鉴
红心可鉴

帖子: 53
2. Appinfo.ini
便携式应用程序通过appinfo细节为PortableApps.com平台提供配置信息。在AppNamePortable\App目录下的appinfo目录包含一个appinfo.ini文件以及在菜单中使用的图标文件(在3节解释)。下面是一个appinfo.ini文件的模板:





++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[Format]
Type=PortableApps.comFormat
Version=3.0

[Details]
Name=AppName Portable
AppID=AppNamePortable
Publisher=App Developer & PortableApps.com
Homepage=PortableApps.com/AppNamePortable
Category=Utilities
Description=AppName Portable is a tool that does something.
Language=Multilingual
Trademarks=
InstallType=

[License]
Shareable=true
OpenSource=true
Freeware=true
CommercialUse=true
EULAVersion=1

[Version]
PackageVersion=1.2.0.1
DisplayVersion=1.2 Release 1

[SpecialPaths]
Plugins=NONE

[Dependencies]
UsesJava=no
UsesDotNetVersion=

[Control]
Icons=1
Start=AppNamePortable.exe
ExtractIcon=App\AppName\AppName.exe

[Associations]
FileTypes=html,htm,xhtml,xhtm,xht,shtml
FileTypeCommandLine=/Open=%1
FileTypeCommandLine-extension=/OpenExtension=%1
Protocols=http,https,gtp,gopher
ProtocolCommandLine=--protocolhandler=%1
ProtocolCommandLine-protocol=--http:%1
SendTo=true
SendToCommandLine=-multiplefiles "%1"
Shell=true
ShellCommand=/idlist,%I,%L

[FileTypeIcons]
swf=video
ttp=custom
qwe=app
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++==
appinfo.ini注解如下:
[Format] 部分:
Type是配置文件的类型(portableapps.com format只有在这里是有效的)。
文件格式的版本(目前为3)。
Version是文件格式的版本(目前为3)。

[Details]部分:
Name是你的应用程序的名字,它出现在PortableApps.com菜单。
AppID是应用程序全局的唯一ID。由PortableApps.com发布或由发布者遵守版本规则直接发布的软件通常只是没有空间的名称。由其他机构发布的应用程序一定是命名为appnameportable-example.com,其中example.com就是他们公司的域名。PortableApps.com网站上的个人发布的软件(不是PortableApps.com官方发布的)一定是命名为AppNamePortable-username,其中username就是他在PortableApps.com网站的用户名。AppIds可以包含字母,数字,时间(.),破折号(-),加号(+)和下划线(_)。
Publisher 是应用程序的发布者的名称,它会出现在接下来的PortableApps.com平台发布以及包含在程序细节窗口。如果你重新打包别人写的一个程序,也应该把他们列出来。
Homepage是便携式应用程序的主页(不是原应用程序的主页)
Category 是应用程序在PortableApps.com平台内的分类。有效的条目包括:可达性,环境,教育,游戏,图形和图片,音乐和视频,互联网,安全或事业。只有这些*精确*条目被支持和使用,而不论源程序的默认语言是什么(即使这是一个德国的应用,它应该仍然使用英文的分类)。
Description是应用程序的一个简短描述。最大支持512个文字。
Language是应用程序的有效的可用语言。如果应用程序是多语种的,它应该被指定为多个语种。语言的字符串必须是在一个特定的格式。下面的字符串是有效的:Afrikaans南非的公用荷兰语,Albanian阿尔巴尼亚语,Arabic阿拉伯语,Armenian亚美尼亚, Basque巴斯克, Belarusian白俄罗斯, Bosnian波斯尼亚, Breton布列塔尼, Bulgarian保加利亚, Catalan加泰罗尼亚语, Croatian克罗地亚语, Czech捷克语, Danish丹麦, Dutch荷兰, Efik埃菲克语, English, EnglishGB, Esperanto世界语, Estonian爱沙尼亚语, Farsi波斯语, Finnish芬兰, French法国, Galician加里西亚语, Georgian, German德国, Greek希腊, Hebrew希伯来语, Hungarian匈牙利语, Icelandic冰岛, Igbo伊博语, Indonesian印尼, Irish爱尔兰, Italian意大利, Japanese日本, Khmer高棉语, Korean韩国语, Kurdish库尔德语, Latvian拉脱维亚, Lithuanian立陶宛语, Luxembourgish卢森堡, Macedonian马其顿, Malagasy马达加斯加, Malay马来语, Mongolian蒙古语, Norwegian挪威, Norwegian Nynorsk挪威的尼诺斯克语
, Pashto普什图语, Polish波兰语, Portuguese葡萄牙语, PortugueseBR, Romanian罗马尼亚语, Russian俄语, Serbian塞尔维亚, SerbianLatin塞尔维亚文拉丁, SimpChinese简体中文, Slovak斯洛伐克语, Slovenian斯洛文尼亚, Spanish西班牙, Spanish International西班牙国际, Swahili斯瓦希里语, Swedish瑞典, Thai泰国语, TradChinese繁体中文, Turkish土耳其语, Ukrainian乌克兰, Uzbek乌兹别克, Valencian巴伦西亚, Vietnamese越南语, Welsh威尔士, Yoruba约鲁巴语。
Trademarks(可选)可以是任何应该出现的商标通知。例如,HappyApp是Acme有限公司的一个商标。
The InstallType will be shown within the PortableApps.com Platform in the app's details.
installtype(可选)如果你想让你的程序作为一个特殊的安装应用类型在菜单中列出。对于某些应用程序(如Mozilla Firefox)其封装语言可能是在这行中指定。安装程序存在可选组件时,这一行可以基于installer.ini规定的细节进行安装程序的自动更新(见下文)。安装类型将会在PortableApps.com平台在应用程序细节中显示。
在[License]部分:(所有的值都是true 或者 false)
Shareable表示应用程序是否被允许自由复制(不包括Data目录)
OpenSource表示应用是符合OSI标准的完全开源程序
Freeware表示应用是免费的
CommercialUse表示应用程序是否被允许在商业环境中使用
EULAVersion(可选)用于注明版本的最终用户许可协议,如果你有eula.txt并且要求使用者同意安装许可。如果您使用EULA并且省略了这项,默认值为1,表示被使用。

[Version]部分:
packageversion是源安装包本身的版本号,必须是1.2.3.4这样并且没有其他字符的格式,这个版本号必须根据每个公开发行版本变化(一般是增加的)。
DisplayVersion是用户友好的版本号,一般用于描述版本。所以你常常可以看到,一个发布的应用程序可能有一个display version是2.4,用来对发行版本2进行修订,但同package version又会显示为2.4.0.2。
[SpecialPaths]部分(可选):
Plugins(可选)是应用程序的可以由使用者添加插件的目录,当然这个目录是应用程序目录的子目录(就像Firefox的插件目录一样)。当安装程序计算出升级所需的自由硬盘空间的大小时这个目录可以被排除。如果没有插件目录,此值会在appinfo.ini中被省略。
[Dependencies] (可选)
usesjava(可选)指定便携软件是否使用便携版的Java。如果需要,此值应设置为“yes”。如果不需要的话,应该留空或者设置为“no”。如果Java添加可选功能但不是正常操作需要的这个值应该设置为设置为“optional”。不推荐将值设置为true/false,即使你这样设置了,最终还是会被识别为yes/no。
If it needs the full framework, that can be specified as 4.0F. If .NET is not needed, this value should be omitted.
usesdotnetversion(可选)指定软件运行所需要的最低版本的.NETFramework。如果需要,应将该值设置为应用程序要求的最低版本(例如:1.1,2,3,3.5,4)。如果对一个特定的版本,service pack是必需的,它可以增加版本号后(例如:2.0sp2,3.0sp1)。如果使用4,这里假设软件只需要客户端配置文件。如果需要完整的.NETFramework,可以指定为4.0F。如果不需要.NET,此值应留空。
请注意,PortableApps.com不支持基于.NET的软件出现在我们标准的应用列表里。我们将来会把他们作为特定的 .NET版本收录在我们的应用目录里。大多数PC“裸机”是没有安装.NET的,所以需要.NET支持的便携式应用在这些电脑上是不能运行的。
[Control] :
Icons是软件在PortableApps.com菜单中显示需要的的几个图标
Start是在AppNamePortable目录执行启动应用程序的命令行。这通常是appnameportable.exe。
ExtractIcon(可选),如果应用程序的主图标不是在appinfo目录的名为appicon.ico的图标文件。这仅仅在少数特定的应用程序启动器启动程序很慢的情况下才使用。在不需要的时候,它应该被排除appinfo.ini。
In this case, the last section of the appinfo.ini file will look like:
有时,一个应用程序可以有多个图标,就像OpenOffice.org Portable。在这种情况下,该appinfo.ini文件的最后一段要像这样写:
[Control]
Icons=2
Start=AppNamePortable.exe
Start1=AppNamePortable.exe
Name1=AppName Portable
Start2=AppNamePortable2.exe
Name2=AppName Portable Other Part
Icons是显示在PortableApps.com菜单中的数个Icon图标
Start 是执行主程序的命令
Start1是第一个Icon图标文件对应的命令(常常与Start 行是一致的)
Name1是对应的菜单中第一个Icon图标文件的名称
Start2 是第二个Icon图标文件对应的命令
Name2 是对应的菜单中第二个Icon图标文件的名称
Like the main icon, ExtractIcon1, ExtractIcon2, etc can be used where legally required. These should not normally be used or included.
就像主图标一样,ExtractIcon1, ExtractIcon2等图标文件也用在正确的位置。以上这些命令一般不会被使用或包括在内。
[Associations] :(可选)
这个段落的代码允许程序告诉便携平台什么类型的文件(文档, 音频 文件等)或协议(http, torrent, etc)可以被打开。那些不需要其他任何文件或者协议协助打开的程序来说,这个段落的代码可以省略。
FileTypes (可选) 是应用程序可以打开的一个逗点隔开的文件类型的扩展列表,例如 txt, html, doc等。
FileTypeCommandLine (可选)是一个命令行参数,通过appnameportable.exe启动器正确地为应用程序打开一个文件。% 1表示在该点的文件将通过。大多数应用程序仅仅能够通过它的启动器打开一个文件,filetypecommandline是不必要的,应该被忽略。
FileTypeCommandLine-extension (可选)是一个命令行参数,通过appnameportable.exe启动器的扩展正确的打开一个给定的特定类型的文件,的应用程序来扩展为给定类型的文件打开特定文件类型(例如:filetypecommandline HTML =或filetypecommandline DOC =)。% 1表示在该点的文件将通过。filetypecommandline扩展只有在一个给定的应用程序用不同的命令打开不同的文件类型时才需要,并且将会以扩展指定覆盖标准的filetypecommandline。对于大多数应用程序,这是不必要的,应该被忽略。
Protocols (可选)是一个用逗号分隔的应用程序能够处理的协议的列表。例如http, mailto, torrent, etc.
ProtocolCommandLine (可选)是一个命令行参数,通过appnameportable.exe启动器正常打开一个协议。% 1表示在该点的文件,URL或者字符串可以通过。

ProtocolCommandLine-protocol (可选)是一个命令行参数,通过appnameportable.exe启动器的参数'protocol'来打开一种给定的协议(如:ProtocolCommandLine-http= 或者ProtocolCommandLine-torrent=)。% 1表示在该点的文件,URL或者字符串可以通过。protocolcommandline协议只有在一个程序通过不同的命令来打开不同的协议时才需要,并且将会通过指定协议覆盖标准protocolcommandline。对于大多数应用程序,这是不必要的,应该被忽略。
SendTo (optional)(可选),当设置为true,表明一个给定的应用程序是否应该显示在Windows的Send To子菜单。这个参数只在很特殊的情况下才使用(例如杀毒软件),一般应略。
SendToCommandLine (可选)是一个命令行参数,通过appnameportable.exe启动器应用程序能够对任何进程正确地处理SendTo命令。% 1表示在该点的文件/路径将通过。The %1 indicates the point at which the file(s)/path(s) will be passed.
Shell (可选),当设置为true,指示是否一个给定的应用程序是否应该可以作为一个有效的Windows外壳。只适用于非常特殊的情况,一般应略。
ShellCommandLine (可选)是一个命令行参数,通过appnameportable.exe启动器应用程序能够正确地处理由windows发送到壳的%I和%L变量。
[FileTypeIcons] :(可选)
这部分允许便携软件为[Associations]段落代码中列出的可以处理的文件类型自定义图标。这一部分只需要为PortableApps.com平台没有内置的文件类型设置图标。内置的文件类型和类别如下:
压缩包: 7z, bzip2, cab, gz, gzip, rar, tar, zip, wim, xz, z
音频: aac, aif, iff, flac, m3u, m3u8, m4a, mid, midi, mp3, mpa, ogg, pls, ra, wav, wv
calendar: ical, icalendar, ics, ifb, vcs
图表 (no defaults)
代码: ada, ads, adb, asm, asp, aspx, au3, bas, c, cmake, h, hpp, hxx, cpp, cc, cs, css, d, diff, patch, es, iss, java, js, jsp, lua, m, mak, nsi, nsh, pas, inc, pl, pm, plx, php, php3, phtml, pro, ps1, py, pyw, r, rb, rbw, rc, sql, vb, vbs, xml, xsml, xsl, xsd, wsdl
contact: vcard, vcf
数据库文件: db, odb, sqlite
镜像文件: cue, img, iso
drawing: ai, eps, odg, otp, sda, sdd, sgv, std, svg, svgz, sxd
文档: abw, djvu, doc, docm, docx, dotx, dotm, fodt, odt, ott, pdf, rtf, stw, sxw, uot, ps
电子书: azw, cbr, cbz, epub, lrf, lrx, lit, mobi
字体文件: fnt, otf, ttf
图片文件: ani, bmp, cur, ico, jpg, jpeg, gif, pcx, png, psd, tif, tiff, xcf
java: jar
presentation: odp, otp, sxi, sti, sxd, pps, ppsx, ppt, pptm, pptx, pot, sdd, sdp
电子表格: ods, ots, sxc, stc, xls, xlc, xlm, xlw, xlk, sdc, csv, xlsx, xlsm
文本: cfg, inf, ini, log, nfo, txt, text
torrent: torrent
视频: 3gp, asf, avi, flv, mp4, m4v, mpe, mpeg, mpg, mkv, mov, ogm, qt, rm, rmvb, webm, wmv
网页: html, htm, mht, mhtml, shtml, xhtml, xhtm, xht

  那些不在名单上的文件类型,[FileTypeIcons]应该包含一个条目为每个文件类型自定义图标。每个条目可以被设置一个上述的类别(档案,音频,日历等等),'app' 意味着的便携式应用的主图标被使用,'custom'表明接下来的一段代码定义的相关自定义的图标将被包含在App\AppInfo\FileTypeIcons目录。任何包含在[Associations]代码中的而没有被平台内置定义或罗列出的相关的文件类型,将默认设置为'app' 的图标。
[FileTypeIcons] 代码举例:
[FileTypeIcons]
swf=video
ttp=custom
qwe=app
AllOtherIcons=image
  在这个例子中,文件类型SWF有平台内建的视频图标表示它的文件类型,sqe文件类型将使用应用程序的主图标appicon.ico表示它的文件类型,TTP将会使用App\AppInfo\FileTypeIcons中的一个自定义图标表示他的文件类型。最后,allothericons作为所有的应用程序的图标而不是平台定义的或者在FileTypeIcons 段落定义的。这对于像看图软件那样支持上百种图像格式,不需要为每一种格式写代码或者必须使用程序的主图标的情况是很有用的。自定义图标的信息在end of the Icons section。
最后由 pbphoo 编辑于 2013-05-12 8:44,总共编辑了 1 次

pbphoo 红心可鉴
红心可鉴

帖子: 53
占楼留着编辑用

pbphoo 红心可鉴
红心可鉴

帖子: 53
占楼留着编辑用

pbphoo 红心可鉴
红心可鉴

帖子: 53
占楼留着编辑用

pbphoo 红心可鉴
红心可鉴

帖子: 53
占楼留着编辑用

Peacekeeper 两把菜刀
两把菜刀

帖子: 22
支持翻译!

pbphoo 红心可鉴
红心可鉴

帖子: 53
:( 不想干了
最后由 pbphoo 编辑于 2013-05-15 13:09,总共编辑了 1 次

pbphoo 红心可鉴
红心可鉴

帖子: 53
刚看到这个帖子:http://forum.portableappc.com/viewtopic.php?f=8&t=343&start=30&hilit=%E6%8C%96%E4%B8%AA%E5%9D%91,觉得这件事没必要进下下去了……还有就是我自己对便携软件的理解并不好,翻译质量不高,等这个坑吧!!


回到 PortableApps开发