一套基于LinguaPlone简化Plone中处理多语言内容的工具
项目描述
项目描述
有问题或意见请联系info (at) syslab (dot) com
从版本1.4.0开始支持Plone 4 - Plone 3的错误修复版本将在1.3.x系列中继续。
概述
slc.linguatools提供了一套旨在使处理多语言网站(尤其是有几种不同语言的网站)生活更轻松的功能。
通常,您可能需要对一个对象的全部翻译执行相同的操作。在一个有十种、二十种或更多语言的网站上,手动执行此操作已不再是可行的选项。
功能
slc.linguatools为以下用例提供支持
- 设置标题或描述
在所有翻译中设置标题/描述;直接设置为输入的字符串,或基于i18n标签和域
- 重命名对象
将所有翻译重命名为输入的id(简称)
- 设置边栏
将标准对象的边栏设置传播到所有翻译,可以是所有槽位或您选择的槽位。按槽位阻塞/解除阻塞边栏继承。
- 工作流
发布/撤回等所有翻译
- 目录重新索引
重新索引对象的所有翻译
- 删除器
删除对象的所有翻译
- 剪切和粘贴
剪切对象的所有翻译并将其粘贴到另一个文件夹
- 属性处理
在所有翻译上设置具有id、类型和值的属性。例如:将字符串属性“layout”设置为“@@my-shiny-view”。删除现有属性。
- 标记接口
在对象的所有翻译上设置或删除标记接口。可设置和删除的接口由词汇表提供,与ZMI中“接口”标签上的接口相同。
- 子类型(如果安装了p4a.subtyper)
在所有翻译上设置子类型;删除子类型
- 翻译对象
为所有可用语言创建当前对象的翻译。可以选中应复制的AT属性。如果对象是集合,则所有标准也将复制。
- 复制单个字段的值
使用上述“翻译此对象”功能并选择“翻译存在”选项,可以将单个AT字段的值复制到所有翻译,例如日期、标签(主题)和集合标准。
要求和安装
此包仅在您安装了LinguaPlone的情况下才有效且有意义。
将“slc.linguatools”添加到构建配置的eggs和zcml部分。运行buildout并重新启动实例后,转到“站点设置”->“附加产品”,选择slc.linguatools并单击“安装”。
然后将在所有可翻译对象上出现一个名为“Lingua Tools”的选项卡。
在TinyMCE中启用对语言中性文件夹的支持
如果您拥有默认的语言文件夹结构(例如由LinguaPlone的@@language-setup-folders创建),您将有一个顶层文件夹,为网站中的每种语言提供INavigationRoot(例如/en, /de, /fr等)。在这种情况下,将无法拥有一个通用的语言无关的文件夹(例如用于图像),在TinyMCE中可以访问。有关详细信息,请参阅:http://plone.org/products/linguaplone/issues/275
在此同一票据中,Robert Niederreiter提供了TinyMCE的getBreadcrumbs方法的补丁。此补丁包含在slc.linguatools中,但默认情况下未激活。要激活它,您需要设置一个名为PATCH_TINYMCE_BREADCRUMBS的环境变量。
您可以通过将以下内容添加到您的zope.conf来完成此操作
<environment> PATCH_TINYMCE_BREADCRUMBS true </environment>
如果您使用Buildout,您不想直接编辑zope.conf,因为它将被下一次buildout覆盖。相反,编辑您的buildout配置,并在[instance]部分添加以下内容
zope-conf-additional = <environment> PATCH_TINYMCE_BREADCRUMBS true </environment>
版本
此工具的第一个版本具有手动编写的BrowserView。在2009年Plone-Conference sprint期间,编写了第二个版本,该版本使用z3c form。这是通过“Lingua Tools”标签默认可见的版本。原始版本仍然可以在@@linguatools-old下访问。
文档
请参阅test/lttest.txt以获取一个指导您了解基本功能的doctest。
变更历史
slc.linguatools 更新日志
1.4.4 (2013-12-06)
在每个克隆之后添加一个提交
1.4.3 (2013-04-10)
清理,在exec_for_all_langs中不需要REQUEST obj [pysailor]
1.4.2 (2012-07-22)
切换到使用plone.app.testing而不是zope.testing [thomasw]
从Plone3-分支复制了对slc.outdated的支持 [thomasw]
将存储库从svn迁移到github [thomasw]
1.4.1 (2012-02-04)
如果项目具有text_format属性(例如文档),则在“翻译此对象”功能中将其值复制到所有翻译中 [thomasw]
将Robert Niederreiter的补丁添加到TinyMCE的getBreadcrumbs()方法中,以允许使用通用的语言无关文件夹(例如用于图像)。有关详细信息,请参阅LP问题275。此补丁需要通过环境设置激活。请参阅README.txt [thomasw]
1.4.0 (2011-07-01)
删除了依赖项的版本绑定 [thomasw]
对主要视图进行了轻微的CSS调整 [thomasw]
添加了缺失的CMF权限包导入 [thomasw]
1.4.0b1 (2011-04-08)
更新了doctest设置,以便在Plone4中运行 [thomasw]
添加了使显示表单可选的可能性,例如仅在安装了某些组件时 [thomasw]
1.3.6 (2010-07-18)
在PropertyForm中修复了错误:将unicode编码为utf-8,否则设置默认页面的属性会中断 [thomasw]
允许在python脚本中导入utils模块 [pilz]
1.3.5 (2010-03-31)
在plone.z3cform版本0.5.8中引入了一个重大变化,该变化会影响我们的产品。通过覆盖FormWrapper的update()和contents(),我们启用了对版本>=0.5.8的支持;在contents()中,我们使用一个丑陋的补丁保持了版本<=0.5.7的支持 [thomasw]
修复了1.3.3中引入的更改工作流程的损坏的doctest [thomasw]
AvailableIdsVocabulary现在只返回可翻译的项目 [thomasw]
新功能:添加和删除标记接口 [thomasw]
不要在可用语言的词汇中显示规范语言 [thomasw]
1.3.4 (2010-02-09)
在AvailableWorkflowTransitions词汇中,返回工作流程的所有可用转换,而不仅仅是针对规范状态的可用转换。规范可能已发布,而某些翻译仍然是私有的 [thomasw]
1.3.3 (2010-01-27)
重新工作了工作流程处理。现在除了“发布”之外,还可以触发当前对象上所有可用的交易 [thomasw]
“翻译此”现在有一个额外的语言字段,因此可以选择可用语言的一个子集 [thomasw]
运行了pep8脚本并修复了大多数问题 [thomasw]
1.3.2 (2009-12-17)
在linguatools.css中修复了错误:缺少关闭括号。感谢提醒,do3cc! [thomasw]
1.3.1 (2009-12-11)
针对 plone.app.z3cform 的版本固定,请更加放松 [thomasw]
1.3 (2009-11-29)
在 2009 年 Plone 大会冲刺期间进行重大改革:从静态 BrowserView 转换为 z3c form;改进了测试覆盖率;界面更清晰;更易于使用,减少输入;更容易集成新功能 [cillian, jcbrand, pilz, thomasw, Andreas Schmid]
1.2.5 (未发布)
确保在使用它创建 objectids 时 lang 是 ascii。否则,我们可能会遇到无限递归 [pilz]
哎呀,“block portlets” 又有一个错误,这次是在状态消息中 [thomasw]
为 translateThis 提供更好的状态报告;当勾选“存在翻译”时,也会复制集合标准;对未知字段的处理更优雅 [thomasw]
1.2.4 (2009-10-27)
继续修复模糊变量名的问题 [thomasw]
1.2.3 (2009-10-25)
为“block portlets”修复了 2 个错误:模糊变量名,错误的按钮名 [thomasw]
1.2.2 (2009-10-08)
在 cutAndPaste 中修复了 2 个错误(如果对象不可用,不要绝望) [thomasw]
为 ITranslatable 对象添加了 Lingua Tools 的 contenview 标签 [jcbrand]
在 lingatools.pt 中将图例移动到 fieldsets 中,添加了标签,并稍作整理 [jcbrand]
添加了删除子类型的新选项 [jcbrand]
使用默认的 plone 状态消息进行消息传递,并添加了 event.log 记录 [jcbrand]
slc.linguatools 1.2.1 (2009-08-13)
与当前版本的 LinguaPlone 兼容 [gerken/thomasw]
slc.linguatools 1.2 (2009-06-17)
为现有的 doctest linguatests.txt 建立了适当的框架 [thomasw]
slc.linguatools 1.1 (2009-05-12)
打包 egg [pilz]
slc.linguatools 1.0 (2008-03-31)
初始移植
致谢
贡献者
Andreas Schmid (TIS Innovation Park):jquery 切换
Robert Niederreiter:TinyMCE 的 getBreadcrumbs 补丁
待办事项
为“Cut & Paste”找到并使用一个对象选择小部件 - 输入目标路径很丑。
区分全局函数(例如,设置标题)和仅在文件夹上才有意义的函数(例如,删除)。
在控制面板中添加一个配置页面,以便管理员可以选择可用的功能(例如,排除 Marker Interface 功能)
项目详情
slc.linguatools-1.4.4.zip 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 37af1b9d9fb9bbfae64759cfc59f457912f82e5c7e00e2e18f9f1f3d104d252d |
|
MD5 | 3505ea9d1054492bbe2e690cfdf4f7e0 |
|
BLAKE2b-256 | 68bf3e232f566cefdc830c14d8b1001cde13c1256ab85f421d26fe14b6fa7931 |