|  |     | 
| Line 29: | Line 29: | 
|  | 
 |  | 
 | 
|  | = l10n = |  | = l10n = | 
|  | * If thestring is a "widget" as defined in the shavictionary: (labels, common navigational elements like "Home" or "Top" or "Next")
 |  | see the [[Update:Remora Localization|remora localization page]]. | 
|  | **element_name_additional
 |  | 
|  |   |  | 
|  | *If the string is prose for explanations, error messages, instructions
 |  | 
|  | **type_name_additional
 |  | 
|  |   |  | 
|  | *If the string is structural text like headers, titles, breadcrumbs, etc.
 |  | 
|  | **If the string is not in a form:
 |  | 
|  | ***namespace_pagename_name_additional
 |  | 
|  | **If the string is inside of a form:
 |  | 
|  | ***namespace_pagename_formname_element_name_additional
 |  | 
|  |   |  | 
|  | Where:
 |  | 
|  | *namespace is the location in cake of the view, so if it's under /views/developers/ the namespace is "developers"
 |  | 
|  | *pagename is the name of the file, with underscores taken out
 |  | 
|  | *formname is just what you think the form should be called with "form" appended, since cake is actually naming them... (should we make this more specific?)
 |  | 
|  | *name is a unique name for the element (preferably its id)
 |  | 
|  | *element is the closest tag or parameter, so for an images alt tag it would be "alt". For a label it would be "label"
 |  | 
|  | *additional is anything else needed to make a string unique
 |  | 
|  | *type is a global category, like "error"
 |  |