Antichrist Message Board - Source Excerpt 11
Back to Antichrist Message Board
Summary
This source excerpt preserves a bounded section of Antichrist.net/wp-content/plugins/antichrist-message-board/antichrist-message-board.php so readers can inspect the evidence without opening the full source file.
**Source path:** Antichrist.net/wp-content/plugins/antichrist-message-board/antichrist-message-board.php
'acnmb.error.locale_mismatch' => 'Ce sujet appartient a un forum dans une autre langue.',
'acnmb.status.login_required' => 'Connectez-vous avant de publier.',
'acnmb.status.title_required' => 'Ajoutez un titre plus clair.',
'acnmb.status.message_required' => 'Ajoutez un message avant de publier.',
'acnmb.status.category_required' => 'Choisissez une categorie du forum.',
'acnmb.status.rate_limited' => 'Veuillez attendre un moment avant de publier de nouveau.',
'acnmb.status.reply_created' => 'Reponse publiee.',
'acnmb.status.topic_locked' => 'Ce sujet est verrouille.',
'acnmb.status.locale_mismatch' => 'Cette discussion appartient a un forum dans une autre langue.',
);
foreach ( $zh_strings as $key => $value ) {
if ( isset( $strings[ $key ] ) ) {
$strings[ $key ]['zh'] = $value;
}
}
foreach ( $fr_strings as $key => $value ) {
if ( isset( $strings[ $key ] ) ) {
$strings[ $key ]['fr'] = $value;
}
}
return $strings;
}
/**
* Write a generated dictionary file, replacing stale generated copies when needed.
*
* @param string $file Dictionary path.
* @param array $data Dictionary payload.
*/
function acnmb_write_dictionary_file( $file, array $data ) {
$json = wp_json_encode( $data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES );
if ( false !== @file_put_contents( $file, $json ) ) {
return;
}
if ( file_exists( $file ) ) {
@chmod( $file, 0666 );
@unlink( $file );
}
@file_put_contents( $file, $json );
}
/**
* Merge board strings into locale-router dictionaries at runtime.
*
* @param array $dictionary Runtime dictionary.
* @param string $locale Locale tag.
* @return array
*/
function acnmb_merge_runtime_dictionary_strings( $dictionary, $locale ) {
if ( ! is_array( $dictionary ) ) {
$dictionary = array();
}
if ( empty( $dictionary['meta'] ) || ! is_array( $dictionary['meta'] ) ) {
$dictionary['meta'] = array();
}
if ( empty( $dictionary['strings'] ) || ! is_array( $dictionary['strings'] ) ) {
$dictionary['strings'] = array();
}
foreach ( acnmb_translation_strings() as $key => $pair ) {
$dictionary['strings'][ $key ] = acnmb_translation_value_for_locale( $pair, $locale );
}
$dictionary['meta']['locale'] = acnmb_normalize_locale_tag( $locale );
$dictionary['meta']['keyMode'] = 'runtime-key';
$dictionary['meta']['sourceLocale'] = 'en-US';
return $dictionary;
}
/**
* Write UAIX and legacy NS12 runtime dictionaries for message-board strings.
*/
function acnmb_write_ns12_dictionaries() {
$upload_dir = wp_upload_dir();
if ( empty( $upload_dir['basedir'] ) ) {
return;
}
$strings = acnmb_translation_strings();
$payloads = array();
foreach ( acnmb_required_locale_tags() as $locale ) {
$payloads[ $locale ] = array();
}
foreach ( $strings as $key => $pair ) {
foreach ( array_keys( $payloads ) as $locale ) {
$payloads[ $locale ][ $key ] = acnmb_translation_value_for_locale( $pair, $locale );
}
}
$dictionary_dirs = array(
trailingslashit( $upload_dir['basedir'] ) . 'uaix-locale-router/dictionaries',
trailingslashit( $upload_dir['basedir'] ) . 'ns12-locale-router/dictionaries',
);
foreach ( $dictionary_dirs as $dir ) {
wp_mkdir_p( $dir );
if ( ! is_dir( $dir ) || ! is_writable( $dir ) ) {
continue;
}
foreach ( $payloads as $locale => $locale_strings ) {
$file = trailingslashit( $dir ) . $locale . '.json';
$data = array(
'meta' => array(
'locale' => $locale,
'version' => 1,
'fallback' => 'en-US',
'generatedFrom' => 'antichrist-message-board',
'keyMode' => 'runtime-key',
'sourceLocale' => 'en-US',
),
'strings' => array(),
);
if ( file_exists( $file ) ) {
$existing = json_decode( (string) file_get_contents( $file ), true );
if ( is_array( $existing ) ) {
$data = wp_parse_args( $existing, $data );
if ( empty( $data['strings'] ) || ! is_array( $data['strings'] ) ) {
$data['strings'] = array();
}
if ( empty( $data['meta'] ) || ! is_array( $data['meta'] ) ) {
$data['meta'] = array();
}
}
}
$data['meta']['locale'] = $locale;
$data['meta']['keyMode'] = 'runtime-key';
$data['meta']['sourceLocale'] = 'en-US';
$data['strings'] = array_merge( $data['strings'], $locale_strings );
acnmb_write_dictionary_file( $file, $data );
}
}
if ( class_exists( '\UAIXLocaleRouter\DictionaryRepository' ) ) {
foreach ( array_keys( $payloads ) as $locale ) {
\UAIXLocaleRouter\DictionaryRepository::clear_cache( $locale );
}
}
if ( class_exists( '\Ns12LocaleRouter\DictionaryRepository' ) ) {
foreach ( array_keys( $payloads ) as $locale ) {
\Ns12LocaleRouter\DictionaryRepository::clear_cache( $locale );
}
}
}