재미로 읽는 C# 스토리

[제목] 소프트웨어 국제화

우리는 웹의 발전으로 소프트웨어가 국경을 넘어 국제적으로 사용되는 시대에 살고 있다. 이것이 개발자에게 의미하는 것은 프로그램을 만들 때 국제화, 흔히 일컫는 Internationalization (i18n) 에 대해서도 신경을 써야한는 점이다. Internationalization는 흔히 개발자 사이에서 i18n으로 표기하는데, 단어가 워낙 길어서 첫자와 마지막자 사이의 문자수 18을 중간에 넣은 것이다.

원론적으로 i18n 은 프로그램에서 사용하는 문자들을 번역한다는 것 이외에도 각 국가나 지역의 특성들을 반영해야 한다. 예를 들어, 독일에서는 숫자를 천단위로 분리할 때 콤마 대신 마침표(.)를 사용한다던가, 각 지역별 날짜 표기가 다른 점들, 문자를 오른쪽에서 왼쪽으로 쓴다거나 혹은 심지어 양쪽 방향으로 문자를 쓰는 BiDi 등등 구체적으로 들어가면 살펴 보아야 하는 점들이 많이 있다.

이러한 맥락에서 중국의 Great Wall 정책에 대해 잠깐 이야기 해 보고자 한다. 중국은 밀려오는 서양 문화로부터 자신의 체제를 지키기(?) 위해 Great Wall 정책을 사용하고 있는데 특히 인터넷의 개방을 제한함으로 거대한 방벽을 쌓고 있다.

Great Wall 때문에 가장 피해를 보는 회사중의 하나는 아마 구글이 아닐까 싶다. 중국에서 어떤 웹사이트에 접속했을 때, 만약 구글과 관련 링크를 발견하면 이를 제한하기 때문에 웹사이트의 성능이 3~4배 저하된다. 예를 들어, 만약 개발자가 아무 생각없이 아래와 같이 구글에서 jquery 라이브러리를 가져오도록 하면 그 웹사이트는 중국에서 평균 4배 정도 느려진다.

   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

물론 Workaround는 jquery 라이브러리를 자신의 서버에 두거나 다른 CDN을 찾는 것이다.

소프트웨어의 Internationalization은 흥미롭게도 고정된 것이 아니라 변화하는 토픽인 듯하다.



본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.