[]
        
(Showing Draft Content)

사용자 지정 언어 패키지

SpreadJS는 18개 이상의 기본 언어 패키지 외에도 사용자 지정 지역화를 지원합니다.

사용자는 사용자 정의 언어를 정의하거나 기존 언어 패키지를 수정하여 특정 단어나 문구를 자신의 선호에 맞게 표시할 수 있습니다.

사용자 정의 언어 패키지 사용

다양한 로캘에서 작업할 때 지역 날짜 및 시간 형식을 처리해야 하는 경우, 사용자 정의 언어 패키지를 생성하고 사용하는 것이 특히 유용합니다.

사용자는 함수 이름을 지역화하고, 사용자 정의 함수로 작업하고, 테이블 함수를 정의하고, 테이블 수식 키워드, CalcError 문구, 불리언 값, 특수 함수 로직을 원하는 언어로 커스터마이즈할 수 있습니다.

CultureManager 클래스의 culture 메서드와 addCultureInfo 메서드를 사용하여 사용자 정의 언어 패키지로 작업할 수 있습니다.

다음 GIF는 아래와 같은 사용자 정의 언어 패키지를 보여줍니다.



다음 코드 샘플은 사용자 정의 언어 패키지를 사용하는 방법을 보여줍니다.

<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
<link href="css/gc.spread.sheets.excel2013white.xx.x.x.css" rel="stylesheet" />
<script src="scripts/gc.spread.sheets.all.xx.x.x.min.js"></script>
<script src="scripts/demo.js"></script>
<script src="scripts/resource.js"></script>
<script>
  $(document).ready(function () {

  // Spread 초기화
    var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });

    // 활성 시트 가져오기
    sheet = spread.getSheet(0);
    spread.suspendPaint();
    spread.options.showScrollTip = 3;
    spread.options.showResizeTip = 3;
    var table = sheet.tables.addFromDataSource("table1", 0, 0, source, GC.Spread.Sheets.Tables.TableThemes.medium2)
    table.showFooter(true);
    table.showHeader(true);
    table.highlightFirstColumn(true);
    table.setColumnFormula(3, "=SUM(D4:D12)");
    table.setColumnFormula(2, "=SUM(E4:E12)");
    table.setColumnValue(0, "Total");
    sheet.setColumnWidth(0, 130);
    sheet.setColumnWidth(4, 100);
    spread.resumePaint();
    GC.Spread.Common.CultureManager.addCultureInfo("de", null, de);
    GC.Spread.Common.CultureManager.addCultureInfo("zh_tw", null, zh_tw);
    GC.Spread.Common.CultureManager.addCultureInfo("fr", null, fr);
    GC.Spread.Common.CultureManager.addCultureInfo("ha_ha", null, ha_ha);
    spread.resumePaint();
    var select = document.getElementById('CultureSelect');
    select.onchange = function ()
    {
      debugger;
      var culture = this.value;
      GC.Spread.Common.CultureManager.culture(culture);
      $("#l_description").text(langDescription[culture]);
      $("#language").val(JSON.stringify(window[culture], null, 2));
    }
  });
</script>
</head>

<body>
<div id="settingsDiv">
Switch Culture:
<select id="CultureSelect">
<option value="en">en</option>
<option value="zh_tw">zh-tw</option>
<option value="fr">fr</option>
<option value="de">de</option>
<option value="ha_ha">Ha-Ha</option>
</select>
</div>

<p id="l_description">The base and default language.</p>
<div id="ss" style="height:400px;width:600px"></div>
<textarea id="language" cols="85" rows="40" style="max-width: 98%" readonly="readonly"></textarea>
</body>
</html>

기존 언어 패키지 수정

기존 언어 패키지를 사용자 정의하여 특정 언어로 번역할 수 있습니다. 특히 특정 스프레드시트 요소에만 다른 텍스트를 표시해야 할 때 유용합니다.

CultureManager.getResources 메서드를 사용하여 현재 또는 지정된 문화권 리소스를 가져올 수 있습니다. 이 메서드는 현재 사용 중인 언어나 지정된 언어 패키지를 반환합니다.

언어 패키지를 가져온 후에는 다음 단계를 통해 수정된 패키지를 Spread에 적용할 수 있습니다:

  1. 반환된 언어 패키지를 수정합니다.

  2. addCultureInfo 메서드를 사용하여 해당 언어를 SpreadJS에 추가합니다.

  3. CultureManager.culture 메서드를 사용하여 SpreadJS 언어를 변경합니다.

참고: addCultureInfo 메서드로 사용자 정의 언어를 추가한 경우, CultureManager.culture 메서드를 사용하여 현재 언어를 사용자 정의 언어로 변경하기 전까지 해당 리소스를 즉시 사용할 수 없습니다.

또는 CultureManager.getLanguage 메서드를 직접 사용할 수도 있습니다.

다음 GIF는 일본어 언어 패키지를 사용하면서 스크롤 힌트에 중국어 문자열을 사용하는 예시를 보여줍니다.




다음 코드 샘플은 기존 언어 패키지를 수정하고 사용하는 방법을 보여줍니다.

// 워크북 및 워크시트 구성
var spread = new GC.Spread.Sheets.Workbook("ss");
var sheet = spread.getActiveSheet();

// 행 높이 및 열 너비 조정 시 리사이즈 힌트 표시
spread.options.showResizeTip = GC.Spread.Sheets.ShowScrollTip.both;
// 지정된 문화권 리소스 가져오기
var originResources = GC.Spread.Common.CultureManager.getResources("ja-jp"); 
// 원본 문화권 리소스를 기반으로 문화권 수정
originResources.Sheets.Tip_Width = "宽度: {0} 像素"; 
GC.Spread.Common.CultureManager.addCultureInfo("custom", null, originResources);
GC.Spread.Common.CultureManager.culture("custom");