2017-10-09 1 views
0

큰 WebForms App (약 300 페이지)을 번역하는 작업이 있습니다. (리소스 파일을 사용하여) ASP.NET 응용 프로그램을 번역 할 때 기존 방식을 사용할 것이고 ZetaResource를 사용하여 쉽게 사용할 수 있습니다. 그러나 작은 문제가 있습니다. aspx 코드에 존재하는 무료 텍스트로 무엇을 할 수 있습니까? 이 코드를 예로 들어 보겠습니다. 텍스트를 어떻게 변환 할 수 있습니까? 데이터베이스에서 ASP : Label Server 컨트롤로 사용할 수있는 레코드 목록은 내장 된 번역 메커니즘을 사용하고 있습니까?ASP.NET WebForms App 번역 및 지역화

<form id="form1" runat="server"> 
<div> 
    <br /> 
    This is a List of records available in the Database<br />  
    <br /> 
    <asp:Button ID="cmdButton" runat="server" Text="Button" meta:resourcekey="cmdButtonResource1" /> 
</div> 
</form> 

답변

0

당신이 문자열 1입니다 원하는 YourResource라는 이름의 리소스 파일 및 아이템을 상상해, 당신은 무료로 텍스트를 이렇게 만 할 수

<%= (YourResource.String1) %> 
+0

답장을 보내 주셔서 감사합니다. 저는 실제로 aspx 파일의 자유 텍스트를 서버 컨트롤로 변환하는 방법을 찾고 있습니다. 내가 무슨 말을하는지 이해하지만 많은 파일 (약 3-400 aspx 파일)이 있으며 가능한 한 자동으로 작업을 수행하고 싶습니다! 수동으로하는 것은 악몽이 될 것입니다! – Enovator

+0

@Enovator 알겠습니다. 각 문서에서 자유 텍스트를 찾은 다음 자유 텍스트를 가져 와서 리소스 파일에 추가하고 자유 텍스트를 리소스 키로 바꿔야합니다. [HtmlAgilityPack] (https://www.nuget.org/packages/HtmlAgilityPack/)을 사용하여 구문 분석을 수행 할 수 있습니다. 이것은 쉽지는 않을 것입니다. 그러나 그것은 또한 실제로 복잡하지 않습니다. 이렇게하기 전에 모든 것을 백업해야 문제가 발생했을 때 되돌릴 수 있습니다. – CodingYoshi

0

당신은 현지화에 대한 두 가지 선택이있다 : 명시적이고 암시 적이다. 다음과 같은 코드로

명시 적 지역화를 들어

, 당신은 리소스 파일에 텍스트를 넣어 것입니다 및 웹 페이지에 표시 : 암시 적 지역화를 들어

<asp:Localize ID="Localize1" Runat="server" Text="<%$ Resources:LocalizedText, ListOfRecordsInDatabase%>" /> 

코드는 다음과 같이 더 같을 것이다 : 단 하나의 페이지에 존재하는 이러한 일회성 텍스트에 대한

<asp:Localize ID="Localize1" Runat="server" meta:resourcekey="LocalizeResource1" Text="This is a List of records available in the Database" /> 

, 나는 일반적으로 암시 적 지역화를 사용합니다. 여러 페이지 (공통 레이블, 단추 등)에있을 수있는 텍스트의 경우 명시 적으로 사용합니다.

<asp:Localize> 또는 <asp:Label>과 같이 서버 컨트롤에 넣으면 암시 적 지역화 리소스 파일을 자동으로 생성 할 수도 있습니다.

MSDN 사이트의 "Walkthrough: Using Resources for Localization with ASP.NET"연습 문제가 있습니다. 리소스 파일을 자동으로 생성하는 방법을 알려줍니다.

+0

감사합니다. 매우 우수하고 문서화 된 답변입니다. 내 질문은 기본적으로 ... aspx에있는 자유 텍스트를보다 자동화 된 방식으로 서버 컨트롤로 변환하는 방법이 있습니까? 나는 그것을 수동으로하고 싶지 않다. 내 샘플 코드에서는 스크립트 나 배치 등을 실행하여 자유 텍스트를 레이블 또는 지역화 태그로 변환합니다. 내가 분석 할 파일이 많아서 파일로 파일을 수동으로 처리하기가 어렵습니다! – Enovator

+0

나는 아무것도 모르지만 ... 텍스트가 항상 두 개의 '
'태그 사이에있는 것처럼 패턴을 따르는 경우 정규 표현식 찾기 및 바꾸기 기능을 Visual Studio에 사용할 수 있습니다. –

+0

정규식을 사용하여 자유 텍스트를 추출하는 스레드가 있습니다 (https://stackoverflow.com/questions/7167279/regex-select-all-text-between-tags). BeautifulSoup https://www.crummy.com/software/BeautifulSoup/와 같은 도구 – Enovator