@@ -43,29 +43,41 @@ public enum LanguageType
4343 }
4444
4545 private const string KeyLanguageStart = "<!--" ;
46- private const string KeyEn = "<!--[en-us]-->" ;
47- private const string KeyKo = "<!--[ko-kr]-->" ;
48- private const string KeyJp = "<!--[ja-jp]-->" ;
49- private const string KeyFr = "<!--[fr-fr]-->" ;
46+ private const string KeyEn = "<!--[en]-->" ;
47+ private const string KeyKr = "<!--[kr]-->" ;
48+ private const string KeyJp = "<!--[ja]-->" ;
49+ private const string KeyFr = "<!--[fr]-->" ;
50+
51+ private const string KeyEnFull = "<!--[en-us]-->" ;
52+ private const string KeyKrFull = "<!--[ko-kr]-->" ;
53+ private const string KeyJpFull = "<!--[ja-jp]-->" ;
54+ private const string KeyFrFull = "<!--[fr-fr]-->" ;
55+
5056 private const string KeyCommon = "<!--[common]-->" ;
5157 private const string KeyIgonre = "<!--[ignore]-->" ;
5258 private const string KeyLink = "<!--[document_link]-->" ;
5359
60+ private const string KeyIgonoreParse = "```" ;
61+
5462 private Dictionary < LanguageType , bool > _usingLanguage = new Dictionary < LanguageType , bool > ( ) ;
5563 private Dictionary < LanguageType , StringBuilder > _dataDic = new Dictionary < LanguageType , StringBuilder > ( ) ;
5664 private Dictionary < LanguageType , LanguageInformation > _infoDic = new Dictionary < LanguageType , LanguageInformation > ( ) ;
5765 private string _baseFileName ;
66+ private bool _igonoreParse ;
67+
68+
5869
5970 private void Init ( )
6071 {
72+ _igonoreParse = false ;
6173 _infoDic . Clear ( ) ;
6274 _usingLanguage . Clear ( ) ;
6375 _dataDic . Clear ( ) ;
6476
65- _infoDic . Add ( LanguageType . Kr , new LanguageInformation ( LanguageType . Kr , "ko-KR " , "한국어" ) ) ;
66- _infoDic . Add ( LanguageType . En , new LanguageInformation ( LanguageType . En , "en-US " , "English" ) ) ;
67- _infoDic . Add ( LanguageType . Jp , new LanguageInformation ( LanguageType . Jp , "ja-JP " , "日本語" ) ) ;
68- _infoDic . Add ( LanguageType . Fr , new LanguageInformation ( LanguageType . Fr , "fr-FR " , "Français" ) ) ;
77+ _infoDic . Add ( LanguageType . Kr , new LanguageInformation ( LanguageType . Kr , "kr " , "한국어" ) ) ;
78+ _infoDic . Add ( LanguageType . En , new LanguageInformation ( LanguageType . En , "en" , "English" ) ) ;
79+ _infoDic . Add ( LanguageType . Jp , new LanguageInformation ( LanguageType . Jp , "ja" , "日本語" ) ) ;
80+ _infoDic . Add ( LanguageType . Fr , new LanguageInformation ( LanguageType . Fr , "fr" , "Français" ) ) ;
6981 }
7082
7183
@@ -114,6 +126,24 @@ public void GenerateDocument(string filePath, string baseFileName, LanguageType
114126
115127 private CommandType ParaseCommand ( string line )
116128 {
129+ if ( line == KeyIgonoreParse )
130+ {
131+ if ( ! _igonoreParse )
132+ {
133+ _igonoreParse = true ;
134+ return CommandType . None ;
135+ }
136+ else
137+ {
138+ _igonoreParse = false ;
139+ }
140+ }
141+
142+ if ( _igonoreParse )
143+ {
144+ return CommandType . None ;
145+ }
146+
117147 if ( line == KeyIgonre )
118148 {
119149 return CommandType . Igonore ;
@@ -137,15 +167,19 @@ private LanguageType ParseLanguage(string line)
137167 switch ( line )
138168 {
139169 case KeyEn :
170+ case KeyEnFull :
140171 return LanguageType . En ;
141172
142- case KeyKo :
173+ case KeyKr :
174+ case KeyKrFull :
143175 return LanguageType . Kr ;
144176
145177 case KeyJp :
178+ case KeyJpFull :
146179 return LanguageType . Jp ;
147180
148181 case KeyFr :
182+ case KeyFrFull :
149183 return LanguageType . Fr ;
150184
151185 case KeyCommon :
@@ -163,25 +197,49 @@ private void InitializeLanguage(string[] lines)
163197 {
164198 string line = readLine . Replace ( " " , "" ) . ToLower ( ) ;
165199
200+ if ( line == KeyIgonoreParse )
201+ {
202+ if ( ! _igonoreParse )
203+ {
204+ _igonoreParse = true ;
205+ continue ;
206+ }
207+ else
208+ {
209+ _igonoreParse = false ;
210+ }
211+ }
212+
213+ if ( _igonoreParse )
214+ {
215+ continue ;
216+ }
217+
166218 switch ( line )
167219 {
168220 case KeyEn :
221+ case KeyEnFull :
169222 _usingLanguage [ LanguageType . En ] = true ;
170223 break ;
171224
172- case KeyKo :
225+ case KeyKr :
226+ case KeyKrFull :
173227 _usingLanguage [ LanguageType . Kr ] = true ;
174228 break ;
175229
176230 case KeyJp :
231+ case KeyJpFull :
177232 _usingLanguage [ LanguageType . Jp ] = true ;
178233 break ;
179234
180235 case KeyFr :
236+ case KeyFrFull :
181237 _usingLanguage [ LanguageType . Fr ] = true ;
182238 break ;
183239 }
184240 }
241+
242+ _igonoreParse = false ;
185243 }
186244
187245 private void ParseLines ( string [ ] lines )
0 commit comments