@@ -50,12 +50,24 @@ static BUNDLE_FR: Lazy<FluentBundle<FluentResource, intl_memoizer::concurrent::I
5050 bundle
5151} ) ;
5252
53+ static BUNDLE_CN : Lazy < FluentBundle < FluentResource , intl_memoizer:: concurrent:: IntlLangMemoizer > > = Lazy :: new ( || {
54+ let file = std:: fs:: File :: open ( TRANSLATIONS_DIRECTORY . to_owned ( ) + "cn/ocp.ftl" ) . unwrap ( ) ;
55+ let mut reader = std:: io:: BufReader :: new ( file) ;
56+ let mut source = String :: new ( ) ;
57+ reader. read_to_string ( & mut source) . expect ( "Failed to read CN translation file" ) ;
58+ let res = FluentResource :: try_new ( source) . expect ( "Could not parse the FTL file." ) ;
59+ let mut bundle = FluentBundle :: new_concurrent ( vec ! [ langid!( "fr" ) ] ) ;
60+ bundle. add_resource ( res) . expect ( "Failed to add FTL resources to the bundle." ) ;
61+ bundle
62+ } ) ;
63+
5364pub fn tr ( lang : & Language , key : & str ) -> String {
5465 let bundle = match lang {
5566 Language :: Portuguese => & BUNDLE_PTBR ,
5667 Language :: English => & BUNDLE_ENUS ,
5768 Language :: Spanish => & BUNDLE_ES ,
5869 Language :: French => & BUNDLE_FR ,
70+ Language :: Chinese => & BUNDLE_CN ,
5971 } ;
6072 let msg = bundle. get_message ( key) . expect ( & ( "Missing translation key " . to_owned ( ) + key) ) ;
6173 let mut errors = vec ! [ ] ;
@@ -65,12 +77,12 @@ pub fn tr(lang: &Language, key: &str) -> String {
6577
6678#[ derive( Debug , Serialize , Deserialize , Clone , Copy , PartialEq , Eq ) ]
6779pub enum Language {
68- English , Portuguese , Spanish , French
80+ English , Portuguese , Spanish , French , Chinese
6981}
7082
7183impl Language {
72- pub const ALL : [ Language ; 4 ] = [
73- Language :: English , Language :: Portuguese , Language :: Spanish , Language :: French
84+ pub const ALL : [ Language ; 5 ] = [
85+ Language :: English , Language :: Portuguese , Language :: Spanish , Language :: French , Language :: Chinese
7486 ] ;
7587}
7688
@@ -81,6 +93,7 @@ impl DisplayTranslated for Language {
8193 Language :: Portuguese => "portuguese" ,
8294 Language :: Spanish => "spanish" ,
8395 Language :: French => "french" ,
96+ Language :: Chinese => "chinese" ,
8497 }
8598 }
8699}
0 commit comments