Difference between revisions of "Silme:Tutorial:Entity"

From Braniecki's Wiki
Jump to navigation Jump to search
(New page: == Entity == The basic unit we use in the localization world is an entity. Entity is a simple object made of ID and a value. ID is a somehow unique identifier of the entity, and the value...)
 
Line 2: Line 2:
  
 
The basic unit we use in the localization world is an entity.
 
The basic unit we use in the localization world is an entity.
Entity is a simple object made of ID and a value. ID is a somehow unique identifier of the entity, and the value is an actual string that you want to present to the user.
+
Entity is a simple object made of ID and a value.
 +
ID is a somehow unique identifier of the entity, and the value is an actual string that you want to present to the user.
  
 
In Verbatim creating a new Entity looks like this:
 
In Verbatim creating a new Entity looks like this:
  
 
<code lang="python">
 
<code lang="python">
 +
from mozilla.l10n.object import Entity
 +
 +
entity = Entity('id','value')
 +
</code>
 +
 +
This simple object is the most atomic unit in every localization format, be it DTD, Gettext, XLIFF or L20n. It's an abstract representation of a row in the l10n array in SQL or it represents a single string in HTML file (in this case ID has to be a unique identifier of the string position in the file).
 +
 +
Of course Entity may be much more complex than that. In some cases you can have a meta data for the single entity, or a comment that is tied to the entity. Because of how popular those two cases are among l10n formats, Entity object has predefined dictionary objects for those two:
 +
 +
 +
<code lang="python">
 +
from mozilla.l10n.object import Entity
 +
 
entity = Entity('id','value')
 
entity = Entity('id','value')
 +
entity.comment['pre'] = u'Comment prefixing the entity'
 +
entity.parameter['author'] = 'Ben'
 +
</code>
 +
 +
== EntityList ==
 +
 +
EntityList is a simplest possible class used to store the sequence of entities.
 +
 +
<code lang="python">
 +
from mozilla.l10n.object import Entity, EntityList
 +
 +
entityList = EntityList()
 +
 +
entity1 = Entity('example.id','Test value')
 +
entityList.addEntity(entity1)
 +
 +
entity2 = Entity('example.id2','Test value2')
 +
entityList.addEntity(entity2)
 
</code>
 
</code>
 +
 +
 +
== Advanced ==
 +
 +
You may decide to extend Entity class or just add your own properties to the Entity object.

Revision as of 13:37, 19 May 2008

Entity

The basic unit we use in the localization world is an entity. Entity is a simple object made of ID and a value. ID is a somehow unique identifier of the entity, and the value is an actual string that you want to present to the user.

In Verbatim creating a new Entity looks like this:

from mozilla.l10n.object import Entity

entity = Entity('id','value')

This simple object is the most atomic unit in every localization format, be it DTD, Gettext, XLIFF or L20n. It's an abstract representation of a row in the l10n array in SQL or it represents a single string in HTML file (in this case ID has to be a unique identifier of the string position in the file).

Of course Entity may be much more complex than that. In some cases you can have a meta data for the single entity, or a comment that is tied to the entity. Because of how popular those two cases are among l10n formats, Entity object has predefined dictionary objects for those two:


from mozilla.l10n.object import Entity

entity = Entity('id','value') entity.comment['pre'] = u'Comment prefixing the entity' entity.parameter['author'] = 'Ben'

EntityList

EntityList is a simplest possible class used to store the sequence of entities.

from mozilla.l10n.object import Entity, EntityList

entityList = EntityList()

entity1 = Entity('example.id','Test value') entityList.addEntity(entity1)

entity2 = Entity('example.id2','Test value2') entityList.addEntity(entity2)


Advanced

You may decide to extend Entity class or just add your own properties to the Entity object.