Logo
hhlee
2024-10-29 14:33:12

Behind
Global Version Website Development with GPT & Copilot

When developing a website, you might focus solely on your native language, but for a SaaS service with global sales potential, something feels lacking. However, aiming for a grand global launch can be more demanding than expected. Our team has been tackling this challenge with our unique DIY approach as outlined below.

User Message Handling

Drawbacks of Variable Processing Method

Typical i18n libraries handle multiple languages as follows: they create a key for each message and display the corresponding message in the user's language. At first glance, this seems like the most logical method.

This method represents the simplest form of running a multilingual version. As the business grows, it has the advantage of allowing flexible addition of various languages. However, when the business hasn't reached a suitable level of growth and the work is being done by a small development team, transitional issues arise, such as:

  • When implementing the UI and writing numerous error and user messages, there's the issue of naming and securing language keys.
  • There's the issue of translating into each language (which can be somewhat mitigated by external services and GPT).
  • There's a need to search for and add keys if they don't already exist.
  • When a user discovers a message that requires code modification, the relevant language key is searched for first before locating the error.
  • While these are minor chores, they result in the wastage of already limited development resources when developing the front end that interacts with user messages.

    Embedding Language Messages in Code

    To minimize these inconveniences, the Videostew team is developing multilingual versions at the speed of a single native language version. Instead, we are limiting the multilingual version to only "English." This approach might not be sustainable as the market expands, but it's extremely useful in the initial global phase for appealing to the "English"-speaking user base.

    At VideostewTeam, we register and use a global helper called d(irect)trans on both the backend and frontend. The implementation of this code is quite simple. It takes a Korean message, which is your native language, as the first parameter and a global English message as the second parameter.

    The part where messages are exposed to users can be simply created as shown below.

    While it may seem like you still have to translate into English when coding, that’s not the case if you use it with Copilot. Copilot, or tools like Cursor AI, reference the helper functions you frequently use or the definitions in open tabs, so they understand the usage of frequently used helpers very well.

    As shown below, when you input Korean into dtrans('.., it can infer that the translated English message goes into the second parameter, allowing you to create a global version while coding in the editor.

    with_copilot.gif

    < Type in Korean, and the auto-translated English is added >

    This approach overcomes all the drawbacks of developing a formal global version mentioned above.

  • You write user messages in your native language while coding, so there's no need to use a separate translation system, saving time.
  • You can write the necessary messages immediately, regardless of existing keys (although there is a downside of code lengthening due to duplicate messages, but duplicates are surprisingly rare).
  • You can quickly find code parts based on the exposed user messages (since the message itself is in the code).
  • As mentioned earlier, this method is aimed at quickly implementing a global version without much effort. It is not suitable for creating more sophisticated translations or multiple language versions. As the service grows, the language system should be changed.

    Automatic Translation of Guides & Blogs

    Besides user messages in code, our service utilizes a multitude of messages and texts. Fixed pages like landing pages or terms can be translated once and that's it, but for dynamically created and updated content like guides or blogs, manually keeping track can be quite a hassle.

    In response, at Videostew, we register posts in our native Korean and then, after a certain period, estimate the modified parts and use a GPT model on the backend to translate them into English automatically. While there are various API services for translation, using LLM for translation offers the following advantages:

  • We can set the writing style to be as natural as we want.
  • Through system messages, translations can consider the field and characteristics of our service.
  • It prevents mistranslation of technical terms or specialized jargon used only on certain sites.
  • When it comes to practical application, it's impossible to translate entire texts each time for large guides (almost book-length). Therefore, we generate hash keys based on content per paragraph and track only the modified paragraphs for automatic translation.

    < Hash values for modifying only the changed paragraphs >

    This type of call (which we are not currently using) could potentially allow for cheaper bulk translations using GPT's bulk call discounts.

    Customer Support Response

    To provide a perfect service experience, we don't use external chatbots but have our own. It's not exactly a chatbot; we use a modified version of our real-time comment-capable bulletin board. If a user's information is not in their native language, it automatically attaches the original text in their native language. When we reply in our native language, it's translated back into the user's language and delivered.

    cs.gif

    < Questions in languages other than your native tongue? We've got automatic translations for that! >

    This reduces delays caused by translations and allows us to provide seamless global services.

    Wrapping Up

    Many services are already integrating GPT into their development and operations. For small teams like Videostew aiming for global reach, I hope this blog provides a few helpful hints.

    Go to Article
    πŸ€” Global Version Website Development with GPT & Copilot When developing a website, you might focus solely on your native language, but for a SaaS service with global sales potential, something feels lacking. However,...
    Global Version Website Development with GPT & Copilot
    hhlee 2024-10-29
    πŸ“£ Why Video Editors Choose VideoStoo Over Premiere EduPlus is the educational media arm of ET Edu, a part of the Electronic Times Media Group, established in December 2018 with the goal of nurturing key talents ...
    Why Video Editors Choose VideoStoo Over Premiere
    Junwoo 2024-10-24
    πŸ—žοΈ [Update] Launch of AI Image Generation Feature We have introduced a new feature that allows you to generate and use AI images directly from the library.No need for complex scene description prompts—AI images...
    [Update] Launch of AI Image Generation Feature
    Junwoo 2024-10-18
    πŸŽ“ The Ultimate inVideo AI Alternative for Content Marketers Hello, in this age of AI-powered video editing tools flooding the market, have you ever wondered which tool to choose as a content marketer?In this post, we wil...
    The Ultimate inVideo AI Alternative for Content Marketers
    Junwoo 2024-09-26
    πŸ“£ Engaging Students with VideoStew: Real-Life Examples and Practical Guide Digital Transformation of Education Using AIIn today's educational landscape, digital transformation is no longer optional but a necessity.Especially with the i...
    Engaging Students with VideoStew: Real-Life Examples and Practical Guide
    Junwoo 2024-09-04
    πŸŽ“ Short-Form Content Strategy for Media Companies: 3 Key Tips for Running a Successful YouTube Channel Recently, traditional newspapers and online news outlets have been paying attention to short-form content. This is a strategic move to adapt to the changing tre...
    Short-Form Content Strategy for Media Companies: 3 Key Tips for Running a Successful YouTube Channel
    Junwoo 2024-08-28
    πŸ—žοΈ [Product Update] Improved Performance for Reading Numbers and Units in TTS The functionality has been improved so that all AI voices in Korean can properly pronounce numbers and units.If some sentences are not read correctly, you can c...
    Junwoo 2024-08-27
    πŸ€” UX Details to Make All TTS Engines Properly Read Korean VideoStew offers a variety of AI voices. From Google Wavenet, Amazon Polly, KT AI Voice, Naver Clova, Azure, to ElevenLabs...As a result, a natural issue arises...
    UX Details to Make All TTS Engines Properly Read Korean
    Junwoo 2024-08-27
    [Stop]