Paquetes de idioma
La idea tras "langpack" es separar traducciones o contenido específico del idioma en subpaquetes dentro del caso que el tamaño de los archivos es enorme o el paquete es parte de una imagen core que sería mínima.
Los subpaquetes que existen únicamente para contener traducciones o contenido adicional deben nombrarse con el formato -langpack-, donde langpack es el nombre del paquete al que pertenecen los subpaquetes y langpack es un código de idioma válido de /usr/share/xml/iso-codes/iso_639_3.xml o de /usr/share/i18n/locales/. En concreto, el valor de langcode utilizado en el nombre del paquete debe coincidir con el identificador de código de idioma utilizado en la ruta del directorio por el repositorio original para los archivos de traducción o idioma.
El ecosistema de langpack no necesita ninguna lógica procedural en el formato de complementos. En lugar de eso toma la ventaja de la debilidad y enriquece características de dependencia proporcionadas por RPM. Las dependencias necesarias son calculadas por el gestor de paquetes (DNF o PackageKit) tal que es esencial incluir la etiqueta Supplements: seguida en relación a la definición del paquete langpack en el archivo spec:
Supplements: (%{name} = %{version}-%{release} y langpacks-<locale>)
Ejemplo
Supongamos que tiene un paquete con el siguiente archivo de especificaciones:
Nombre: php-horde-Horde-Perms + ... + %files -f Horde_Perms.lang + /usr/share/pear-data/Horde_Perms/locale/ + ...
Para crear paquetes de idiomas para cada idioma (traducciones /usr/share/pear-data/Horde_Perms/locale//LC_MESSAGES/Horde_Perms.mo), necesitaría definir un subpaquete nuevo por cada paquete. El siguiente fragmento muestra una macro para automatizar la definición de paquetes de idiomas, junto con la definición de paquetes de idiomas para los idiomas bs y cs. Esto reemplazaría las líneas mostradas arriba. Tenga en cuenta que esta definición de macro es específica del paquete de ejemplo; deberá modificarla según corresponda.
Name: php-horde-Horde-Perms
...
%define lang_subpkg() \
%package langpack-%{1}\
Summary: %{2} language data for %{name}\
BuildArch: noarch\
Requires: %{name} = %{version}-%{release}\
Supplements: (%{name} = %{version}-%{release} and langpacks-%{1})\
\
%description langpack-%{1}\
%{2} language data for %{name}.\
\
%files langpack-%{1}\
%{_datadir}/pear-data/Horde_Perms/locale/%{1}/
+ %lang_subpkg bs Bosnian+
%lang_subpkg cs Czech
...
%files
...
Want to help? Learn how to contribute to Fedora Docs ›