编辑 Codeigniter 语言文件的前端

发布于 2024-11-28 23:45:54 字数 293 浏览 0 评论 0原文

我使用此库使用 CodeIgniter 构建了一个多语言网站:

http://codeigniter.com/wiki/URI_Language_Identifier/

我用它来更改导航菜单中的语言和一些图片的标题。问题是,要编辑这些文本,我必须实际打开语言文件并在那里进行更改。我想创建一个管理面板来管理这些文件。有没有一种好的、干净的方法来做到这一点?

I have built a multilingual website with CodeIgniter using this library:

http://codeigniter.com/wiki/URI_Language_Identifier/

I use it to change language in the navigation menu and the captions for some pictures. The problem is that to edit these texts I have to actually open the language file and change it there. I'd like to create an admin panel to manage these files. Is there a nice and clean way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

分开我的手 2024-12-05 23:45:54

除了解析、编辑和保存实际文件之外,另一个选择是将语言翻译从语言文件移动到数据库,然后您可以从语言文件内的数据库构建 $lang 数组。

所以你的语言文件变成:

$LANGCI =& get_instance();

$lang_query = $LANGCI->db->where('lang', 'language_x')->get('language');

foreach ($lang_query->result() as $language_data) {

    $lang[$language_data->index] = $language_data->translation;
}

而不是:

$lang['min_size']           = 'The %s field must be at least %s.';
$lang['max_size']           = 'The %s field can not exceed %s.';

然后你可以使用普通的数据库调用来添加/编辑/更新翻译。

Another option besides parsing, editing and saving the actual files, is to move the language translations from the language file to the database, then you can build the $lang array from the database inside the language file.

So your language file becomes:

$LANGCI =& get_instance();

$lang_query = $LANGCI->db->where('lang', 'language_x')->get('language');

foreach ($lang_query->result() as $language_data) {

    $lang[$language_data->index] = $language_data->translation;
}

Instead of:

$lang['min_size']           = 'The %s field must be at least %s.';
$lang['max_size']           = 'The %s field can not exceed %s.';

Then you could use normal database calls to add/edit/update the translations.

枯叶蝶 2024-12-05 23:45:54

这实际上很容易实现。这是一个示例:

<?php

$fn = "test.txt";



if (isset($_POST['content']))

{

    $content = stripslashes($_POST['content']);

    $fp = fopen($fn,"w") or die ("Error opening file in write mode!");

    fputs($fp,$content);

    fclose($fp) or die ("Error closing file!");

}

?>



<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">

    <textarea rows="25" cols="40" name="content"><?php readfile($fn); ?></textarea>

    <input type="submit" value="Sauver"> 

</form>

然后只需替换“test.txt”但替换文件的名称。如果您有多个文件,那么调整该文件应该很容易。

来源: http://www.hotscripts .com/forums/script-requests/2634-php-code-edit-text-file.html

This is actually quite easy to implement. Here is an example:

<?php

$fn = "test.txt";



if (isset($_POST['content']))

{

    $content = stripslashes($_POST['content']);

    $fp = fopen($fn,"w") or die ("Error opening file in write mode!");

    fputs($fp,$content);

    fclose($fp) or die ("Error closing file!");

}

?>



<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">

    <textarea rows="25" cols="40" name="content"><?php readfile($fn); ?></textarea>

    <input type="submit" value="Sauver"> 

</form>

Then just replace "test.txt" but the name of your file. If you have more than one file, it should be easy to tweak the file.

Source: http://www.hotscripts.com/forums/script-requests/2634-php-code-edit-text-file.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文