JavaScript 파일에서 텍스트에 대한 언어 파일을 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1628407

  •  06-07-2019
  •  | 
  •  

문제

내 웹 응용 프로그램은 JavaScript의 Allot을 사용하고 JavaScript에는 사용자에게 다시보고하는 메시지가 있습니다.

내 JavaScript에서 텍스트를 추출하여 다른 .js 언어 파일에 외부로 저장하는 가장 좋은 방법은 무엇이며, 앞으로 JS 코드에서 어떻게 참조 할 수 있습니까?

이것에 대한 모범 사례가 있습니까?

도움이 되었습니까?

해결책

객체 문자 그대로 만들기 :

var messages = {
    welcome: "Welcome",
    goodbye: "Goodbye",
    error: "Something bad happend. Sowwy!"
};

그런 다음 참조 할 수 있습니다.

if (error) alert(messages.error);


여러 언어를 구현하려면 훌륭합니다. 내가 일반적으로하는 것은 앱 구성에서 또는 UI-Culture (ASP.NET의 경우)에 따라 선택된 언어에 따라 "메시지"객체를 렌더링하는 서버 측 파일을 포함하는 것입니다.

인라인으로 사용하는 방법은 다음과 같습니다.

<head>
    <!-- messages.aspx renders out the object literal -->
    <script type="text/javascript" src="messages.aspx"></script>

    <script type="text/javascript">

        /* when messages.aspx is included it provides you with an object literal
           as a global variable. The example below would alert "Something bad
           happend. Sowwy!" */

        if (error) alert(messages.error);

    </script>
</head>


문자 그대로 사용하는 것에 대한 깔끔한 점은 코드가 더 장점이라는 것입니다. 다음과 같은 배열을 사용하는 대신 : alert(messages[0]) 당신은 이것을합니다 : alert(messages.error) 조금 더 설명 적입니다.

사이드 노트 : 모든 메시지는 많은 변수로 정의되는 대신 한 객체로 정의되어 전역 네임 스페이스를 오염시키지 않습니다.


JavaScript에서는 런타임에 객체를 수정할 수 있습니다. 따라서 객체에 더 많은 메시지를 추가하고 싶다면 나중에 코드에서 다음을 수행 할 수 있습니다.

messages.newMessageAddedLaterOnInTheCode = "This is a new message";

다른 팁

다른 사람들이 JS 파일에 저장하는 방법을 알려주었습니다 (요청대로). 그러나 대신 XML 파일에 저장하는 것이 좋습니다. 관리하기가 다소 쉽습니다 (IMO).

다음과 같은 항목으로 XML 파일을 만듭니다.

<text id="welcome_to_site">Welcome to our site!</text>
<text id="come_back_soon">Come back soon!</text>

그런 다음 일반 JS/JQuery에서 필요한 모든 텍스트를 쉽게 가져올 수 있습니다.

var text = new Object();
$.ajax({
    async: false,
    type: 'GET',
    url: 'text.xml',
    dataType: "xml",
    success: function(xml){
        $(xml).find('text').each(function(){
            text[$(this).attr('id')] = $(this).text();
        });
    }
});

그리고 텍스트를 호출하려면 이것만큼 간단합니다.

alert(text['welcome_to_site']);

XML 파일에서 언제든지 쉽게 변경할 수 있습니다. 텍스트 추가, 텍스트 제거, 텍스트 편집. 매우 간단합니다. 또한 디자인을 분리하는 데 도움이되고 다른 사람들이 텍스트를 편집 할 수 있도록 도어를 열어줍니다.

이를 수행하는 한 가지 방법은 페이지에 실제로 서버 측 스크립트를 가리키는 별도의 JS가 포함되어 있습니다. 이 스크립트는 다음과 같이 필요한 문자열을 반영 할 수 있습니다.

var STRINGS = {'greeting': "Hello", 'error': "Something went wrong"};

웹 페이지에는 다음과 같습니다.

우리는 이것을 위해 이것을합니다 http://addons.mozilla.org 여기: http://addons.mozilla.org/en-us/firefox/pages/js_constants.js

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top