+ public function startWrite( $code ) {
+ $k = wfMemcKey( 'l10n', $code, 'l' );
+ $keys = $this->cache->get( $k );
+ if ( $keys ) {
+ foreach ( $keys as $k ) {
+ $this->cache->delete( $k );
+ }
+ }
+ $this->currentLang = $code;
+ $this->keys = array();
+ }
+
+ public function finishWrite() {
+ if ( $this->currentLang ) {
+ $k = wfMemcKey( 'l10n', $this->currentLang, 'l' );
+ $this->cache->set( $k, array_keys( $this->keys ) );
+ }
+ $this->currentLang = null;
+ $this->keys = array();
+ }
+
+ public function set( $key, $value ) {
+ if ( $this->currentLang ) {
+ $k = wfMemcKey( 'l10n', $this->currentLang, 'k', $key );
+ $this->keys[$k] = true;
+ $this->cache->set( $k, $value );
+ }
+ }