我需要在我的ini文件中翻译一个带有“()”或“/”符号的单词,但是当我这样做时它似乎会制动。
例如。
sometext(text)="otherLanguagetext(text)" <-- this causes an error in the ini file an brakes all translations.
sometext/text = "someOthertext/text" <-- Broken also
让空格正常工作:
Some text="Some text1" <--Works
事实是,原始语言是数据库生成的,没有任何翻译标签或类似joomla翻译标签。
我只是以这种方式输入要翻译的单词。 我搜索了一个可以自动解决这个问题的ini编辑器(例如放置'/'或其他东西),但我没有运气。
答案 0 :(得分:0)
试试这个,
SOME_TEXT = "otherLanguagetext(text)"
SOME_OTHER_TEXT = "someOthertext/text"
希望它有效
答案 1 :(得分:0)
尝试在这些符号之前使用反斜杠:
"otherLanguagetext\(text\)"
"someOthertext\/text"
P.S。你不能在你的常量中使用任何特殊符号!尝试将它们命名为:
OTHER_LANGUAGE_TEXT
SOME_OTHER_TEXT
答案 2 :(得分:0)
您的示例key
无效。 INI
个文件by definition不能包含以下任何字符:?{}|&~![()^"
。
注意:保留字不得用作ini的键 文件。这些包括:null,yes,no,true,false,on,off,none。 值null,off,no和false导致“”。值,是和真 结果为“1”。字符?{} |&amp;〜![()^“不得在任何地方使用 关键,并在价值中有特殊意义。
- http://www.php.net/manual/en/function.parse-ini-string.php
Joomla language files also have their own specification,如果不遵循则会在Joomla加载并解析语言文件时导致错误。
在INI
文件和Joomla语言文件中,值对特定字符也有特殊解释,并且需要转义才能使用某些字符,如双引号等。
最后,Joomla有language overrides允许最终用户覆盖由核心软件或第三方扩展设置的任何字符串,这也会影响密钥的翻译方式。