콘텐츠 저장에서 여러 언어로 사용할 수 있습니까?E.g.영어,프랑스어,독일어

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

  •  09-06-2019
  •  | 
  •  

문제

어떻게 해야 저장(와 현재)텍스트의 웹사이트에서도 전 세계적으로 사용하기 위해,여러 언어로 사용할 수 있습니까?콘텐츠는 대부분의 형태에서는 500 단어 기사지만 내가 필요로 번역하는 작은 조각의 텍스트에서 각각의 페이지 너무(예"이것을 인쇄 문서에서는"또는"메뉴로 돌아").

내가 알고 있는 여러 가지 CMS 패키지를 처리하는 여러 언어로,그러나 나는 통합의 기존의 ASP 시스템,그래서 나는 무시한 솔루션이 있습니다.

한 우려가 있는 Google 할 수 있어야 페이지를 찾을 수 있도 외국인을 위한 사용자.나는 더 적은에 대한 우려 처리와 관련된 문제가 발생 날짜와 통화입니다.

나는 걱정,왼쪽을 내 자신 장치,나이를 발명하는 방법 이렇게 작동하는지만,결국은 재앙으로 이어질!내가 원하는 무엇을 알고 전문적인 솔루션 당신이 실제로 사용되는 실제 프로젝트에서,아 보 아이디어!매우 감사합니다.


나는 리소스를 연결,하지만 그들은 적합하지 않는 모든하지만,가장 사소한 번역 솔루션(나는 것입니다 정교한다면 사람을 알고 싶).

Google 도움이 될 것으로 나를 번역 텍스트,하지만 저장/제시합니다.

누군가에서 일한 다중 언어로 프로젝트에 의존하고 자신의 코드를 위한 프리젠테이션?


어떤 생각에서 제공하는 콘텐츠는 다음과 같은 방법으로,그리고 가장 좋은 것은 무엇입니까?

(이러한되지 않는 실제 Url 을,나는 그냥 보여주는 예)

도움이 되었습니까?

해결책

첫째 모든 코드에 대한 모든 언어 중 하나에서 도메인 도움이 될 것입니다 당신의 google 순위입니다.

우리는 완전히 다언어 시스템,지역화에 저장된 데이터베이스에 그와 함께 캐시 웹 응용 프로그램입니다.

우리가 원하는 곳에는 현지화 나타나는 우리가 사용:

<%$ Resources: LanguageProvider, Path/To/Localisation %>

그런 다음에서 우리의 웹입니다.config:

<globalization resourceProviderFactoryType="FactoryClassName, AssemblyName"/>

FactoryClassName 다음를 구현하는 ResourceProviderFactory 제공하는 실제적인 동적인 기능이 있습니다.지역화에 저장된 DB 에서 문자열쇠"Path/to/현지화"

그것은 중요한을 캐시화한 값을-당신을 원하지 않을 많이 가지고 있는 DB 조회 각 페이지에서,우리는 캐시 수천 명의 현지화는 문자열이 없는 성능 문제를 해결합니다.

사용자는 사용자의 현재 브라우저한 현지화를 선택하는 언어는 무엇을 섬기다.

다른 팁

를 확인할 수 있습니다 GNU Gettext 프로젝트에 적어도 뭔가를 시작합니다.

편집하에 대한 정보를 추가하는 프로젝트:

나는 일에 여러 가지 다국어 구사 가능 를 사용하여 프로젝트 Gettext 기술에 다양한 기술을 포함하여 C++/MFC 고 J2EE/JSP,그리고 모든 괜찮습니다.그러나,당신이 필요성을 찾아 자신의 코드를 표시하는 지역화된 데이터의 코스입니다.

를 사용하는 경우.Net,나는 추천할 것 하나 더 많은 리소스파일(.리소스).많은 설명서에 있는 이에 MSDN.

대부분의 일반적인 질문을 프로그래밍,그것은 사용자의 요구에 따라 달라집니다.

에 대한 정적 텍스트,사용하는 것이 리소스 파일이 있습니다.나를 위해,니다.Net 프로그래머,그들은 쉽게 사용하고.Net 프레임워크는 좋은 지원한다.

모든 동적 텍스트를 저장하는 경향이있 등 정보를 데이터베이스에서,특히 경우에는 사이트 관리자가 아닌 개발자이다.과거에 나가 사용되는 두 가지 방법,언어 추가 열고 만드는 다른 항목에 대한 다른 언어를 만들거나 별도의 테이블에 저장하 언어별 텍스트입니다.

테이블 위한 첫 번째 방법은 아래와 같이 설정합니다:

문서 Id|언어 Id|언어 특정 문서에서는 텍스트|에 의해 만들어|Date

이 작동 상황을 만들 수 있습 다른 항목이 주어진 문서 및 필요가 없습 유지와 관련된 모든 데이터 이러한 다른 항목에서 동기화(이러한 업데이트된 타임 스탬프).

다른 방법은 두 가지 별도의 테이블이 아닌 언어별 텍스트(id,만든 날짜,만든 사용자,업데이트 날짜 등)및 다른 테이블을 포함하는 언어별 텍스트입니다.그래서 테이블은 아래와 같이 설정합니다:

첫 테이블:문서 Id|에 의해 만들어|Date|에 의해 업데이트|업데이트 날짜

두 번째는 테이블:문서 Id|언어 Id|언어별 텍스트 문서

나를 위해,질문은 아래로 업데이트를 비어 종속 데이터입니다.업데이트하는 경우에는 데이터 없음으로 의지 두 번째 방법,그렇지 않으면 나와 함께 가는 첫 번째 방법으로 보는 간단(잊을 수 없는 키스 원칙).

만약 당신이 단지에 대해 걱정 문서에서 내용되는 번역하고,필요하지 않은 완벽하게 통합된 옵션을 사용 구글 번역 과거에 그것은 좋은 작품에 더 작은 규모입니다.

훌륭한 질문입니다.

저는 이 문제를 해결을 위해 웹사이트에 내가 만든(링크에서 내 프로파일)만든 Python3 스크립트로 변환하는 일반적인 템플릿에서 날아와 삽입 특정 콘텐츠 페이지의 언어에서 요청(또는 추측에서 아파치는 Accept-Language).

그것은 재미터 배우고 있어요 Python 고 쓰는 내 자신의 미니-라이브러리를 만들기 위한 내용 페이지입니다.하나는 우리의 호스팅 없 Python3,하지만 내가 만들어 내는 스크립트를 생성 static HTML(원래 하나를 시험하고 있었는 사용자 에이전트)및 그 후 업로드하는 서버입니다.작동하는 지금까지 만들고 새로운 버전의 사이트는 이제 바람:)

가장 큰 단점은 이 방법은 시간이 쓰는 일을 처음부터.그래서 당신이 원하는 경우에,드롭게 선고 내가 당신을 도와 드리겠습니다 스크립트를 사용:)

한 URL 형식,내가 사용하는 site.com/content/example.fr 이후 이 아파치를 수행하 언어 협상에 누군가 /content/example 고 있는 브라우저는 것을 말한 그것은 좋아하는 프랑스의 언어입니다.이렇게 하면 아파치는 또한 추가 .html 또 무엇으로 보너스입니다.

그래서에 대한 요청이 있을 때 example 나는 파일

example.fr
example.en
example.vi

아파치가 자동으로 진행 example.vi 는 사람과 함께 베트남의 구성된 브라우저 또는 example.en 한 사람이 가진 독일의 구성된 브라우저입니다.아주 유용합니다.

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