{"id":7582,"date":"2026-07-22T15:45:23","date_gmt":"2026-07-22T07:45:23","guid":{"rendered":"https:\/\/silubaba.com.cn\/?p=7582"},"modified":"2026-07-22T15:45:24","modified_gmt":"2026-07-22T07:45:24","slug":"volemi-frontend-flutter-buyer-app-multilingual-currency-specification","status":"publish","type":"post","link":"https:\/\/silubaba.com.cn\/?p=7582","title":{"rendered":"VOLEMI Frontend + Flutter Buyer App Multilingual &amp; Currency Specification"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">(Merge into full official website PRD + Buyer App Development Document | English Version)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Frontend Website Multilingual Configuration (Web Public Portal)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 Reserved Language List (Only these languages remain, all other languages removed)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Chinese (zh-CN)<\/li>\n\n\n\n<li>English (en)<\/li>\n\n\n\n<li>German (de)<\/li>\n\n\n\n<li>French (fr)<\/li>\n\n\n\n<li>Russian (ru)<\/li>\n\n\n\n<li>Turkish (tr)<\/li>\n\n\n\n<li>Korean (ko)<\/li>\n\n\n\n<li>Japanese (ja)<\/li>\n\n\n\n<li>Spanish (es)<\/li>\n\n\n\n<li>Portuguese (pt)<\/li>\n\n\n\n<li>Arabic (ar) \u2014 <strong>Auto enable RTL layout<\/strong><\/li>\n\n\n\n<li>Hindi (hi)<\/li>\n\n\n\n<li>Thai (th)<\/li>\n\n\n\n<li>Vietnamese (vi)<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Development requirement: All unused language packs shall be deleted from front-end code, backend language configuration panel, translation database.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 Language Pack Architecture Requirement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All front-end pages <strong>add independent language pack management layer<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All static text, button text, prompt text, page title, TDK copy stored in independent language JSON language packs<\/li>\n\n\n\n<li>No hard-coded text on any page<\/li>\n\n\n\n<li>Language pack path specification:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">plaintext<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/langs\/zh-CN.json\n\/langs\/en.json\n\/langs\/de.json\n\/langs\/fr.json\n\/langs\/ru.json\n\/langs\/tr.json\n\/langs\/ko.json\n\/langs\/ja.json\n\/langs\/es.json\n\/langs\/pt.json\n\/langs\/ar.json\n\/langs\/hi.json\n\/langs\/th.json\n\/langs\/vi.json\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Backend support one-click import\/export language pack for batch translation editing<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 Automatic Language Loading Rule (GEO + Time Zone Trigger)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>System automatically identify visitor IP country, region, time zone via GEO service<\/li>\n\n\n\n<li>Match the most matching reserved language and automatically load corresponding language pack for first access<\/li>\n\n\n\n<li>Manual language switch by user has higher priority than automatic GEO detection; system save user language selection into browser local storage<\/li>\n\n\n\n<li>If the matched regional language is not in reserved list \u2192 default load English (en)<\/li>\n\n\n\n<li>Arabic visitors automatically trigger HTML RTL layout switch<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">2. Currency Configuration Rules (Web + Buyer App Unified)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 Keep only two currencies, remove all other currency options<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>USD (US Dollar)<\/li>\n\n\n\n<li>CNY (Chinese Yuan)<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 Currency display logic<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>GEO detection automatically match recommended display currency:\n<ul class=\"wp-block-list\">\n<li>Visitors from overseas non-China regions: default display USD<\/li>\n\n\n\n<li>Visitors from Mainland China: default display CNY<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Users can manually switch between USD \/ CNY; selection saved locally<\/li>\n\n\n\n<li>Real-time exchange rate conversion between USD and CNY on product price, checkout page, order detail page<\/li>\n\n\n\n<li>Google Shopping feed only output selected currency price according to region rules<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">3. VOLEMI Flutter Buyer Mobile App Language Rules (All App Pages)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The buyer app completely synchronizes the above 14 language list, consistent with web frontend<\/li>\n\n\n\n<li>Flutter built-in independent i18n language package resource files, all UI text read from language packs; zero hardcode text<\/li>\n\n\n\n<li>App first launch: obtain device location \/ IP GEO information \u2192 auto load matching language pack<\/li>\n\n\n\n<li>User manual language switch saved in app local storage, priority higher than automatic detection<\/li>\n\n\n\n<li>Arabic language mode: global automatic RTL layout flip for all pages<\/li>\n\n\n\n<li>All modules effective: homepage, category, product detail, login\/register, checkout, order center, order details, AI customer service, personal center<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">4. Admin Mobile App Language Note<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Admin backend mobile app language scope can be configured separately (not affected by front buyer side language reduction requirement)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. SEO &amp; Multilingual URL Synchronization Update<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Reserved language subdirectory route standard: <code>\/zh-CN\/<\/code> <code>\/en\/<\/code> <code>\/de\/<\/code> <code>\/fr\/<\/code> <code>\/ru\/<\/code> <code>\/tr\/<\/code> <code>\/ko\/<\/code> <code>\/ja\/<\/code> <code>\/es\/<\/code> <code>\/pt\/<\/code> <code>\/ar\/<\/code> <code>\/hi\/<\/code> <code>\/th\/<\/code> <code>\/vi\/<\/code><\/li>\n\n\n\n<li>Remove all other unused language subdirectory routes<\/li>\n\n\n\n<li>Hreflang tags only output the above 14 language versions<\/li>\n\n\n\n<li>Each language corresponds independent sitemap XML<\/li>\n\n\n\n<li>Google Shopping multi-language feeds only generate for reserved languages<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">6. Key Development Checklist (Deliver to Dev Team)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clean up all redundant language files and database translation entries<\/li>\n\n\n\n<li>Build unified independent language pack layer for web frontend<\/li>\n\n\n\n<li>Implement GEO IP + time zone automatic language matching logic<\/li>\n\n\n\n<li>Lock available currency to USD &amp; CNY only, delete other currency calculation logic<\/li>\n\n\n\n<li>Flutter Buyer App rebuild i18n language resource for the 14 languages<\/li>\n\n\n\n<li>All pages verify no hard-coded static text<\/li>\n\n\n\n<li>Test Arabic RTL global layout switch<\/li>\n\n\n\n<li>Test language manual switch storage &amp; priority logic<\/li>\n\n\n\n<li>Test cross-device consistent language preference after user login<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>(Merge into full official website PRD + Buyer App Development Document | English Version) 1. Frontend Website Multilingual Configuration (Web Public Portal) 1.1 Reserved Language List (Only these languages remain, all other languages removed) Development requirement: All unused language packs shall be deleted from front-end code, backend language configuration panel, translation database. 1.2 Language Pack&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-7582","post","type-post","status-publish","format-standard","hentry","category-company-news"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/7582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7582"}],"version-history":[{"count":1,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/7582\/revisions"}],"predecessor-version":[{"id":7583,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/7582\/revisions\/7583"}],"wp:attachment":[{"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silubaba.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}