組み込みJSのi18n(国際化)対応

以下の対応を行うことで、a-blog cmsで使われるJavaScriptで使われるメッセージなどをi18n(国際化)対応する事ができます。

変数化

翻訳する箇所を変数化します。以下のソースはアラートメッセージを変数化しています。変数はなんでも大丈夫ですが、グローバルを汚してしまう事になるので、ここではACMS.i18nのプロパティとして利用しています。

ACMS.Ready(function(){
  alert(ACMS.i18n.alertMess);
});

下準備

先ほど作成した変数に翻訳した文字列が入ってくるようにします。

/js/i18n.jsを開き以下のように追記してください。ここで、t() の引数に指定する文字列はドットつなぎで適応なものを設定ください。

i18next.use(i18nextXHRBackend).init({
  lng: navigator.languages ? navigator.languages[0] : (navigator.language || navigator.userLanguage),
  debug: false,
  load: 'languageOnly',
  fallbackLng: 'ja',
  backend: {
    loadPath: ACMS.Config.jsRoot+'locales/{{lng}}/{{ns}}.json'
  }
}, function(err, t) {
  ACMS.i18n = {};

  ACMS.i18n.alertMess = t('hoge.message1');  // この行を追記
});

翻訳ファイル(json)の用意

最後に翻訳ファイルを用意します。翻訳ファイルはJSONファイルになっており、直感的に編集できるようになっております。

翻訳ファイルのパス

以下のルールのパスで翻訳ファイルを設置してください。

/js/locales/言語/translation.json
(e.g) /js/locales/en/translation.json

/js/locales/en/translation.json

{
  "hoge": {
    "message1": "Hello World."
  }
}

/ /js/locales/ja/translation.json /

{
  "hoge": {
    "message1": "こんにちは世界。"
  }
}

先ほど t() の引数に設定したドットで区切った記述により、jsonファイルのオブジェクトとして指定していきます。

これでブラウザの設定によって自動的に言語が選択されるようになりました。

a-blog cms Ver. 2.8.0-beta を公開!

a-blog cms Ver. 2.8.0-beta

a-blog cms Ver. 2.8.0-beta


開発の伊藤です。

大変お待たせしました。 ようやくa-blog cmsの次期バージョンであるa-blog cms Ver. 2.8.0のベータ版をダウンロード出来るようになりました。

Ver. 2.8.0 の目玉機能であるボタン1つでのアップデート機能がありますので、これから開発する案件などでも是非お試しください。

開発版になりますので、すでに運用中のサイトにはインストールしないようお願いします。

新規インストール版

php5.3.3 - php5.5.x 版

ダウンロード

php5.6.x - php7.0.x 版

ダウンロード

php7.1.x - php7.2.x 版

ダウンロード

a-blog cms Ver. 2.8.0-beta.18, 19 をお試しの方

現状 a-blog cms Ver. 2.8.0-beta.18, 19 をご利用の場合は、不具合により自動アップデートが動作しません。

php/ACMS/POST/Update/Exec.php 72行目付近のコメントアウトを外すことでアップデートできるようになります。

            // System Update
            $downloadService->download($dest, $url);
            $placeFileService->exec($new_path, $backup_dir);

a-blog cms Ver. 2.8.0-beta.4 をお試しの方

現状 a-blog cms Ver. 2.8.0-beta.4 をご利用の場合は、不具合により自動アップデートが動作しません。 以下パッチを適応することにより、自動アップデートできるようになりますので、お手数ですが適応お願いいたします。


ファイルを開く

パッチファイル

php/ACMS/POST/Update を パッチファイルのものと置き換えてください。

予定より遅れており申し訳ございません。ただもう少しでリリース出来そうです! Ver. 2.8の変更点をまとめたものも、近いうちに公開したいと思います。

簡単セットアップファイル

Windows XAMPP 版と Mac OS MAMP 版を用意しました。まずは、ローカル環境でお試しください。


ファイルを開く

ablogcms28b_setup_xampp.zip

ファイルを開く

ablogcms28b_setup_mamp.zip

【SSL設定】サイト全体のリンクをSSLのリンクにする

a-blog cms で構築されたWebサイトを常時SSL/TLS化する方法をご紹介します。

config.server.php

define('SSL_ENABLE', 1);
define('FULLTIME_SSL_ENABLE', 1);

上記のように2つのオプションを"1"に設定する事により、サイト全体をSSL/TLS化できます。

また、同時に COOKIE_SECURE オプションを有効にすることで、a-blog cms が発行する Cookie で Secure 属性が有効になります。

Secure 属性が有効になることで、 HTTPS 接続の場合にのみクッキーが送信されるようになり、盗聴や中間者攻撃から保護されます。セキュアな接続が必要な場合、必ず COOKIE_SECURE オプションを有効にしてください。

define('COOKIE_SECURE', 1);