什么是 Ubuntu 本地化映像以及如何创建映像?

Jor*_*tro 9 locoteams translation locale

我听说可以用不同的语言构建自定义版本的 Ubuntu。这些是什么,我该如何制作?

Dav*_*lla 14

什么是 Ubuntu 本地化映像?

由于空间限制,可从 ubuntu.com 下载的官方 Ubuntu 安装 CD(也称为 ISO 映像)仅包含 Ubuntu 可用的多种语言中的少数几种。然后可以在安装期间或之后下载任何其他语言。

本地化图像是原始媒体的定制版本,经过修改以包括特定语言的翻译或与特定位置相关的其他修改。

它们可以在安装时获得母语支持,而无需有效的 Internet 连接。除了语言之外,它们还支持自定义 Ubuntu 的其他方面,使其与特定文化或地区更相关。

如何创建本地化图像?

设置工具

设置默认包

下一步是创建一个默认包,其中包含您的语言的所有自定义。此包将用作包含构建最终映像的参数的模板。

现在运行构建脚本来创建默认包:

ubuntu-defaults-template {defaultspackagename}
cd {defaultspackagename}
Run Code Online (Sandbox Code Playgroud)

请记住替换{defaultspackagename}为您的包的名称。包名称的约定是ubuntu-defaults-{locale},其中{locale}是您的语言环境的2 个字母或 3 个字母的 ISO 639-2 代码。例如,加泰罗尼亚语地区的默认包将是ubuntu-defaults-ca

此时,您可以在该目录中的 .txt 文件中将所有相关设置修改为您的语言环境。它们都有文档记录并包含示例。

构建默认包

您在上一步中创建的是一个源包,您现在需要构建它以使其成为可安装的包。

现在运行以下命令来构建包:

dpkg-buildpackage
Run Code Online (Sandbox Code Playgroud)

如果一切顺利,您将拥有一个.deb在父文件夹上带有扩展名的包。就像是myprojectdefaults_0.1_all.deb

从本地包构建您的 ISO 映像

现在运行命令来创建图像。您将需要可用的 Internet 连接和几 GB 可用空间才能运行该命令。这将需要几分钟才能完成-

ubuntu-defaults-image --package  ../myprojectdefaults_0.1_all.deb
Run Code Online (Sandbox Code Playgroud)

生成的图像是带有 .iso 扩展名的图像

注意:作为使用本地包的替代方法,您可以设置 PPA并使用以下命令(此示例假设您已在 PPA 中将包命名为 ubuntu-defaults-ca):

ubuntu-defaults-image --ppa  lpusername/ppaname  --locale ca
Run Code Online (Sandbox Code Playgroud)

查看手册页以了解其他选项

测试

对您的映像进行本地测试(例如,您可以使用 Virtualbox 将其安装在虚拟机中)

最后,将图片上传到公共位置供大家下载和测试。

就是这样!

示例 1:从包中为 Catalan 创建本地化图像

假设安装了所有工具,我们只需运行以下命令即可为加泰罗尼亚语地区创建本地化 ISO:

ubuntu-defaults-template ubuntu-defaults-ca
cd ubuntu-defaults-ca
Run Code Online (Sandbox Code Playgroud)

此时我们修改安装加泰罗尼亚语语言包所需的文件,选择加泰罗尼亚语键盘。我们修改以下文件:

  • i18n/keyboard.txt -> 指定 'es cat' 作为键盘
  • i18n/langpacks.txt -> 将“ca complete”指定为语言包
  • i18n/language.txt -> 指定 'ca' 作为语言代码

然后我们继续构建默认包和图像:

dpkg-buildpackage
ubuntu-defaults-image --package ../ubuntu-defaults-ca_0.1_all.deb
Run Code Online (Sandbox Code Playgroud)

示例 2:从 PPA 为 Catalan 创建本地化图像

这个例子假设我们已经用默认包创建了一个 PPA,所以我们唯一需要做的就是运行命令来重新旋转 ISO:

ubuntu-defaults-image --ppa dpm/ubuntu-defaults-ca --locale ca
Run Code Online (Sandbox Code Playgroud)