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

Behind
Developing a Global Version Website with GPT & Copilot

When developing a website, you might be tempted to focus solely on your native language. However, if you're offering a SaaS service that can be sold globally, it feels like you're missing out. Of course, aiming for a grand global strategy can be daunting and resource-intensive. Our team has come up with our own method to develop in our native language while still supporting global needs, without breaking a sweat.

Translation Completed in the Editor

Drawbacks of the Variable Handling Method

Typical i18n libraries handle multilingual support in the following way. There are various methods, but the basic structure is as follows. You create keys for each message and display them according to the user's language. At first glance, this seems like the most logical method.

This method represents the simplest form of multilingual operation. It has the advantage of allowing you to flexibly add various languages as your business grows. However, if your business is not yet mature and you're working with a small development team, you might encounter the following transitional issues.

  • While implementing the UI and writing numerous error and user messages, there's the issue of naming and securing language keys.
  • There's the problem of translating for each language (which can be somewhat alleviated with external services and GPT).
  • You have to check if a key is already in use, and if not, add it by searching.
  • When a message that requires code modification is found by a user, you have to search for the related language key before locating the error.
  • These are minor chores, but when developing the front end that interacts with user messages, these processes can waste the already scarce development resources.

    Embedding Language Messages in Code

    To minimize these inconveniences, the Videostew team is developing multilingual versions at the speed of a single native version. However, we are limiting the multilingual version to just "English." As the market expands, this approach won't be sustainable, but at least in the global initial stage, it is very useful for appealing to users who can use "English."

    VideostewTeam registers and uses a global helper called directTrans on both the backend and frontend. The implementation of this code is quite simple. It takes a Korean message as the first parameter, and a global English message as the second parameter.

    To display messages to the user, it can be done as simply as shown below.

    You might think, "Don't I have to translate into English while coding anyway?" But absolutely not, if you're using Copilot or Cursor AI tools. These tools reference frequently used helpers, function definitions of open tabs, and input patterns, so they understand the usage of frequently used helpers very well, as shown above.

    When you input dtrans('.. with Korean, it deduces that the translated English message is inserted as the second parameter, allowing you to create a global version while coding in the editor.

    copilot.gif

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

    This method overcomes all the disadvantages of the standard global version development mentioned above.

  • Since you write user messages in your native language while coding, there's no need for a separate translation system, saving time.
  • You can write necessary messages immediately, regardless of existing keys (though there is the disadvantage of longer code due to duplicate messages, but duplicate messages are rare).
  • It's easy to quickly find the code part based on the exposed user message (since the message itself is in the code).
  • As mentioned earlier, this method aims to quickly implement a global version without much effort. It is not suitable for achieving more precise translation quality or creating multiple language versions. As the service grows, the language system needs to be changed.

    Asynchronous Translation for Blogs

    Beyond user messages in code, our service involves numerous messages and writings. Fixed pages like landing pages or terms can be translated once and that's it, but content that is dynamically created and modified, like guides or blogs, is challenging to keep up with manually.

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

  • We can set the tone to be as natural as we want.
  • Through system messages, translations can consider the field and characteristics of our service.
  • We can prevent mistranslations of specialized terms or jargon used only on our site.
  • In practice, when dealing with large guides (almost book-length), it's impossible to translate the entire content every time a change is made. Therefore, we create a hash based on the content of each paragraph and only track and automatically translate the paragraphs that change.

    < Hash values for modifying only changing paragraphs >

    This type of call (though we don't use it) might be more cost-effective with GPT's bulk call discounts, allowing for more affordable mass translations.

    Below is the address of this blog post provided in both Korean and English. The English version is the result of GPT's automatic translation, considering the characteristics of our service.

  • Korean : https://videostew.com/blog/28425?loc=ko
  • English : https://videostew.com/blog/28425?loc=en
  • Customer Support Response

    We create and use our own chatbot to ensure a perfectly consistent customer experience and real-time user information integration. For users whose information is not in their native language, the chatbot automatically attaches the native language alongside the original. When we respond in the native language, it is translated back into the user's language and delivered.

    cs.gif

    < Automatic translation for non-native questions >

    This reduces delays caused by translations and enables us to provide seamless global service.

    Conclusion

    Many services have already adopted GPT for development and operations. For small teams like Videostew, using AI tools such as GPT allows us to efficiently offer global services.

    Go to Article
    πŸŽ“ 5 Types of Instagram Reels Small Commerce Businesses Should Try Right Now Instagram Reels have become an essential marketing channel for commerce marketers, not just an option. In fact, according to Meta's announcement in the second q...
    5 Types of Instagram Reels Small Commerce Businesses Should Try Right Now
    Junwoo 2025-03-26
    πŸ—žοΈ [Update] Smarter Wizard Mode (Text-to-Video) We’ve been continuously enhancing the flow of Wizard Mode recently, and it’s been quite the magical journey! πŸ§™‍β™‚οΈβœ¨Now, when you pick a template and start editin...
    [Update] Smarter Wizard Mode (Text-to-Video)
    Junwoo 2025-03-21
    πŸ€” Create Advertisements with Videostew (Behind the Scenes) I'd like to share my experience of creating an English version of an advertisement video for posting on the Videostew Global channel. πŸŽ₯✨Rather than a tutorial, ...
    Create Advertisements with Videostew (Behind the Scenes)
    Junwoo 2025-03-12
    πŸŽ“ Factors to Consider When Choosing an AI Video Editor (2025) Recently, AI video editors have become a hot topic in the video editing industry. There's a surge of automated video editing software that promises to create st...
    Factors to Consider When Choosing an AI Video Editor (2025)
    Junwoo 2025-03-05
    πŸ“£ Beyond the Limits of Text: Korea Press Foundation's Bold Challenge in Video Content Innovation Korea Press Foundation (KPF) is an organization dedicated to enhancing public information welfare through a variety of projects across multiple media channels.W...
    Beyond the Limits of Text: Korea Press Foundation's Bold Challenge in Video Content Innovation
    Junwoo 2025-02-26
    πŸ—žοΈ [Update] Improved Flow for Wizard Mode We're excited to share some updates about the recipe selection process when creating a new project in Wizard Mode. πŸŽ‰First, Choose Your Project's Aspect RatioAft...
    [Update] Improved Flow for Wizard Mode
    Junwoo 2025-02-20
    πŸ—žοΈ [Update] Introducing Flux Model in AI Image Generation The AI Photo generation feature now includes the Flux model, renowned for delivering the highest quality among realistic image generation models.Automatic Creat...
    [Update] Introducing Flux Model in AI Image Generation
    Junwoo 2025-02-11
    πŸ—žοΈ [Update] Smarter Image/Video Matching Due to popular demand, our 'Stock Image/Video Matching' feature has been revamped. Now, not only can you search through videos, but also browse through an image...
    [Update] Smarter Image/Video Matching
    Junwoo 2025-02-07
    [Stop]