Google Translate APIを使って翻訳ボタンを作る


Google Translate API を利用した翻訳機能は Ver. 3.1.12 で廃止されました。


a-blog cms Ver.2.8.0に組み込みJSに翻訳機能がつきました。この機能を使うことで日本語を例えば英語に変換して別のテキストエリアに翻訳結果を自動入力するカスタマイズが可能になります。

まずは Google Translate API を使用するために以下の2つのステップが必要になります。

  1. API key の取得
  2. API key を CMS のプロパティ設定で登録する。

1. API key の取得


まずは、Google API Console にアクセスしてログインしてください。ログイン後、任意の名前でプロジェクトを作成します。 上の画像のように 1, 2 の手順でプロジェクトを新規作成できます。


左上のセレクトメニューをクリックし、先ほど作成したプロジェクトを選択します。



次は、サブカラムより「ライブラリ」という項目をクリックし、API ライブラリのページに移動します。そのページにて、Google Cloud Translation APIという項目を検索して有効化してください。



最後に「認証情報」をクリックして認証情報の設定画面に移動します。そこで新たに API key を作成します。今回はキーの制限は「なし」でも大丈夫です。ただしセキュリティ上、「IP アドレス」を指定し、アクセスできるIPアドレスを制限しておくことをオススメします。


この時発行される API key を覚えておきましょう。

2. API key を CMS のプロパティ設定で登録する。


プロパティ設定

プロパティ設定

a-blog cms Ver. 3.0 系 の APCuキャッシュに関する不具合について


a-blog cms Ver. 3.0系で、 APCu というphp共有メモリキャッシュ について問題が見つかりました。 同じphp実行ユーザーで動作させる a-blog cms 環境がサーバー内に複数ある場合、別々の a-blog cms でもキャッシュが共有されてしまう可能性がございます。

対象となる条件 (AND条件)

  • ご利用のサーバーでAPCuが有効の場合
  • 同サーバー内に複数の a-blog cms を設置
  • .envファイルで、キャッシュにAPCuを指定している場合(デフォルト設定)

問題への対応方法1

Ver. 3.0.7 へのアップデートを行う事で、この問題は解消されます。

問題への対応方法2

APCuキャッシュが問題になりますので、APCuキャッシュを利用しないようにします。
ドキュメントルートにある 「.env」 ファイルを編集します。各項目のキャッシュドライバーに 「apcu」 が指定されている場合は、他のドライバーに変更します。

デフォルトの状態だと、以下の3つに 「apcu」 ドライバーが選択されています。

  • テンプレートキャッシュ (ACHE_TEMPLATE_DRIVER)
  • フィールド情報キャッシュ (CACHE_FIELD_DRIVER)
  • 一時キャッシュ(CACHE_TEMP_DRIVER)

これは、他のドライバーに変更します。 テンプレートキャッシュ、フィールド情報キャッシュは、「file」、一時キャッシュは「memory」が推奨です。

# テンプレートのキャッシュをするドライバーを選択します
CACHE_TEMPLATE_DRIVER=file
CACHE_TEMPLATE_NAMESPACE=template
CACHE_TEMPLATE_LIFETIME=2678400

# フィールド情報のキャッシュをするドライバーを選択します
CACHE_FIELD_DRIVER=file
CACHE_FIELD_NAMESPACE=field
CACHE_FIELD_LIFETIME=86400

# 一時キャッシュで利用するドライバーを選択します
CACHE_TEMP_DRIVER=momory
CACHE_TEMP_NAMESPACE=temp
CACHE_TEMP_LIFETIME=10800

この度はご迷惑をおかけしてしまい申し訳ございません。
該当する内容の場合、バージョンアップなどご対応のほどよろしくお願いいたします。
今後とも a-blog cms をよろしくお願いいたします。

Ver. 3.0.7 リリースのお知らせ


この記事では、2022年2月25日にリリースした Ver. 3.0.7 の修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.7 リリースノート

  • CMS-5858 UTSUWAのjsがbundle時にwarningが出ている問題を修正
  • CMS-5859 action.htmlのボタンにid属性を追加
  • CMS-5860 位置情報有効にするとブログ管理のページがPHPエラーで表示されなくなる問題を修正
  • CMS-5861 メディア機能でGif画像がアップロードできない問題を修正
  • CMS-5862 サマリー系モジュールで、カスタムフィールドが entryFieldブロックの中で表示できない問題を修正
  • CMS-5863 サマリー系モジュールで、関連エントリー機能 or PHP8でエラーが起きる可能性がある問題を修正
  • CMS-5867 Ver. 3.0 系でメールマガジンが送信できない、ダウンロードモジュールが動作しない問題を修正
  • CMS-5868 一括変更フィールド設定のツールチップのスタイル崩れ
  • CMS-5869 Siteテーマのアクセシビリティ改善
  • CMS-5870 検索結果の空ページに新規作成ボタンを設置
  • CMS-5876 APCu のキャッシュが 同空間の 他a-blog cmsのキャッシュと衝突する可能性を修正
  • CMS-5875 Entry_Summary系モジュールで、エントリのカスタムフィールドが entryFieldブロックの中でしか展開できない問題を修正
  • CMS-5873 ユーザー編集画面で、メルマガのチェックボックスが表示されない場合がある問題を修正
  • CMS-5882 Tag_Filterモジュールのコンフィグ「リンク」の設定値が反映されない問題を修正
  • CMS-5881 .htaccess の リダイレクト設定を調整
  • CMS-5879 beginnerテーマのフォームの初期バリデート設定が間違っている問題を修正
  • CMS-5883 ダッシュボードでログイン履歴が表示されない問題を修正
  • CMS-5880 User_GeoListがエラー発生して正常に動作しない問題を修正
  • CMS-5884 拡張アプリのアップデート時に他の拡張アプリのステータスがおかしくなる可能性がある問題を修正
  • CMS-5833 エントリー項目設定のサブカテゴリーの「選択肢を子カテゴリーに限定」設定が反映されずカテゴリーの設定をみてしまう問題を修正

主なリリースノートの詳細な内容

CMS-5876 APCu のキャッシュが 同空間の 他a-blog cmsのキャッシュと衝突する可能性を修正

詳細については下記のブログに記載されていますので、キャッシュの衝突にお困りの方は下記のブログをご一読ください。


CMS-5875 Entry_Summary系モジュールで、エントリのカスタムフィールドが entryFieldブロックの中でしか展開できない問題を修正

Ver. 3.0.7 以前のVer. 3.0系では、Entry_Summary系モジュールで loop を使用する際、entryFieldブロックで loop を囲まなければ展開できませんでした。

こちらを見直し、新バージョンでは entryFieldブロックなしでも loop が動作するよう修正しました。

旧式の記述
<!-- BEGIN entry:loop -->
<!-- BEGIN entryField -->
<!-- BEGIN hoge:loop -->
{hoge}
<!-- END hoge:loop -->
<!-- END entryField -->
<!-- END entry:loop -->
新式の記述
<!-- BEGIN entry:loop -->
<!-- BEGIN hoge:loop -->
{hoge}
<!-- END hoge:loop -->
<!-- END entry:loop -->

CMS-5833 エントリー項目設定のサブカテゴリーの「選択肢を子カテゴリーに限定」設定が反映されずカテゴリーの設定をみてしまう問題を修正

Ver. 3.0.7 以前は、コンフィグ/編集設定 内「エントリー項目設定」における、サブカテゴリー「選択肢を子カテゴリーに限定」が正常に機能しておりませんでしたが、今回バージョンで正しく設定できるよう修正しました。



最後に

この度はご迷惑をおかけしてしまい申し訳ございませんでした。該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。 また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいりますので、よろしくお願いいたします。