|
|
(32 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| We are currently in the early development stage for [[L10n:Pontoon|Pontoon]] and would like to collect all the ideas for feature enhancements in a single place.
| | {{delete| Plans for different people, not working on pontoon, and old |date=2017-07-13}} |
| | |
| '''How to use this page'''
| |
| * If you have ideas for features not listed here, please add them below. Include any references to more detailed implementation ideas.
| |
| * If you would like to comment on features listed here, please do so on the [[L10n_Talk:Pontoon/Feature_Brainstorming|discussion]] page rather than in the list itself.
| |
| * Please include a summary comment that describes your change so that it shows up in the page history view.
| |
| * Please make a User page for yourself with contact information so that if we need clarification of your idea, we can get in touch with you.
| |
| | |
| == BLOCKERS ==
| |
| * Admin: SVN update all.
| |
| * Admin: SVN & Transifex username and password form.
| |
| * Admin: Add more and delete subpages.
| |
| * PO generator should not change the order of entities.
| |
| * Error handling (what if SVN/TX repo not specified in admin interface).
| |
| * Project name instead of URL?
| |
| | |
| == IN PROGRESS ==
| |
| | |
| === QA mode ===
| |
| * Many locales have more than one localizer working on the same project, so we have to find a way for more experienced ones to review, approve and reject translations from others. It’s always good to have someone proofread your work.
| |
| | |
| == TODO ==
| |
| | |
| === <pontoon> tag ===
| |
| * Identifying strings is still not perfect: https://github.com/mathjazz/pontoon/commit/7fefc6e2baab8bb174736d996015972bc823cd5f
| |
| * Investigate the use of <pontoon> tag?
| |
| * Resources: http://horv.at/blog/implementing-hooks/
| |
| | |
| === Send e-mails to admins ===
| |
| * http://david.feinzeig.com/blog/2012/02/18/tips-for-creating-404-page-not-found-and-500-server-error-templates-in-django-plus-configuring-email-alerts/
| |
| * http://stackoverflow.com/questions/6914687/django-sending-email
| |
| * https://docs.djangoproject.com/en/1.4/topics/email/
| |
| | |
| === Apply Pontoon to the Open Web Apps development template generator ===
| |
| * This should probably be implemented as a hook.
| |
| * https://wiki.mozilla.org/Apps/Mortar
| |
| * https://github.com/mozilla/mortar
| |
| | |
| === Verbatim integration ===
| |
| * Similar to Transifex. But no API...
| |
| | |
| === Save vanilla sites translations to Transifex ===
| |
| * Transifex API allows creating new projects: http://help.transifex.com/features/api/index.html#projects
| |
| * Save non-hooks-powered sites as Transifex projects.
| |
| | |
| === Glossary & spellchecker ===
| |
| * http://www.frenchmozilla.fr/transvision/
| |
| * Checking for multiple blanks in the translation.
| |
| * Checking for extra blanks at the end and at the beginning.
| |
| * Checking for missing or wrong (ending) interpunction – we keep forgetting terminal periods for instance.
| |
| | |
| === Filters and batch operations ===
| |
| The prospect here is to streamline the triage of incoming contributions. This may need to scale up pretty badly, say 1000s of contributions with a signal to noise ratio in the % scale.
| |
| * Maintaining control over who localized what and when will be useful together with batch operations.
| |
| * We should make it easy to show all suggestions made by one guy or remove everything that the other guy did, because it’s spam.
| |
| * Checking for target = source.
| |
| | |
| === Local storage ===
| |
| * If server side support not available, we should store the local version of translation.
| |
| * That way the localizer will be able to continue his work where he left.
| |
| * Wait for the connection and sync back to the server.
| |
| * WARNING: http://hacks.mozilla.org/2012/03/there-is-no-simple-solution-for-local-storage/
| |
| | |
| === Crowdsourcing ===
| |
| * When you open a website and Pontoon has it's translation to your language, we could just load it and retranslate the page.
| |
| * That could end up as a separate extension allowing people to get pages translated by others.
| |
| * Something like universal subtitles for websites.
| |
| | |
| === Feedback collector ===
| |
| ([[User:StasM|StasM]] 12:07, 12 July 2011 (PDT))
| |
| * similar to those small vertical tabs that ask for feedback on certain websites, I can imagine an interface that users can use to submit feedback about copy and translations on the page they're currently viewing
| |
| * example flow: click the "feedback" tab, select the DOM element that you want to give feedback on, type the description of the issue ("a typo") or a suggestion for a new translation, hit submit. Behind the scenes, a request to Pontoon API is made and a new suggestion is recorded.
| |
| | |
| === Responsive design ===
| |
| * Use media queries to properly display Pontoon interface on smaller screens.
| |
| | |
| === Integrate Mozilla header ===
| |
| * https://github.com/debloper/tabzilla
| |
| * https://github.com/mozilla/kitsune/tree/master/templates
| |
| | |
| == DONE ==
| |
| | |
| === Admin ===
| |
| * Create a dedicated Admin site instead of a JSON meta file.
| |
| * It should be only available to a privileged group of users, through profile menu.
| |
| * A simple project selector should appear with add new project link.
| |
| * Features for every project:
| |
| ** Name + url + locales (multiple select) -> already in the model
| |
| ** Subpages: urls + name tuples -> add to the model
| |
| ** Campaign info: brief + locales + audience + metrics -> add to the model
| |
| ** SVN repo: url + update/merge (for all locales) -> add to the model
| |
| ** Transifex: project + resource + update/merge (for all locales) -> add to the model
| |
| | |
| === SVN integration ===
| |
| * SVN is used at Mozilla as translation repository for different website localization tools.
| |
| * Similar UX as Transifex:
| |
| ** Localizers: menu entry.
| |
| ** Developers: JSON meta file.
| |
| * Generate PO file (see PO export).
| |
| * Commit as authenticated user, similar to Transifex.
| |
| ** http://pysvn.tigris.org/docs/pysvn_prog_ref.html
| |
| | |
| === Django hooks ===
| |
| * Similar to PHP hooks:
| |
| ** Prepend strings with <!--l10n--> comment node.
| |
| ** Inject meta tag with url to JSON meta file and pontoon.js script.
| |
| * Integrate with Playdoh.
| |
| * Should gettext do the job of replacing original strings with translations instead of Pontoon?
| |
| | |
| === Delete translations ===
| |
| * Add the ability to delete translations.
| |
| * This functionality is missing from the Transifex API.
| |
| | |
| === Project list ===
| |
| * Turn project URL input field into inputfield/dropbox hybrid.
| |
| | |
| === Save translations to Pontoon server ===
| |
| * Temporary disable saving to Transifex in vanilla mode.
| |
| * Rename transifex.net to transifex.com.
| |
| * Create project-entity-translation-locale model.
| |
| * Load entities from Pontoon DB instead of Transifex.
| |
| * Populate model before first use from Transifex.
| |
| * Remove pontoon/mozilla credentials from JS.
| |
| * Add Locale to the model and populate it using fixtures.
| |
| * Autosave l10n data to DB on every change.
| |
| * No need to warn before page leave anymore (because of autosave).
| |
| | |
| === Subpages with Transifex translations ===
| |
| * Subpages support has been implemented in prototype using the metafile.
| |
| * Upgrade prototype implementations to work with Transifex translations.
| |
| * Refactor Pontoon.project.page, Pontoon.project.pages, Pontoon.project.subpages.
| |
| * New Pontoon hooks test site (only change #intro block on every subpage).
| |
| * In Advanced mode, make a destinction between strings found on the current page and the rest.
| |
| | |
| === Toolbar position ===
| |
| * Toolbar (edit, save, cancel) is sometimes not visible, e.g. when editing nodes on top of the page.
| |
| * Calculate the best position on the fly.
| |
| | |
| === Disable links ===
| |
| * 'nuff said. Just like Hallo & Create.js.
| |
| * [http://bergie.github.com/hallo/ http://bergie.github.com/hallo/]
| |
| * [http://createjs.org/ http://createjs.org/]
| |
| * [https://github.com/bergie/create https://github.com/bergie/create]
| |
| | |
| === HTML translations ===
| |
| * Source view icon next to the save and cancel icon should provide a way for a localizer to make changes to content that is not visible on a website, like href attributes in anchors.
| |
| * This can be done in the Advanced mode.
| |
| | |
| === Saving translations ===
| |
| * Remove save to server option in plain mode.
| |
| * Enable download of translations as HTML, JSON (also XML, PO and other formats if needed).
| |
| | |
| === Error handling ===
| |
| * JSONP in language detection call: if it fails on localhost due to bad url or no url conection, it doesn't go to success/error.
| |
| * Do not break if metafile malformed, doesn't cover every string, covers too many strings etc.
| |
| * getEntities() fallback if JSON not loaded; use guessEntities w/o comments instead?
| |
| | |
| === Authentication (3 levels) ===
| |
| * BrowserID login only for now; we need a way to contact localizer and that's enough; it's simple enough for users
| |
| * Anonymous: user picks a nickname before saving changes (like Etherpad).
| |
| * Registered: login using BrowserID (deprecated for privacy: also consider Google, Twitter, Facebook, OpenID).
| |
| * Privileged: enable login using Mozilla LDAP account (consider OpenID & OAuth).
| |
| * Also check: https://wiki.mozilla.org/Verbatim/PRD
| |
| | |
| === Transifex integration ===
| |
| * Enable saving changes to Transifex.
| |
| * Enable retrieving partial translations from Transifex.
| |
| * Provide API specification for the server side (talk to Transifex guys).
| |
| * Resources: http://msdn.microsoft.com/en-us/library/ff512404.aspx
| |
| | |
| === Machine translation ===
| |
| * Google Translate API.
| |
| * Possible alternative: http://msdn.microsoft.com/en-us/library/ff512406.aspx
| |
| | |
| === Header icons ===
| |
| * Use a drag icon to make drag handle more obvious, logo is not good enough.
| |
| * Better On/off switch than current arrows, which are barely visible.
| |
| | |
| === Keyboard shortcuts ===
| |
| * Enter to confirm in-line translation.
| |
| * Tab to confirm + jump to next untranslated string.
| |
| | |
| === Noscript ===
| |
| * Use noscript tag to warn users that Pontoon web client only works if JavaScript support enabled.
| |
| | |
| === Translation memory ===
| |
| * http://www.frenchmozilla.fr/transvision/
| |
| | |
| === General page info ===
| |
| * Hooks-powered websites only: general information about the page should be available in the interface.
| |
| * We have technical solution for this - in the metafile.
| |
| * https://wiki.mozilla.org/L10n:WorldReady/Early_Feedback
| |