input文本标记的合并格式是什么?

我有一个excel列表(excel 2003),用户input令牌的翻译。 它有3列(键,值,语言)。 它可以是关键的东西:Login.Header,值:“请login到网站”language:en。

这工作得很好。 我使用这个文件在一个网站中生成语言特定的图像,使用大量的文字graphics。 好的是用户可以在不安装新软件的情况下input文本,编辑很好,并且可以通过我的python脚本轻松读取生成的文件。

有一个人觉得我不喜欢:如果2个用户编辑文件,并有很多的变化比合并得到一个噩梦。

有没有一个编辑解决scheme,在我所描述的领域一样好,但可以更容易合并?

编辑

到目前为止的答案解释了一个源控制系统如何在这种情况下提供帮助。 但是我已经有了SVN。

问题是关于文件格式。 有一些文件格式很容易与winmerge这样的客户端(如java或c#后端类的源代码)合并,还有一些很难合并(xml,代码生成的文件)。 xls – excel 2003的文件可以被区分,但它仍然没有很好的合并格式。

我认为有一个不同的应用程序(像苹果作品,开放办公室,Excel 2010 ..)让我编辑一个表,但可以更容易地合并。

有没有一个编辑解决scheme,在我所描述的领域一样好,但可以更容易合并?

也许不完全是预期的答案,但避免合并和冲突问题的最好方法显然是避免合并 。 我会考虑使用协作编辑解决scheme,以避免不得不处理文件的各种版本:

  • 如果您的所有用户都在同一个networking(LAN,VPN)上,那么首先想到的解决scheme就是在networking共享上放置一个唯一的Excel文件并激活共享工作簿选项。 这工作得很好,如果发生冲突,会提示用户使用冲突解决对话框。

  • 如果这不是一个选项,那么你可以把你的电子表格放在Google Docs上。 Google Docs对于协作性工作非常有效(可以很容易地configuration谁可以访问文档,您可以看到当前连接的用户列表,协作版本正常工作)。 然后只需导出电子表格进行处理。

  • 使用Gobby (多平台)等协作文本编辑器,并使用原始CSV文件。 尽pipe这对于非技术人员来说并不是很方便,并且容易出错。 我喜欢上述解决scheme。

一种方法是将这个Excel文件导出为XML或CSV。 比使用Excel编辑文本types的文件,而不是xls的默认二进制格式。

另外考虑把一个大文件分成几个文件。 这减less了两个人想要在同一个文件上工作的机会。

将其置于源代码pipe理之下,并向用户介绍源代码pipe理的基本知识。 让用户将负责合并文件。 SVN对于这个任务来说是相当明智的,因为它是一个集中的,而不是一个非常复杂的解决scheme。 为普通用户使用一个不错的GUI 。

有了一个集中的源代码控制,你可以引入locking。 它允许您拒绝一个用户打开文件的写入权限,以便只有一个用户可以同时编辑文件。

合并往往是一个痛苦。 某些版本控制系统可以为您完成大部分工作,合并非冲突的更改并在两者都试图更改同一标记时提示用户。

龟(SVN或汞)融合function,使这种无痛。 但是我是以开发人员的身份发言的 – 我向非开发人员介绍版本控制方面遇到了很多困难,即使是那些不使用自己的CD托盘作为杯托的胜任者也是如此。 🙂

你可以考虑把一个大文件分成几个文件。 这减less了两个人想要在同一个文件上工作的机会。 一旦一个用户打开文件,也有可能拒绝写入访问,这样只有一个用户可以同时编辑一个文件。

Excel的一个小知名/使用function是“共享工作簿”function。 你可以在工具 – > 共享工作簿下find它。 只需点击“允许更改…”checkbox,您就可以微调“高级”选项卡。

这是禁止多用户将编辑应用于工作表并在两种情况下工作的最佳select:

  1. 每个人都会下载XLS副本并进行编辑并上传到某个位置。 然后,您可以将其与原始文件合并。
  2. 每个人都打开XLS的相同副本,并同时进行编辑。 然后您可以合并任何/所有更改。

让用户像现在一样使用Excel文件,但在版本控制下将数据保存为纯文本文件(可能是csv)。 那么你只需要:

  • 一个小的python脚本将文本文件转换为Excel以提供给用户。

  • 一个小的Python脚本将完成的Excel文件转换回文本。 这需要对数据进行一致的sorting(关键和语言),以简化合并。

任何types的平面文件都会很容易合并。

如果你想坚持使用Excel,编写一个将单元格的内容导出到平面文件的macros是不难的。 为了便于使用,您可以使macros也以本机Excel格式保存工作表以供将来编辑。 如果您在工作表上放置了一个button并将其链接到macros,用户可以通过点击button轻松地导出和保存文件。