在Ubuntu中,字符串资源主要存储在**.po**(可编辑文本格式)和**.mo**(编译后的二进制格式)文件中,用于系统或应用程序的本地化显示。以下是详细的编辑步骤及注意事项:
字符串资源通常位于以下目录:
/usr/share/locale/<语言代码>/LC_MESSAGES/(如中文简体的路径为/usr/share/locale/zh_CN/LC_MESSAGES/,其中包含messages.po等文件);/usr/share/applications/(如.desktop文件)或应用自身的locale目录(如/opt/appname/locale/)。ls /usr/share/locale/命令查看系统支持的语言目录。sudo cp /usr/share/locale/zh_CN/LC_MESSAGES/messages.po /usr/share/locale/zh_CN/LC_MESSAGES/messages.po.bak
gettext工具包(包含msgfmt编译工具),通过以下命令安装:sudo apt install gettext
nano、vim)打开目标.po文件(需管理员权限):sudo nano /usr/share/locale/zh_CN/LC_MESSAGES/messages.po
msgid(原始字符串)和msgstr(翻译/修改后的字符串)成对出现。找到需要修改的msgid,编辑其对应的msgstr值(保留引号)。例如:msgid "File"
msgstr "文档" # 将"File"修改为"文档"
nano中按Ctrl+O保存,Ctrl+X退出。系统实际读取的是.mo格式的二进制文件,需将修改后的.po文件编译为.mo:
msgfmt /usr/share/locale/zh_CN/LC_MESSAGES/messages.po -o /usr/share/locale/zh_CN/LC_MESSAGES/messages.mo
编译成功后,.mo文件会自动生成在相同目录下。
若需修改特定应用(如GNOME终端)的名称、描述等字符串,可直接编辑其.desktop文件:
.desktop文件位于/usr/share/applications/,用户级位于~/.local/share/applications/(优先级更高)。例如:sudo nano /usr/share/applications/gnome-terminal.desktop
Name=(应用名称)、Comment=(描述)等字段,修改其后的值。例如:Name=我的终端 # 将"Terminal"修改为"我的终端"
Comment=自定义终端应用
若不熟悉命令行,可使用Poedit可视化编辑.po文件:
sudo apt install poedit
msgstr字段,点击“保存”即可自动生成.mo文件。sudo提升权限;通过以上步骤,可在Ubuntu中灵活编辑字符串资源,满足个性化或本地化需求。