As I became more familiar with Cursor, it gradually transformed from a development environment into a pair programming partner. Today, I paired with Cursor to implement some missing translations for the G2Rail App using Flutter.
The implemented feature allows page texts like ‘Europe,’ ‘Asia,’ and ‘America‘ to be displayed in the language of the mobile system. For example, ‘Europe‘ will be shown as ‘欧洲‘ on a Simplified Chinese device and ‘ヨーロッパ‘ on a Japanese device.
Since the entire system already supports multiple languages, the task mainly involved adding the corresponding label translations, which has been completed within the existing architecture.
Adding Translation Items
Since it involves operations on multiple files, which is slightly more complex than a regular function implementation, I chose the Composer in Cursor and wrote my first prompt.
Added English Translation
“Next, I added translations for the translation entries, starting with English, and continued using Composer. By introducing @intl_en.arb
and @intl_zh_hant.arb
, Composer only adds the English and Traditional Chinese entries. Composer is also able to determine the language based on the file extension and translate the corresponding entries into English and Traditional Chinese.”

Check it through Cursor Apply -> Review. If there are no issues, accept the changes.
More Languages
Next, we need to apply the English and Simplified Chinese entries to other languages.。
First Attempts
“I intended to replace all the remaining language files at once. So, I wrote the prompt: ‘add translated intl_ files under I10n folder.’ However, Composer only translated the first Arabic file @intl_ar.arb
. It wasn’t successful, but in the end, it did prompt me to check if I needed to modify other files.”
Second Attempts – Smaller Granularity, More Specific
“Next, I specified the corresponding files more clearly. Composer was able to understand the task, add the entries, and translate them into the respective languages.”
Generate Dart files
The system needs to save the dart code required by Flutter based on the arb file, so the corresponding message.dart file is generated using the existing script.
Due to a scripting issue, there were duplicate entries in two language files.
Remove Duplication
Reference the wrong file in Composer, and then give a prompt:
please remove the duplicate items on @messages_zh-HK.dart and @messages_zh.dart
Cursor correctly understood the error and removed the duplicate entries.
Function Complete!
Reflections
- Efficiency Improvement: In most cases, I manually write the code, but the process now revolves around giving tasks and using Review Diff to accept or reject changes.
- Collaboration: Cursor acts like an ever-ready assistant, always answering questions, and the experience feels very smooth. As long as the task is clear, the completion accuracy is quite high.
- Focus on Core: With AI as the foundational support, I can focus my energy on code adjustments and optimization instead of dealing with trivial code implementation, copy-pasting, and modifications.
- System Understanding: By providing the right context, AI development tools like Cursor can infer and understand the existing system’s implementation patterns.