Top-level blueprint: [[https://blueprints.edge.launchpad.net/rosetta/+spec/rosetta-translates-branch|Translations and Codehosting integration]] Details here are based on an [[https://dev.launchpad.net/Translations/Calls/BazaarIntegration|integration call]] between Translations team and Aaron Bentley and Tim Penhey from code-hosting team, and further discussed in an estimation call inside the Translation team. Historical specification at https://launchpad.canonical.com/RosettaTranslatesBranch = Template import = https://blueprints.edge.launchpad.net/rosetta/+spec/import-templates-from-branch This has been implemented in Launchpad 2.2.3, see [[Translations/BazaarIntegrationTutorial|Tutorial]] == Cost: 9 == * [[https://blueprints.edge.launchpad.net/rosetta/+spec/import-templates-from-branch-ui-changes|UI to select options for the sync]]: database patch, new LaunchpadForm (cost 3) * [[https://blueprints.edge.launchpad.net/rosetta/+spec/import-templates-from-branch-scanner|Branch job script to handle a branch]] (cost 3) * gets branch ID from branch scanner * find branch in Launchpad, check if it's the one that needs import (what productseries a branch is related to) * scanning the branch, finding POT files * putting those into import queue * [[https://blueprints.edge.launchpad.net/rosetta/+spec/import-templates-from-branch-auto-approval|Auto-approve simple cases]] (cost 3) * No templates yet in the database * Single template in the branch and in the database * Refactoring to be reusable * Notes: testing — pagetests for UI, unit tests for each of the steps = PO file import = https://blueprints.edge.launchpad.net/rosetta/+spec/import-translations-from-branch == Cost: 1 == * extend UI options * adapt the scanner to look for pofiles as well and put them into a queue = Commit PO files to a branch = https://blueprints.edge.launchpad.net/rosetta/+spec/commit-translations-to-branch == Cost: 8 == * [[https://blueprints.edge.launchpad.net/rosetta/+spec/commit-translations-to-branch-ui-changes|UI to set ProductSeries.translation_branch]]: db patch, branch picker for branches maintainer is allowed to push to (permissions) (cost 3) * [[https://blueprints.edge.launchpad.net/rosetta/+spec/commit-translations-to-branch-exporter|Export translations and put them into a branch]]: (cost 4) * Export it * Get a branch * Commit to it (overwriting files), careful with filenames and paths * Use same directory as the potemplate.path, normalize everything else * Allow loganberry/forster access to bazaar branch storage (to be able to commit) (cost 1) = Features to implement in the future = * [[https://blueprints.edge.launchpad.net/rosetta/+spec/automatic-pot-regeneration|Automatic POT regeneration]] — automatically regenerate POT files in Bazaar branches hosted in Launchpad if they follow certain rules (eg. intltool/gettext module layout)