github.com/gogf/gf@v1.16.9/os/gview/gview_unit_i18n_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/gogf/gf. 6 7 package gview_test 8 9 import ( 10 "context" 11 "testing" 12 13 "github.com/gogf/gf/debug/gdebug" 14 "github.com/gogf/gf/os/gfile" 15 16 "github.com/gogf/gf/frame/g" 17 "github.com/gogf/gf/test/gtest" 18 ) 19 20 func Test_I18n(t *testing.T) { 21 gtest.C(t, func(t *gtest.T) { 22 content := `{{.name}} says "{#hello}{#world}!"` 23 expect1 := `john says "你好世界!"` 24 expect2 := `john says "こんにちは世界!"` 25 expect3 := `john says "{#hello}{#world}!"` 26 27 g.I18n().SetPath(gdebug.TestDataPath("i18n")) 28 29 g.I18n().SetLanguage("zh-CN") 30 result1, err := g.View().ParseContent(context.TODO(), content, g.Map{ 31 "name": "john", 32 }) 33 t.Assert(err, nil) 34 t.Assert(result1, expect1) 35 36 g.I18n().SetLanguage("ja") 37 result2, err := g.View().ParseContent(context.TODO(), content, g.Map{ 38 "name": "john", 39 }) 40 t.Assert(err, nil) 41 t.Assert(result2, expect2) 42 43 g.I18n().SetLanguage("none") 44 result3, err := g.View().ParseContent(context.TODO(), content, g.Map{ 45 "name": "john", 46 }) 47 t.Assert(err, nil) 48 t.Assert(result3, expect3) 49 }) 50 gtest.C(t, func(t *gtest.T) { 51 content := `{{.name}} says "{#hello}{#world}!"` 52 expect1 := `john says "你好世界!"` 53 expect2 := `john says "こんにちは世界!"` 54 expect3 := `john says "{#hello}{#world}!"` 55 56 g.I18n().SetPath(gdebug.CallerDirectory() + gfile.Separator + "testdata" + gfile.Separator + "i18n") 57 58 result1, err := g.View().ParseContent(context.TODO(), content, g.Map{ 59 "name": "john", 60 "I18nLanguage": "zh-CN", 61 }) 62 t.Assert(err, nil) 63 t.Assert(result1, expect1) 64 65 result2, err := g.View().ParseContent(context.TODO(), content, g.Map{ 66 "name": "john", 67 "I18nLanguage": "ja", 68 }) 69 t.Assert(err, nil) 70 t.Assert(result2, expect2) 71 72 result3, err := g.View().ParseContent(context.TODO(), content, g.Map{ 73 "name": "john", 74 "I18nLanguage": "none", 75 }) 76 t.Assert(err, nil) 77 t.Assert(result3, expect3) 78 }) 79 }