回答編集履歴

1

サーバーエラーで重複して投稿されたので削除しました。

2020/05/29 05:59

投稿

yosato
yosato

スコア1

test CHANGED
@@ -1,115 +1 @@
1
- 回答いただきましてありがとうございます!
2
-
3
- 教えていただいた方法と、[こちら](https://easyramble.com/get-language-setting-by-javascript.html)を参考に、以下のように対応して
4
-
5
- JavaScriptとCSSで日本語と、それ以外(=en)を振り分け、メッセージの表示/非表示で実現できました。
6
-
7
-
8
-
9
- JavaScript
10
-
11
- ---
12
-
13
- ```ここに言語を入力
14
-
15
- window.onload = function() {
16
-
17
- var language;
18
-
19
-
20
-
21
- if (navigator.browserLanguage != null) {
22
-
23
- // Internet Explorer, Opera, 他
24
-
25
- language = navigator.browserLanguage.substr(0, 2) == "ja" ? "ja" : "en";
26
-
27
- } else if(navigator.userLanguage != null) {
28
-
29
- // Internet Explorerの場合
30
-
31
- language = navigator.userLanguage.substr(0, 2) == "ja" ? "ja" : "en";
32
-
33
- } else if(navigator.language != null) {
34
-
35
- // Chrome, Firefox, Opera, 他
36
-
37
- language = navigator.language.substr(0, 2) == "ja" ? "ja" : "en";
38
-
39
- } else {
40
-
41
- // その他
42
-
43
- language = "en";
44
-
45
- }
46
-
47
-
48
-
49
- setLanguage(language);
50
-
51
- }
52
-
53
-
54
-
55
- function setLanguage(language){
56
-
57
- var element = document.getElementsByClassName("displaybylanguage");
58
-
59
- for (var i = 0; i < element.length; i++) {
60
-
61
- if(element[i].getAttribute("lang") == language){
62
-
63
- element[i].style.display = "block";
64
-
65
- }
66
-
67
- else{
68
-
69
- element[i].style.display = "none";
70
-
71
- }
72
-
73
- }
74
-
75
- }
76
-
77
- ```
78
-
79
- CSS
80
-
81
- ---
82
-
83
- ```ここに言語を入力
84
-
85
- .displaybylanguage {
86
-
87
- display: none;
88
-
89
- }
90
-
91
- ```
92
-
93
- - 表示する必要のない日本語環境でのローディング時のチラ見せ防止対策
94
-
95
- HTML
96
-
97
- ---
98
-
99
- ```ここに言語を入力
100
-
101
- <div class="displaybylanguage" lang="en">
102
-
103
- ブラウザの言語が日本語以外の時にこのメッセージを表示する
104
-
105
- </div>
106
-
107
- ```
108
-
109
- 希望はPHPでしたが苦手なのと納期が迫っているためJavaScriptで妥協しましたが、
110
-
111
- 思ったよりいい仕上がりでした。
112
-
113
- 私のリサーチ不足をお詫びいたします。
114
-
115
- 回答頂きましてありがとうございました
1
+ サーバーエラーで重複して投稿されたので削除しました