【问题标题】:Frontend to edit Codeigniter language files用于编辑 Codeigniter 语言文件的前端
【发布时间】:2011-08-10 10:20:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: codeigniter multilingual


    【解决方案1】:

    除了解析、编辑和保存实际文件之外,另一个选择是将语言翻译从语言文件移动到数据库,然后您可以在语言文件中从数据库中构建 $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.';
    

    然后您可以使用正常的数据库调用来添加/编辑/更新翻译。

    【讨论】:

    • 太好了,我一直在寻找这样的东西。我想我会尝试实施它。带有 $lang['min_size'] 的那段代码在一个 codeigniter 类中来管理语言文件?
    • $lang['min_size'] 只是我使用的 orm 包中的一个语言文件的摘录。上面的代码将替换它,因为它会根据数据库结果创建 $lang['min_size'] 而不是将其硬编码到文本文件中。
    • 你用的是什么orm包?只是为了好奇,因为我什么都不知道
    • DataMapper - 它确实让开发变得更快、更容易,因为它为你做了很多重复的工作。 datamapper.wanwizard.eu
    • @yahyaE,是的,就所有意图和目的而言,它仍然像内置的语言处理一样工作,它只是动态填充 lang 文件。
    【解决方案2】:

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

    <?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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多