プロジェクト

全般

プロフィール

Bug(バグ) #4084

PC版にてSNS内名称設定に対応していない箇所が存在する

kaoru nishizoe1年以上前に追加. 5ヶ月前に更新.

ステータス:
Rejected(差し戻し)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2016-12-28
期日:
進捗率:

50%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Yes (はい)

説明

Overview (現象)

メニューの「コミュニティ検索」

ローカルナビの「マイフレンド」

コミュニティトップのローカルナビ

Causes (原因)

ナビ項目の設定値について国際化を行っていないため。

Way to fix (修正内容)

ナビゲーション設定の項目名に SNS内名称設定で設定した値を反映させる。(可否調査が必要)

pc_menu_search_community.png 表示 (34.2 KB) kaoru nishizoe, 2016-12-27 15:04

loca_nav_myfriend.png 表示 (19.4 KB) kaoru nishizoe, 2016-12-27 15:05

nav_community_top.png 表示 (20.4 KB) kaoru nishizoe, 2016-12-27 15:08


子チケット

Backport(バックポート) #4099: PC版にてSNS内名称設定に対応していない箇所が存在するPending Review(レビュー待ち)kaoru nishizoe

Backport(バックポート) #4100: PC版にてSNS内名称設定に対応していない箇所が存在するPending Review(レビュー待ち)kaoru nishizoe


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #4082: スマートフォン版にてSNS内名称設定に対応していない箇所が複数存在する Rejected(差し戻し) 2016-12-28
関連している opSkinThemePlugin - Bug(バグ) #4087: PC版にてSNS内名称設定に対応していない箇所が存在する Pending Review(レビュー待ち) 2016-12-27
関連している OpenPNE 3 - Enhancement(機能追加・改善) #4267: #4084 修正適用後、SNS内名称設定を行った際、キャッシュクリアをしないと反映されない Pending Review(レビュー待ち) 2018-01-16

履歴

#1 kaoru nishizoe1年以上前に更新

#2 kaoru nishizoe1年以上前に更新

  • 説明 を更新 (diff)

#3 kaoru nishizoe1年以上前に更新

  • 関連している Bug(バグ) #4082: スマートフォン版にてSNS内名称設定に対応していない箇所が複数存在する を追加

#4 kaoru nishizoe1年以上前に更新

  • 説明 を更新 (diff)

#5 kaoru nishizoe1年以上前に更新

  • 関連している Bug(バグ) #4087: PC版にてSNS内名称設定に対応していない箇所が存在する を追加

#6 kaoru nishizoe1年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 担当者kaoru nishizoe にセット
  • 対象バージョンOpenPNE 3.9.0-old にセット
  • 進捗率0 から 50 に変更

https://github.com/openpne/OpenPNE3/pull/401
にてプルリクエストしました。
レビューをお願いします。

#8 Shinichi Urabe1年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更
  • ナビの説明において <?php echo __('Friend') ?> のように記載していますが、あえて Friend を翻訳せずとも のように SnsTerm で使われている名称を使えばよいように思いますが、どうでしょうか。
    • 'My Friend' 'Community' 'Nickname' 'Activity' 'Post Activity' も同様
  • opI18n::__($nav->caption) という処理について caption は navigation_translation の表示すべき言語に翻訳済みの言葉で、それを二重に翻訳しているような動作となるので、本来であれば Navigation モデル内で、SnsTerm を呼び出して文言定義を使うのが適切かもしれません。
  • %community% %friend% が元々大文字で始まっているものは大文字にしておいてください。
  • Search %community% となっていますが、こちらは元々複数形です、元々と単語が変わっています。 SnsTerm::pluralize() を使えば複数形にできますが、対応方法は難しいかもしれません。

#9 kaoru nishizoe1年以上前に更新

  • 対象バージョンOpenPNE 3.9.0-old から OpenPNE 3.9.0 に変更

対象バージョン変更のため、修正内容の確認を行います。

#10 kaoru nishizoe1年以上前に更新

ナビゲーション項目名に Community Friend などの SNS内名称設定にて設定した値を設定した場合、SNS内名称変更時にキャッシュクリアが必要。
apps/pc_backend/modules/navigation/actions/actions.class.php の removeNavCaches() にナビゲーション部分のキャッシュだけ消すコードを流用する。

#11 kaoru nishizoe6ヶ月前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

https://github.com/openpne/OpenPNE3/pull/401 いったんcloseし、
https://github.com/openpne/OpenPNE3/pull/491 でプルリクエストし直しました。


#4084-8

ナビの説明において のように記載していますが、あえて Friend を翻訳せずとも のように SnsTerm で使われている名称を使えばよいように思いますが、どうでしょうか。

修正しました。

community friend が元々大文字で始まっているものは大文字にしておいてください。

修正しました。

opI18n::__($nav->caption) という処理について caption は navigation_translation の表示すべき言語に翻訳済みの言葉で、それを二重に翻訳しているような動作となるので、本来であれば Navigation モデル内で、SnsTerm を呼び出して文言定義を使うのが適切かもしれません。

https://github.com/openpne/OpenPNE3/blob/master/lib/model/doctrine/NavigationTable.class.php#L13-L19
のクエリ実行時点で

caption は navigation_translation の表示すべき言語に翻訳済みの言葉

になっています。
このあと、SnsTerm を呼び出すのであれば、テンプレートで変換するのとあまり変わらないのではと思いますので変更していません。
より良い対処方法があれば具体的にご教示いただければと思います。

Search community となっていますが、こちらは元々複数形です、元々と単語が変わっています。 SnsTerm::pluralize() を使えば複数形にできますが、対応方法は難しいかもしれません。

yml 内で SnsTerm::pluralize() を行うのは難しかったので、en 向け設定は、SnsTerm を使用しない設定のままにしておきます。


#4084-10
については、このチケットで扱う問題ではないため、別途チケット作成( #4267 )します。

#12 kaoru nishizoe6ヶ月前に更新

#13 Rimpei Ogawa5ヶ月前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

「友人」と「フレンド」は別扱いなので、
https://github.com/openpne/OpenPNE3/pull/491/files#diff-d87e351215b0e64189d87a7c73e612f0R48
この変更は誤りです。

#14 kaoru nishizoe5ヶ月前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

#4084-13 を修正しプルリクエストを更新しました
https://github.com/openpne/OpenPNE3/pull/491

#15 Rimpei Ogawa5ヶ月前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

apps/pc_backend/modules/navigation/templates/listSuccess.php
において、SNS内名称設定の説明にベタ書きで項目が並んでいますが、SNS内名称設定フォーム opSnsTermForm では、設定可能項目を設定ファイルから動的に取得しているため、これと似たような処理が必要です。

また、

+    <tr>
+      <th><?php echo __('%Friend%') ?></th>
+      <td>%friend%</td>
+    </tr>
のように、大文字小文字の表記揺れがあり、日本語の場合には影響がないですが、英語で表示した場合にはおかしい表示になると思います。

#16 Rimpei Ogawa5ヶ月前に更新

そもそも caption の出力部分を単純な __() の翻訳にかけてしまってよいのか、という部分も検討が必要かもしれません。
https://github.com/openpne/OpenPNE3/pull/491/files#diff-e2928f1e67149b64dcdb8b83a84d35cdR12

例えば、ナビゲーション部分は英語表記で「Search」と表示したいのに、apps/pc_frontend/i18n/messages.ja.xml にエントリーがあるため「検索」と翻訳されて表示されてしまったりするのが問題になるケースがあると思います。

他の形式にエクスポート: Atom PDF