diff --git a/app/lea/i18n/i18n.go b/app/lea/i18n/i18n.go index e646027..af5303a 100644 --- a/app/lea/i18n/i18n.go +++ b/app/lea/i18n/i18n.go @@ -14,7 +14,7 @@ const ( CurrentLocaleRenderArg = "currentLocale" // The key for the current locale render arg value messageFilesDirectory = "messages" - messageFilePattern = `^\w+\.[a-zA-Z]{2}\-[a-zA-Z]{2}$` + messageFilePattern = `^\w+\.conf$` unknownValueFormat = "??? %s ???" defaultLanguageOption = "i18n.default_language" localeCookieConfigKey = "i18n.cookie" @@ -107,13 +107,28 @@ func parseLocale(locale string) (language, region string) { func loadMessages(path string) { messages = make(map[string]*config.Config) - if error := filepath.Walk(path, loadMessageFile); error != nil && !os.IsNotExist(error) { + if error := filepath.Walk(path, loadEachMessageLang); error != nil && !os.IsNotExist(error) { // ERROR.Println("Error reading messages files:", error) } } +// 加载每一个文件夹 +func loadEachMessageLang(parentPath string, parentInfo os.FileInfo, osError error) (err error) { + if !parentInfo.IsDir() { + return nil + } + + if err := filepath.Walk(parentPath, func(path string, info os.FileInfo, osError error) error { + return loadMessageFile(parentInfo.Name(), path, info, osError) + + }); err != nil && !os.IsNotExist(err) { + // ERROR.Println("Error reading messages files:", error) + } + return err +} + // Load a single message file -func loadMessageFile(path string, info os.FileInfo, osError error) error { +func loadMessageFile(locale string, path string, info os.FileInfo, osError error) error { if osError != nil { return osError } @@ -125,7 +140,7 @@ func loadMessageFile(path string, info os.FileInfo, osError error) error { if config, error := parseMessagesFile(path); error != nil { return error } else { - locale := parseLocaleFromFileName(info.Name()) + // locale := parseLocaleFromFileName(info.Name()) // revel.TRACE.Print(locale + "----locale") // If we have already parsed a message file for this locale, merge both diff --git a/messages/album.en-us b/messages/en-us/album.conf similarity index 100% rename from messages/album.en-us rename to messages/en-us/album.conf diff --git a/messages/blog.en-us b/messages/en-us/blog.conf similarity index 100% rename from messages/blog.en-us rename to messages/en-us/blog.conf diff --git a/messages/markdown.en-us b/messages/en-us/markdown.conf similarity index 100% rename from messages/markdown.en-us rename to messages/en-us/markdown.conf diff --git a/messages/member.en-us b/messages/en-us/member.conf similarity index 100% rename from messages/member.en-us rename to messages/en-us/member.conf diff --git a/messages/msg.en-us b/messages/en-us/msg.conf similarity index 100% rename from messages/msg.en-us rename to messages/en-us/msg.conf diff --git a/messages/tinymce_editor.en-us b/messages/en-us/tinymce_editor.conf similarity index 100% rename from messages/tinymce_editor.en-us rename to messages/en-us/tinymce_editor.conf diff --git a/messages/album.fr-fr b/messages/fr-fr/album.conf similarity index 100% rename from messages/album.fr-fr rename to messages/fr-fr/album.conf diff --git a/messages/blog.fr-fr b/messages/fr-fr/blog.conf similarity index 100% rename from messages/blog.fr-fr rename to messages/fr-fr/blog.conf diff --git a/messages/markdown.fr-fr b/messages/fr-fr/markdown.conf similarity index 100% rename from messages/markdown.fr-fr rename to messages/fr-fr/markdown.conf diff --git a/messages/member.fr-fr b/messages/fr-fr/member.conf similarity index 100% rename from messages/member.fr-fr rename to messages/fr-fr/member.conf diff --git a/messages/msg.fr-fr b/messages/fr-fr/msg.conf similarity index 100% rename from messages/msg.fr-fr rename to messages/fr-fr/msg.conf diff --git a/messages/tinymce_editor.fr-fr b/messages/fr-fr/tinymce_editor.conf similarity index 100% rename from messages/tinymce_editor.fr-fr rename to messages/fr-fr/tinymce_editor.conf diff --git a/messages/album.pt-pt b/messages/pt-pt/album.conf similarity index 100% rename from messages/album.pt-pt rename to messages/pt-pt/album.conf diff --git a/messages/blog.pt-pt b/messages/pt-pt/blog.conf similarity index 100% rename from messages/blog.pt-pt rename to messages/pt-pt/blog.conf diff --git a/messages/markdown.pt-pt b/messages/pt-pt/markdown.conf similarity index 100% rename from messages/markdown.pt-pt rename to messages/pt-pt/markdown.conf diff --git a/messages/member.pt-pt b/messages/pt-pt/member.conf similarity index 100% rename from messages/member.pt-pt rename to messages/pt-pt/member.conf diff --git a/messages/msg.pt-pt b/messages/pt-pt/msg.conf similarity index 100% rename from messages/msg.pt-pt rename to messages/pt-pt/msg.conf diff --git a/messages/tinymce_editor.pt-pt b/messages/pt-pt/tinymce_editor.conf similarity index 100% rename from messages/tinymce_editor.pt-pt rename to messages/pt-pt/tinymce_editor.conf diff --git a/messages/album.zh-cn b/messages/zh-cn/album.conf similarity index 100% rename from messages/album.zh-cn rename to messages/zh-cn/album.conf diff --git a/messages/blog.zh-cn b/messages/zh-cn/blog.conf similarity index 100% rename from messages/blog.zh-cn rename to messages/zh-cn/blog.conf diff --git a/messages/markdown.zh-cn b/messages/zh-cn/markdown.conf similarity index 100% rename from messages/markdown.zh-cn rename to messages/zh-cn/markdown.conf diff --git a/messages/member.zh-cn b/messages/zh-cn/member.conf similarity index 100% rename from messages/member.zh-cn rename to messages/zh-cn/member.conf diff --git a/messages/msg.zh-cn b/messages/zh-cn/msg.conf similarity index 100% rename from messages/msg.zh-cn rename to messages/zh-cn/msg.conf diff --git a/messages/tinymce_editor.zh-cn b/messages/zh-cn/tinymce_editor.conf similarity index 100% rename from messages/tinymce_editor.zh-cn rename to messages/zh-cn/tinymce_editor.conf diff --git a/messages/album.zh-hk b/messages/zh-hk/album.conf similarity index 100% rename from messages/album.zh-hk rename to messages/zh-hk/album.conf diff --git a/messages/blog.zh-hk b/messages/zh-hk/blog.conf similarity index 100% rename from messages/blog.zh-hk rename to messages/zh-hk/blog.conf diff --git a/messages/markdown.zh-hk b/messages/zh-hk/markdown.conf similarity index 100% rename from messages/markdown.zh-hk rename to messages/zh-hk/markdown.conf diff --git a/messages/member.zh-hk b/messages/zh-hk/member.conf similarity index 100% rename from messages/member.zh-hk rename to messages/zh-hk/member.conf diff --git a/messages/msg.zh-hk b/messages/zh-hk/msg.conf similarity index 100% rename from messages/msg.zh-hk rename to messages/zh-hk/msg.conf diff --git a/messages/tinymce_editor.zh-hk b/messages/zh-hk/tinymce_editor.conf similarity index 100% rename from messages/tinymce_editor.zh-hk rename to messages/zh-hk/tinymce_editor.conf