简体   繁体   English

使用 MFC 的多语言应用程序 - 工作流程?

[英]Multilanguage applications with MFC - workflow?

We have an English-only Windows C++ application based on MFC.我们有一个基于 MFC 的纯英文 Windows C++ 应用程序。 It is still being developed, with updates being periodically sent to customers.它仍在开发中,定期向客户发送更新。

We now have a reseller who wants the ability to translate our application into other languages as needed.我们现在有一位经销商,他希望能够根据需要将我们的应用程序翻译成其他语言。 I understand the standard way of translating MFC applications is by using language-specific resource DLLs.我了解翻译 MFC 应用程序的标准方法是使用特定于语言的资源 DLL。

However, this presents a problem with updating the application.但是,这会在更新应用程序时出现问题。 When updating the functionality, we sometimes add/change/delete GUI elements and text messages.更新功能时,我们有时会添加/更改/删除 GUI 元素和文本消息。 How do we "push" these changes to people who would translate the resource DLL without them having to translate the whole DLL every time?我们如何将这些更改“推送”给翻译资源 DLL 的人,而无需他们每次都翻译整个 DLL? What is the best workflow for this?什么是最好的工作流程? Are there any tools that make developing and MAINTAINING multilanguage applications easier?是否有任何工具可以让开发和维护多语言应用程序更容易?

Are there any frameworks that could help?是否有任何框架可以提供帮助? The reseller would prefer to have a simple text file with all text strings in it, so dealing with a resource DLL is already an unwanted compromise for them.经销商更愿意拥有一个包含所有文本字符串的简单文本文件,因此处理资源 DLL 对他们来说已经是一种不必要的妥协。

Are there any good books/articles on managing multilanguage application development/maintenance?有没有关于管理多语言应用程序开发/维护的好书/文章?

I never worked in a multilanguage project, so I am not sure what to look for.我从未参与过多语言项目,所以我不确定要寻找什么。 Thanks for any suggestions :)感谢您的任何建议:)

Surely, you would keep your content, no matter how it is eventually deployed, in a source code control system.当然,无论最终如何部署,您都会将内容保存在源代码控制系统中。 So you can see the adds, changes, and deletes.因此您可以看到添加、更改和删除。

Only send the translater the changes that need to be translated.仅将需要翻译的更改发送给翻译器。 Then they send the translations back to you.然后他们将翻译发回给您。 Then you package the translation into a deployable object (eg DLL).然后将翻译打包成一个可部署的对象(例如 DLL)。

Are there any tools that make developing and MAINTAINING multilanguage applications easier?是否有任何工具可以让开发和维护多语言应用程序更容易?

Our product utilizes a large contingent of worldwide resellers, so, the product is typically translated into many languages.我们的产品拥有大量全球经销商,因此产品通常被翻译成多种语言。 We do not translate the resources directly.我们不直接翻译资源。 We have established a relationship with each reseller.我们已经与每个经销商建立了关系。 Those that want to translate are given an English dll and a list of what has changed from release to release.那些想要翻译的人会得到一个英文 dll 和一个版本列表。 Most use a tool called VisualLocalize to localize the resources.大多数使用名为VisualLocalize的工具来本地化资源。 The tool produces a localized resource dll from our English dll.该工具从我们的英文 dll 生成本地化的资源 dll。 That dll is then returned to us, or, packaged separately.然后将该 dll 返回给我们,或者单独打包。 They use this type of tool because it allows them to not only localize strings, but, also resize dialog controls if needed.他们使用这种类型的工具是因为它不仅可以本地化字符串,还可以根据需要调整对话框控件的大小。 Control size can be an issue depending on the language translation.控件大小可能是一个问题,具体取决于语言翻译。 For example, the size of a text string may be large enough to hold an English word, but, too small for some translated languages.例如,文本字符串的大小可能足以容纳一个英文单词,但对于某些翻译语言来说太小了。 While it may seem “dangerous” allowing a translator to change control sizes, we've had enough requests to do this that it's now standard practice.虽然允许翻译人员更改控件大小似乎“危险”,但我们已经收到了足够多的请求来执行此操作,现在已成为标准做法。 And, if memory serves me, this particular tool can import and export other files types which would potentially be of use in your particular case.而且,如果我没记错的话,这个特殊的工具可以导入和导出在您的特定情况下可能有用的其他文件类型。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM