<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Gửi chú Hoàng,</p>
    <p>Cháu xin lỗi vì trả lời muộn ạ.</p>
    <p>Cháu luôn muốn dịch các từ sang tiếng Việt, nhưng dưới đây sẽ có các từ tiếng Anh vì cháu chưa cân nhắc dịch các từ này bao giờ, để sau sẽ làm ạ.
</p>
    <p>1. Về git, GitHub và cái kho (repository) vi-kde ở GitHub</p>
    <p>Mục đích cháu tạo ra kho này ở GitHub là vì SVN đã trở nên kém phổ biến hơn git rất nhiều, và GitHub là dịch vụ git nổi tiếng nhất. Hi vọng của cháu là người dịch sẽ không cần biết về SVN nữa, chỉ cần biết git thôi là sẽ làm việc được. Tuy nhiên nội dung để dịch và các bản dịch rút cuộc vẫn ở kho SVN của KDE, cái kho PhuNH/vi-kde đóng vai trò là một trung gian git để nối giữa người dịch và kho SVN,  nên phần mô tả ở <a class="moz-txt-link-freetext" href="https://github.com/PhuNH/vi-kde">https://github.com/PhuNH/vi-kde</a> có nhắc đến cách đồng bộ từ kho SVN KDE về PhuNH/vi-kde. Nếu chú không muốn động đến SVN thì có thể làm theo cách này.
</p>
    <p>Về việc forking ở GitHub hay các dịch vụ git nói chung, khi chú "fork" kho của cháu thì chú có một kho mới là của riêng chú, tạm gọi nó là HoangTD/vi-kde đi, tại thời điểm đó hai kho giống nhau nhưng chúng hoàn toàn độc lập, các thay đổi ở kho này sẽ không được tự động đồng bộ vào kho kia. Vậy nên trước mỗi lần dịch chú vẫn cần đồng bộ từ PhuNH/vi-kde vào HoangTD/vi-kde. Việc này nếu chú cần trợ giúp thì chúng ta có thể nói thêm sau ạ.</p>
    <p>Sau khi chú dịch xong một phần nào đó thì chú cần đưa các thay đổi đó lên HoangTD/vi-kde rồi tạo một "pull request" (PR) để "merge" các thay đổi đó từ HoangTD/vi-kde vào PhuNH/vi-kde. Chúng ta sẽ cùng xem xét và thảo luận về các PR, nên để tiện theo dõi, không nên tạo PR chứa quá nhiều thay đổi. Cuối cùng các thay đổi được đưa vào PhuNH/vi-kde sẽ tự động được cập nhật lên kho SVN.</p>
    <p>2. Về các công cụ</p>
    <p>Chương trình được đề xuất dùng cho việc dịch là Lokalize, quy trình làm việc của đội dịch đã được thiết kế để tận dụng các tính năng của Lokalize. Tệp glossary.tbx mà chú thấy cũng do Lokalize sinh ra và quản lí. Cách sử dụng Lokalize nằm ở <a class="moz-txt-link-freetext" href="https://community.kde.org/KDE_Localization/vi/components#Lokalize">https://community.kde.org/KDE_Localization/vi/components#Lokalize</a>
<style type="text/css">p, li { white-space: pre-wrap; }</style></p>
    <p>Cháu rất tiếc là hiện tại không biết chương trình nào có thể chạy được trên MacOS để giới thiệu cho chú. Chú có từng nghĩ đến việc sử dụng Linux và KDE chưa ạ? Khi đó chú có thể dùng Lokalize và cháu nghĩ Lokalize là một phần mềm rất tiện lợi và hữu dụng.</p>
    <p>Dù sao đi nữa thì cháu cũng rất trân trọng việc chú có một "dictionary file" của riêng mình. Như được nêu ở <a class="moz-txt-link-freetext" href="https://community.kde.org/KDE_Localization/vi#Quy_tr.C3.ACnh_l.C3.A0m_vi.E1.BB.87c">https://community.kde.org/KDE_Localization/vi#Quy_tr.C3.ACnh_l.C3.A0m_vi.E1.BB.87c</a>, ngoài bản dịch, người dịch cần gửi bảng ngữ ("glossary") cho người điều phối. Với chú, cháu đề xuất chú gửi bản dịch và tệp từ điển đó, có được không ạ? Nếu chú đồng ý, cháu sẽ tìm cách đồng bộ tệp từ điển của chú vào tệp glossary.tbx để dùng chung cho cả đội dịch.</p>
    <p>Với KDE nói chung và Krita nói riêng, chú sẽ không cần dùng lệnh msgmerge. KDE có một hệ thống tự động đồng bộ các thay đổi từ mã nguồn vào các tệp POT, và từ đó vào các tệp PO, chú chỉ cần giữ kho ("repository") dịch trên máy chú đồng bộ với máy chủ thôi ạ. Còn để biên dịch tệp PO sang tệp MO thì msgfmt như chú viết đúng là lệnh cần dùng rồi ạ. Cho mục đích kiểm tra bản dịch, chắc chú đã biết cách dùng tệp MO trên MacOS, còn đội dịch cũng đã có một phần hướng dẫn kiểm tra bản dịch trên Linux ở <a class="moz-txt-link-freetext" href="https://community.kde.org/KDE_Localization/vi/checking">https://community.kde.org/KDE_Localization/vi/checking</a>.</p>
    <p>3. Về việc thống nhất từ ngữ khi dịch</p>
    <p>Chú có thể cho biết bản reference manual mà chú nhắc đến là cái nào được không ạ?</p>
    <p>Cháu ủng hộ việc các ngôn từ cần được dịch thống nhất, không chỉ trong một phần mềm mà theo cháu là ở mọi nơi có thể. Việc này được hỗ trợ trong Lokalize với chức năng "Bảng ngữ" ("Glossary").</p>
    <p>Mỗi phần mềm có thể có những từ, ngữ với nghĩa riêng trong ngữ cảnh của phần mềm đó, thì tất nhiên việc dịch các từ, ngữ đó không nhất thiết phải giống trong các phần mềm khác, mà chỉ cần thống nhất trong bản thân phần mềm đó thôi. Còn với những từ, ngữ không chỉ có trong phần mềm đó thì theo cháu là cần phải dịch giống như khi dịch ở các chỗ khác. Chúng ta cũng hoàn toàn có thể đưa ra thảo luận việc thay đổi một cách dịch đã có, và nếu thay đổi đó được đồng thuận, thì tất cả mọi vị trí xuất hiện phù hợp của từ đó cần phải được cập nhật để đảm bảo sự thống nhất về từ ngữ ạ.</p>
    <p>Cháu sẽ kết bạn với chú trên Facebook bây giờ đây ạ.
</p>
    <p>Trân trọng,
Phú
</p>
    <div class="moz-cite-prefix">On 20/10/2021 04:46, Hoang Tran wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3DC92DD4-2971-41FE-8FE5-1D1A92D09FD0@googlemail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <font class="" face=".AppleSystemUIFont">Dear Hung,</font>
      <div class=""><font class="" face=".AppleSystemUIFont"><br
            class="">
        </font></div>
      <div class=""><font class="" face=".AppleSystemUIFont">I’ve
          noticed the existence of the ‘glossary.tbx’ in the ‘vi’
          directory off the 'l10n-support’, and I could see this is
          where the definition of terms are declared. I would like to
          know how the content of this file is updated (some XML
          applications?) and use in the translation process.</font></div>
      <div class=""><font class="" face=".AppleSystemUIFont"><br
            class="">
        </font></div>
      <div class=""><font class="" face=".AppleSystemUIFont">What is the
          best IDE use for translating GETTEXT format files do you use?
          I normally use visual code IDE and merging using command line
          tool ‘msgmerge’. What is the command to make krita.mo for
          testing purposes do you use? I normally use:</font></div>
      <div class=""><br class="">
      </div>
      <div class="">
        <div style="margin: 0px; font-stretch: normal; font-size: 14px;
          line-height: normal; font-family: Menlo;" class=""><span
            style="font-variant-ligatures: no-common-ligatures" class=""> msgfmt
            -o "$target_mo" "$src_vipo”</span></div>
      </div>
      <div style="margin: 0px; font-stretch: normal; font-size: 14px;
        line-height: normal; font-family: Menlo;" class=""><br class="">
      </div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><font class="" face=".AppleSystemUIFont">Is
          this sufficient for the purpose?</font></div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><font class="" face=".AppleSystemUIFont"><br
            class="">
        </font></div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><font class="" face=".AppleSystemUIFont">Regards,</font></div>
      <div style="margin: 0px; font-stretch: normal; line-height:
        normal;" class=""><font class="" face=".AppleSystemUIFont">Hoang
          Tran</font></div>
    </blockquote>
  </body>
</html>