Skip to content

Commit 63060ef

Browse files
Add: Korean translation (#106)
* Add korean translation * Update ko.json * Update ko.json * Update ko.json & fix typo * Change order language --------- Co-authored-by: Sawyerf <sawyer.flink@protonmail.ch>
1 parent bb4de20 commit 63060ef

3 files changed

Lines changed: 213 additions & 0 deletions

File tree

app/i18next/i18next.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import gl from './gl.json'
1212
import zhHans from './zh-Hans.json'
1313
import zhHant from './zh-Hant.json'
1414
import ptBr from './pt-br.json'
15+
import ko from './ko.json'
1516

1617
i18n.use(initReactI18next).init({
1718
lng: 'en',
@@ -24,6 +25,7 @@ i18n.use(initReactI18next).init({
2425
fr: fr,
2526
gl: gl,
2627
it: it,
28+
ko: ko,
2729
ptBr: ptBr,
2830
pt: ptBr,
2931
ru: ru,

app/i18next/ko.json

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
{
2+
"translation": {
3+
"tabs": {
4+
"Home": "",
5+
"Search": "검색",
6+
"Playlists": "재생목록",
7+
"Settings": "설정"
8+
},
9+
"homeSection": {
10+
"Week Activity": "주간 활동",
11+
"Last queue": "마지막 대기열",
12+
"Favorited Artist": "즐겨찾는 아티스트",
13+
"Genre": "장르",
14+
"Radio": "라디오",
15+
"Pin Playlist": "재생목록 고정",
16+
"Favorited": "즐겨찾기",
17+
"Recently Added": "최근 추가됨",
18+
"Most Played": "가장 많이 재생됨",
19+
"Recently Played": "최근 재생됨",
20+
"Random": "랜덤",
21+
"Highest": "높은 평가"
22+
},
23+
"settings": {
24+
"connect": {
25+
"Add server": "서버 추가",
26+
"List of servers": "서버 목록",
27+
"Current server": "현재 서버",
28+
"Name": "이름",
29+
"Url": "Url",
30+
"Username": "사용자명",
31+
"Password": "비밀번호",
32+
"Show Password": "비밀번호 보기",
33+
"Legacy authentication": "레거시 인증",
34+
"Legacy Description": "레거시 인증은 비밀번호를 해싱하지 않고 평문으로 전송합니다.",
35+
"Connect": "연결",
36+
"Alert Delete Title": "서버 삭제",
37+
"Alert Delete Message": "이 서버를 정말 삭제하시겠습니까?",
38+
"Delete": "삭제"
39+
},
40+
"home": {
41+
"Home Page": "홈페이지",
42+
"Home Page Description": "홈페이지에서 보고 싶은 항목을 선택하세요",
43+
"Size of album list": "앨범 목록 크기",
44+
"Scroll": "스크롤",
45+
"Scroll Description": "데스크톱에서 활성화하는 것을 추천합니다",
46+
"Show scroll helper": "스크롤 헬퍼 보여주기",
47+
"ListenBrainz Stats": "ListenBrainz 통계",
48+
"ListenBrainz User": "ListenBrainz 사용자",
49+
"user": "사용자"
50+
},
51+
"playlists": {
52+
"Preview favorited": "즐겨찾기 미리보기",
53+
"Preview favorited Name": "즐겨찾기 미리보기 노래 수",
54+
"Preview favorited Description": "즐겨찾기된 재생목록 내의 미리보기 노래의 수 (기본값: 3)",
55+
"Title": "제목 순",
56+
"Order playlists": "재생목록 정렬",
57+
"Recently updated": "최근 업데이트된 순",
58+
"Newest first": "최신 순",
59+
"Oldest first": "오래된 순",
60+
"Playlist page": "재생목록 페이지",
61+
"Reverse playlist tracks": "재생목록 트랙 반전",
62+
"Reverse playlist tracks Description": "활성화 시, 최근에 추가된 트랙이 먼저 표시됩니다."
63+
},
64+
"player": {
65+
"Stream format": "스트리밍 포맷",
66+
"Stream format Description": "재생할 때의 스트리밍 포맷을 설정합니다.",
67+
"Max bitrate": "최대 비트레이트",
68+
"Max bitrate Description": "스트리밍 할 때의 최대 비트레이트를 초당 킬로비트 단위로 설정합니다. 낮은 비트레이트는 데이터를 적게 사용하지만 오디오 품질이 떨어질 수 있습니다.",
69+
"Play seed first": "시드 노래 먼저 재생",
70+
"Save last queue": "마지막 대기열 저장하기",
71+
"Save last queue Description": "마지막으로 재생했던 대기열을 자동으로 저장합니다. 홈페이지에서 '마지막 대기열'을 활성화 한 후 접근할 수 있습니다."
72+
},
73+
"theme": {
74+
"Player Theme": "플레이어 테마"
75+
},
76+
"cache": {
77+
"Song caching": "노래 캐싱",
78+
"Enable song caching": "노래 캐싱 활성화",
79+
"Show cached songs": "캐싱된 노래 표시",
80+
"Cache next song": "다음 노래 캐싱",
81+
"Cache next song description": "자동으로 다음 노래를 캐싱합니다 (기본값: 5)",
82+
"Clear API cache": "API 캐시 삭제",
83+
"Clear song cache": "노래 캐시 삭제",
84+
"Clear cache alert message": "정말로 캐시를 삭제하시겠습니까?",
85+
"Cache stats": "캐시 통계",
86+
"No cache": "캐시 없음"
87+
},
88+
"shares": {
89+
"No shares found": "공유 없음",
90+
"Clear all shares": "모든 공유 삭제",
91+
"Clear all shares alert message": "정말 모든 공유들을 삭제하시겠습니까?"
92+
},
93+
"informations": {
94+
"API Version": "API 버전",
95+
"Email": "이메일",
96+
"Files scanned": "파일 스캔됨",
97+
"Folders scanned": "폴더 스캔됨",
98+
"Last scan": "마지막 스캔",
99+
"Server": "서버",
100+
"Status": "상태",
101+
"User role": "사용자 역할",
102+
"User": "사용자",
103+
"Version": "버전"
104+
},
105+
"language": {
106+
"description": "앱에서 사용할 언어를 선택하세요. 당신의 언어가 없다면 GitHub에서 기여해주세요."
107+
}
108+
},
109+
"API Error": "API 에러",
110+
"Add radio": "라디오 추가",
111+
"Add to playlist": "재생목록에 추가",
112+
"Add to queue": "대기열에 추가",
113+
"Albums": "앨범",
114+
"Artist": "아티스트",
115+
"Artists": "아티스트",
116+
"Cache all songs": "모든 노래 캐싱",
117+
"Cache": "캐시",
118+
"Cancel": "취소",
119+
"Clear": "비우기",
120+
"Connect": "연결",
121+
"Connected": "연결됨",
122+
"Create radio": "라디오 생성",
123+
"Create": "생성",
124+
"Delete playlist": "재생목록 삭제",
125+
"Delete": "삭제",
126+
"Description": "설명",
127+
"Desktop": "데스크탑",
128+
"Disable repeat queue": "대기열 반복 비활성화",
129+
"Disconnect": "연결 끊기",
130+
"Download": "다운로드",
131+
"Edit playlist": "재생목록 수정",
132+
"Edit radio": "라디오 수정",
133+
"Enable repeat queue": "대기열 반복 활성화",
134+
"Enter radio details": "라디오 정보 입력",
135+
"Explore": "탐색",
136+
"Favorited songs": "즐겨찾기된 노래",
137+
"Favorited": "즐겨찾기",
138+
"Fresh releases": "최근 출시",
139+
"Go to album": "앨범으로 이동",
140+
"Go to artist": "아티스트로 이동",
141+
"Go to genre": "장르로 이동",
142+
"History": "기록",
143+
"Home page url": "홈페이지 url",
144+
"Home": "",
145+
"Info": "정보",
146+
"Informations": "정보",
147+
"Language": "언어",
148+
"Loading lyrics...": "가사 불러오는 중...",
149+
"Logs": "로그",
150+
"Make private": "비공개하기",
151+
"Make public": "공개하기",
152+
"Name": "이름",
153+
"Network Error": "네트워크 에러",
154+
"No lyrics found": "가사 없음",
155+
"No results": "결과 없음",
156+
"Not connected": "연결되지 않음",
157+
"No UPNP/DLNA devices found on the network": "UPNP/DLNA 장치가 네트워크에서 검색되지 않음",
158+
"Open home page": "홈페이지 열기",
159+
"Open in Last.fm": "Last.fm에서 열기",
160+
"Open in MusicBrainz": "MusicBrainz에서 열기",
161+
"Password": "비밀번호",
162+
"Pin playlist": "재생목록 고정",
163+
"Play next": "다음 노래 재생",
164+
"Play similar songs": "비슷한 노래 재생",
165+
"Play top songs": "인기곡 재생",
166+
"Player": "플레이어",
167+
"Playlist": "재생목록",
168+
"Playlists": "재생목록",
169+
"Public": "공개",
170+
"Queue": "대기열",
171+
"Random Song": "랜덤 노래",
172+
"Remove from queue": "대기열에서 삭제",
173+
"Remove radio": "라디오 삭제",
174+
"Reset Settings": "설정 초기화",
175+
"Save": "저장",
176+
"Search": "검색",
177+
"Server Url": "서버 Url",
178+
"Share": "공유",
179+
"Shares": "공유",
180+
"Similar artists": "비슷한 아티스트",
181+
"Songs": "노래",
182+
"Stream url": "스트리밍 url",
183+
"Theme": "테마",
184+
"Top songs": "인기곡",
185+
"Unpin playlist": "재생목록 고정 해제",
186+
"Update": "업데이트",
187+
"Url": "Url",
188+
"Username": "사용자명",
189+
"Your Playlists": "당신의 플레이리스트",
190+
"album": "앨범",
191+
"albums": "앨범",
192+
"artist": "아티스트",
193+
"artists": "아티스트",
194+
"min": "",
195+
"minutes": "",
196+
"song": "노래",
197+
"songs": "",
198+
"Scanning for devices...": "장치 검색 중...",
199+
"Remote Devices": "원격 장치",
200+
"Connected Device": "연결된 장치",
201+
"Connect to Chromecast device": "크롬캐스트 장치에 연결",
202+
"Connect to UPNP/DLNA device": "UPNP/DLNA 장치에 연결",
203+
"No Chromecast devices found or connection cancelled": "크롬캐스트 장치를 찾을 수 없거나 연결이 취소됨",
204+
"Error connecting to Chromecast": "크롬캐스트 연결 중 오류 발생",
205+
"No UPNP/DLNA devices found": "UPNP/DLNA 장치가 검색되지 않음",
206+
"Error scanning for devices": "장치 검색 중 오류 발생",
207+
"Stream music to compatible devices: Chromecast, UPNP/DLNA speakers, TVs, and media receivers.": "스트리밍 호환 장치: 크롬캐스트, UPNP/DLNA 스피커, TV, 미디어 리시버.",
208+
"Chromecast": "크롬캐스트"
209+
}
210+
}

app/screens/Settings/Language.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const languages = [
1919
{ lang: 'fr', name: 'Français', color: '#007bff', flag: '🇫🇷' },
2020
{ lang: 'gl', name: 'Galego', color: '#2195ddff', flag: '🇪🇸' },
2121
{ lang: 'it', name: 'Italiano', color: '#28a745', flag: '🇮🇹' },
22+
{ lang: 'ko', name: '한국어', color: '#0047A0', flag: '🇰🇷' },
2223
{ lang: 'ptBr', name: "Português do Brasil", color: '#302681', flag: '🇧🇷' },
2324
{ lang: 'ru', name: 'Русский', color: '#ffc107', flag: '🇷🇺' },
2425
{ lang: 'zhHans', name: '简体中文', color: '#FF0000', flag: '🇨🇳' },

0 commit comments

Comments
 (0)