什么是用于输入文本标记的合并友好格式
Posted
技术标签:
【中文标题】什么是用于输入文本标记的合并友好格式【英文标题】:What is a merge friendly format for entering text tokens 【发布时间】:2011-03-15 07:35:26 【问题描述】:我有一个 excel 列表(excel 2003),用户可以在其中输入标记的翻译。它有 3 列 (键、值、语言)。它可以是键:Login.Header,值:“请登录网站”语言:en.
这很好用。我使用此文件在使用大量文本图形的网站中生成特定于语言的图像。好处是用户可以在不安装新软件的情况下输入文本,编辑很好,生成的文件可以通过我的 python 脚本轻松读取。
有一个我不喜欢的想法:如果 2 个用户编辑文件并进行大量更改,那么合并将成为一场噩梦。
有没有在我描述的领域和excel一样好的编辑解决方案,但可以更容易地合并?
编辑
到目前为止的答案解释了源代码控制系统如何在这种情况下提供帮助。但我已经有了 SVN。
问题是关于文件格式的。有些文件格式很容易与 winmerge 之类的客户端合并(例如 java 或 c# 后端类的源代码),还有一些难以合并的文件格式(xml,由代码生成生成的文件)。 xls - 可以区分 excel 2003 的文件,但它仍然不是合并的好格式。
我认为有一个不同的应用程序(例如 apple works、open office、excel 2010 ..)可以让我编辑表格但可以更轻松地合并。
【问题讨论】:
【参考方案1】:任何类型的平面文件都很容易合并。
如果您想坚持使用 Excel,编写一个将单元格内容导出到平面文件中的宏并不难。为了可用性,您可以使宏也以原生 Excel 格式保存工作表以供将来编辑。如果您在工作表上放置一个按钮并将其链接到宏,则用户可以通过单击该按钮轻松导出并保存文件。
【讨论】:
【参考方案2】:有没有在我描述的领域和excel一样好的编辑解决方案,但可以更容易地合并?
也许不完全是预期的答案,但避免合并和冲突问题的最佳方法显然是避免不得不合并。我会考虑使用协作编辑解决方案来避免处理文件的各种版本:
如果您的所有用户都在同一个网络(LAN、***)上,那么想到的第一个解决方案是将唯一的 Excel 文件放在网络共享上并激活 Shared Workbook 选项。这工作得很好,如果发生冲突,用户会收到一个冲突解决对话框提示。
如果这不是一个选项,那么您可以将电子表格放在 Google 文档上。 Google Docs 非常适合协作工作(很容易配置谁可以访问文档,您可以看到当前连接的用户列表,协作版就可以了)。然后在完成后导出电子表格进行处理。
使用协作式文本编辑器,如 Gobby(多平台)并处理原始 CSV 文件。不过,这对用户来说不是很友好,尤其是对于非技术人员,而且容易出错。我赞成上述解决方案。
【讨论】:
共享工作簿听起来不错。我会试试的。【参考方案3】:让用户像现在一样使用 Excel 文件,但将数据保存在受版本控制的纯文本文件(可能是 csv)中。那么你只需要:
一个用于将文本文件转换为 Excel 以提供给用户的小 Python 脚本。
一个用于将完成的 Excel 文件转换回文本的小 Python 脚本。这需要对数据进行一致的排序(例如,在键和语言上)以简化合并。
【讨论】:
【参考方案4】:一种方法是将此 Excel 文件导出为 XML 或 CSV。比使用 Excel 编辑文本类型文件而不是默认的二进制格式 xls
。
还可以考虑将一个大文件拆分为多个文件。这减少了两个人想要处理同一个文件的机会。
将其置于源代码管理之下,并向您的用户介绍源代码管理的基础知识。 Let uses 将负责合并文件。 SVN 将非常适合这项任务,因为它是一个集中的解决方案,而不是一个非常复杂的解决方案。为普通用户使用漂亮的GUI。
使用集中式源代码控制,您可以引入锁定。它允许您在一个用户打开文件后拒绝写入访问,这样只有一个用户可以同时编辑文件。
【讨论】:
【参考方案5】:Excel 的一个鲜为人知/使用过的功能是“共享工作簿”功能。您可以在工具 -> 共享工作簿下找到它。只需单击“允许更改...”复选框,即可在“高级”选项卡中进行微调。
这是让多个用户将编辑应用到工作表的最佳选择,并且适用于两种情况:
-
每个人都下载 XLS 的副本并自行编辑,然后上传回某个位置。然后,您可以将其与原始文件合并。
每个人都打开同一个 XLS 副本并同时进行编辑。然后,您可以合并任何/所有更改。
【讨论】:
【参考方案6】:合并通常很痛苦。一些版本控制系统可以为您完成大部分工作,合并非冲突更改并在两者都尝试更改相同标记时提示用户。
Tortoise(SVN 或 Hg)具有合并功能,可以轻松完成此操作。但我是以开发人员的身份发言——我在向非开发人员引入版本控制时遇到了很多困难,即使是那些不使用 CD 托盘作为杯架的有能力的人也是如此。 :)
您可以考虑将一个大文件拆分为多个文件。这减少了两个人想要处理同一个文件的机会。一旦一个用户打开文件,也有可能拒绝写访问,这样只有一个用户可以同时编辑一个文件。
【讨论】:
以上是关于什么是用于输入文本标记的合并友好格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Codeigniter 重定向 SEO 友好的 url?