質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

2560閲覧

Laravel5.5 Asgard CMSの日本語化

hidepon

総合スコア206

CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/02/06 10:25

Laravel5.5でAsgard CMSの日本語化を行おうと試行しましたが、

https://github.com/laravel-ja/comja5

がLaravel 5.4までのようで、5.5が非対応とのことでした。

対応する言語パックがないと無理ということなのでしょうか?

人力で日本語化するということなのでしょうか?

ご存知の方がいらっしゃったら教えて頂けるでしょうか?
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

結論から言えば、PHP と Laravel を理解していて、英語を翻訳できる人なら、人手でメッセージを翻訳して置き換えることは可能です。

Laravel の場合、多言語化ファイルは、resources/lang/ にあります。

Asgard CMS の言語ファイルディレクトリ(resources/lang/)をみた感じでは、

  • en (英語)
  • ko (韓国語)
  • zh (中国語-簡体字)

のメッセージファイルがあるようですので、ここに ja ディレクトリを作って、中に同じフォーマットで、翻訳したメッセージファイルを用意することになります。


多言語化ファイル翻訳の手順としては...

  1. resources/lang/ の中に ja ディレクトリを新規に作ります。
  2. 英語メッセージディレクトリ( resources/lang/en )の中のPHPファイルを ja ディレクトリの中にコピーします。
  3. 日本語メッセージディレクトリ( resources/lang/ja )の中のファイルをエディタで開き、英語のメッセージを日本語に訳します。

例えば、 resources/lang/en/auth.php をコピーしたファイル resources/lang/ja/auth.php をエディタで開くと、以下のようなファイルです。(コメント部分省略)

<?php return [ 'failed' => 'These credentials do not match our records.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', ];

このファイルの場合、メッセージは、'failed' => 'These credentials do not match our records.''throttle' => 'Too many login attempts. Please try again in :seconds seconds.' です。

言語ファイルの項目は、1行ずつ 'キー名' => 'メッセージ' の構造になっていますので、「=>」の右側の英語メッセージを翻訳して、日本語メッセージに置き換えます。(左側は、プログラムからメッセージを呼び出すための「キー」なので、変更してはダメです。)

また、2行目に :で始まる単語「:seconds」がありますが、これは、プログラムから置き換えるために定義された「プレースホルダ」ですから変更してはいけません。(下記「多言語化」ドキュメントの「翻訳文字列中のパラメータ置換」参照)

「These credentials do not match our records. 」だと直訳だと「資格情報が一致しません。」でしょうか。

参考:
Laravel 5.5 多言語化

投稿2018/02/06 13:59

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidepon

2018/02/07 03:11

ご返答有難うございます。 ご返答の内容をかみくだくと、「一発で日本語にできません」ということなんですね・・・。ダッシュボードや細かいメッセージについても手作業でするとなると、日本語パッケージがありそうなOctoberになるのでしょうか? インストールでつまづいたり、四苦八苦しています。 ご返信を頂き有難うございました
CHERRY

2018/02/07 04:22 編集

翻訳に関しては、ファイルを一つづつ確認して、英文メッセージを日本語に置き換える必要がありますので、比較的面倒な作業だと思います。 その際に Laravel の文法をある程度把握しておかないと 置き換えてはダメな部分を置き換えてしまう可能性があります。 また、プログラミングをやっていく上で、新しい技術等にチャレンジしようとすれば、英語は避けて通れない状況になっています。日本語化されていないからといって、避けていると便利な機能を使えない場合も出てくるかもしれません。 日本語化されていないのであれば、いい機会だと考えて、英語のままで使って英語に慣れていくのも一つの方法だと思います。 最終的にリリースする際には、英語のままだと一般利用者が減ると思うので、メッセージの日本語訳は必須だと考えますが、View まわりを日本語化しておけば、対処は可能と思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問