|
||
---|---|---|
.vs | ||
DataBase | ||
SGGL | ||
code | ||
img | ||
需求说明 | ||
.gitignore | ||
CreateModel.bat | ||
CreateModel2017.bat | ||
ReleasePacker.bat | ||
ReleasePacker2017.bat | ||
ReleasePackerALL.bat | ||
ReleasePackerALL2017.bat | ||
readme.md | ||
读我.doc |
readme.md
对.net项目进行整体的国际化
整体思路
-
手动处理的方式,面对整体项目文件较多时效率有限,
-
举例来说,总数为20000+需要替换的地方
-
其中大部分为重复的替换操作。
-
生成的资源文件Chinese2English.rar
-
替换资源时的参考代码replase3.py
目前欠缺
半自动化处理流程一览
具体操作步骤
- 判断页面总量,参考img/项目总览.png
- 查看代码判断哪些部分需要进行处理
- aspx文件
<view>标题</view> <asp:Literal runat="server" Text="<%$ Resources:Lan,{new_text}%/>
<text="标题"/> <%$ Resources:Lan,{new_text}%>
- aspx.cs 文件中的提示词
- Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
- 下拉框的 "请选择"
-
参考res.resx 文件的写法,使用工具生成对应文件的资源文件,拿通义灵码举例:指定代码后使用promote
为了实现 这个文件的国际化,我们需要为文件中的所有静态文本添加资源文件中的键值。 以下是 Lan.zh-CN.resx 和 Lan.en.resx 文件中需要添加的资源项。 输出参考:<!-- InstallationSave.aspx --> <data name="InstallationSave_txtInstallationCode_Label" xml:space="preserve"> <value>装置/单元编号</value> </data> <data name="InstallationSave_txtInstallationName_Label" xml:space="preserve"> <value>装置/单元名称</value> </data> 不需要给出aspx文件,但是需要注意所有会被展示的中文文本都需要国际化,比如说单位。 请使用注释标明文件名。不需要给出修改后的aspx文件。 name的前缀为文件名,不允许使用中文, 如果我输入1,代表之前的输出很满意,请继续按照之前的方式输出。
- 查看代码判断哪些部分需要进行处理
-
获得中英文资源类似
<data name="StartWorkReport_Title" xml:space="preserve"><value>开工报告</value></data> <data name="StartWorkReport_SearchPlaceholder" xml:space="preserve"><value>按名称查询</value></data> <data name="StartWorkReport_Search" xml:space="preserve"><value>查询</value></data> <data name="StartWorkReport_New" xml:space="preserve"><value>增加</value></data> <data name="StartWorkReport_Edit" xml:space="preserve"><value>修改</value></data> <data name="StartWorkReport_Delete" xml:space="preserve"><value>删除</value></data> <data name="StartWorkReport_DeleteConfirm" xml:space="preserve"><value>确定要删除数据吗?</value></data> <data name="StartWorkReport_SerialNumber" xml:space="preserve"><value>序号</value></data> <data name="StartWorkReport_FileCode" xml:space="preserve"><value>编号</value></data> <data name="StartWorkReport_FileName" xml:space="preserve"><value>名称</value></data> <data name="StartWorkReport_UploadManName" xml:space="preserve"><value>编制人</value></data> <data name="StartWorkReport_UploadDate" xml:space="preserve"><value>上传日期</value></data> <data name="StartWorkReport_Remark" xml:space="preserve"><value>备注</value></data> <data name="StartWorkReport_AttachmentView" xml:space="preserve"><value>附件查看</value></data> <data name="StartWorkReport_PageSize" xml:space="preserve"><value>每页记录数:</value></data> <data name="StartWorkReport_WindowTitle" xml:space="preserve"><value>页面编辑</value></data>
注意:首次获得的返回资源非常重要一定要调整到正确,之后每次输入1即可。
-
使用资源文件对代码进行替换 参考代码见code文件夹 replace3.py
-
将中英文两份资源文件复制到 lan.resx Lan.en-US.resx Lan.zh-CN.resx 等资源文件并确认能否正常显示
-
如果存在资源名称重复可以使用rename.py ,注意name的大小写在resx文件中是不敏感的
-
运行代码,然后查漏补缺!!!
-
aspx.cs文件中由于重复度相对比较高,建议使用python代码 进行批量替换操作然后再查漏补缺
操作流程
- 查看需要进行国际化的部分
- 生成资源文件,建议批量处理。
- 使用python代码通过资源文件,批量替换代码中的关键词
- 生成的资源文件整合进项目文件
- 运行并查漏补缺。