The design criteria are built on top of what c9 offers. This is split into two major sections,
- code architecture
- UI elements
For now, we'll work on a single workspace. This holds all the files that we need to localize the projects a localizer is working on.
In a workspace, we can have multiple projects. A project bundles what kind of localization task this is, i.e., if it's a desktop app like Firefox, or gaia, or a web app. It also says where in the workspace the files are, and which locales we're having locally.
When editing a file, most of the IDE-features are implemented in a worker in c9. That worker allows for outlines, error checking, and code completion. Most of these will have common concepts, but will also critically depend on the file format.
The workspace for Firefox and FxOS might look like this.
- |- mozilla | |- browser |- de | |- browser |- gaia-l10n |- de |- en-US
There are a few common UI elements in c9:
- panels can be on the left and on the right
- editors and tabs are in the center
- there's also a tabstrip of editors on the bottom, for immediate evaluation (l20n?) and console.
On top of that, there's obviously the menubar, and we should also be able to have top-level views outside of the IDE.