Just to answer the off topic note: Your idea would add hundreds of new spec files that would need to be kept in sync with the main package (= version, patches, po directories etc.). (We already have several spec files that needs to be kept in sync, and running out of sync is a regular issue.) Current translation update tools just add three new spec files plus few lines in spec files. Translation update tools are useful only if we don't want to upgrade the package, just translations. If we update (e. g. in Tumbleweed), translation comes with the update, and tools have no use. - We add/update a patch in the *-lang spec. No full rebuild needed. -> Case 2 : Upstream update their translation - If they release a point release, we probably have to rebuild anyway, so we rebuild the two package. - If they don't, we take the updated .po/.mo, and we only update the *-lang package. No conflict, no unnecessary full rebuild. We'll need to maintain two spec file, but the *-lang will probably be really short (something like "open source", "patch source with new translation", "find *.po files", then "make *.mo from *.po files", and we package it. And on the main package, we'll do "find *.mo/*.po", "remove them"). > Idea 2 : instal the N-1 source package, compare them with the N sources, and build only if there are change between N-1 source and N source. After that, try updating the *-lang package (if there is difference). This is not a clean way. You have to rebuild (and OBS does exactly this), if: - Package source changed. - Binary RPM of any package in BuildRequires changed. -lang packages are now updated automatically. But we want something different: Backport strings translated in the new version to the old version. For that purpose, we will need: - pot file of the current SUSE package - all existing translations (in the package, in the same upstream branch, in the head branch) It is easily possible to make a tool that will build such -lang package, but we need something different: A tool, that will process hundreds of projects without human interaction, or with a minimal human interaction. Additionally, these tools must be capable to build RPMs without network access. Please take a look to the current tools: https://build.opensuse.org/package/show/Base:System/translation-update-upstream https://build.opensuse.org/package/show/X11:common:Factory/translation-update https://build.opensuse.org/package/show/GNOME:Factory/gnome-patch-translation These tools are called once per the whole distro.