C# PIE-SDK二次开发界面汉化方法

那些最好的程序员不是为了得到更高的薪水或者得到公众的仰慕而编程,他们只是觉得这是一件有趣的事情!

C# PIE-SDK二次开发界面汉化方法

    • 🍀前言
    • 🌸配置方法
      • 🍕拷贝语言包文件夹
      • 🍔增加窗体代码
      • 🍟运行效果截图
    • 🌹 结语
    • 📧Summary


📆Date: 2023年11月26日
🎬Author: 小 y 同 学
🔖Language: C#


  C#进行PIE-SDK二次开发时界面窗口汉化教程。笔者也是对这个问题耿耿于怀了几个月,终于在技术支持的点拨下偶然领悟了汉化方法,特此记录。

🍀前言

  PIE-SDK是航天宏图自主研发的PIE二次开发组件包,集成了专业的遥感影像处理、辅助解译、信息提取、专题图表生成、二三维可视化等功能,支持C++、C#、Python等主流开发语言。

  如果你在PIE二次开发过程中遇到一些界面(如图层属性、探针工具)是英文的状态,如下图,那么此文章适合你阅读。

图层属性未汉化界面

探针工具未汉化界面

🌸配置方法

  界面的汉化主要包含拷贝语言包文件夹增加窗体代码两个步骤。

🍕拷贝语言包文件夹

  1. 寻找语言包文件夹
    在PIE-SDK安装目录下找到Language文件夹,该文件夹内包含有PIE的汉化包。需要注意的是:Bin目录下放置的是.exe可执行文件,Language文件夹是在.exe文件上一级目录(也就是当前页面)存放。

Language文件夹位置

  1. 找到自己项目启动文件夹
    在VS开发环境中,【单击】自己的窗体项目->【右键】->【属性】->【生成】,输出路径即为项目启动文件夹,也就是项目.exe文件所在位置。

VS属性配置页面

  1. 复制文件夹
    复制Language文件夹到自己项目的.exe可执行文件的上一级目录,至此拷贝语言包文件夹工作完成。

拷贝后的项目启动文件夹


🍔增加窗体代码

  1. 在主窗体的构造函数中添加如下代码
 //汉化PIE.Controls.LanguageManager.GetInstance().InstallTranslator();PIE.Controls.LanguageManager.GetInstance().InstallFonts();
  1. 窗体代码添加完毕

🍟运行效果截图

图层属性汉化界面

探针工具汉化界面

🌹 结语

  1. 汉化的原理大致是:添加的两行代码,在启动文件上一级目录下寻找Language文件夹下面的语言包,如果没有找到,程序是不会报错的,当然也是没有汉化效果的,这也是为什么明明添加的汉化代码却没有效果的原因。
  1. 个人认为难点之一在于拷贝语言包文件夹,以及如何找到项目启动文件夹。最简单粗暴的方法之一是:删掉编译文件夹,然后重新生成一下项目,在新生成的文件夹中找到答案。
  1. 本人也是测绘遥感方向的学习者,愿意结交志同道合的伙伴,对于PIE-SDK二次开发的相关问题可在一定程度上提供帮助。

📧Summary

  有兴趣一起学习编程的小伙伴可以私聊小y一起学习,小y在Python,c/c++,C#和matlab语言上均有一定的基础😜😜😜


  • 路虽远,行则将至;事虽难,做则必成。希望认真学习的你能够有所收获!

  • 如果本文有幸可以帮到您,欢迎您的点赞、收藏与关注,您的点赞、收藏与关注是我创作的最大动力!


微信公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/206526.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XXL-Job详解(二):安装部署

目录 前言环境下载项目调度中心部署执行器部署 前言 看该文章之前,最好看一下之前的文章,比较方便我们理解 XXL-Job详解(一):组件架构 环境 Maven3 Jdk1.8 Mysql5.7 下载项目 源码仓库地址链接: https://github.…

Kotlin学习——kt里面的函数,高阶函数 函数式编程 扩展函数和属性

Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…

js提取iconfont项目的图标

iconfont 可以让我们轻松使用字体图标,比如使用 iconfont 提供的 js,就可以愉快的码代码了。 //at.alicdn.com/t/c/font_xxxxx.js通常公司会有提供一套图标供所有系统使用,比如图标库里有 1000 个图标,但某个项目只需要使用 10 个…

五种多目标优化算法(MOPSO、MOAHA、NSGA2、NSGA3、MOGWO)求解微电网多目标优化调度(MATLAB)

一、多目标优化算法简介 (1)多目标粒子群优化算法MOPSO 多目标应用:基于多目标粒子群优化算法MOPSO求解微电网多目标优化调度(MATLAB代码)-CSDN博客 (2)多目标人工蜂鸟算法(MOAHA…

Transformers实战——文本相似度

文章目录 一、改写文本分类1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型6.创建评估函数7.创建 TrainingArguments8.创建 Trainer9.模型训练10.模型评估11.模型预测 二、交互/单塔模式1.导入相关包2.加载数据集3.划分数据集4.数据集预处理5.创建模型&#xff…

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

语音机器人的两种常见业务场景

第一个业务场景 之前写过一篇语音机器人是真人录音好,还是TTS转语音更好的文章。今天再来说一说TTS一个很细微的场景。 假设一句话 这里是*****银行委托机构,您在*****银行的信用卡长期逾期至今仍未依照约定履行还款义务,为避免逃废债给您…

解决keil右键Go To Definition跳转不过去的问题

解决: 在魔法棒中如图所示打上√

Rust UI开发(三):iced如何打开图片(对话框)并在窗口显示图片?

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第三篇,前两篇的链接: 1、Rust UI开发(一):使用iced构建…

C语言进阶之笔试题详解(2)

前言 这里的内容包括二维数组笔试题和指针笔试题,供给读者对这部分知识进行加深和巩固。 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 前言 笔试题 二维数组 题目…

VR Interaction Framework2.0使用

1 按键 ,比如按压下手柄的B键 if (InputBridge.Instance.BButtonDown){print("kkkkkkbbbbb456");} 2抓取某个物体,那么就在要抓取的那个物体上加一些组件,特别是Grabble Unity Events 其中UIExAmple为XR Demo自带的 UI wer:我挂的…

中国毫米波雷达产业分析4——毫米波雷达企业介绍

一、矽典微 (一)公司简介 矽典微致力于实现射频技术的智能化,专注于研发高性能无线技术相关芯片,产品广泛适用于毫米波传感器、下一代移动通信、卫星通信等无线领域。 整合自身在芯片、系统、软件、算法等领域的专业能力&#xf…

【JavaEE】多线程 -- 死锁问题

目录 1. 问题引入 2.死锁问题的概念和原因 3. 解决死锁问题 1. 问题引入 在学习死锁之前, 我们先观察下面的代码能否输出正确的结果: 运行程序, 能正常输出结果: 这个代码只管上看起来, 好像是有锁冲突的, 此时的 locker 对象已经是加锁的状态, 在尝试对 locker 加锁, 不应该…

Ubuntu下载离线安装包

旧版Ubuntu下载地址 https://old-releases.ubuntu.com/releases/ 下载离线包 sudo apt-get --download-only -odir::cache/ncayu install net-tools下载snmp离线安装包 sudo apt-get --download-only -odir::cache/root/snmp install snmp snmpd snmp-mibs-downloadersudo a…

unity Terrain 性能问题

在实践过程中unity发生进入场景GPU爆显存的情况,经过调查发现是使用Terrain造成的问题,这个问题在使用一个Terrain的时候并不会发生,但是在使用多个时会发生。 似乎在使用过程中Terrain会直接把Terrain的整个地图加载,造成移动设…

Ubuntu+Tesla V100环境配置

系统基本信息 nvidia-smi’ nvidia-smi 470.182.03 driver version:470.182.03 cuda version: 11.4 查看系统体系结构 uname -aUTC 2023 x86_64 x86_64 x86_64 GNU/Linux 下载miniconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CM&OA https://mi…

Dockerfile讲解

Dockerfile 1. 构建过程解析2. Dockerfile常用保留字指令3. 案例3.1. 自定义镜像mycentosjava83.2. 虚悬镜像 4. Docker微服务实战 dockerfile是用来构建docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 dockerfile定义了进程需要的一切东西&…

[蓝桥杯习题]———位运算、判断二进制1个数

⭐Hello!这里是欧_aita的博客。 ⭐今日语录:行动胜过一切。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法(内含蓝桥杯习题) MySQL数据库 位运算 位运算位运算的定义简单运用 实战刷题题目思路代码实现声…

flutter,uni-app开发调试ios

一、申请ios开发者账号 二、ios开发者配置 ios 开发者需要配置的地方 https://developer.apple.com/account/resources/certificates/list Certificates(证书): 作用: 证书用于对应用程序和开发者进行身份验证,确保安全性和可…