@maxgrid/locale-ja 0.0.0-stage → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1,219 @@
1
+ # 맥스그리드 소프트웨어 사용권 계약(약관)
2
+
3
+ > 시행일: 2026년 11월 4일 · 문의: desk@maxmine.com
4
+
5
+ ---
6
+
7
+ ## 소프트웨어 사용권 계약
8
+
9
+ 주식회사 맥스마인(이하 "회사")과 주문서에 기재된 고객(이하 "고객")은 회사의 데이터 그리드 소프트웨어 "맥스그리드(Max Grid)"(이하 "제품")의 사용에 관하여 다음과 같이 계약합니다. 회사의 상호·대표자·사업자등록번호·주소·통신판매업 신고번호는 표지와 주문서에 기재합니다.
10
+
11
+ ### 제1조 (목적)
12
+
13
+ 이 계약은 회사가 고객에게 제품의 사용권을 부여하고, 고객이 이에 대한 대금을 지급하며, 양 당사자가 그 사용과 지원에 관한 권리와 의무를 지는 데 필요한 사항을 정합니다.
14
+
15
+ ### 제2조 (정의)
16
+
17
+ 1. **제품**: 회사가 "맥스그리드" 또는 "Max Grid"라는 이름으로 제공하는 소프트웨어, 즉 자바스크립트 라이브러리, 프레임워크 래퍼(React, Vue, Angular), CSS, 타입 선언, 라이선스 키 검증 코드와 관련 문서를 말합니다. 제품의 기능은 에디션에 따라 달라지지 않으며, 에디션은 **사용 목적과 운영 환경, 지원 수준**으로 구분합니다(제4조의2).
18
+ 2. **버전**: 회사가 제품에 붙여 배포하는 번호 단위입니다. 주문서에 기재된 지원 기간 중에 배포된 모든 버전을 "허용 버전"이라고 합니다.
19
+ 3. **도메인**: 인터넷 주소의 호스트 이름(예: `example.com`)을 말하며, `www.`가 붙은 같은 사이트 주소(예: `www.example.com`)를 포함합니다. 그 외 하위 도메인(예: `a.example.com`)은 별도의 도메인으로 봅니다.
20
+ 4. **시스템**: 도메인이 없는 사내망·폐쇄망 환경의 하나의 독립된 업무 시스템을 말합니다. 주문서에 시스템 이름을 기재한 하나의 시스템은 도메인 1개로 봅니다.
21
+ 5. **운영 환경**: 최종 사용자에게 서비스되는 실제 환경을 말합니다. 개발·테스트·스테이징 환경은 운영 환경이 아닙니다.
22
+ 6. **라이선스 키**: 회사가 발급하는 서명된 문자열 또는 파일로, 고객명, 허용 도메인(또는 시스템 이름), 허용 프레임워크 유형, 제품 구분, 허용 버전의 한도(최대 허용 릴리스 날짜)를 담고 있습니다.
23
+ 7. **평가 모드**: 유효한 라이선스 키가 없거나 키와 맞지 않는 도메인에서 제품이 워터마크와 콘솔 경고를 표시하며 동작하는 상태를 말합니다.
24
+ 8. **지원**: 제9조에 정한 온라인 기술 지원과 새 버전 사용권을 말합니다.
25
+ 9. **주문서**: 고객이 구매한 사용권의 종류, 도메인 또는 시스템, 수량, 지원 기간, 대금을 적은 서면 또는 전자문서를 말합니다.
26
+ 10. **프레임워크 유형**: 제품이 제공하는 사용 방식의 구분으로 JavaScript(프레임워크 없음), React, Vue, Angular의 네 가지를 말합니다. 하나의 사용권은 주문서에 기재된 프레임워크 유형 1개에만 적용됩니다.
27
+
28
+ ### 제3조 (계약의 구성과 우선순위)
29
+
30
+ 1. 이 계약은 이 약관, 주문서, 별표로 구성됩니다.
31
+ 2. 내용이 충돌하면 주문서, 별표, 이 약관의 순서로 우선합니다.
32
+ 3. 고객이 별도로 제시한 발주 조건이나 표준 약관은 회사가 서면으로 동의하지 않는 한 이 계약에 적용되지 않습니다.
33
+
34
+ ### 제4조 (사용권의 부여)
35
+
36
+ 1. 회사는 고객에게 주문서에 기재된 도메인 또는 시스템의 운영 환경에서 제품을 사용할 수 있는 **비독점적, 양도할 수 없는, 기간의 제한이 없는(영구) 사용권**을 부여합니다.
37
+ 2. 사용권은 **허용 버전**에 대해 영구적입니다. 지원 기간이 끝난 뒤에 배포된 버전은 제9조에 따라 지원을 갱신해야 사용할 수 있습니다. 이미 받은 허용 버전은 지원이 끝난 뒤에도 계속 사용할 수 있습니다.
38
+ 3. 고객은 주문서에 기재되지 않은 도메인 또는 시스템의 운영 환경에서 제품을 사용할 수 없습니다. 도메인을 추가하려면 추가 주문서가 필요합니다.
39
+ 4. Developer Edition과 Trial Edition은 제4조의2에 정한 조건에 따라 무료로 사용할 수 있습니다.
40
+
41
+ ### 제4조의2 (에디션)
42
+
43
+ 제품의 기능은 모든 에디션에서 같습니다. 에디션은 사용 목적, 운영 환경, 지원 수준으로 구분합니다.
44
+
45
+ 1. **Developer Edition(무료)**: 개인 학습, 학생 프로젝트, 교육기관 수업, 포트폴리오, 기능 테스트, 데모 제작을 위한 비상업적 사용에 한해 `localhost`, `127.0.0.1`, `[::1]`, `*.localhost`에서만 사용할 수 있습니다. 온라인 샌드박스와 공개 호스팅 사이트는 포함하지 않습니다. 프레임워크 유형의 제한은 없습니다. 상업 서비스 운영, 고객사 시스템 납품, 기업 내부 업무 시스템에서의 사용, 운영 환경 라이선스 발급, 공식 기술 지원은 포함하지 않습니다.
46
+ 2. **Trial Edition(무료)**: 기업과 SI 사업자가 도입 전에 검증하기 위해 신청 즉시 자동으로 발급되는 키로 모든 프레임워크 유형을 **30일간** 실제 개발·테스트 환경에서 모든 기능을 사용할 수 있습니다. 운영 환경에서는 사용 기간 또는 워터마크로 제한될 수 있으며 기본 기술 지원은 없습니다.
47
+ 3. **Commercial Edition(유료)**: 주문서에 기재된 고객사 또는 프로젝트의 운영 도메인 1개(또는 시스템 1식)에 대한 영구 사용권이며, 개발 환경 사용, 개발자 수·사용자 수 제한 없음, **프레임워크 유형 1개**(주문서에 기재, 같은 도메인에서 다른 유형이 필요하면 추가 주문서로 할인된 가격에 구매), 구매 후 1년간 업데이트와 기본 기술 지원을 포함합니다. 서버 수는 제한하지 않으며 대규모 분산 배포는 별도 협의할 수 있습니다.
48
+ 4. **Enterprise Edition(별도 계약)**: Commercial Edition의 사용권에 더해 **모든 프레임워크 유형 사용**, 우선 기술 지원, 장기 버전 지원, 폐쇄망 라이선스, 다수 개발 환경, 전용 문의 채널, 별도 계약에 따른 현장 지원과 장기 유지보수를 계약 조건에 따라 제공합니다.
49
+ 5. **SI 프로젝트 라이선스**: SI 사업자는 최종 고객의 운영 시스템별로 Commercial Edition을 구매합니다. 라이선스는 최종 고객의 도메인 또는 시스템에 귀속되며, 연간 구매 수량에 따른 할인은 주문서에 따릅니다.
50
+
51
+ ### 제5조 (도메인과 시스템의 판정)
52
+
53
+ 1. 도메인 1개의 사용권은 해당 호스트 이름과 `www.`가 붙은 같은 사이트 주소에 적용되며, 다른 하위 도메인에는 적용되지 않습니다(하위 도메인은 별도의 도메인으로 구매해야 합니다).
54
+ 2. 같은 등록 도메인 아래의 개발·테스트·스테이징 서브도메인, `localhost`, `*.localhost`, `*.test`, `*.local`, 사설 IP 주소에서 개발과 검증을 위해 제품을 사용하는 것은 별도의 대금이 필요하지 않습니다.
55
+ 3. 고객의 고객이 **자신의 도메인**(CNAME 등)으로 서비스를 받도록 제품을 제공하는 경우에는 그 도메인이 각각 별개로 계산됩니다. 이 경우와 제품 자체를 SDK·구성 요소로 재판매·재배포하는 경우는 별도 계약(SaaS·OEM)이 필요합니다.
56
+ 4. SI 사업자가 최종 고객의 시스템에 제품을 납품할 때는 최종 고객의 도메인 또는 시스템을 기준으로 주문서를 작성합니다.
57
+ 5. **주문서에 기재된 도메인(또는 시스템)은 변경할 수 없습니다.** 다만 회사의 입력·발급 오류는 정정합니다. 사이트 이전 등으로 도메인이 바뀌면 새 도메인에 대한 주문서가 필요합니다. 구매 전에 도메인을 확인하는 단계를 두며, 고객은 이를 확인하고 주문해야 합니다.
58
+ 6. 도메인 수의 판정에 다툼이 있으면 회사가 주문서와 이 조의 기준에 따라 판단하되, 고객은 서면으로 이의를 제기할 수 있습니다.
59
+ 7. **와일드카드(`*.example.com`)** 도메인은 주문서에 등록 도메인과 함께 기재한 경우에만 적용되며, 등록 도메인 바로 아래 하위 호스트 중 **주 도메인과 같은 서비스로 연결된 호스트**에만 사용할 수 있습니다. 하위 호스트의 A 레코드가 주 도메인과 다르거나, CNAME이 가리키는 최종 대상이 주 도메인의 서비스와 다른 경우(다른 서버·다른 서비스·고객의 고객 도메인 연결 포함)는 와일드카드에 포함되지 않고 별도의 도메인으로 계산합니다. 같은 서비스를 로드밸런서·CDN 등으로 여러 주소에 나누어 운영하는 경우는 같은 서비스로 봅니다.
60
+
61
+ ### 제6조 (허용되는 사용)
62
+
63
+ 고객은 다음을 할 수 있습니다.
64
+
65
+ 1. 고객이 개발하는 애플리케이션에 제품을 포함해 최종 사용자에게 배포하는 것(최종 사용자 수의 제한은 없습니다)
66
+ 2. 업무상 필요한 범위에서 제품의 사본을 만들어 백업하거나 개발·테스트 환경에 설치하는 것
67
+ 3. 제품을 자신의 애플리케이션에 맞게 설정하고 확장 지점(옵션, 이벤트, 어댑터)을 통해 기능을 더하는 것
68
+
69
+ ### 제7조 (제한 사항)
70
+
71
+ 고객은 다음을 해서는 안 됩니다. 다만 관련 법령이 명시적으로 허용하는 범위는 예외입니다.
72
+
73
+ 1. 제품 또는 그 일부를 독립된 제품, SDK, 구성 요소로 판매·대여·재배포하거나 제품과 경쟁하는 제품을 만드는 데 사용하는 것
74
+ 2. 라이선스 키를 제3자와 공유하거나 허용된 도메인·시스템 밖에서 사용하는 것
75
+ 3. 평가 모드, 워터마크, 라이선스 검증, 저작권 고지를 제거·우회·변조하는 것
76
+ 4. 제품의 소스 코드를 역공학하거나 비공개 부분을 추출·공개하는 것
77
+ 5. 제품에서 얻은 키 발급 정보나 검증 로직을 이용해 라이선스 키를 만들어 내는 것
78
+ 6. 법령과 제3자의 권리를 침해하는 방식으로 제품을 사용하는 것
79
+
80
+ ### 제8조 (라이선스 키와 평가 모드)
81
+
82
+ 1. 회사는 대금 확인 후 주문서에 맞는 라이선스 키를 이메일 등으로 발급합니다.
83
+ 2. 라이선스 키가 없거나 키에 기재된 도메인 또는 시스템과 맞지 않으면 제품은 **평가 모드**로 동작합니다. 평가 모드에서도 제품의 기능이 차단되지 않으며 워터마크와 경고만 표시됩니다. 이는 고객 서비스의 중단을 막기 위한 설계이며, 평가 모드에서의 운영 사용은 제4조의 위반이 될 수 있습니다.
84
+ 3. 라이선스 키의 검증은 **고객의 환경에서 제품 안에서만 수행**되고 회사의 서버와 통신하지 않습니다. 회사는 제품을 통해 고객의 데이터나 사용 정보를 수집하지 않습니다.
85
+ 4. **Developer Edition**은 개발 환경(`localhost` 등)에서는 키 없이 동작하고, 그 밖의 도메인에서는 평가 모드로 동작합니다. 회사가 발급하는 Developer 키는 발급일부터 1년간 유효하며, 만료 전후에 포털에서 다시 받을 수 있습니다. **Trial Edition**의 키에는 사용 기한이 들어 있으며 기한이 지나면 평가 모드로 동작합니다.
86
+ 5. 고객은 라이선스 키를 안전하게 관리해야 하며, 분실·유출을 알게 되면 지체 없이 회사에 알려야 합니다. 회사는 새 키를 발급할 수 있습니다.
87
+
88
+ ### 제9조 (지원과 업데이트)
89
+
90
+ 1. 회사는 주문서의 구매일부터 **1년간** 다음을 제공합니다.
91
+ - 회사가 운영하는 **지원 게시판**을 통한 온라인 기술 지원(영업일 기준 3일 이내 1차 응답을 목표로 하나 보증하지는 않습니다). 이메일, 전화, 원격 지원은 포함하지 않습니다. 반복되는 질문은 회사가 FAQ로 정리해 공개합니다.
92
+ - 허용 버전의 버그 수정을 우선 처리하고 새 버전의 사용권 제공
93
+ 2. 지원에는 고객 애플리케이션의 코드 작성, 대리 개발, 컨설팅, 현장 지원, 제3자 소프트웨어의 문제 해결이 포함되지 않습니다. 필요한 경우 별도 계약으로 진행합니다.
94
+ 3. 지원 기간이 끝난 뒤 고객은 갱신을 신청할 수 있으며 갱신비는 동일 도메인에서 한 번의 주문으로 함께 갱신하는 프레임워크 유형의 **개수**에 따라 합계가 정해지며, 어떤 유형을 고르든 같습니다. 합계는 1개 **396,000원**, 2개 **594,000원**, 3개 **712,800원**, 4개 **772,200원**(부가세 포함)입니다. 회사가 인정한 SI 파트너는 각 합계에서 **20%** 할인된 금액(316,800원, 475,200원, 570,240원, 617,760원)입니다. 지원 기간이 끝나고 90일이 지난 뒤에 갱신하면 각 합계의 1.5배(일반 1개 594,000원)입니다. 갱신하지 않아도 이미 받은 허용 버전은 계속 사용할 수 있고, 갱신하지 않은 것은 새 버전의 사용권과 기술 지원이 끝난다는 뜻일 뿐입니다.
95
+ 4. 보안 취약점의 수정 버전은 **지원 기간 중인(라이선스 키의 최대 허용 릴리스 날짜가 수정 버전의 빌드 날짜 이후인) 고객**에게 제공합니다. 치명적인 취약점은 지원 기간과 관계없이 모든 고객이 피해를 막을 수 있도록 영향 범위와 임시 회피 방법을 공지합니다. 지원이 끝난 고객이 수정 버전을 쓰려면 제3항에 따라 갱신해야 합니다.
96
+ 5. 회사는 제품의 일부 기능을 폐기하거나 변경할 수 있으며, 호환되지 않는 변경은 주 버전을 올리고 사전에 문서로 알립니다.
97
+ 6. 허용 버전은 라이선스 키에 담긴 최대 허용 릴리스 날짜까지 빌드된 버전입니다. 그 날짜 뒤에 빌드된 버전은 평가 모드(제8조)로 동작하므로, 운영 환경에서는 버전을 고정해 사용하는 것을 권장합니다.
98
+
99
+ ### 제10조 (대금과 지급)
100
+
101
+ 1. 대금은 주문서에 기재하며 **부가가치세를 포함한 금액**입니다. 주문서와 영수증에는 공급가액과 부가가치세를 구분해 적습니다.
102
+ 2. 대금은 **전자결제**(회사가 지정한 결제대행사를 통한 카드·간편결제·계좌이체 등)로만 지급합니다. 회사는 결제 수단에 따라 신용카드 매출전표 또는 현금영수증을 발급하며, 전자결제 건에는 세금계산서를 발행하지 않습니다. 다만 결제대행사를 통하지 않고 입금한 대금(Enterprise·수동 계약 등)에는 고객이 요청하면 **전자세금계산서를 수동으로 발행**합니다.
103
+ 3. 대금 지급이 지연되면 라이선스 키의 발급과 지원이 보류될 수 있습니다.
104
+ 4. 대금은 주문서에 정한 도메인·지원 기간의 사용권에 대한 대가이며, 고객이 제품을 사용하지 않더라도 환불되지 않습니다. 다만 제11조는 예외입니다.
105
+
106
+ ### 제11조 (취소와 환불)
107
+
108
+ 1. 라이선스 키가 발급되기 전에는 고객은 주문을 취소하고 지급한 대금 전액을 환불받을 수 있습니다.
109
+ 2. 라이선스 키가 발급된 뒤에는 환불되지 않습니다. 다만 제품이 문서에 명시된 핵심 기능을 제공하지 못해 사용 목적을 달성할 수 없고 회사가 30일 안에 이를 고치지 못하면 고객은 계약을 해지하고 미사용 기간에 해당하는 대금의 환불을 요청할 수 있습니다.
110
+
111
+ ### 제12조 (지식재산권)
112
+
113
+ 1. 제품과 문서, 로고, 이름에 관한 저작권, 상표권 등 모든 지식재산권은 회사에 귀속됩니다. 이 계약은 사용권만 부여하며 어떤 권리도 고객에게 양도하지 않습니다.
114
+ 2. 고객이 제품 위에 개발한 애플리케이션과 고객의 데이터에 관한 권리는 고객에게 있습니다.
115
+ 3. 고객이 회사에 제안한 개선 의견은 회사가 자유롭게 사용할 수 있으며, 회사는 이에 대해 대가를 지급하지 않습니다.
116
+
117
+ ### 제13조 (고객의 데이터와 개인정보)
118
+
119
+ 1. 제품은 고객의 화면 데이터를 회사로 전송하지 않습니다.
120
+ 2. 지원 게시판의 글과 답변은 **다른 고객이 볼 수 있도록 공개될 수 있습니다.** 고객은 개인정보, 라이선스 키, 영업비밀, 고객 데이터를 글과 첨부(화면 캡처, 코드 일부, 로그)에서 사전에 가려야 합니다. 회사는 지원 목적으로만 이 자료를 사용하며, 비공개로 올릴 수 있는 방법을 제공할 수 있습니다.
121
+ 3. 회사는 라이선스 발급을 위해 필요한 최소한의 정보(고객명, 담당자 이메일, 도메인)를 처리합니다.
122
+ 4. 고객이 회사가 운영하는 배포 서버(`cdn.maxmine.com`, `grid.maxmine.com/cdn/` 등)에서 제품 파일을 불러오는 경우 회사는 서비스 운영, 보안, 라이선스 준수 확인을 위해 접속 기록(IP 주소, 요청 시각, 참조 주소)을 처리·보관할 수 있습니다.
123
+
124
+ ### 제14조 (보증과 면책)
125
+
126
+ 1. 회사는 제품이 배포 시점의 문서와 실질적으로 일치하도록 제공하기 위해 노력합니다.
127
+ 2. 제품은 위 보증을 제외하고 **현재 상태 그대로** 제공되며, 회사는 특정 목적에의 적합성, 오류가 없음, 중단 없는 동작, 모든 환경과의 호환성을 보증하지 않습니다.
128
+ 3. 회사는 제품이 제3자의 저작권·특허권 등을 침해한다는 청구를 받았을 때 고객이 제때 통지하고 방어에 협조하면 회사의 비용으로 방어하고 확정된 배상액을 부담하며, 필요하면 제품을 수정·교체하거나 사용권을 환불합니다. 다만 고객이 제품을 변경했거나 제품을 다른 소프트웨어와 결합해서 생긴 침해는 제외합니다.
129
+
130
+ ### 제15조 (책임의 제한)
131
+
132
+ 1. 회사는 이 계약과 관련해 발생한 간접손해, 특별손해, 결과적 손해, 영업 이익이나 데이터의 손실에 대해 책임지지 않습니다.
133
+ 2. 회사의 이 계약상 총 책임은 해당 사건과 관련해 고객이 회사에 지급한 대금을 한도로 합니다.
134
+ 3. 위 제한은 회사의 **고의 또는 중대한 과실**이 있는 경우, 관련 법령이 책임의 제한을 허용하지 않는 경우에는 적용되지 않습니다.
135
+
136
+ ### 제16조 (비밀 유지)
137
+
138
+ 양 당사자는 상대방이 비밀로 표시했거나 성질상 비밀인 정보(라이선스 키, 미공개 로드맵, 가격, 지원 중 알게 된 기술 정보)를 계약 목적 외에 사용하거나 제3자에게 공개하지 않습니다. 법령이나 법원·수사기관의 요구에 따른 공개는 예외로 하며 사전에 알립니다. 이 의무는 계약이 끝난 뒤 3년 동안 유지됩니다.
139
+
140
+ ### 제17조 (계약 기간과 해지)
141
+
142
+ 1. 이 계약은 주문서 체결일부터 효력이 생기며, 사용권은 영구입니다. 지원은 제9조의 기간 동안 제공됩니다.
143
+ 2. 일방이 이 계약을 중대하게 위반하면 상대방은 30일 이상의 기간을 정해 시정을 요구하고, 그 기간 안에 시정되지 않으면 계약을 해지할 수 있습니다.
144
+ 3. 고객이 제5조·제7조를 위반해 사용권의 범위를 넘어 사용한 경우 회사는 위 절차에 따라 사용권을 해지할 수 있으며, 고객은 위반한 만큼의 추가 대금을 지급해야 합니다.
145
+ 4. 해지되면 고객은 제품과 라이선스 키의 사용을 중단하고 사본을 삭제해야 합니다. 해지 사유가 회사에 있는 경우에는 미사용 지원 기간에 해당하는 대금을 환불합니다. 이미 지급한 대금은 그 밖에는 환불되지 않습니다.
146
+ 5. 제12조, 제14조~제16조, 제21조, 제22조는 계약이 끝난 뒤에도 효력이 유지됩니다.
147
+
148
+ ### 제18조 (준수 확인)
149
+
150
+ 고객은 회사의 합리적인 서면 요청이 있으면 주문서와 맞게 제품을 사용하고 있는지 서면으로 확인해 줍니다. 회사는 고객의 영업에 지장을 주지 않는 범위에서 연 1회까지 요청할 수 있으며, 현장 감사는 고객의 동의가 있어야 합니다.
151
+
152
+ ### 제19조 (제3자 소프트웨어)
153
+
154
+ 제품에는 제3자의 오픈소스 소프트웨어가 포함될 수 있습니다. 해당 소프트웨어는 각자의 라이선스를 따르며, 그 목록과 고지는 제품에 포함된 고지 파일(NOTICE)에 기재합니다.
155
+
156
+ ### 제20조 (양도)
157
+
158
+ 고객은 회사의 사전 서면 동의 없이 이 계약상의 지위나 사용권을 양도할 수 없습니다. 다만 고객의 합병·분할·영업양도로 사업을 승계하는 자에게는 사전에 알리고 승계인이 이 계약에 구속되는 조건으로 이전할 수 있습니다. 회사는 계약상 지위를 양수인에게 이전할 수 있으며 이를 고객에게 알립니다.
159
+
160
+ ### 제21조 (불가항력)
161
+
162
+ 천재지변, 전쟁, 감염병, 정전, 통신 장애, 정부의 조치 등 당사자가 통제할 수 없는 사유로 의무를 이행하지 못한 경우 그 기간 동안 책임을 지지 않습니다. 금전 지급 의무는 예외입니다.
163
+
164
+ ### 제22조 (준거법과 분쟁 해결)
165
+
166
+ 1. 이 계약은 대한민국 법을 따릅니다.
167
+ 2. 분쟁은 먼저 협의로 해결하고, 협의가 되지 않으면 서울중앙지방법원을 제1심의 전속 관할 법원으로 합니다.
168
+
169
+ ### 제23조 (기타)
170
+
171
+ 1. 이 약관은 변경될 수 있으며, 변경된 약관은 변경 이후에 체결하는 주문에만 적용됩니다. 이미 체결한 주문서에는 체결 당시의 약관이 적용됩니다.
172
+ 2. 회사에 대한 통지와 문의는 desk@maxmine.com 또는 02-866-4105로 하며, 고객에 대한 통지는 주문서에 적은 이메일 또는 주소로 하며, 이메일은 발송 후 2영업일이 지나면 도달한 것으로 봅니다.
173
+ 3. 이 계약의 일부가 무효여도 나머지는 효력이 유지됩니다.
174
+ 4. 이 계약은 이 주제에 관한 양 당사자의 완전한 합의이며, 이전의 구두·서면 합의를 대체합니다.
175
+ 5. 영문 번역본이 있는 경우 한국어본이 우선합니다.
176
+
177
+ ---
178
+
179
+ ## 별표 1. 주문서 양식
180
+
181
+ | 항목 | 내용 |
182
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
183
+ | 공급자 | 주식회사 맥스마인, 대표 이재영, 사업자등록번호 119-86-25269, 서울특별시 금천구 범안로 1126, 809호, 통신판매업 신고번호 2012-서울금천-0824, 담당자 연락처 |
184
+ | 고객 | 상호, 사업자등록번호, 대표자, 주소, 담당자(이름·이메일·연락처) |
185
+ | 제품·버전 | 맥스그리드, 프레임워크 유형(아래 항목), 최초 허용 버전 |
186
+ | 프레임워크 유형 | JavaScript / React / Vue / Angular 중 1개 (추가 유형은 추가 주문, Enterprise는 전체) |
187
+ | 사용권 종류 | 영구 사용권(도메인 단위) |
188
+ | 도메인 또는 시스템 | `example.com`(`www.` 포함, 다른 하위 도메인은 별도) / 시스템 이름(폐쇄망) — 수량 [ ] |
189
+ | 지원 기간 | 구매일부터 1년 (기간: [시작일] ~ [종료일]) |
190
+ | 대금 | 단가 × 수량 = 합계(부가세 포함), 공급가액과 부가세 구분 표기 |
191
+ | 지급 조건 | 전자결제(카드·간편결제·계좌이체)는 매출전표·현금영수증으로 증빙, 결제대행사를 거치지 않은 입금은 요청 시 전자세금계산서 수동 발행 |
192
+ | 라이선스 키 발급 | 발급 방식(이메일)과 담당자 |
193
+ | 견적 유효 기간 | 발행일부터 30일 |
194
+ | 특약 | 얼리어답터 할인, 추가 도메인 할인 등 |
195
+ | 서명 | 양 당사자의 서명 또는 전자서명 |
196
+
197
+ ## 별표 2. 도메인 판정 예시
198
+
199
+ | 상황 | 도메인 수 | 근거 |
200
+ | ------------------------------------------------------------- | ---------------------------------------- | --------------------- |
201
+ | `example.com`, `www.example.com`을 운영 | 1개 | 제5조 1항 |
202
+ | `example.com`과 `app.example.com`을 운영 | 2개 | 제5조 1항 |
203
+ | `*.example.com` 구매, `a`·`b.example.com`이 같은 서비스 | 1개(와일드카드) | 제5조 7항 |
204
+ | `*.example.com` 구매, `shop.example.com`만 다른 서버 A 레코드 | 와일드카드 1개 + `shop`은 별도 1개 | 제5조 7항 |
205
+ | `example.com` 운영 + `stg.example.com`, `localhost`에서 개발 | 1개 | 제5조 2항 |
206
+ | `a.com`과 `b.com`을 운영 | 2개 | 서로 다른 등록 도메인 |
207
+ | 고객사가 자기 도메인(`portal.client.com`)으로 서비스 | 별도 계약 | 제5조 3항 |
208
+ | 도메인 없이 사내 인트라넷 시스템 1식 | 1개(시스템) | 제2조 4항 |
209
+ | SI사가 고객 3곳에 납품 | 3개 | 제5조 4항 |
210
+ | 같은 도메인에서 React와 Angular를 모두 사용 | 주문서 2건(첫 유형 정가, 추가 유형 할인) | 제4조의2 3항 |
211
+
212
+ ## 별표 3. 지원 범위
213
+
214
+ | 포함 | 제외 |
215
+ | ---------------------------------------- | ------------------------------------- |
216
+ | 지원 게시판을 통한 온라인 기술 지원, FAQ | 이메일·전화·원격·현장 지원 |
217
+ | 허용 버전의 버그 수정 | 고객 코드 작성, 대리 개발 |
218
+ | 새 버전 사용권 | 제3자 소프트웨어 문제, 서버 환경 구성 |
219
+ | 사용법과 문서 안내 | 교육, 컨설팅 |
package/README.md CHANGED
@@ -1,3 +1,27 @@
1
- # Temporary Holding Version
1
+ # @maxgrid/locale-ja
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 한국어 · [English](#english)
4
+
5
+ 일본어(`ja`) 언어팩. 부작용이 없고 `ja` 하나만 내보낸다. **기계 번역 초안이며 원어민 검수가 필요하다.**
6
+
7
+ ```ts
8
+ import { registerLocale, createGrid } from '@maxgrid/renderer';
9
+ import { ja } from '@maxgrid/locale-ja';
10
+
11
+ registerLocale(ja);
12
+ createGrid(el, { locale: 'ja', columns, rows });
13
+ ```
14
+
15
+ 스크립트 태그: `maxgrid.min.js` 다음에 `maxgrid.locale.ja.min.js`를 실으면 자동 등록된다.
16
+
17
+ ## English
18
+
19
+ Japanese (ja) language pack for MaxGrid. No side effects; it exports only `ja`. **Machine draft, needs native review.**
20
+
21
+ ```html
22
+ <script src="maxgrid.min.js"></script>
23
+ <script src="maxgrid.locale.ja.min.js"></script>
24
+ <script>
25
+ MaxGrid.createGrid(el, { locale: 'ja', columns, rows });
26
+ </script>
27
+ ```
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Japanese (ja) language pack for MaxGrid. 부작용이 없다: `registerLocale(ja)`는 사용자가 부른다.
3
+ *
4
+ * @packageDocumentation
5
+ * @module @maxgrid/locale-ja
6
+ */
7
+ export { ja } from './ja';
package/dist/index.js ADDED
@@ -0,0 +1,210 @@
1
+ // src/ja.ts
2
+ var e = {
3
+ code: "ja",
4
+ messages: {
5
+ cellCopy: "コピー",
6
+ cellCopyGroupHeaders: "グループヘッダーも含めてコピー",
7
+ cellCopyHeaders: "ヘッダーも含めてコピー",
8
+ cellCut: "切り取り",
9
+ cellExport: "エクスポート",
10
+ cellExportCsv: "CSVエクスポート",
11
+ cellExportPdf: "PDFエクスポート",
12
+ cellExportXlsx: "Excelエクスポート",
13
+ cellMenuLabel: "セルメニュー",
14
+ cellNoteAdd: "メモを追加",
15
+ cellNoteEdit: "メモを編集",
16
+ cellNoteHint: "Enterで保存 · Shift+Enterで改行 · Escでキャンセル",
17
+ cellNoteLabel: "セルのメモ",
18
+ cellNotePlaceholder: "メモを入力…",
19
+ cellNoteRemove: "メモを削除",
20
+ cellPaste: "貼り付け",
21
+ cellPasteBlocked: "ブラウザーがクリップボードの読み取りを許可しませんでした。セルを選択して Ctrl+V を押してください。",
22
+ columnMenuLabel: "列メニュー",
23
+ devNoAriaLabel: "グリッドにアクセシブルな名前がありません。スクリーンリーダーの利用者が内容を把握できるよう、ariaLabel オプションを指定してください。",
24
+ groupCollapse: "グループを折りたたむ",
25
+ groupExpand: "グループを展開",
26
+ liveCannotMove: "これ以上移動できません。",
27
+ liveCellsRejected: "入力値が無効なため、{count}個のセルを変更できませんでした。",
28
+ liveColumnHidden: "列「{title}」を非表示にしました。",
29
+ liveColumnMoved: "列「{title}」を{from}番目から{to}番目に移動しました。",
30
+ liveColumnPinned: "列「{title}」を固定しました。",
31
+ liveColumnReset: "列の設定をリセットしました。",
32
+ liveColumnResized: "列「{title}」の幅 {width} ピクセル",
33
+ liveColumnShown: "列「{title}」を表示しました。",
34
+ liveColumnUnpinned: "列「{title}」の固定を解除しました。",
35
+ liveDragCancelled: "移動をキャンセルしました。",
36
+ liveGroupCollapsed: "グループ「{title}」を折りたたみました。",
37
+ liveGroupExpanded: "グループ「{title}」を展開しました。",
38
+ liveSortAsc: "「{title}」の昇順で並べ替えました。",
39
+ liveSortCleared: "並べ替えを解除しました。",
40
+ liveSortDesc: "「{title}」の降順で並べ替えました。",
41
+ loading: "読み込み中…",
42
+ menuAutoFit: "幅を自動調整",
43
+ menuColumns: "列",
44
+ menuHide: "列を非表示",
45
+ menuPinEnd: "右に固定",
46
+ menuPinStart: "左に固定",
47
+ menuReset: "列の設定をリセット",
48
+ menuSortAsc: "昇順で並べ替え",
49
+ menuSortClear: "並べ替えを解除",
50
+ menuSortDesc: "降順で並べ替え",
51
+ menuUnpin: "固定を解除",
52
+ noRows: "表示する行がありません。"
53
+ },
54
+ pager: {
55
+ current: "{page}ページ",
56
+ empty: "表示する行がありません",
57
+ failed: "ページを読み込めませんでした。",
58
+ first: "最初のページ",
59
+ jump: "ページへ移動",
60
+ jumpGo: "移動",
61
+ jumpInvalid: "1から{max}までのページ番号を入力してください。",
62
+ last: "最後のページ",
63
+ loading: "読み込み中…",
64
+ nav: "ページ送り",
65
+ next: "次のページ",
66
+ pageNumber: "{page}ページ",
67
+ pageOf: "{page} / {total}ページ",
68
+ pageSize: "1ページの行数",
69
+ previous: "前のページ",
70
+ retry: "再試行",
71
+ summary: "{total}件中 {from}–{to}件"
72
+ },
73
+ filter: {
74
+ all: "すべて",
75
+ clearAll: "すべてのフィルターを解除",
76
+ clearOne: "「{title}」のフィルターを解除",
77
+ empty: "選択できる値がありません",
78
+ external: "フィルター設定済み",
79
+ inputLabel: "「{title}」をフィルター",
80
+ invalidDate: "日付はYYYY-MM-DD形式で入力してください。例: 2024-03-01, >=2024-03-01, 2024-03-01..2024-03-31",
81
+ invalidDateTime: "日付と時刻はYYYY-MM-DD HH:mm形式で入力してください(日付のみの場合は1日全体)。例: 2024-03-01 09:30, >=2024-03-01, 2024-03-01..2024-03-31",
82
+ invalidNumber: "数値を入力してください。例: 100, >=100, 10..20, -",
83
+ invalidTime: "時刻はHH:mm形式で入力してください。例: 09:30, >=09:30, 09:00..18:00, -",
84
+ menuAddCondition: "+ 条件を追加",
85
+ menuAnd: "かつ",
86
+ menuApply: "適用",
87
+ menuBetweenHint: "「範囲内」は両端を含みます。",
88
+ menuButton: "「{title}」のフィルター",
89
+ menuButtonActive: "「{title}」のフィルター: オン",
90
+ menuCancel: "キャンセル",
91
+ menuCaseHint: "文字列の比較では大文字と小文字を区別しません。",
92
+ menuClear: "クリア",
93
+ menuClearAll: "すべてクリア",
94
+ menuClose: "閉じる",
95
+ menuDateFrom: "開始",
96
+ menuDateHint: "日付のみ(時刻なし)。「より前」「より後」は当日を含みません。",
97
+ menuDateTo: "終了",
98
+ menuErrDate: "日付はYYYY-MM-DD形式で入力してください。",
99
+ menuErrDateTime: "日付と時刻はYYYY-MM-DD HH:mm形式で入力してください。",
100
+ menuErrNumber: "数値を入力してください。",
101
+ menuErrRangeDate: "終了日は開始日以降にしてください。",
102
+ menuErrRangeNumber: "最大値は最小値より大きくしてください。",
103
+ menuErrTime: "時刻はHH:mm形式で入力してください。",
104
+ menuMax: "最大",
105
+ menuMin: "最小",
106
+ menuNothingSelected: "適用する値を1つ以上選択してください。フィルターを解除するには「クリア」を使います。",
107
+ menuOpAfter: "より後",
108
+ menuOpBefore: "より前",
109
+ menuOpBetween: "範囲内",
110
+ menuOpContains: "を含む",
111
+ menuOpEndsWith: "で終わる",
112
+ menuOpEquals: "等しい",
113
+ menuOpEqualsNumber: "等しい (=)",
114
+ menuOpGt: "より大きい (>)",
115
+ menuOpGte: "以上 (≥)",
116
+ menuOpIsEmpty: "空である",
117
+ menuOpIsNotEmpty: "空でない",
118
+ menuOpLt: "より小さい (<)",
119
+ menuOpLte: "以下 (≤)",
120
+ menuOpNotContains: "を含まない",
121
+ menuOpNotEquals: "等しくない",
122
+ menuOpNotEqualsNumber: "等しくない (≠)",
123
+ menuOpSameDay: "日付が一致",
124
+ menuOpStartsWith: "で始まる",
125
+ menuOperator: "条件{n}の演算子",
126
+ menuOr: "または",
127
+ menuRelation: "2つの条件の関係",
128
+ menuRowCount: "{count}行",
129
+ menuSelectAll: "(すべて選択)",
130
+ menuSort: "並べ替え",
131
+ menuSortAsc: "昇順 (A→Z)",
132
+ menuSortAscDate: "古い順",
133
+ menuSortAscNumber: "小さい順",
134
+ menuSortClear: "並べ替えを解除",
135
+ menuSortDesc: "降順 (Z→A)",
136
+ menuSortDescDate: "新しい順",
137
+ menuSortDescNumber: "大きい順",
138
+ menuTabCondition: "条件",
139
+ menuTabSwitchNote: "値と条件は併用できません。一方を適用すると、もう一方は解除されます。",
140
+ menuTabValues: "値",
141
+ menuTabs: "フィルターの種類",
142
+ menuTimeFrom: "開始(時刻)",
143
+ menuTimeTo: "終了(時刻)",
144
+ menuTitle: "「{title}」のフィルター",
145
+ menuValue: "条件{n}の値",
146
+ menuValuePlaceholder: "値を入力",
147
+ menuValuesStatus: "{selected}件選択中 · {rows}行を表示",
148
+ no: "いいえ",
149
+ none: "(空)",
150
+ rangeHint: "例: >=100, 10..20",
151
+ rangeHintDate: "例: 2026-11-10, >=2026-11-10",
152
+ rangeHintDateTime: "例: 2026-11-10, >=2026-11-10 09:00",
153
+ rangeHintTime: "例: 09:30, >=09:00, 09:00..18:00",
154
+ reset: "選択をクリア",
155
+ rowLabel: "フィルター",
156
+ search: "値を検索",
157
+ selectedCount: "{count}件選択中",
158
+ yes: "はい"
159
+ },
160
+ text: {
161
+ calendarClear: "クリア",
162
+ calendarLabel: "カレンダー",
163
+ calendarMonths: "年月を選択",
164
+ calendarNext: "翌月",
165
+ calendarNextYear: "翌年",
166
+ calendarOk: "OK",
167
+ calendarOpen: "カレンダーを開く",
168
+ calendarPrev: "前月",
169
+ calendarPrevYear: "前年",
170
+ calendarToday: "今日",
171
+ calendarWeek: "週",
172
+ calendarYears: "年を選択",
173
+ cellError: "⚠ エラー",
174
+ dateHint: "YYYY-MM-DD",
175
+ ratingLabel: "{max}点満点中{score}点",
176
+ selectAll: "すべて選択",
177
+ selectRow: "行を選択",
178
+ summaryEmpty: "(空)",
179
+ summarySubtotal: "{label}の小計",
180
+ summaryTotal: "合計",
181
+ timeAm: "午前",
182
+ timeHour: "時",
183
+ timeLabel: "時刻を選択",
184
+ timeMinute: "分",
185
+ timeNow: "現在",
186
+ timeOpen: "時刻の一覧を開く",
187
+ timePm: "午後",
188
+ timeSecond: "秒",
189
+ validateCustom: "値が正しくありません。",
190
+ validateDate: "日付を入力してください。例: 2026-03-05",
191
+ validateDateTime: "日付と時刻を入力してください。例: 2026-03-05 14:30",
192
+ validateDisabled: "この値は選択できません。",
193
+ validateMax: "{n}以下にしてください。",
194
+ validateMaxLength: "{n}文字以内で入力してください。",
195
+ validateMin: "{n}以上にしてください。",
196
+ validateNumber: "数値を入力してください。",
197
+ validateRangeMax: "{value}以前にしてください。",
198
+ validateRangeMin: "{value}以降にしてください。",
199
+ validateRequired: "この項目は必須です。",
200
+ validateStep: "{n}分刻みで入力してください。",
201
+ validateTime: "時刻を入力してください。例: 14:30"
202
+ },
203
+ formats: {
204
+ firstDayOfWeek: 0,
205
+ collation: "ja",
206
+ numberLocale: "ja-JP"
207
+ }
208
+ };
209
+ export { e as ja };
210
+
package/dist/ja.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import type { LocalePack } from '@maxgrid/core';
2
+ export declare const ja: LocalePack;
@@ -0,0 +1 @@
1
+ (function(){var e={code:`ja`,messages:{cellCopy:`コピー`,cellCopyGroupHeaders:`グループヘッダーも含めてコピー`,cellCopyHeaders:`ヘッダーも含めてコピー`,cellCut:`切り取り`,cellExport:`エクスポート`,cellExportCsv:`CSVエクスポート`,cellExportPdf:`PDFエクスポート`,cellExportXlsx:`Excelエクスポート`,cellMenuLabel:`セルメニュー`,cellNoteAdd:`メモを追加`,cellNoteEdit:`メモを編集`,cellNoteHint:`Enterで保存 · Shift+Enterで改行 · Escでキャンセル`,cellNoteLabel:`セルのメモ`,cellNotePlaceholder:`メモを入力…`,cellNoteRemove:`メモを削除`,cellPaste:`貼り付け`,cellPasteBlocked:`ブラウザーがクリップボードの読み取りを許可しませんでした。セルを選択して Ctrl+V を押してください。`,columnMenuLabel:`列メニュー`,devNoAriaLabel:`グリッドにアクセシブルな名前がありません。スクリーンリーダーの利用者が内容を把握できるよう、ariaLabel オプションを指定してください。`,groupCollapse:`グループを折りたたむ`,groupExpand:`グループを展開`,liveCannotMove:`これ以上移動できません。`,liveCellsRejected:`入力値が無効なため、{count}個のセルを変更できませんでした。`,liveColumnHidden:`列「{title}」を非表示にしました。`,liveColumnMoved:`列「{title}」を{from}番目から{to}番目に移動しました。`,liveColumnPinned:`列「{title}」を固定しました。`,liveColumnReset:`列の設定をリセットしました。`,liveColumnResized:`列「{title}」の幅 {width} ピクセル`,liveColumnShown:`列「{title}」を表示しました。`,liveColumnUnpinned:`列「{title}」の固定を解除しました。`,liveDragCancelled:`移動をキャンセルしました。`,liveGroupCollapsed:`グループ「{title}」を折りたたみました。`,liveGroupExpanded:`グループ「{title}」を展開しました。`,liveSortAsc:`「{title}」の昇順で並べ替えました。`,liveSortCleared:`並べ替えを解除しました。`,liveSortDesc:`「{title}」の降順で並べ替えました。`,loading:`読み込み中…`,menuAutoFit:`幅を自動調整`,menuColumns:`列`,menuHide:`列を非表示`,menuPinEnd:`右に固定`,menuPinStart:`左に固定`,menuReset:`列の設定をリセット`,menuSortAsc:`昇順で並べ替え`,menuSortClear:`並べ替えを解除`,menuSortDesc:`降順で並べ替え`,menuUnpin:`固定を解除`,noRows:`表示する行がありません。`},pager:{current:`{page}ページ`,empty:`表示する行がありません`,failed:`ページを読み込めませんでした。`,first:`最初のページ`,jump:`ページへ移動`,jumpGo:`移動`,jumpInvalid:`1から{max}までのページ番号を入力してください。`,last:`最後のページ`,loading:`読み込み中…`,nav:`ページ送り`,next:`次のページ`,pageNumber:`{page}ページ`,pageOf:`{page} / {total}ページ`,pageSize:`1ページの行数`,previous:`前のページ`,retry:`再試行`,summary:`{total}件中 {from}–{to}件`},filter:{all:`すべて`,clearAll:`すべてのフィルターを解除`,clearOne:`「{title}」のフィルターを解除`,empty:`選択できる値がありません`,external:`フィルター設定済み`,inputLabel:`「{title}」をフィルター`,invalidDate:`日付はYYYY-MM-DD形式で入力してください。例: 2024-03-01, >=2024-03-01, 2024-03-01..2024-03-31`,invalidDateTime:`日付と時刻はYYYY-MM-DD HH:mm形式で入力してください(日付のみの場合は1日全体)。例: 2024-03-01 09:30, >=2024-03-01, 2024-03-01..2024-03-31`,invalidNumber:`数値を入力してください。例: 100, >=100, 10..20, -`,invalidTime:`時刻はHH:mm形式で入力してください。例: 09:30, >=09:30, 09:00..18:00, -`,menuAddCondition:`+ 条件を追加`,menuAnd:`かつ`,menuApply:`適用`,menuBetweenHint:`「範囲内」は両端を含みます。`,menuButton:`「{title}」のフィルター`,menuButtonActive:`「{title}」のフィルター: オン`,menuCancel:`キャンセル`,menuCaseHint:`文字列の比較では大文字と小文字を区別しません。`,menuClear:`クリア`,menuClearAll:`すべてクリア`,menuClose:`閉じる`,menuDateFrom:`開始`,menuDateHint:`日付のみ(時刻なし)。「より前」「より後」は当日を含みません。`,menuDateTo:`終了`,menuErrDate:`日付はYYYY-MM-DD形式で入力してください。`,menuErrDateTime:`日付と時刻はYYYY-MM-DD HH:mm形式で入力してください。`,menuErrNumber:`数値を入力してください。`,menuErrRangeDate:`終了日は開始日以降にしてください。`,menuErrRangeNumber:`最大値は最小値より大きくしてください。`,menuErrTime:`時刻はHH:mm形式で入力してください。`,menuMax:`最大`,menuMin:`最小`,menuNothingSelected:`適用する値を1つ以上選択してください。フィルターを解除するには「クリア」を使います。`,menuOpAfter:`より後`,menuOpBefore:`より前`,menuOpBetween:`範囲内`,menuOpContains:`を含む`,menuOpEndsWith:`で終わる`,menuOpEquals:`等しい`,menuOpEqualsNumber:`等しい (=)`,menuOpGt:`より大きい (>)`,menuOpGte:`以上 (≥)`,menuOpIsEmpty:`空である`,menuOpIsNotEmpty:`空でない`,menuOpLt:`より小さい (<)`,menuOpLte:`以下 (≤)`,menuOpNotContains:`を含まない`,menuOpNotEquals:`等しくない`,menuOpNotEqualsNumber:`等しくない (≠)`,menuOpSameDay:`日付が一致`,menuOpStartsWith:`で始まる`,menuOperator:`条件{n}の演算子`,menuOr:`または`,menuRelation:`2つの条件の関係`,menuRowCount:`{count}行`,menuSelectAll:`(すべて選択)`,menuSort:`並べ替え`,menuSortAsc:`昇順 (A→Z)`,menuSortAscDate:`古い順`,menuSortAscNumber:`小さい順`,menuSortClear:`並べ替えを解除`,menuSortDesc:`降順 (Z→A)`,menuSortDescDate:`新しい順`,menuSortDescNumber:`大きい順`,menuTabCondition:`条件`,menuTabSwitchNote:`値と条件は併用できません。一方を適用すると、もう一方は解除されます。`,menuTabValues:`値`,menuTabs:`フィルターの種類`,menuTimeFrom:`開始(時刻)`,menuTimeTo:`終了(時刻)`,menuTitle:`「{title}」のフィルター`,menuValue:`条件{n}の値`,menuValuePlaceholder:`値を入力`,menuValuesStatus:`{selected}件選択中 · {rows}行を表示`,no:`いいえ`,none:`(空)`,rangeHint:`例: >=100, 10..20`,rangeHintDate:`例: 2026-11-10, >=2026-11-10`,rangeHintDateTime:`例: 2026-11-10, >=2026-11-10 09:00`,rangeHintTime:`例: 09:30, >=09:00, 09:00..18:00`,reset:`選択をクリア`,rowLabel:`フィルター`,search:`値を検索`,selectedCount:`{count}件選択中`,yes:`はい`},text:{calendarClear:`クリア`,calendarLabel:`カレンダー`,calendarMonths:`年月を選択`,calendarNext:`翌月`,calendarNextYear:`翌年`,calendarOk:`OK`,calendarOpen:`カレンダーを開く`,calendarPrev:`前月`,calendarPrevYear:`前年`,calendarToday:`今日`,calendarWeek:`週`,calendarYears:`年を選択`,cellError:`⚠ エラー`,dateHint:`YYYY-MM-DD`,ratingLabel:`{max}点満点中{score}点`,selectAll:`すべて選択`,selectRow:`行を選択`,summaryEmpty:`(空)`,summarySubtotal:`{label}の小計`,summaryTotal:`合計`,timeAm:`午前`,timeHour:`時`,timeLabel:`時刻を選択`,timeMinute:`分`,timeNow:`現在`,timeOpen:`時刻の一覧を開く`,timePm:`午後`,timeSecond:`秒`,validateCustom:`値が正しくありません。`,validateDate:`日付を入力してください。例: 2026-03-05`,validateDateTime:`日付と時刻を入力してください。例: 2026-03-05 14:30`,validateDisabled:`この値は選択できません。`,validateMax:`{n}以下にしてください。`,validateMaxLength:`{n}文字以内で入力してください。`,validateMin:`{n}以上にしてください。`,validateNumber:`数値を入力してください。`,validateRangeMax:`{value}以前にしてください。`,validateRangeMin:`{value}以降にしてください。`,validateRequired:`この項目は必須です。`,validateStep:`{n}分刻みで入力してください。`,validateTime:`時刻を入力してください。例: 14:30`},formats:{firstDayOfWeek:0,collation:`ja`,numberLocale:`ja-JP`}},t=globalThis.MaxGrid;if(t?.registerLocale===void 0)throw Error(`maxgrid.locale.ja.min.js: load maxgrid.min.js before this file.`);t.registerLocale(e)})();
package/package.json CHANGED
@@ -1,6 +1,45 @@
1
1
  {
2
2
  "name": "@maxgrid/locale-ja",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "1.3.0",
4
+ "description": "맥스그리드 일본어(ja) 언어팩",
5
+ "license": "SEE LICENSE IN LICENSE.md",
6
+ "homepage": "https://grid.maxmine.com",
7
+ "type": "module",
8
+ "sideEffects": false,
9
+ "main": "./dist/index.js",
10
+ "module": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "unpkg": "./dist/maxgrid.locale.ja.min.js",
13
+ "jsdelivr": "./dist/maxgrid.locale.ja.min.js",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ },
19
+ "./maxgrid.locale.ja.min.js": "./dist/maxgrid.locale.ja.min.js",
20
+ "./package.json": "./package.json"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "!dist/**/*.map"
25
+ ],
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "peerDependencies": {
30
+ "@maxgrid/core": "^1.2.0"
31
+ },
32
+ "peerDependenciesMeta": {
33
+ "@maxgrid/core": {
34
+ "optional": true
35
+ }
36
+ },
37
+ "devDependencies": {
38
+ "@maxgrid/core": "1.3.0"
39
+ },
40
+ "scripts": {
41
+ "build": "vite build && node scripts/build-iife.mjs && tsc -p tsconfig.build.json && node ../../tooling/strip-sourcemap-comment.mjs dist",
42
+ "test": "vitest run --passWithNoTests",
43
+ "typecheck": "tsc --noEmit"
44
+ }
6
45
  }