# resxtranslator **Repository Path**: DogGodGit/resxtranslator ## Basic Information - **Project Name**: resxtranslator - **Description**: 非开发人员的工具,可以将.NET项目中的资源文件(resx)快速并行翻译为多种语言。并行显示所有资源和所有翻译字符串的树状视图,每种语言一列。 VS2015或更高版本推荐。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master_zh-CN - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-12-25 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 译文 ## Resx翻译器 非开发人员的工具,可以将.NET项目中的资源文件(resx)快速并行翻译为多种语言。并行显示所有资源和所有翻译字符串的树状视图,每种语言一列。 VS2015或更高版本推荐。 ## 下载 检查或在任何现代版本的Visual Studio中编译源代码。 --------------------------------------------------------------------------------------------------------------------------------------------- ## 使用指南 [百度翻译开放平台](https://fanyi-api.baidu.com/) [百度翻译通用翻译 API 定价文档](https://fanyi-api.baidu.com/product/112) 0.百度翻译需要设置 _ResxTranslator.exe.config_ 中的 **BaiduAppID**, **BaiduSecretKey** ``` 20160320000016075 NYNXVfXdJ2Wp9ysC0MJd ``` 1.启动Resx资源翻译器,转到“文件/打开”菜单选项,然后浏览到Visual Studio项目的根目录(基本上是SLN文件所在的位置)。该工具现在将遍历所有子文件夹并查找resx文件。**请注意,它不使用SLN或项目文件,它只是在搜索扩展名为resx的文件** ![Main window preview](https://cloud.githubusercontent.com/assets/14913904/14054215/c82f9c82-f2d7-11e5-9e7b-9de37814408a.PNG) 2.现在,左侧面板将显示所有找到的资源的树状视图。通过双击树节点打开资源。然后,您将在屏幕的右侧看到该文件中的所有资源字符串。 ![Translating preview](https://cloud.githubusercontent.com/assets/14913904/14054214/c82ecece-f2d7-11e5-9a90-866dee7bc0be.PNG) 3.顶部将显示为此resx文件标识的翻译语言。 Resx资源转换器将演示文稿基于通用的resx文件,而默认情况下不进行任何转换(在此应用程序中称为“无语言值”)。这可以是机器翻译的或半翻译的。然后,它将标识该文件的所有其他语言,并在顶部显示一个列表,每种语言都有一列。您可以使用复选框从网格中隐藏语言。 您可以在不同的资源之间导航,而无需保存,也不会丢失工作。所有内容都保留在内存中,直到您选择文件/保存。 ## 列 * Key - 这是您的应用程序中使用的内部密钥。无法在ResxTranslator中对其进行修改。 * No Language Value - resx文件中的字符串值(无语言标识符) * en, etc - 翻译后的值 * Comments - 在应用程序中永远不会显示的注释,但可以帮助翻译人员理解其含义。我用它列出了在**string.Format**中使用的参数。 红色的行表示一种或多种语言缺少值。我在这里有一个特殊情况,其中值周围的{"[]"}表示未翻译。例如,如果我尚未完成 _ErrorHeader_ 值的转换,则只需在该语言下输入{"[ErrorHeader]"}。这样,当我使用该值进行开发时,仍然会看到一些东西,但是Resx翻译器将显示为红色,因为由于括号而没有翻译。 ## Credit 非常感谢我的朋友彼得·沃林(_Peter Wallin_),他鼓励了这种开发并帮助进行了测试。 再次感谢 _JorgenLindell_ 对该项目的进一步开发! 非常感谢 _Marcin Szeniak_ 将其更新为2.0版,并增加了许多新功能! ## 原文 ## Resx Resource Translator Tool for non-developers to quickly translate resource files (resx) in .NET projects to multiple languages in parallel. Shows a tree view of all resources and all translation strings in parallel, one column per language. VS2015 or newer recommended. ## Download [Check the Releases](https://github.com/HakanL/resxtranslator/releases) or compile the source code in any modern version of Visual Studio. ## Screenshots ![Main window preview](https://cloud.githubusercontent.com/assets/14913904/14054215/c82f9c82-f2d7-11e5-9e7b-9de37814408a.PNG) ![Translating preview](https://cloud.githubusercontent.com/assets/14913904/14054214/c82ecece-f2d7-11e5-9a90-866dee7bc0be.PNG) ## Usage guidelines Launch the Resx Resource Translator, go to the File/Open menu option and browse to the root of your Visual Studio project (basically where your SLN file is located). The tool will now iterate thru all sub folders and look for resx files. _(Note that it's not using the SLN or project files, it's just looking for files with file extension resx)._ The left panel will now show a tree view of all found resources. You open a resource by double clicking the tree node. You will then see all resource strings in that file in the right part of the screen. The top part will show the translated languages identified for this resx file. The Resx Resource Translator bases the presentation on a generic resx file without any translation as the default (called No Language Value in this application). This can be machine-translated or semi-translated. Then it identifies all other languages for that file and displays a list on top with a column for each language. You can hide a language from the grid with the check boxes. You can navigate between the different resources without saving and without losing your work. Everything is kept in memory until you select File/Save. ## Columns * Key - this is the internal key that is used in your application. It can't be modified in the ResxTranslator. * No Language Value - the string value from the main resx file (without a language identifier) * en, etc - the translated value * Comments - comments that is never visible in the application, but can help translators understand what is meant. I use it to list what parameters I use in _string.Format_. The rows that are red means one or more languages are missing values. I have a special case in here where {"[]"} around a value means it's not translated. For example if I haven't done the translation for the _ErrorHeader_ value then I just enter {"[ErrorHeader]"} under that language. That way I will still see something when I develop using that value, but the ResxTranslator will show it red since it's not translated because of the brackets. ## Credit A big thanks to my friend _Peter Wallin_ who encouraged this development and helped with testing. Another huge thanks for JorgenLindell for further development of this project! Enormous thanks to Marcin Szeniak to updating this to version 2.0 with a lot of new functionality!