TranslationCacheTiein: ezcTranslationCacheBackend
[ ]
[ ]
[ ]
[ ]
[ ]
Class: ezcTranslationCacheBackend
|
Translation backend that reads translation data from a cache. [
source]
Implemented Interfaces
This class is a backend implementation for the Translation system. This specific one uses the Cache Component to store and serve cached translation data.
Example that uses both the
ezcCacheStorageFileArray and
ezcTranslationCacheBackend classes:
1. <?php
2. // Create a cache object with content
3. $cacheObj = new ezcCacheStorageFileArray( 'ezcTranslationCacheBackendTest' );
4.
5. $expected = array(
6. new ezcTranslationData( 'Node ID: %node_id Visibility: %visibility',
7. 'Knoop ID: %node_id Zichtbaar: %visibility',
8. false, ezcTranslationData::TRANSLATED )
9. );
10. $cacheObj->store( 'nl-nl/contentstructuremenu/show_content_structure', $expected );
11.
12. // Use the cache backend
13. $backend = new ezcTranslationCacheBackend( $cacheObj );
14. $context = $backend->getContext( 'nl-nl', 'contentstructuremenu/show_content_structure' );
15. $translation = new ezcTranslation( $context );
16. echo $translation->getTranslation( 'Node ID: %node_id Visibility: %visibility',
17. array( 'node_id' => 42, 'visibility' => 'yes' ) );
18. ?>
Example that stores a whole translation file into a cache by using
ezcTranslationContextRead interface that is implemented by the
ezcTranslationTsBackend and the
ezcTranslationContextWrite interface that is implemented by this class:
1. <?php
2. // Settings
3. $locale = 'nb-no';
4.
5. // Setup the cache object
6. $cacheObj = new ezcCacheStorageFileArray( 'ezcTranslationCacheBackendTest' );
7.
8. // Initialize the writer
9. $writer = new ezcTranslationCacheBackend( $cacheObj );
10. $writer->initWriter( $locale );
11.
12. // Initialize the reader
13. $reader = new ezcTranslationTsBackend( "translations" );
14. $reader->setOptions( array ( 'format' => '[LOCALE].xml' ) );
15. $reader->initReader( $locale );
16.
17. // Process the data
18. $contexts = array();
19. foreach ( $reader as $contextName => $contextData )
20. {
21. $writer->storeContext( $contextName, $contextData );
22. }
23.
24. // Deinitialize the writer and reader
25. $writer->deinitWriter();
26. $reader->deinitReader();
27. ?>
Method Summary
|
public ezcTranslationCacheBackend |
__construct(
$cacheObject )
Constructs a new ezcTranslationCacheBackend that will store data to $cacheObject. |
|
public void |
deinitWriter(
)
Deinitializes the writer. |
|
public array(ezcTranslationData) |
getContext(
$locale, $context )
Returns a array containing the translation map for the specified $locale and $context. |
|
public void |
initWriter(
$locale, $locale
)
Initializes the writer to write to the locale $locale. |
|
public void |
setOptions(
$configurationData )
Sets configuration data |
|
public void |
storeContext(
$context, $data )
Stores a context. |
Methods
__construct
ezcTranslationCacheBackend __construct(
$cacheObject )
Constructs a new ezcTranslationCacheBackend that will store data to $cacheObject.
Parameters
deinitWriter
void deinitWriter(
)
Deinitializes the writer.
This method should be called after the last context was written to cleanup resources.
Throws
| Class | Description |
ezcTranslationWriterNotInitializedException |
when the writer is not initialized with initWriter(). |
getContext
array(ezcTranslationData) getContext(
mixed
$locale, mixed
$context )
Returns a array containing the translation map for the specified $locale and $context.
It uses the $tsLocationPath and $tsFilenameFormat properties to locate the file, unless caching is enabled. If a cache object is available it will be used to retrieve the information from the cache.
Throws
| Class | Description |
ezcTranslationContextNotAvailableException |
if the context is not available. |
initWriter
void initWriter(
$locale, string
$locale
)
Initializes the writer to write to the locale $locale.
Before starting to writer contexts to the writer, you should call this method to initialize it.
Parameters
| Name |
Type |
Description |
$locale
|
string |
$return void |
$locale |
|
|
setOptions
void setOptions(
array
$configurationData )
Sets configuration data
This backend accepts no settings at all, and will always throw an ezcBaseSettingNotFoundException for every setting that is contained in the $configurationData.
Parameters
| Name |
Type |
Description |
$configurationData |
array |
|
Throws
| Class | Description |
ezcBaseSettingNotFoundException |
if an unknown setting is passed. |
storeContext
void storeContext(
string
$context,
$data )
Stores a context.
This method stores the context that it received to the backend specified storage place.
Parameters
| Name |
Type |
Description |
$context |
string |
The context's name |
$data |
array |
The context's translation map |
Throws
| Class | Description |
ezcTranslationWriterNotInitializedException |
when the writer is not initialized with initWriter(). |
Last updated: Thu, 01 Nov 2007