Ubuntu Strings本身并非專門的國際化工具,但Ubuntu系統借助gettext庫等實現多語言支持,其工作方式如下:
- 標記字符串:在源代碼中使用gettext函數(如
_("Hello, world!"))標記需翻譯的字符串。
- 提取字符串:用xgettext工具從源代碼中提取標記的字符串,生成.pot模板文件。
- 創建翻譯文件:將.pot文件復制到特定目錄,為每種語言創建.po文件,在其中添加對應語言的翻譯。
- 編譯翻譯文件:使用msgfmt工具將.po文件編譯成二進制的.mo文件,供程序運行時加載。
- 加載翻譯:程序加載相應的.mo文件,根據用戶的語言環境顯示翻譯后的字符串。
此外,Ubuntu還提供l10n - messages等工具提取合并翻譯文件,debconf - l10n軟件包含應用程序的翻譯文件,幫助實現多語言支持。